{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"section-heading","title":"Section Heading","description":"A component that standardizes heading typography and spacing. This component includes a pre-heading label, main heading, and body text in different layout variants.","registryDependencies":["@shadcncraft/tagline"],"files":[{"path":"components/shadcncraft/pro-marketing/section-heading.tsx","content":"import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Tagline } from \"@/components/shadcncraft/pro-marketing/tagline\";\n\nfunction SectionHeading({\n  alignment = \"left\",\n  size = \"lg\",\n  className,\n  ...props\n}: React.ComponentProps<\"div\"> & { alignment?: \"left\" | \"center\"; size?: \"sm\" | \"lg\" }) {\n  return (\n    <div\n      data-slot=\"section-heading\"\n      data-alignment={alignment}\n      data-size={size}\n      className={cn(\n        \"group/section-heading flex max-w-3xl flex-col gap-3\",\n        alignment === \"left\" && \"items-start text-left\",\n        alignment === \"center\" && \"mx-auto items-center text-center\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n\nfunction SectionHeadingTagline({ ...props }: React.ComponentProps<typeof Tagline>) {\n  return <Tagline variant=\"default\" {...props} />;\n}\n\ntype HeadingTypes = \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\ntype HeadingProps<T extends HeadingTypes> = React.ComponentProps<T> & {\n  as?: T;\n};\n\nfunction SectionHeadingTitle<T extends HeadingTypes = \"h2\">({\n  as,\n  className,\n  ...props\n}: HeadingProps<T>) {\n  const Comp = as ?? \"h2\";\n\n  return (\n    <Comp\n      data-slot=\"section-heading-title\"\n      className={cn(\n        \"cn-font-heading scroll-m-20 text-4xl font-medium tracking-tight text-balance group-data-[size=sm]/section-heading:text-3xl lg:text-5xl lg:group-data-[size=sm]/section-heading:text-4xl\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n\nfunction SectionHeadingBody({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"section-heading-body\"\n      className={cn(\"max-w-2xl text-base text-pretty text-muted-foreground\", className)}\n      {...props}\n    />\n  );\n}\n\nfunction SectionHeadingActions({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"section-heading-actions\"\n      className={cn(\"flex w-full flex-col gap-2 sm:w-fit sm:flex-row\", className)}\n      {...props}\n    />\n  );\n}\n\nexport {\n  SectionHeading,\n  SectionHeadingActions,\n  SectionHeadingBody,\n  SectionHeadingTagline,\n  SectionHeadingTitle,\n};\n","type":"registry:ui","target":"@components/shadcncraft/pro-marketing/section-heading.tsx"}],"meta":{"tier":"free","figmaNodeId":"17897-105935","bundle":"pro-marketing"},"type":"registry:ui"}