@fpkit/acss 3.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/libs/{chunk-2NRIP6RB.cjs → chunk-2C3YLBWP.cjs} +3 -3
  2. package/libs/{chunk-NWJDAHP6.cjs → chunk-2GJHKWEK.cjs} +3 -3
  3. package/libs/{chunk-FVROL3V5.js → chunk-2JCDEC32.js} +3 -3
  4. package/libs/{chunk-IRLFZ3OL.js → chunk-3XJC4XUG.js} +2 -2
  5. package/libs/{chunk-L6PRDL6F.cjs → chunk-5CJPTDK3.cjs} +3 -3
  6. package/libs/{chunk-E4OSROCA.cjs → chunk-5QSNJQVH.cjs} +3 -3
  7. package/libs/{chunk-O3JIHC5M.cjs → chunk-6BUJZ4DJ.cjs} +3 -3
  8. package/libs/{chunk-WXBFBWYF.cjs → chunk-AFINOD2L.cjs} +3 -3
  9. package/libs/{chunk-HRRHPLER.js → chunk-AWZLSWDO.js} +2 -2
  10. package/libs/chunk-DDSXKOUB.js +7 -0
  11. package/libs/chunk-DDSXKOUB.js.map +1 -0
  12. package/libs/{chunk-CWRNJA4P.js → chunk-DIJBIOFE.js} +3 -3
  13. package/libs/chunk-EJ6KYBFE.cjs +13 -0
  14. package/libs/chunk-EJ6KYBFE.cjs.map +1 -0
  15. package/libs/{chunk-GUJSMQ3V.cjs → chunk-EKJYOCLY.cjs} +3 -3
  16. package/libs/{chunk-X5RKCLDC.cjs → chunk-F64GE6RG.cjs} +4 -4
  17. package/libs/{chunk-5RAWNUVD.js → chunk-IBUTNPTQ.js} +2 -2
  18. package/libs/chunk-IWP4VJEP.cjs +18 -0
  19. package/libs/chunk-IWP4VJEP.cjs.map +1 -0
  20. package/libs/{chunk-ZFJ4U45S.js → chunk-KDMX3FAW.js} +2 -2
  21. package/libs/{chunk-DYFAUAB7.cjs → chunk-LXODKKA3.cjs} +4 -4
  22. package/libs/{chunk-MPTMPBFT.js → chunk-M7JLT62Q.js} +2 -2
  23. package/libs/{chunk-IQ76HGVP.js → chunk-MBWI67UT.js} +2 -2
  24. package/libs/{chunk-O5XAJ7BY.cjs → chunk-NCGVF2QS.cjs} +4 -4
  25. package/libs/{chunk-W2UIN7EV.cjs → chunk-NPWHQVYB.cjs} +3 -3
  26. package/libs/{chunk-43TK2ICH.js → chunk-PMWL5XZ4.js} +3 -3
  27. package/libs/{chunk-KVKQLRJG.js → chunk-TF3GQKOY.js} +2 -2
  28. package/libs/{chunk-IEB64SWY.js → chunk-U5VA34SU.js} +2 -2
  29. package/libs/chunk-UGMP72J2.js +8 -0
  30. package/libs/chunk-UGMP72J2.js.map +1 -0
  31. package/libs/{chunk-EE3ZWSBY.cjs → chunk-URBGDUFN.cjs} +6 -6
  32. package/libs/{chunk-TPIB3RQP.js → chunk-ZF6Y7W57.js} +5 -5
  33. package/libs/component-props-50e69975.d.ts +66 -0
  34. package/libs/components/box/box.css +1 -0
  35. package/libs/components/box/box.css.map +1 -0
  36. package/libs/components/box/box.min.css +3 -0
  37. package/libs/components/breadcrumbs/breadcrumb.cjs +6 -6
  38. package/libs/components/breadcrumbs/breadcrumb.js +3 -3
  39. package/libs/components/button.cjs +4 -4
  40. package/libs/components/button.d.cts +10 -3
  41. package/libs/components/button.d.ts +10 -3
  42. package/libs/components/button.js +2 -2
  43. package/libs/components/card.cjs +7 -7
  44. package/libs/components/card.d.cts +13 -85
  45. package/libs/components/card.d.ts +13 -85
  46. package/libs/components/card.js +2 -2
  47. package/libs/components/cards/card.css +1 -1
  48. package/libs/components/cards/card.css.map +1 -1
  49. package/libs/components/cards/card.min.css +2 -2
  50. package/libs/components/cluster/cluster.css +1 -0
  51. package/libs/components/cluster/cluster.css.map +1 -0
  52. package/libs/components/cluster/cluster.min.css +3 -0
  53. package/libs/components/dialog/dialog.cjs +7 -7
  54. package/libs/components/dialog/dialog.js +5 -5
  55. package/libs/components/form/fields.cjs +4 -4
  56. package/libs/components/form/fields.js +2 -2
  57. package/libs/components/form/textarea.cjs +4 -4
  58. package/libs/components/form/textarea.js +2 -2
  59. package/libs/components/grid/grid.css +1 -0
  60. package/libs/components/grid/grid.css.map +1 -0
  61. package/libs/components/grid/grid.min.css +3 -0
  62. package/libs/components/heading/heading.cjs +3 -3
  63. package/libs/components/heading/heading.js +2 -2
  64. package/libs/components/icons/icon.cjs +4 -4
  65. package/libs/components/icons/icon.d.cts +2 -2
  66. package/libs/components/icons/icon.d.ts +2 -2
  67. package/libs/components/icons/icon.js +2 -2
  68. package/libs/components/link/link.cjs +6 -6
  69. package/libs/components/link/link.js +2 -2
  70. package/libs/components/list/list.cjs +5 -5
  71. package/libs/components/list/list.js +2 -2
  72. package/libs/components/modal.cjs +4 -4
  73. package/libs/components/modal.d.cts +1 -1
  74. package/libs/components/modal.d.ts +1 -1
  75. package/libs/components/modal.js +3 -3
  76. package/libs/components/nav/nav.cjs +7 -7
  77. package/libs/components/nav/nav.js +3 -3
  78. package/libs/components/stack/stack.css +1 -0
  79. package/libs/components/stack/stack.css.map +1 -0
  80. package/libs/components/stack/stack.min.css +3 -0
  81. package/libs/components/tables/table.d.cts +1 -1
  82. package/libs/components/tables/table.d.ts +1 -1
  83. package/libs/components/text/text.cjs +5 -5
  84. package/libs/components/text/text.js +2 -2
  85. package/libs/hooks.cjs +4 -4
  86. package/libs/hooks.js +3 -3
  87. package/libs/{icons-287fce3a.d.ts → icons-df8e744f.d.ts} +1 -1
  88. package/libs/icons.cjs +3 -3
  89. package/libs/icons.d.cts +2 -2
  90. package/libs/icons.d.ts +2 -2
  91. package/libs/icons.js +2 -2
  92. package/libs/index.cjs +64 -63
  93. package/libs/index.cjs.map +1 -1
  94. package/libs/index.css +1 -1
  95. package/libs/index.css.map +1 -1
  96. package/libs/index.d.cts +923 -4
  97. package/libs/index.d.ts +923 -4
  98. package/libs/index.js +28 -28
  99. package/libs/index.js.map +1 -1
  100. package/package.json +2 -2
  101. package/src/components/alert/STYLES.mdx +790 -0
  102. package/src/components/badge/STYLES.mdx +610 -0
  103. package/src/components/box/README.mdx +401 -0
  104. package/src/components/box/STYLES.mdx +360 -0
  105. package/src/components/box/box.scss +245 -0
  106. package/src/components/box/box.stories.tsx +395 -0
  107. package/src/components/box/box.test.tsx +425 -0
  108. package/src/components/box/box.tsx +170 -0
  109. package/src/components/box/box.types.ts +166 -0
  110. package/src/components/breadcrumbs/STYLES.mdx +99 -0
  111. package/src/components/buttons/STYLES.mdx +766 -0
  112. package/src/components/cards/STYLES.mdx +835 -0
  113. package/src/components/cards/card.scss +29 -21
  114. package/src/components/cards/card.tsx +13 -3
  115. package/src/components/cards/card.types.ts +13 -0
  116. package/src/components/cluster/README.mdx +595 -0
  117. package/src/components/cluster/STYLES.mdx +626 -0
  118. package/src/components/cluster/cluster.scss +86 -0
  119. package/src/components/cluster/cluster.stories.tsx +385 -0
  120. package/src/components/cluster/cluster.test.tsx +655 -0
  121. package/src/components/cluster/cluster.tsx +94 -0
  122. package/src/components/cluster/cluster.types.ts +75 -0
  123. package/src/components/details/STYLES.mdx +445 -0
  124. package/src/components/dialog/STYLES.mdx +888 -0
  125. package/src/components/flexbox/STYLES.mdx +1 -1
  126. package/src/components/form/STYLES.mdx +821 -0
  127. package/src/components/grid/README.mdx +709 -0
  128. package/src/components/grid/STYLES.mdx +785 -0
  129. package/src/components/grid/grid.scss +287 -0
  130. package/src/components/grid/grid.stories.tsx +486 -0
  131. package/src/components/grid/grid.test.tsx +981 -0
  132. package/src/components/grid/grid.tsx +222 -0
  133. package/src/components/grid/grid.types.ts +344 -0
  134. package/src/components/icons/STYLES.mdx +56 -0
  135. package/src/components/images/STYLES.mdx +75 -0
  136. package/src/components/layout/STYLES.mdx +556 -0
  137. package/src/components/link/STYLES.mdx +75 -0
  138. package/src/components/list/STYLES.mdx +631 -0
  139. package/src/components/nav/STYLES.mdx +460 -0
  140. package/src/components/progress/STYLES.mdx +64 -0
  141. package/src/components/stack/README.mdx +400 -0
  142. package/src/components/stack/STYLES.mdx +414 -0
  143. package/src/components/stack/stack.scss +109 -0
  144. package/src/components/stack/stack.stories.tsx +559 -0
  145. package/src/components/stack/stack.test.tsx +426 -0
  146. package/src/components/stack/stack.tsx +141 -0
  147. package/src/components/stack/stack.types.ts +133 -0
  148. package/src/components/tag/STYLES.mdx +105 -0
  149. package/src/components/text-to-speech/STYLES.mdx +80 -0
  150. package/src/components/ui.tsx +3 -3
  151. package/src/index.scss +5 -1
  152. package/src/index.ts +305 -12
  153. package/src/sass/GLOBALS-STYLES.md +631 -0
  154. package/src/sass/_globals.scss +45 -24
  155. package/src/styles/box/box.css +220 -0
  156. package/src/styles/box/box.css.map +1 -0
  157. package/src/styles/cards/card.css +22 -17
  158. package/src/styles/cards/card.css.map +1 -1
  159. package/src/styles/cluster/cluster.css +71 -0
  160. package/src/styles/cluster/cluster.css.map +1 -0
  161. package/src/styles/grid/grid.css +238 -0
  162. package/src/styles/grid/grid.css.map +1 -0
  163. package/src/styles/index.css +667 -49
  164. package/src/styles/index.css.map +1 -1
  165. package/src/styles/stack/stack.css +86 -0
  166. package/src/styles/stack/stack.css.map +1 -0
  167. package/src/types/component-props.ts +42 -14
  168. package/src/types/layout-primitives.ts +48 -0
  169. package/src/types/shared.ts +10 -26
  170. package/libs/chunk-ENTCUJ3A.cjs +0 -13
  171. package/libs/chunk-ENTCUJ3A.cjs.map +0 -1
  172. package/libs/chunk-HHLNOC5T.js +0 -7
  173. package/libs/chunk-HHLNOC5T.js.map +0 -1
  174. package/libs/chunk-KK47SYZI.js +0 -8
  175. package/libs/chunk-KK47SYZI.js.map +0 -1
  176. package/libs/chunk-W5TKWBFC.cjs +0 -18
  177. package/libs/chunk-W5TKWBFC.cjs.map +0 -1
  178. package/libs/component-props-67d978a2.d.ts +0 -38
  179. /package/libs/{chunk-2NRIP6RB.cjs.map → chunk-2C3YLBWP.cjs.map} +0 -0
  180. /package/libs/{chunk-NWJDAHP6.cjs.map → chunk-2GJHKWEK.cjs.map} +0 -0
  181. /package/libs/{chunk-FVROL3V5.js.map → chunk-2JCDEC32.js.map} +0 -0
  182. /package/libs/{chunk-IRLFZ3OL.js.map → chunk-3XJC4XUG.js.map} +0 -0
  183. /package/libs/{chunk-L6PRDL6F.cjs.map → chunk-5CJPTDK3.cjs.map} +0 -0
  184. /package/libs/{chunk-E4OSROCA.cjs.map → chunk-5QSNJQVH.cjs.map} +0 -0
  185. /package/libs/{chunk-O3JIHC5M.cjs.map → chunk-6BUJZ4DJ.cjs.map} +0 -0
  186. /package/libs/{chunk-WXBFBWYF.cjs.map → chunk-AFINOD2L.cjs.map} +0 -0
  187. /package/libs/{chunk-HRRHPLER.js.map → chunk-AWZLSWDO.js.map} +0 -0
  188. /package/libs/{chunk-CWRNJA4P.js.map → chunk-DIJBIOFE.js.map} +0 -0
  189. /package/libs/{chunk-GUJSMQ3V.cjs.map → chunk-EKJYOCLY.cjs.map} +0 -0
  190. /package/libs/{chunk-X5RKCLDC.cjs.map → chunk-F64GE6RG.cjs.map} +0 -0
  191. /package/libs/{chunk-5RAWNUVD.js.map → chunk-IBUTNPTQ.js.map} +0 -0
  192. /package/libs/{chunk-ZFJ4U45S.js.map → chunk-KDMX3FAW.js.map} +0 -0
  193. /package/libs/{chunk-DYFAUAB7.cjs.map → chunk-LXODKKA3.cjs.map} +0 -0
  194. /package/libs/{chunk-MPTMPBFT.js.map → chunk-M7JLT62Q.js.map} +0 -0
  195. /package/libs/{chunk-IQ76HGVP.js.map → chunk-MBWI67UT.js.map} +0 -0
  196. /package/libs/{chunk-O5XAJ7BY.cjs.map → chunk-NCGVF2QS.cjs.map} +0 -0
  197. /package/libs/{chunk-W2UIN7EV.cjs.map → chunk-NPWHQVYB.cjs.map} +0 -0
  198. /package/libs/{chunk-43TK2ICH.js.map → chunk-PMWL5XZ4.js.map} +0 -0
  199. /package/libs/{chunk-KVKQLRJG.js.map → chunk-TF3GQKOY.js.map} +0 -0
  200. /package/libs/{chunk-IEB64SWY.js.map → chunk-U5VA34SU.js.map} +0 -0
  201. /package/libs/{chunk-EE3ZWSBY.cjs.map → chunk-URBGDUFN.cjs.map} +0 -0
  202. /package/libs/{chunk-TPIB3RQP.js.map → chunk-ZF6Y7W57.js.map} +0 -0
