{"$schema":"https:\/\/ui.particle.academy\/schema\/registry-item.json","name":"section","type":"registry:ui","title":"Section","description":"Vertical section rhythm with optional divider.","package":"react-fancy","dependencies":[],"registryDependencies":[],"files":[{"path":"components\/fancy\/section\/Section.tsx","content":"import { forwardRef } from \"react\";\nimport type * as React from \"react\";\nimport { cn } from \"..\/..\/utils\/cn\";\nimport type { SectionProps } from \".\/Section.types\";\n\nconst SPACE = { sm: \"py-8\", md: \"py-16\", lg: \"py-24\" } as const;\n\n\/**\n * Vertical rhythm between page sections, with the optional opening hairline.\n *\n * Pairs with `Eyebrow`, which is what usually sits at the top of one. The rule\n * is a prop rather than a caller-drawn border because half the gallery styles\n * drew it and half forgot, and an inconsistent rule reads as a bug.\n *\/\nexport const Section = forwardRef<HTMLElement, SectionProps>(\n  ({ children, space = \"md\", divider = false, as: Tag = \"section\", className, ...props }, ref) => {\n    const Component = Tag as \"section\";\n\n    return (\n      <Component\n        ref={ref as React.Ref<HTMLElement>}\n        {...props}\n        data-react-fancy-section=\"\"\n        data-space={space}\n        className={cn(\n          SPACE[space],\n          divider && \"border-t border-zinc-200 dark:border-zinc-800\",\n          className,\n        )}\n      >\n        {children}\n      <\/Component>\n    );\n  },\n);\n\nSection.displayName = \"Section\";\n","type":"registry:ui","target":"components\/fancy\/section\/Section.tsx"},{"path":"components\/fancy\/section\/Section.types.ts","content":"import type { ElementType, HTMLAttributes, ReactNode } from \"react\";\n\nexport interface SectionProps extends HTMLAttributes<HTMLElement> {\n  children?: ReactNode;\n  \/** Vertical rhythm between sections. Default `md`. *\/\n  space?: \"sm\" | \"md\" | \"lg\";\n  \/** Draw the hairline rule that opens the section. *\/\n  divider?: boolean;\n  \/** The element to render. Defaults to `section`. *\/\n  as?: ElementType;\n}\n","type":"registry:ui","target":"components\/fancy\/section\/Section.types.ts"},{"path":"components\/fancy\/section\/index.ts","content":"export { Section } from \".\/Section\";\nexport type { SectionProps } from \".\/Section.types\";\n","type":"registry:ui","target":"components\/fancy\/section\/index.ts"}],"since":"0.5"}