package/libs/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { Button, ButtonProps } from './components/button.cjs';
2
2
  export { Card, Content as CardContent, Footer as CardFooter, CardProps, Title as CardTitle } from './components/card.cjs';
3
3
  import React$1, { ReactNode } from 'react';
4
- import { I as IconProps } from './icons-287fce3a.js';
5
- export { a as Icon, b as IconProps } from './icons-287fce3a.js';
4
+ import { I as IconProps } from './icons-df8e744f.js';
5
+ export { a as Icon, b as IconProps } from './icons-df8e744f.js';
6
6
  export { default as Field, FieldProps } from './components/form/fields.cjs';
7
7
  export { default as Input } from './components/form/inputs.cjs';
8
8
  export { _ as Link, L as LinkProps, _ as To } from './link-59ad884f.js';
@@ -12,11 +12,11 @@ export { default as Popover, PopoverProps } from './components/popover/popover.c
12
12
  export { RenderTable as TBL, TableProps } from './components/tables/table.cjs';
13
13
  export { Dialog } from './components/dialog/dialog.cjs';
14
14
  import { U as UI } from './ui-d01b50d4.js';
15
+ import { C as ComponentProps$1 } from './component-props-50e69975.js';
15
16
  export { Nav, NavComponent, NavItem, NavItemProps, NavList, NavListProps, NavProps } from './components/nav/nav.cjs';
16
17
  export { default as Text, TextProps } from './components/text/text.cjs';
17
18
  export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-7446cb46.js';
18
19
  export { default as Textarea } from './components/form/textarea.cjs';
19
- import { C as ComponentProps$1 } from './component-props-67d978a2.js';
20
20
  export { default as Breadcrumb, BreadcrumbProps, CustomRoute, useBreadcrumbSegments } from './components/breadcrumbs/breadcrumb.cjs';
21
21
  export { I as InputProps, T as TextareaProps } from './form.types-d25ebfac.js';
22
22
  export { L as ListItemProps, a as ListProps } from './list.types-d26de310.js';
@@ -577,6 +577,925 @@ declare const Section: ({ id, children, styles, classes, ...props }: ComponentPr
577
577
  */
578
578
  declare const Article: ({ id, children, styles, classes, ...props }: ComponentProps) => React$1.JSX.Element;
579
579
 
580
+ /**
581
+ * Shared types for layout primitive components (Box, Stack, Cluster, Grid)
582
+ */
583
+ /**
584
+ * Spacing scale values for padding, margin, and gap properties
585
+ * Maps to CSS custom properties (--spacing-*)
586
+ * - '0': No spacing
587
+ * - 'xs': Extra small (clamp 4-8px)
588
+ * - 'sm': Small (clamp 8-12px)
589
+ * - 'md': Medium (clamp 12-18px)
590
+ * - 'lg': Large (clamp 16-24px)
591
+ * - 'xl': Extra large (clamp 24-32px)
592
+ */
593
+ type SpacingScale = "0" | "xs" | "sm" | "md" | "lg" | "xl";
594
+ /**
595
+ * Semantic HTML element types for Box component
596
+ */
597
+ type BoxElement = "div" | "section" | "article" | "aside" | "main" | "header" | "footer" | "nav";
598
+ /**
599
+ * Semantic HTML element types for Stack component
600
+ */
601
+ type StackElement = "div" | "section" | "article" | "ul" | "ol" | "nav";
602
+ /**
603
+ * Semantic HTML element types for Cluster component
604
+ */
605
+ type ClusterElement = "div" | "ul" | "ol" | "nav" | "section";
606
+ /**
607
+ * Semantic HTML element types for Grid component
608
+ */
609
+ type GridElement = "div" | "section" | "article" | "ul" | "ol";
610
+ /**
611
+ * Semantic HTML element types for Grid.Item sub-component
612
+ */
613
+ type GridItemElement = "div" | "section" | "article" | "li";
614
+
615
+ /**
616
+ * Props for the Box component - a fundamental container primitive for spacing and sizing control.
617
+ *
618
+ * The Box component provides a flexible, semantic container with comprehensive spacing, sizing,
619
+ * and visual customization options. All spacing values use the unified spacing scale with
620
+ * fluid responsive values via CSS clamp().
621
+ *
622
+ * ## Design Principles
623
+ * - **Logical Properties**: Uses `padding-inline`/`padding-block` for better i18n support
624
+ * - **Fluid Spacing**: All spacing scales responsively without media queries
625
+ * - **Semantic HTML**: Defaults to `div` but supports semantic elements via `as` prop
626
+ * - **CSS Custom Properties**: All values customizable via CSS variables
627
+ *
628
+ * @example
629
+ * // Basic container with padding
630
+ * <Box padding="md">
631
+ * <h1>Content</h1>
632
+ * </Box>
633
+ *
634
+ * @example
635
+ * // Centered container with max width
636
+ * <Box
637
+ * padding="lg"
638
+ * maxWidth="container"
639
+ * style={{ marginInline: 'auto' }}
640
+ * >
641
+ * <article>Centered content</article>
642
+ * </Box>
643
+ *
644
+ * @example
645
+ * // Card-like box with radius
646
+ * <Box
647
+ * padding="lg"
648
+ * radius="md"
649
+ * as="article"
650
+ * styles={{
651
+ * '--box-bg': '#fff',
652
+ * boxShadow: '0 1px 3px rgba(0,0,0,0.1)'
653
+ * }}
654
+ * >
655
+ * <h2>Card Title</h2>
656
+ * <p>Card content</p>
657
+ * </Box>
658
+ */
659
+ interface BoxProps extends Partial<ComponentProps$1>, Omit<React$1.HTMLAttributes<HTMLElement>, "className"> {
660
+ /**
661
+ * Padding on all sides.
662
+ * Uses unified spacing scale: '0' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
663
+ * Maps to CSS custom properties (--spacing-*)
664
+ * @example
665
+ * <Box padding="md">Content</Box>
666
+ */
667
+ padding?: SpacingScale;
668
+ /**
669
+ * Padding on inline axis (left/right in LTR, right/left in RTL).
670
+ * Uses logical property `padding-inline` for better internationalization.
671
+ * @example
672
+ * <Box paddingInline="xl">Wide horizontal padding</Box>
673
+ */
674
+ paddingInline?: SpacingScale;
675
+ /**
676
+ * Padding on block axis (top/bottom).
677
+ * Uses logical property `padding-block` for consistency.
678
+ * @example
679
+ * <Box paddingBlock="md">Vertical padding</Box>
680
+ */
681
+ paddingBlock?: SpacingScale;
682
+ /**
683
+ * Margin on all sides.
684
+ * Uses unified spacing scale: '0' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
685
+ * @example
686
+ * <Box margin="lg">Content with margin</Box>
687
+ */
688
+ margin?: SpacingScale;
689
+ /**
690
+ * Margin on inline axis (left/right in LTR).
691
+ * For centering, use inline styles: `style={{ marginInline: 'auto' }}`
692
+ * @example
693
+ * <Box marginInline="md">Horizontal margin</Box>
694
+ */
695
+ marginInline?: SpacingScale;
696
+ /**
697
+ * Margin on block axis (top/bottom).
698
+ * @example
699
+ * <Box marginBlock="lg">Vertical margin</Box>
700
+ */
701
+ marginBlock?: SpacingScale;
702
+ /**
703
+ * Width behavior control.
704
+ * - 'auto': Natural width (default)
705
+ * - 'full': 100% width
706
+ * - 'fit': Width fits content (fit-content)
707
+ * - 'max': Width determined by widest content (max-content)
708
+ * @default 'auto'
709
+ * @example
710
+ * <Box width="full">Full width box</Box>
711
+ */
712
+ width?: "auto" | "full" | "fit" | "max";
713
+ /**
714
+ * Maximum width constraint.
715
+ * Useful for readable text widths and responsive containers.
716
+ * Sizes map to: xs(480px), sm(640px), md(768px), lg(1024px), xl(1280px), container(1200px)
717
+ * @example
718
+ * <Box maxWidth="container" style={{ marginInline: 'auto' }}>
719
+ * Centered container with max width
720
+ * </Box>
721
+ */
722
+ maxWidth?: "xs" | "sm" | "md" | "lg" | "xl" | "container";
723
+ /**
724
+ * Border radius for rounded corners.
725
+ * - 'xs' through 'xl': Increasing radii (2px - 12px)
726
+ * - 'full': Fully rounded (9999px) for pills/circles
727
+ * @example
728
+ * <Box radius="md">Slightly rounded box</Box>
729
+ * @example
730
+ * <Box radius="full" width="fit" padding="md">
731
+ * <Avatar />
732
+ * </Box>
733
+ */
734
+ radius?: SpacingScale | "full";
735
+ /**
736
+ * Polymorphic element type to render.
737
+ * Defaults to 'div' but supports semantic HTML elements.
738
+ * Choose semantic elements for better accessibility:
739
+ * - 'section' for thematic groupings
740
+ * - 'article' for self-contained content
741
+ * - 'aside' for tangentially related content
742
+ * - 'main' for primary page content
743
+ * - 'header'/'footer' for page/section headers/footers
744
+ * - 'nav' for navigation landmarks
745
+ * @default 'div'
746
+ * @example
747
+ * <Box as="section" padding="lg">
748
+ * <h2>Section Content</h2>
749
+ * </Box>
750
+ */
751
+ as?: BoxElement;
752
+ /**
753
+ * Additional CSS classes to apply.
754
+ * Merged with generated utility classes.
755
+ * @example
756
+ * <Box classes="my-custom-class" padding="md">Content</Box>
757
+ */
758
+ className?: string;
759
+ /**
760
+ * Children elements to render inside the Box.
761
+ */
762
+ children?: React$1.ReactNode;
763
+ }
764
+
765
+ /**
766
+ * Box - A fundamental container primitive for spacing and sizing control.
767
+ *
768
+ * The Box component is the foundational layout primitive in fpkit, providing a flexible,
769
+ * semantic container with comprehensive control over spacing (padding/margin), sizing,
770
+ * and visual appearance. It uses utility classes generated from props, ensuring consistent
771
+ * styling across the application.
772
+ *
773
+ * ## Key Features
774
+ * - **Unified Spacing Scale**: Fluid responsive spacing using CSS clamp()
775
+ * - **Logical Properties**: `padding-inline`/`padding-block` for i18n support
776
+ * - **Polymorphic Rendering**: Render as any semantic HTML element via `as` prop
777
+ * - **CSS Custom Properties**: All values customizable for theming
778
+ * - **Type-Safe**: Full TypeScript support with IntelliSense
779
+ *
780
+ * ## Accessibility
781
+ * - Uses semantic HTML elements by default
782
+ * - Supports ARIA attributes via spread props
783
+ * - Encourages semantic elements via `as` prop
784
+ * - All props forwarded to underlying element
785
+ *
786
+ * ## Use Cases
787
+ * - Container with padding/margin
788
+ * - Centered layouts with max-width
789
+ * - Card-like components
790
+ * - Spacing between sections
791
+ * - Semantic landmarks
792
+ *
793
+ * @example
794
+ * // Basic container with padding
795
+ * <Box padding="md">
796
+ * <h1>Content</h1>
797
+ * </Box>
798
+ *
799
+ * @example
800
+ * // Centered container with max width
801
+ * <Box
802
+ * padding="lg"
803
+ * maxWidth="container"
804
+ * style={{ marginInline: 'auto' }}
805
+ * >
806
+ * <article>Centered content</article>
807
+ * </Box>
808
+ *
809
+ * @example
810
+ * // Card-like box with radius
811
+ * <Box
812
+ * padding="lg"
813
+ * radius="md"
814
+ * as="article"
815
+ * styles={{
816
+ * backgroundColor: '#fff',
817
+ * boxShadow: '0 1px 3px rgba(0,0,0,0.1)'
818
+ * }}
819
+ * >
820
+ * <h2>Card Title</h2>
821
+ * <p>Card content</p>
822
+ * </Box>
823
+ *
824
+ * @example
825
+ * // Asymmetric spacing with logical properties
826
+ * <Box
827
+ * paddingInline="xl"
828
+ * paddingBlock="md"
829
+ * as="section"
830
+ * >
831
+ * <p>Wide horizontal padding, narrow vertical</p>
832
+ * </Box>
833
+ *
834
+ * @example
835
+ * // Semantic section with spacing
836
+ * <Box as="section" padding="xl" margin="lg">
837
+ * <h2>Section Title</h2>
838
+ * <p>Section content...</p>
839
+ * </Box>
840
+ *
841
+ * @see {@link BoxProps} for complete props documentation
842
+ */
843
+ declare const Box: React$1.ForwardRefExoticComponent<BoxProps & React$1.RefAttributes<HTMLElement>>;
844
+
845
+ /**
846
+ * Props for the Stack component - a simplified layout primitive for vertical or horizontal spacing.
847
+ *
848
+ * Stack provides an easy-to-use flexbox-based layout for creating vertical or horizontal arrangements
849
+ * with consistent spacing between children. It's simpler than the full Flex component, ideal for
850
+ * common stacking patterns.
851
+ *
852
+ * ## Design Principles
853
+ * - **Simplified API**: Fewer props than Flex for common use cases
854
+ * - **Fluid Spacing**: Uses unified spacing scale with responsive values
855
+ * - **Flexbox-Based**: Built on CSS flexbox for reliable layouts
856
+ * - **Semantic HTML**: Defaults to `div` but supports semantic elements
857
+ *
858
+ * @example
859
+ * // Vertical stack (default)
860
+ * <Stack gap="md">
861
+ * <h1>Title</h1>
862
+ * <p>Paragraph 1</p>
863
+ * <p>Paragraph 2</p>
864
+ * </Stack>
865
+ *
866
+ * @example
867
+ * // Horizontal stack for buttons
868
+ * <Stack direction="horizontal" gap="sm">
869
+ * <Button>Cancel</Button>
870
+ * <Button variant="primary">Submit</Button>
871
+ * </Stack>
872
+ *
873
+ * @example
874
+ * // Centered vertical stack
875
+ * <Stack
876
+ * gap="lg"
877
+ * align="center"
878
+ * justify="center"
879
+ * style={{ minHeight: '100vh' }}
880
+ * >
881
+ * <Logo />
882
+ * <h1>Welcome</h1>
883
+ * </Stack>
884
+ */
885
+ interface StackProps extends Partial<ComponentProps$1>, Omit<React$1.HTMLAttributes<HTMLElement>, "className"> {
886
+ /**
887
+ * Gap between children.
888
+ * Uses unified spacing scale: '0' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
889
+ * Maps to CSS custom properties (--spacing-*)
890
+ * @default 'md'
891
+ * @example
892
+ * <Stack gap="lg">Content</Stack>
893
+ */
894
+ gap?: SpacingScale;
895
+ /**
896
+ * Layout direction.
897
+ * - 'vertical': Stack children vertically (column)
898
+ * - 'horizontal': Stack children horizontally (row)
899
+ * @default 'vertical'
900
+ * @example
901
+ * <Stack direction="horizontal" gap="sm">
902
+ * <Button>Cancel</Button>
903
+ * <Button>Submit</Button>
904
+ * </Stack>
905
+ */
906
+ direction?: "vertical" | "horizontal";
907
+ /**
908
+ * Alignment on cross axis.
909
+ * - 'start': Align items to start (left in horizontal, top in vertical)
910
+ * - 'center': Center items
911
+ * - 'end': Align items to end (right in horizontal, bottom in vertical)
912
+ * - 'stretch': Stretch items to fill cross axis
913
+ * @default 'stretch'
914
+ * @example
915
+ * <Stack align="center">Centered items</Stack>
916
+ */
917
+ align?: "start" | "center" | "end" | "stretch";
918
+ /**
919
+ * Alignment on main axis.
920
+ * - 'start': Items at start
921
+ * - 'center': Items centered
922
+ * - 'end': Items at end
923
+ * - 'between': Space between items
924
+ * @example
925
+ * <Stack justify="between">
926
+ * <Header />
927
+ * <Footer />
928
+ * </Stack>
929
+ */
930
+ justify?: "start" | "center" | "end" | "between";
931
+ /**
932
+ * Allow items to wrap to next line/column.
933
+ * - 'wrap': Items wrap when they exceed container
934
+ * - 'nowrap': Items stay on single line/column (default)
935
+ * @default 'nowrap'
936
+ * @example
937
+ * <Stack direction="horizontal" wrap="wrap">
938
+ * {items.map(item => <Item key={item.id} />)}
939
+ * </Stack>
940
+ */
941
+ wrap?: "wrap" | "nowrap";
942
+ /**
943
+ * Polymorphic element type to render.
944
+ * Defaults to 'div' but supports semantic HTML elements.
945
+ * @default 'div'
946
+ * @example
947
+ * <Stack as="nav" direction="horizontal" gap="md">
948
+ * <a href="/">Home</a>
949
+ * <a href="/about">About</a>
950
+ * </Stack>
951
+ */
952
+ as?: StackElement;
953
+ /**
954
+ * Additional CSS classes to apply.
955
+ * Merged with generated utility classes.
956
+ * @example
957
+ * <Stack className="custom-stack" gap="md">Content</Stack>
958
+ */
959
+ className?: string;
960
+ /**
961
+ * Children elements to render inside the Stack.
962
+ */
963
+ children?: React$1.ReactNode;
964
+ }
965
+
966
+ /**
967
+ * Stack - A simplified layout primitive for vertical or horizontal spacing between children.
968
+ *
969
+ * The Stack component provides an easy-to-use flexbox-based layout for creating vertical or
970
+ * horizontal arrangements with consistent gap spacing. It's designed to be simpler than the
971
+ * full Flex component, focusing on the most common stacking patterns.
972
+ *
973
+ * ## Key Features
974
+ * - **Simple API**: Fewer props than Flex for common use cases
975
+ * - **Fluid Spacing**: Responsive gap using CSS clamp()
976
+ * - **Flexbox-Based**: Reliable cross-browser layout
977
+ * - **Polymorphic**: Render as any semantic HTML element
978
+ * - **Type-Safe**: Full TypeScript support
979
+ *
980
+ * ## Accessibility
981
+ * - Uses semantic HTML elements when appropriate via `as` prop
982
+ * - Supports all ARIA attributes via spread props
983
+ * - Proper focus order maintained (visual order matches DOM order)
984
+ *
985
+ * ## Use Cases
986
+ * - Vertical spacing between content sections
987
+ * - Horizontal button groups
988
+ * - Navigation menus
989
+ * - Form layouts
990
+ * - Centered content (vertical/horizontal)
991
+ *
992
+ * @example
993
+ * // Vertical stack with medium gap (default)
994
+ * <Stack gap="md">
995
+ * <h1>Title</h1>
996
+ * <p>Paragraph 1</p>
997
+ * <p>Paragraph 2</p>
998
+ * </Stack>
999
+ *
1000
+ * @example
1001
+ * // Horizontal button group
1002
+ * <Stack direction="horizontal" gap="sm">
1003
+ * <Button>Cancel</Button>
1004
+ * <Button variant="primary">Submit</Button>
1005
+ * </Stack>
1006
+ *
1007
+ * @example
1008
+ * // Centered vertical stack
1009
+ * <Stack
1010
+ * gap="lg"
1011
+ * align="center"
1012
+ * justify="center"
1013
+ * style={{ minHeight: '100vh' }}
1014
+ * >
1015
+ * <Logo />
1016
+ * <h1>Welcome</h1>
1017
+ * <Button>Get Started</Button>
1018
+ * </Stack>
1019
+ *
1020
+ * @example
1021
+ * // Navigation with horizontal layout
1022
+ * <Stack
1023
+ * as="nav"
1024
+ * direction="horizontal"
1025
+ * gap="md"
1026
+ * justify="between"
1027
+ * align="center"
1028
+ * >
1029
+ * <Logo />
1030
+ * <Stack direction="horizontal" gap="sm">
1031
+ * <a href="/about">About</a>
1032
+ * <a href="/contact">Contact</a>
1033
+ * </Stack>
1034
+ * </Stack>
1035
+ *
1036
+ * @see {@link StackProps} for complete props documentation
1037
+ */
1038
+ declare const Stack: React$1.ForwardRefExoticComponent<StackProps & React$1.RefAttributes<HTMLElement>>;
1039
+
1040
+ /**
1041
+ * Props for the Cluster component - a wrapping flex layout for inline groups.
1042
+ *
1043
+ * Cluster provides a flexible layout for inline content that needs to wrap naturally,
1044
+ * such as tags, badges, button groups, or navigation links. Items wrap to the next line
1045
+ * when they exceed the container width.
1046
+ *
1047
+ * @example
1048
+ * // Tag cloud
1049
+ * <Cluster gap="sm">
1050
+ * <Tag>React</Tag>
1051
+ * <Tag>TypeScript</Tag>
1052
+ * <Tag>CSS</Tag>
1053
+ * </Cluster>
1054
+ *
1055
+ * @example
1056
+ * // Button group
1057
+ * <Cluster gap="md" justify="center">
1058
+ * <Button>Action 1</Button>
1059
+ * <Button>Action 2</Button>
1060
+ * <Button>Action 3</Button>
1061
+ * </Cluster>
1062
+ */
1063
+ interface ClusterProps extends Partial<ComponentProps$1>, Omit<React$1.HTMLAttributes<HTMLElement>, "className"> {
1064
+ /**
1065
+ * Gap between items.
1066
+ * Uses unified spacing scale: '0' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
1067
+ * @default 'sm'
1068
+ */
1069
+ gap?: SpacingScale;
1070
+ /**
1071
+ * Horizontal alignment of items.
1072
+ * - 'start': Items at start (left in LTR)
1073
+ * - 'center': Items centered
1074
+ * - 'end': Items at end (right in LTR)
1075
+ * - 'between': Space evenly between items
1076
+ * @example
1077
+ * <Cluster justify="center">Centered items</Cluster>
1078
+ */
1079
+ justify?: "start" | "center" | "end" | "between";
1080
+ /**
1081
+ * Vertical alignment of items.
1082
+ * - 'start': Align to top
1083
+ * - 'center': Vertically centered
1084
+ * - 'end': Align to bottom
1085
+ * - 'baseline': Align baselines (good for text)
1086
+ * @example
1087
+ * <Cluster align="baseline">Baseline-aligned text</Cluster>
1088
+ */
1089
+ align?: "start" | "center" | "end" | "baseline";
1090
+ /**
1091
+ * Polymorphic element type to render.
1092
+ * @default 'div'
1093
+ */
1094
+ as?: ClusterElement;
1095
+ /**
1096
+ * Additional CSS classes to apply.
1097
+ */
1098
+ className?: string;
1099
+ /**
1100
+ * Children elements to render inside the Cluster.
1101
+ */
1102
+ children?: React$1.ReactNode;
1103
+ }
1104
+
1105
+ /**
1106
+ * Cluster - A wrapping flex layout primitive for inline groups.
1107
+ *
1108
+ * Cluster provides a flexible layout for inline content that wraps naturally,
1109
+ * perfect for tags, badges, button groups, navigation links, or any inline
1110
+ * content that needs to flow and wrap responsively.
1111
+ *
1112
+ * ## Key Features
1113
+ * - **Auto-Wrapping**: Items wrap to next line when container is full
1114
+ * - **Fluid Spacing**: Responsive gap using CSS clamp()
1115
+ * - **Semantic Naming**: Clear intent for inline grouped content
1116
+ * - **Polymorphic**: Render as any semantic HTML element
1117
+ * - **Type-Safe**: Full TypeScript support
1118
+ *
1119
+ * ## Use Cases
1120
+ * - Tag clouds and keyword lists
1121
+ * - Button groups with wrapping
1122
+ * - Navigation breadcrumbs
1123
+ * - Badge clusters
1124
+ * - Inline action groups
1125
+ *
1126
+ * @example
1127
+ * // Tag cloud
1128
+ * <Cluster gap="sm" justify="center">
1129
+ * <Tag>React</Tag>
1130
+ * <Tag>TypeScript</Tag>
1131
+ * <Tag>CSS</Tag>
1132
+ * </Cluster>
1133
+ *
1134
+ * @example
1135
+ * // Button group
1136
+ * <Cluster gap="md">
1137
+ * <Button>Action 1</Button>
1138
+ * <Button>Action 2</Button>
1139
+ * <Button>Action 3</Button>
1140
+ * </Cluster>
1141
+ *
1142
+ * @see {@link ClusterProps} for complete props documentation
1143
+ */
1144
+ declare const Cluster: React$1.ForwardRefExoticComponent<ClusterProps & React$1.RefAttributes<HTMLElement>>;
1145
+
1146
+ /**
1147
+ * Number of columns in the grid (1-12)
1148
+ */
1149
+ type GridColumns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
1150
+ /**
1151
+ * Grid auto-fit/auto-fill behavior
1152
+ */
1153
+ type GridAuto = "fit" | "fill";
1154
+ /**
1155
+ * Props for the Grid component
1156
+ *
1157
+ * Grid provides a CSS Grid-based layout primitive for responsive multi-column layouts.
1158
+ * Supports explicit column counts, auto-fit/auto-fill, gap spacing, and alignment control.
1159
+ *
1160
+ * @example
1161
+ * ```tsx
1162
+ * // 3-column grid
1163
+ * <Grid columns={3} gap="md">
1164
+ * <Grid.Item>Card 1</Grid.Item>
1165
+ * <Grid.Item>Card 2</Grid.Item>
1166
+ * <Grid.Item>Card 3</Grid.Item>
1167
+ * </Grid>
1168
+ * ```
1169
+ *
1170
+ * @example
1171
+ * ```tsx
1172
+ * // Auto-fit grid with minimum column width
1173
+ * <Grid auto="fit" minColumnWidth="15rem" gap="lg">
1174
+ * <Grid.Item>Card 1</Grid.Item>
1175
+ * <Grid.Item>Card 2</Grid.Item>
1176
+ * </Grid>
1177
+ * ```
1178
+ *
1179
+ * @example
1180
+ * ```tsx
1181
+ * // Grid with custom column spans
1182
+ * <Grid columns={12} gap="md">
1183
+ * <Grid.Item span={8}>Main content</Grid.Item>
1184
+ * <Grid.Item span={4}>Sidebar</Grid.Item>
1185
+ * </Grid>
1186
+ * ```
1187
+ */
1188
+ interface GridProps extends Partial<ComponentProps$1>, Omit<React.HTMLAttributes<HTMLElement>, "className"> {
1189
+ /**
1190
+ * Number of columns in the grid (1-12)
1191
+ *
1192
+ * Creates an explicit column layout with equal-width columns.
1193
+ * Mutually exclusive with `auto` prop.
1194
+ *
1195
+ * @default 1
1196
+ *
1197
+ * @example
1198
+ * ```tsx
1199
+ * <Grid columns={3}>
1200
+ * <div>Column 1</div>
1201
+ * <div>Column 2</div>
1202
+ * <div>Column 3</div>
1203
+ * </Grid>
1204
+ * ```
1205
+ */
1206
+ columns?: GridColumns;
1207
+ /**
1208
+ * Auto-fit or auto-fill behavior
1209
+ *
1210
+ * - `fit`: Columns expand to fill available space (grid-template-columns: repeat(auto-fit, ...))
1211
+ * - `fill`: Creates as many columns as fit, even if empty (repeat(auto-fill, ...))
1212
+ *
1213
+ * Requires `minColumnWidth` to be set. Mutually exclusive with `columns` prop.
1214
+ *
1215
+ * @example
1216
+ * ```tsx
1217
+ * <Grid auto="fit" minColumnWidth="15rem" gap="md">
1218
+ * <div>Item 1</div>
1219
+ * <div>Item 2</div>
1220
+ * <div>Item 3</div>
1221
+ * </Grid>
1222
+ * ```
1223
+ */
1224
+ auto?: GridAuto;
1225
+ /**
1226
+ * Minimum column width for auto-fit/auto-fill grids
1227
+ *
1228
+ * Must be specified in rem units (e.g., "15rem", "20rem").
1229
+ * Used with `auto` prop to create responsive grids without media queries.
1230
+ *
1231
+ * @example
1232
+ * ```tsx
1233
+ * <Grid auto="fit" minColumnWidth="15rem">
1234
+ * <div>Card</div>
1235
+ * </Grid>
1236
+ * ```
1237
+ */
1238
+ minColumnWidth?: string;
1239
+ /**
1240
+ * Gap spacing between grid items
1241
+ *
1242
+ * Uses the unified spacing scale from globals.
1243
+ *
1244
+ * @default undefined (uses default `.grid` gap)
1245
+ *
1246
+ * @example
1247
+ * ```tsx
1248
+ * <Grid columns={3} gap="md">
1249
+ * <div>Item 1</div>
1250
+ * <div>Item 2</div>
1251
+ * </Grid>
1252
+ * ```
1253
+ */
1254
+ gap?: SpacingScale;
1255
+ /**
1256
+ * Horizontal gap spacing (column gap)
1257
+ *
1258
+ * Overrides `gap` for horizontal spacing only.
1259
+ * Uses the unified spacing scale.
1260
+ *
1261
+ * @example
1262
+ * ```tsx
1263
+ * <Grid columns={3} gapX="lg" gapY="sm">
1264
+ * <div>Item 1</div>
1265
+ * <div>Item 2</div>
1266
+ * </Grid>
1267
+ * ```
1268
+ */
1269
+ gapX?: SpacingScale;
1270
+ /**
1271
+ * Vertical gap spacing (row gap)
1272
+ *
1273
+ * Overrides `gap` for vertical spacing only.
1274
+ * Uses the unified spacing scale.
1275
+ *
1276
+ * @example
1277
+ * ```tsx
1278
+ * <Grid columns={3} gapX="lg" gapY="sm">
1279
+ * <div>Item 1</div>
1280
+ * <div>Item 2</div>
1281
+ * </Grid>
1282
+ * ```
1283
+ */
1284
+ gapY?: SpacingScale;
1285
+ /**
1286
+ * Horizontal alignment of grid items (justify-items)
1287
+ *
1288
+ * Controls horizontal alignment of items within their grid cells.
1289
+ *
1290
+ * @example
1291
+ * ```tsx
1292
+ * <Grid columns={3} justifyItems="center">
1293
+ * <div>Centered item</div>
1294
+ * </Grid>
1295
+ * ```
1296
+ */
1297
+ justifyItems?: "start" | "center" | "end" | "stretch";
1298
+ /**
1299
+ * Vertical alignment of grid items (align-items)
1300
+ *
1301
+ * Controls vertical alignment of items within their grid cells.
1302
+ *
1303
+ * @example
1304
+ * ```tsx
1305
+ * <Grid columns={3} alignItems="center">
1306
+ * <div>Vertically centered</div>
1307
+ * </Grid>
1308
+ * ```
1309
+ */
1310
+ alignItems?: "start" | "center" | "end" | "stretch";
1311
+ /**
1312
+ * HTML element to render as
1313
+ *
1314
+ * @default "div"
1315
+ *
1316
+ * @example
1317
+ * ```tsx
1318
+ * <Grid as="section" columns={2}>
1319
+ * <article>Post 1</article>
1320
+ * <article>Post 2</article>
1321
+ * </Grid>
1322
+ * ```
1323
+ */
1324
+ as?: GridElement;
1325
+ /**
1326
+ * Additional CSS class name(s)
1327
+ *
1328
+ * @example
1329
+ * ```tsx
1330
+ * <Grid className="custom-grid" columns={3}>
1331
+ * <div>Item</div>
1332
+ * </Grid>
1333
+ * ```
1334
+ */
1335
+ className?: string;
1336
+ /**
1337
+ * Additional CSS class name(s) (alternative to className)
1338
+ *
1339
+ * @example
1340
+ * ```tsx
1341
+ * <Grid classes="utility-class" columns={3}>
1342
+ * <div>Item</div>
1343
+ * </Grid>
1344
+ * ```
1345
+ */
1346
+ classes?: string;
1347
+ /**
1348
+ * Children elements (typically Grid.Item components)
1349
+ *
1350
+ * @example
1351
+ * ```tsx
1352
+ * <Grid columns={3}>
1353
+ * <Grid.Item>Item 1</Grid.Item>
1354
+ * <Grid.Item span={2}>Item 2 (2 columns wide)</Grid.Item>
1355
+ * </Grid>
1356
+ * ```
1357
+ */
1358
+ children?: React.ReactNode;
1359
+ }
1360
+ /**
1361
+ * Props for the Grid.Item component
1362
+ *
1363
+ * Grid.Item represents a single item within a Grid layout.
1364
+ * Supports column span control for flexible grid layouts.
1365
+ *
1366
+ * @example
1367
+ * ```tsx
1368
+ * <Grid columns={12}>
1369
+ * <Grid.Item span={8}>Main content (8/12)</Grid.Item>
1370
+ * <Grid.Item span={4}>Sidebar (4/12)</Grid.Item>
1371
+ * </Grid>
1372
+ * ```
1373
+ *
1374
+ * @example
1375
+ * ```tsx
1376
+ * <Grid columns={4}>
1377
+ * <Grid.Item>1 column</Grid.Item>
1378
+ * <Grid.Item span={2}>2 columns</Grid.Item>
1379
+ * <Grid.Item>1 column</Grid.Item>
1380
+ * </Grid>
1381
+ * ```
1382
+ */
1383
+ interface GridItemProps extends Partial<ComponentProps$1>, Omit<React.HTMLAttributes<HTMLElement>, "className"> {
1384
+ /**
1385
+ * Number of columns this item should span (1-12)
1386
+ *
1387
+ * Determines the width of the grid item relative to the parent grid's columns.
1388
+ *
1389
+ * @default 1
1390
+ *
1391
+ * @example
1392
+ * ```tsx
1393
+ * <Grid columns={12}>
1394
+ * <Grid.Item span={6}>Half width</Grid.Item>
1395
+ * <Grid.Item span={6}>Half width</Grid.Item>
1396
+ * </Grid>
1397
+ * ```
1398
+ */
1399
+ span?: GridColumns;
1400
+ /**
1401
+ * Row span for the grid item
1402
+ *
1403
+ * Determines how many rows this item should span.
1404
+ *
1405
+ * @example
1406
+ * ```tsx
1407
+ * <Grid columns={3}>
1408
+ * <Grid.Item rowSpan={2}>Tall item</Grid.Item>
1409
+ * <Grid.Item>Normal</Grid.Item>
1410
+ * <Grid.Item>Normal</Grid.Item>
1411
+ * </Grid>
1412
+ * ```
1413
+ */
1414
+ rowSpan?: number;
1415
+ /**
1416
+ * HTML element to render as
1417
+ *
1418
+ * @default "div"
1419
+ *
1420
+ * @example
1421
+ * ```tsx
1422
+ * <Grid as="ul" columns={3}>
1423
+ * <Grid.Item as="li">List item 1</Grid.Item>
1424
+ * <Grid.Item as="li">List item 2</Grid.Item>
1425
+ * </Grid>
1426
+ * ```
1427
+ */
1428
+ as?: GridItemElement;
1429
+ /**
1430
+ * Additional CSS class name(s)
1431
+ *
1432
+ * @example
1433
+ * ```tsx
1434
+ * <Grid.Item className="featured" span={2}>
1435
+ * Featured content
1436
+ * </Grid.Item>
1437
+ * ```
1438
+ */
1439
+ className?: string;
1440
+ /**
1441
+ * Additional CSS class name(s) (alternative to className)
1442
+ *
1443
+ * @example
1444
+ * ```tsx
1445
+ * <Grid.Item classes="utility-class" span={3}>
1446
+ * Content
1447
+ * </Grid.Item>
1448
+ * ```
1449
+ */
1450
+ classes?: string;
1451
+ /**
1452
+ * Children elements
1453
+ *
1454
+ * @example
1455
+ * ```tsx
1456
+ * <Grid.Item span={2}>
1457
+ * <h2>Title</h2>
1458
+ * <p>Content</p>
1459
+ * </Grid.Item>
1460
+ * ```
1461
+ */
1462
+ children?: React.ReactNode;
1463
+ }
1464
+
1465
+ /**
1466
+ * Grid.Item - A grid item component with column and row span control.
1467
+ *
1468
+ * Grid.Item represents a single item within a Grid layout. It supports
1469
+ * column spanning (1-12 columns) and row spanning for flexible grid layouts.
1470
+ *
1471
+ * ## Key Features
1472
+ * - **Column Span**: Span 1-12 columns
1473
+ * - **Row Span**: Span multiple rows
1474
+ * - **Polymorphic**: Render as any semantic HTML element
1475
+ * - **Type-Safe**: Full TypeScript support
1476
+ *
1477
+ * @example
1478
+ * // Span 2 columns
1479
+ * <Grid.Item span={2}>Wide item</Grid.Item>
1480
+ *
1481
+ * @example
1482
+ * // Span 2 rows
1483
+ * <Grid.Item rowSpan={2}>Tall item</Grid.Item>
1484
+ *
1485
+ * @example
1486
+ * // Main content + sidebar layout
1487
+ * <Grid columns={12} gap="md">
1488
+ * <Grid.Item span={8}>Main content</Grid.Item>
1489
+ * <Grid.Item span={4}>Sidebar</Grid.Item>
1490
+ * </Grid>
1491
+ *
1492
+ * @see {@link GridItemProps} for complete props documentation
1493
+ */
1494
+ declare const GridItem: React$1.ForwardRefExoticComponent<GridItemProps & React$1.RefAttributes<HTMLElement>>;
1495
+ declare const GridWithItem: React$1.ForwardRefExoticComponent<GridProps & React$1.RefAttributes<HTMLElement>> & {
1496
+ Item: typeof GridItem;
1497
+ };
1498
+
580
1499
  /**
581
1500
  * Type definitions for Flex container components
582
1501
  * Supports responsive flexbox layouts with CSS custom properties
@@ -1302,4 +2221,4 @@ type FPComponent = {
1302
2221
  */
1303
2222
  declare const FP: FPComponent;
1304
2223
 
1305
- export { Alert, AlertProps, Article, Aside, Badge, BadgeProps, FP as Box, Caption, ComponentProps$1 as ComponentProps, Details, FP, Flex, FlexAlign, FlexAlignContent, FlexAlignSelf, FlexContainerElement, FlexDirection, FlexGap, FlexItemElement, FlexItemProps, FlexJustify, FlexProps, FlexSpacerProps, FlexVariant, FlexWrap, Footer, Header, Img, ImgProps, Landmarks, Main, ResponsiveFlexProps, Section, Table, Tag, TagProps, TagVariant, Tbody, Td, TextToSpeech, Thead, Tr, UI };
2224
+ export { Alert, AlertProps, Article, Aside, Badge, BadgeProps, Box, BoxProps, Caption, Cluster, ClusterProps, ComponentProps$1 as ComponentProps, Details, FP, Flex, FlexAlign, FlexAlignContent, FlexAlignSelf, FlexContainerElement, FlexDirection, FlexGap, FlexItemElement, FlexItemProps, FlexJustify, FlexProps, FlexSpacerProps, FlexVariant, FlexWrap, Footer, GridWithItem as Grid, GridItem, GridItemProps, GridProps, Header, Img, ImgProps, Landmarks, Main, ResponsiveFlexProps, Section, Stack, StackProps, Table, Tag, TagProps, TagVariant, Tbody, Td, TextToSpeech, Thead, Tr, UI };