@fpkit/acss 3.3.0 → 3.5.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 (99) hide show
  1. package/libs/index.cjs +22 -20
  2. package/libs/index.cjs.map +1 -1
  3. package/libs/index.d.cts +309 -1
  4. package/libs/index.d.ts +309 -1
  5. package/libs/index.js +9 -9
  6. package/libs/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/components/col/README.mdx +661 -0
  9. package/src/components/col/col.stories.tsx +527 -0
  10. package/src/components/col/col.test.tsx +366 -0
  11. package/src/components/col/col.tsx +107 -0
  12. package/src/components/col/col.types.ts +90 -0
  13. package/src/components/row/README.mdx +324 -0
  14. package/src/components/row/row.stories.tsx +595 -0
  15. package/src/components/row/row.test.tsx +358 -0
  16. package/src/components/row/row.tsx +121 -0
  17. package/src/components/row/row.types.ts +93 -0
  18. package/src/index.scss +1 -0
  19. package/src/index.ts +2 -0
  20. package/src/sass/README.mdx +597 -0
  21. package/src/sass/_columns.scss +394 -0
  22. package/src/sass/columns.stories.tsx +456 -0
  23. package/src/styles/index.css +392 -0
  24. package/src/styles/index.css.map +1 -1
  25. package/src/types/layout-primitives.ts +81 -0
  26. package/libs/components/alert/alert.css +0 -1
  27. package/libs/components/alert/alert.css.map +0 -1
  28. package/libs/components/alert/alert.min.css +0 -3
  29. package/libs/components/badge/badge.css +0 -1
  30. package/libs/components/badge/badge.css.map +0 -1
  31. package/libs/components/badge/badge.min.css +0 -3
  32. package/libs/components/box/box.css +0 -1
  33. package/libs/components/box/box.css.map +0 -1
  34. package/libs/components/box/box.min.css +0 -3
  35. package/libs/components/breadcrumbs/breadcrumb.css +0 -1
  36. package/libs/components/breadcrumbs/breadcrumb.css.map +0 -1
  37. package/libs/components/breadcrumbs/breadcrumb.min.css +0 -3
  38. package/libs/components/buttons/button.css +0 -1
  39. package/libs/components/buttons/button.css.map +0 -1
  40. package/libs/components/buttons/button.min.css +0 -3
  41. package/libs/components/cards/card-style.css +0 -1
  42. package/libs/components/cards/card-style.css.map +0 -1
  43. package/libs/components/cards/card-style.min.css +0 -3
  44. package/libs/components/cards/card.css +0 -1
  45. package/libs/components/cards/card.css.map +0 -1
  46. package/libs/components/cards/card.min.css +0 -3
  47. package/libs/components/cluster/cluster.css +0 -1
  48. package/libs/components/cluster/cluster.css.map +0 -1
  49. package/libs/components/cluster/cluster.min.css +0 -3
  50. package/libs/components/details/details.css +0 -1
  51. package/libs/components/details/details.css.map +0 -1
  52. package/libs/components/details/details.min.css +0 -3
  53. package/libs/components/dialog/dialog.css +0 -1
  54. package/libs/components/dialog/dialog.css.map +0 -1
  55. package/libs/components/dialog/dialog.min.css +0 -3
  56. package/libs/components/flexbox/flex.css +0 -1
  57. package/libs/components/flexbox/flex.css.map +0 -1
  58. package/libs/components/flexbox/flex.min.css +0 -3
  59. package/libs/components/form/form.css +0 -1
  60. package/libs/components/form/form.css.map +0 -1
  61. package/libs/components/form/form.min.css +0 -3
  62. package/libs/components/grid/grid.css +0 -1
  63. package/libs/components/grid/grid.css.map +0 -1
  64. package/libs/components/grid/grid.min.css +0 -3
  65. package/libs/components/icons/icon.css +0 -1
  66. package/libs/components/icons/icon.css.map +0 -1
  67. package/libs/components/icons/icon.min.css +0 -3
  68. package/libs/components/images/img.css +0 -1
  69. package/libs/components/images/img.css.map +0 -1
  70. package/libs/components/images/img.min.css +0 -3
  71. package/libs/components/layout/landmarks.css +0 -1
  72. package/libs/components/layout/landmarks.css.map +0 -1
  73. package/libs/components/layout/landmarks.min.css +0 -3
  74. package/libs/components/link/link.css +0 -1
  75. package/libs/components/link/link.css.map +0 -1
  76. package/libs/components/link/link.min.css +0 -3
  77. package/libs/components/list/list.css +0 -1
  78. package/libs/components/list/list.css.map +0 -1
  79. package/libs/components/list/list.min.css +0 -3
  80. package/libs/components/nav/nav.css +0 -1
  81. package/libs/components/nav/nav.css.map +0 -1
  82. package/libs/components/nav/nav.min.css +0 -3
  83. package/libs/components/progress/progress.css +0 -1
  84. package/libs/components/progress/progress.css.map +0 -1
  85. package/libs/components/progress/progress.min.css +0 -3
  86. package/libs/components/stack/stack.css +0 -1
  87. package/libs/components/stack/stack.css.map +0 -1
  88. package/libs/components/stack/stack.min.css +0 -3
  89. package/libs/components/styles/index.css +0 -1
  90. package/libs/components/styles/index.css.map +0 -1
  91. package/libs/components/styles/index.min.css +0 -3
  92. package/libs/components/tag/tag.css +0 -1
  93. package/libs/components/tag/tag.css.map +0 -1
  94. package/libs/components/tag/tag.min.css +0 -3
  95. package/libs/components/text-to-speech/text-to-speech.css +0 -1
  96. package/libs/components/text-to-speech/text-to-speech.css.map +0 -1
  97. package/libs/components/text-to-speech/text-to-speech.min.css +0 -3
  98. package/libs/index.css +0 -1
  99. package/libs/index.css.map +0 -1
package/libs/index.d.cts CHANGED
@@ -611,6 +611,58 @@ type GridElement = "div" | "section" | "article" | "ul" | "ol";
611
611
  * Semantic HTML element types for Grid.Item sub-component
612
612
  */
613
613
  type GridItemElement = "div" | "section" | "article" | "li";
614
+ /**
615
+ * Semantic HTML element types for Row component
616
+ */
617
+ type RowElement = "div" | "section" | "article" | "ul" | "ol" | "nav";
618
+ /**
619
+ * Semantic HTML element types for Col component
620
+ */
621
+ type ColElement = "div" | "section" | "article" | "li";
622
+ /**
623
+ * Column span values (1-12 columns) or "flex" for flex-grow behavior
624
+ *
625
+ * - Numeric values (1-12): Fixed fractional widths on desktop
626
+ * - "flex": Grows to fill remaining space on desktop (flex: 1 1 0%)
627
+ *
628
+ * All columns stack to 100% width on mobile (< 48rem / 768px)
629
+ *
630
+ * @example
631
+ * // Fixed width columns
632
+ * <Col span={6}>50% width</Col>
633
+ *
634
+ * @example
635
+ * // Flex column fills remaining space
636
+ * <Col span={3}>25% fixed</Col>
637
+ * <Col span="flex">Grows to fill 75%</Col>
638
+ *
639
+ * @example
640
+ * // Multiple flex columns share space equally
641
+ * <Col auto>Content width</Col>
642
+ * <Col span="flex">Flex 1</Col>
643
+ * <Col span="flex">Flex 2</Col>
644
+ */
645
+ type ColumnSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "flex";
646
+ /**
647
+ * Column offset values (0-11 columns)
648
+ */
649
+ type ColumnOffset = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
650
+ /**
651
+ * Column order values
652
+ */
653
+ type ColumnOrder = "first" | "last" | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
654
+ /**
655
+ * Flex justify-content values
656
+ */
657
+ type JustifyContent = "start" | "center" | "end" | "between" | "around" | "evenly";
658
+ /**
659
+ * Flex align-items values
660
+ */
661
+ type AlignItems = "start" | "center" | "end" | "baseline" | "stretch";
662
+ /**
663
+ * Flex wrap values
664
+ */
665
+ type FlexWrap$1 = "wrap" | "nowrap" | "wrap-reverse";
614
666
 
615
667
  /**
616
668
  * Props for the Box component - a fundamental container primitive for spacing and sizing control.
@@ -1496,6 +1548,262 @@ declare const GridWithItem: React$1.ForwardRefExoticComponent<GridProps & React$
1496
1548
  Item: typeof GridItem;
1497
1549
  };
1498
1550
 
1551
+ /**
1552
+ * Props for the Row component
1553
+ *
1554
+ * Row provides a flex container for column layouts with customizable gap,
1555
+ * justify, align, and wrap properties. Always renders with the .col-row
1556
+ * base class and adds variant utilities based on props.
1557
+ *
1558
+ * @example
1559
+ * // Basic row with default settings
1560
+ * <Row>
1561
+ * <Col span={6}>Column 1</Col>
1562
+ * <Col span={6}>Column 2</Col>
1563
+ * </Row>
1564
+ *
1565
+ * @example
1566
+ * // Custom gap and centering
1567
+ * <Row gap="lg" justify="center" align="center">
1568
+ * <Col span={4}>Centered content</Col>
1569
+ * </Row>
1570
+ */
1571
+ interface RowProps extends Partial<ComponentProps$1>, Omit<React.HTMLAttributes<HTMLElement>, "className"> {
1572
+ /**
1573
+ * Gap size between columns
1574
+ * Maps to --spacing-* CSS custom properties
1575
+ * @default undefined (uses .col-row default gap)
1576
+ */
1577
+ gap?: SpacingScale;
1578
+ /**
1579
+ * Horizontal alignment of columns (justify-content)
1580
+ * @default undefined (flex-start)
1581
+ */
1582
+ justify?: JustifyContent;
1583
+ /**
1584
+ * Vertical alignment of columns (align-items)
1585
+ * @default undefined (stretch)
1586
+ */
1587
+ align?: AlignItems;
1588
+ /**
1589
+ * Flex wrap behavior
1590
+ * @default "wrap"
1591
+ */
1592
+ wrap?: FlexWrap$1;
1593
+ /**
1594
+ * When true, columns maintain their proportional layout on tablets and larger
1595
+ * instead of stacking to 100% width on all mobile devices (< 768px).
1596
+ *
1597
+ * Wrapping behavior with this prop:
1598
+ * - Mobile phones (< 480px): Columns still stack at 100% width
1599
+ * - Tablets & larger (≥ 480px): Columns maintain proportional layout
1600
+ *
1601
+ * Use this when you want columns to stay side-by-side on tablets and desktops
1602
+ * but still provide mobile-friendly stacking on phones.
1603
+ *
1604
+ * @default false
1605
+ * @example
1606
+ * <Row alwaysProportional>
1607
+ * <Col span={6}>Column 1</Col>
1608
+ * <Col span={6}>Column 2</Col>
1609
+ * </Row>
1610
+ */
1611
+ alwaysProportional?: boolean;
1612
+ /**
1613
+ * Element type to render
1614
+ * @default "div"
1615
+ */
1616
+ as?: RowElement;
1617
+ /**
1618
+ * Additional CSS classes
1619
+ */
1620
+ className?: string;
1621
+ /**
1622
+ * Child elements (typically Col components)
1623
+ */
1624
+ children?: React.ReactNode;
1625
+ }
1626
+
1627
+ /**
1628
+ * Row - A flex container component for 12-column layouts.
1629
+ *
1630
+ * Row provides a type-safe React wrapper around the .col-row utility class,
1631
+ * allowing developers to create responsive column layouts with customizable
1632
+ * gap, alignment, and wrapping behavior. Always includes the .col-row base
1633
+ * class and adds variant utilities based on props.
1634
+ *
1635
+ * ## Key Features
1636
+ * - **Flex Container**: Display flex with wrap enabled by default
1637
+ * - **Customizable Gap**: Control spacing between columns with gap prop
1638
+ * - **Alignment Control**: Justify and align props for layout control
1639
+ * - **Polymorphic**: Render as any semantic HTML element
1640
+ * - **Type-Safe**: Full TypeScript support with literal types
1641
+ *
1642
+ * ## Use Cases
1643
+ * - Multi-column layouts
1644
+ * - Responsive grid systems
1645
+ * - Card grids
1646
+ * - Dashboard layouts
1647
+ * - Form layouts
1648
+ *
1649
+ * @example
1650
+ * // Basic two-column layout
1651
+ * <Row>
1652
+ * <Col span={6}>Left column</Col>
1653
+ * <Col span={6}>Right column</Col>
1654
+ * </Row>
1655
+ *
1656
+ * @example
1657
+ * // Custom gap and centered alignment
1658
+ * <Row gap="lg" justify="center" align="center">
1659
+ * <Col span={4}>Column 1</Col>
1660
+ * <Col span={4}>Column 2</Col>
1661
+ * <Col span={4}>Column 3</Col>
1662
+ * </Row>
1663
+ *
1664
+ * @example
1665
+ * // Semantic HTML with list elements
1666
+ * <Row as="ul" gap="md">
1667
+ * <Col as="li" span={4}>Item 1</Col>
1668
+ * <Col as="li" span={4}>Item 2</Col>
1669
+ * <Col as="li" span={4}>Item 3</Col>
1670
+ * </Row>
1671
+ *
1672
+ * @example
1673
+ * // Proportional layout - maintains columns on tablets and larger
1674
+ * <Row alwaysProportional gap="lg">
1675
+ * <Col span={6}>Column 1 (50% on tablets+)</Col>
1676
+ * <Col span={6}>Column 2 (50% on tablets+)</Col>
1677
+ * </Row>
1678
+ *
1679
+ * @see {@link RowProps} for complete props documentation
1680
+ */
1681
+ declare const Row: React$1.ForwardRefExoticComponent<RowProps & React$1.RefAttributes<HTMLElement>>;
1682
+
1683
+ /**
1684
+ * Props for the Col component
1685
+ *
1686
+ * Col provides a column element for use within Row containers. Maps React
1687
+ * props to column utility classes (.col-*, .col-offset-*, .col-order-*,
1688
+ * .col-auto) without a base class. Pure utility class composition.
1689
+ *
1690
+ * @example
1691
+ * // Basic column with 50% width
1692
+ * <Col span={6}>Column content</Col>
1693
+ *
1694
+ * @example
1695
+ * // Column with offset and order
1696
+ * <Col span={4} offset={2} order={1}>
1697
+ * Offset and reordered
1698
+ * </Col>
1699
+ */
1700
+ interface ColProps extends Partial<ComponentProps$1>, Omit<React.HTMLAttributes<HTMLElement>, "className"> {
1701
+ /**
1702
+ * Column span (1-12 or "flex")
1703
+ *
1704
+ * - Numeric values (1-12): Maps to .col-{span} utility class (fixed width)
1705
+ * - "flex": Maps to .col-flex utility class (grows to fill space)
1706
+ *
1707
+ * Ignored if auto is true (auto takes precedence)
1708
+ *
1709
+ * @default undefined
1710
+ *
1711
+ * @example
1712
+ * // Fixed width column
1713
+ * <Col span={6}>50% width on desktop</Col>
1714
+ *
1715
+ * @example
1716
+ * // Flex column fills remaining space
1717
+ * <Col span="flex">Grows to fill available space</Col>
1718
+ */
1719
+ span?: ColumnSpan;
1720
+ /**
1721
+ * Column offset (0-11)
1722
+ * Pushes column to the right using margin-inline-start
1723
+ * Maps to .col-offset-{offset} utility class
1724
+ * @default undefined
1725
+ */
1726
+ offset?: ColumnOffset;
1727
+ /**
1728
+ * Column order
1729
+ * Controls visual order using flexbox order property
1730
+ * Maps to .col-order-{order} utility class
1731
+ * @default undefined
1732
+ */
1733
+ order?: ColumnOrder;
1734
+ /**
1735
+ * Auto-width column
1736
+ * When true, uses .col-auto (content-based width)
1737
+ * Takes precedence over span prop (including "flex")
1738
+ * @default false
1739
+ *
1740
+ * @see span - For flex-grow behavior, use span="flex" instead of auto
1741
+ */
1742
+ auto?: boolean;
1743
+ /**
1744
+ * Element type to render
1745
+ * @default "div"
1746
+ */
1747
+ as?: ColElement;
1748
+ /**
1749
+ * Additional CSS classes
1750
+ */
1751
+ className?: string;
1752
+ /**
1753
+ * Child elements
1754
+ */
1755
+ children?: React.ReactNode;
1756
+ }
1757
+
1758
+ /**
1759
+ * Col - A column component for 12-column layouts.
1760
+ *
1761
+ * Col provides a type-safe React wrapper around column utility classes,
1762
+ * allowing developers to create responsive columns with span, offset, order,
1763
+ * and auto-width options. Unlike Row, Col has no base class - it's pure
1764
+ * utility class composition.
1765
+ *
1766
+ * ## Key Features
1767
+ * - **No base class**: Pure utility class mapping (follows Grid.Item pattern)
1768
+ * - **Span control**: 1-12 column widths via span prop
1769
+ * - **Offset positioning**: Push columns right with offset prop
1770
+ * - **Visual reordering**: Change order with order prop
1771
+ * - **Auto-width**: Content-based width with auto prop
1772
+ * - **Polymorphic**: Render as any semantic HTML element
1773
+ * - **Type-Safe**: Full TypeScript support with literal types
1774
+ *
1775
+ * ## Use Cases
1776
+ * - Responsive column layouts
1777
+ * - Grid-based designs
1778
+ * - Content positioning
1779
+ * - Visual reordering
1780
+ *
1781
+ * @example
1782
+ * // Basic 50% column
1783
+ * <Col span={6}>Half width column</Col>
1784
+ *
1785
+ * @example
1786
+ * // Centered column with offset
1787
+ * <Col span={6} offset={3}>Centered column</Col>
1788
+ *
1789
+ * @example
1790
+ * // Auto-width column
1791
+ * <Col auto>Content-based width</Col>
1792
+ *
1793
+ * @example
1794
+ * // Reordered column
1795
+ * <Col span={6} order="first">Appears first visually</Col>
1796
+ *
1797
+ * @example
1798
+ * // Semantic HTML
1799
+ * <Row as="ul">
1800
+ * <Col as="li" span={4}>List item</Col>
1801
+ * </Row>
1802
+ *
1803
+ * @see {@link ColProps} for complete props documentation
1804
+ */
1805
+ declare const Col: React$1.ForwardRefExoticComponent<ColProps & React$1.RefAttributes<HTMLElement>>;
1806
+
1499
1807
  /**
1500
1808
  * Type definitions for Flex container components
1501
1809
  * Supports responsive flexbox layouts with CSS custom properties
@@ -2221,4 +2529,4 @@ type FPComponent = {
2221
2529
  */
2222
2530
  declare const FP: FPComponent;
2223
2531
 
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 };
2532
+ export { Alert, AlertProps, Article, Aside, Badge, BadgeProps, Box, BoxProps, Caption, Cluster, ClusterProps, Col, ColProps, 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, Row, RowProps, Section, Stack, StackProps, Table, Tag, TagProps, TagVariant, Tbody, Td, TextToSpeech, Thead, Tr, UI };
package/libs/index.d.ts CHANGED
@@ -611,6 +611,58 @@ type GridElement = "div" | "section" | "article" | "ul" | "ol";
611
611
  * Semantic HTML element types for Grid.Item sub-component
612
612
  */
613
613
  type GridItemElement = "div" | "section" | "article" | "li";
614
+ /**
615
+ * Semantic HTML element types for Row component
616
+ */
617
+ type RowElement = "div" | "section" | "article" | "ul" | "ol" | "nav";
618
+ /**
619
+ * Semantic HTML element types for Col component
620
+ */
621
+ type ColElement = "div" | "section" | "article" | "li";
622
+ /**
623
+ * Column span values (1-12 columns) or "flex" for flex-grow behavior
624
+ *
625
+ * - Numeric values (1-12): Fixed fractional widths on desktop
626
+ * - "flex": Grows to fill remaining space on desktop (flex: 1 1 0%)
627
+ *
628
+ * All columns stack to 100% width on mobile (< 48rem / 768px)
629
+ *
630
+ * @example
631
+ * // Fixed width columns
632
+ * <Col span={6}>50% width</Col>
633
+ *
634
+ * @example
635
+ * // Flex column fills remaining space
636
+ * <Col span={3}>25% fixed</Col>
637
+ * <Col span="flex">Grows to fill 75%</Col>
638
+ *
639
+ * @example
640
+ * // Multiple flex columns share space equally
641
+ * <Col auto>Content width</Col>
642
+ * <Col span="flex">Flex 1</Col>
643
+ * <Col span="flex">Flex 2</Col>
644
+ */
645
+ type ColumnSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "flex";
646
+ /**
647
+ * Column offset values (0-11 columns)
648
+ */
649
+ type ColumnOffset = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
650
+ /**
651
+ * Column order values
652
+ */
653
+ type ColumnOrder = "first" | "last" | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
654
+ /**
655
+ * Flex justify-content values
656
+ */
657
+ type JustifyContent = "start" | "center" | "end" | "between" | "around" | "evenly";
658
+ /**
659
+ * Flex align-items values
660
+ */
661
+ type AlignItems = "start" | "center" | "end" | "baseline" | "stretch";
662
+ /**
663
+ * Flex wrap values
664
+ */
665
+ type FlexWrap$1 = "wrap" | "nowrap" | "wrap-reverse";
614
666
 
615
667
  /**
616
668
  * Props for the Box component - a fundamental container primitive for spacing and sizing control.
@@ -1496,6 +1548,262 @@ declare const GridWithItem: React$1.ForwardRefExoticComponent<GridProps & React$
1496
1548
  Item: typeof GridItem;
1497
1549
  };
1498
1550
 
1551
+ /**
1552
+ * Props for the Row component
1553
+ *
1554
+ * Row provides a flex container for column layouts with customizable gap,
1555
+ * justify, align, and wrap properties. Always renders with the .col-row
1556
+ * base class and adds variant utilities based on props.
1557
+ *
1558
+ * @example
1559
+ * // Basic row with default settings
1560
+ * <Row>
1561
+ * <Col span={6}>Column 1</Col>
1562
+ * <Col span={6}>Column 2</Col>
1563
+ * </Row>
1564
+ *
1565
+ * @example
1566
+ * // Custom gap and centering
1567
+ * <Row gap="lg" justify="center" align="center">
1568
+ * <Col span={4}>Centered content</Col>
1569
+ * </Row>
1570
+ */
1571
+ interface RowProps extends Partial<ComponentProps$1>, Omit<React.HTMLAttributes<HTMLElement>, "className"> {
1572
+ /**
1573
+ * Gap size between columns
1574
+ * Maps to --spacing-* CSS custom properties
1575
+ * @default undefined (uses .col-row default gap)
1576
+ */
1577
+ gap?: SpacingScale;
1578
+ /**
1579
+ * Horizontal alignment of columns (justify-content)
1580
+ * @default undefined (flex-start)
1581
+ */
1582
+ justify?: JustifyContent;
1583
+ /**
1584
+ * Vertical alignment of columns (align-items)
1585
+ * @default undefined (stretch)
1586
+ */
1587
+ align?: AlignItems;
1588
+ /**
1589
+ * Flex wrap behavior
1590
+ * @default "wrap"
1591
+ */
1592
+ wrap?: FlexWrap$1;
1593
+ /**
1594
+ * When true, columns maintain their proportional layout on tablets and larger
1595
+ * instead of stacking to 100% width on all mobile devices (< 768px).
1596
+ *
1597
+ * Wrapping behavior with this prop:
1598
+ * - Mobile phones (< 480px): Columns still stack at 100% width
1599
+ * - Tablets & larger (≥ 480px): Columns maintain proportional layout
1600
+ *
1601
+ * Use this when you want columns to stay side-by-side on tablets and desktops
1602
+ * but still provide mobile-friendly stacking on phones.
1603
+ *
1604
+ * @default false
1605
+ * @example
1606
+ * <Row alwaysProportional>
1607
+ * <Col span={6}>Column 1</Col>
1608
+ * <Col span={6}>Column 2</Col>
1609
+ * </Row>
1610
+ */
1611
+ alwaysProportional?: boolean;
1612
+ /**
1613
+ * Element type to render
1614
+ * @default "div"
1615
+ */
1616
+ as?: RowElement;
1617
+ /**
1618
+ * Additional CSS classes
1619
+ */
1620
+ className?: string;
1621
+ /**
1622
+ * Child elements (typically Col components)
1623
+ */
1624
+ children?: React.ReactNode;
1625
+ }
1626
+
1627
+ /**
1628
+ * Row - A flex container component for 12-column layouts.
1629
+ *
1630
+ * Row provides a type-safe React wrapper around the .col-row utility class,
1631
+ * allowing developers to create responsive column layouts with customizable
1632
+ * gap, alignment, and wrapping behavior. Always includes the .col-row base
1633
+ * class and adds variant utilities based on props.
1634
+ *
1635
+ * ## Key Features
1636
+ * - **Flex Container**: Display flex with wrap enabled by default
1637
+ * - **Customizable Gap**: Control spacing between columns with gap prop
1638
+ * - **Alignment Control**: Justify and align props for layout control
1639
+ * - **Polymorphic**: Render as any semantic HTML element
1640
+ * - **Type-Safe**: Full TypeScript support with literal types
1641
+ *
1642
+ * ## Use Cases
1643
+ * - Multi-column layouts
1644
+ * - Responsive grid systems
1645
+ * - Card grids
1646
+ * - Dashboard layouts
1647
+ * - Form layouts
1648
+ *
1649
+ * @example
1650
+ * // Basic two-column layout
1651
+ * <Row>
1652
+ * <Col span={6}>Left column</Col>
1653
+ * <Col span={6}>Right column</Col>
1654
+ * </Row>
1655
+ *
1656
+ * @example
1657
+ * // Custom gap and centered alignment
1658
+ * <Row gap="lg" justify="center" align="center">
1659
+ * <Col span={4}>Column 1</Col>
1660
+ * <Col span={4}>Column 2</Col>
1661
+ * <Col span={4}>Column 3</Col>
1662
+ * </Row>
1663
+ *
1664
+ * @example
1665
+ * // Semantic HTML with list elements
1666
+ * <Row as="ul" gap="md">
1667
+ * <Col as="li" span={4}>Item 1</Col>
1668
+ * <Col as="li" span={4}>Item 2</Col>
1669
+ * <Col as="li" span={4}>Item 3</Col>
1670
+ * </Row>
1671
+ *
1672
+ * @example
1673
+ * // Proportional layout - maintains columns on tablets and larger
1674
+ * <Row alwaysProportional gap="lg">
1675
+ * <Col span={6}>Column 1 (50% on tablets+)</Col>
1676
+ * <Col span={6}>Column 2 (50% on tablets+)</Col>
1677
+ * </Row>
1678
+ *
1679
+ * @see {@link RowProps} for complete props documentation
1680
+ */
1681
+ declare const Row: React$1.ForwardRefExoticComponent<RowProps & React$1.RefAttributes<HTMLElement>>;
1682
+
1683
+ /**
1684
+ * Props for the Col component
1685
+ *
1686
+ * Col provides a column element for use within Row containers. Maps React
1687
+ * props to column utility classes (.col-*, .col-offset-*, .col-order-*,
1688
+ * .col-auto) without a base class. Pure utility class composition.
1689
+ *
1690
+ * @example
1691
+ * // Basic column with 50% width
1692
+ * <Col span={6}>Column content</Col>
1693
+ *
1694
+ * @example
1695
+ * // Column with offset and order
1696
+ * <Col span={4} offset={2} order={1}>
1697
+ * Offset and reordered
1698
+ * </Col>
1699
+ */
1700
+ interface ColProps extends Partial<ComponentProps$1>, Omit<React.HTMLAttributes<HTMLElement>, "className"> {
1701
+ /**
1702
+ * Column span (1-12 or "flex")
1703
+ *
1704
+ * - Numeric values (1-12): Maps to .col-{span} utility class (fixed width)
1705
+ * - "flex": Maps to .col-flex utility class (grows to fill space)
1706
+ *
1707
+ * Ignored if auto is true (auto takes precedence)
1708
+ *
1709
+ * @default undefined
1710
+ *
1711
+ * @example
1712
+ * // Fixed width column
1713
+ * <Col span={6}>50% width on desktop</Col>
1714
+ *
1715
+ * @example
1716
+ * // Flex column fills remaining space
1717
+ * <Col span="flex">Grows to fill available space</Col>
1718
+ */
1719
+ span?: ColumnSpan;
1720
+ /**
1721
+ * Column offset (0-11)
1722
+ * Pushes column to the right using margin-inline-start
1723
+ * Maps to .col-offset-{offset} utility class
1724
+ * @default undefined
1725
+ */
1726
+ offset?: ColumnOffset;
1727
+ /**
1728
+ * Column order
1729
+ * Controls visual order using flexbox order property
1730
+ * Maps to .col-order-{order} utility class
1731
+ * @default undefined
1732
+ */
1733
+ order?: ColumnOrder;
1734
+ /**
1735
+ * Auto-width column
1736
+ * When true, uses .col-auto (content-based width)
1737
+ * Takes precedence over span prop (including "flex")
1738
+ * @default false
1739
+ *
1740
+ * @see span - For flex-grow behavior, use span="flex" instead of auto
1741
+ */
1742
+ auto?: boolean;
1743
+ /**
1744
+ * Element type to render
1745
+ * @default "div"
1746
+ */
1747
+ as?: ColElement;
1748
+ /**
1749
+ * Additional CSS classes
1750
+ */
1751
+ className?: string;
1752
+ /**
1753
+ * Child elements
1754
+ */
1755
+ children?: React.ReactNode;
1756
+ }
1757
+
1758
+ /**
1759
+ * Col - A column component for 12-column layouts.
1760
+ *
1761
+ * Col provides a type-safe React wrapper around column utility classes,
1762
+ * allowing developers to create responsive columns with span, offset, order,
1763
+ * and auto-width options. Unlike Row, Col has no base class - it's pure
1764
+ * utility class composition.
1765
+ *
1766
+ * ## Key Features
1767
+ * - **No base class**: Pure utility class mapping (follows Grid.Item pattern)
1768
+ * - **Span control**: 1-12 column widths via span prop
1769
+ * - **Offset positioning**: Push columns right with offset prop
1770
+ * - **Visual reordering**: Change order with order prop
1771
+ * - **Auto-width**: Content-based width with auto prop
1772
+ * - **Polymorphic**: Render as any semantic HTML element
1773
+ * - **Type-Safe**: Full TypeScript support with literal types
1774
+ *
1775
+ * ## Use Cases
1776
+ * - Responsive column layouts
1777
+ * - Grid-based designs
1778
+ * - Content positioning
1779
+ * - Visual reordering
1780
+ *
1781
+ * @example
1782
+ * // Basic 50% column
1783
+ * <Col span={6}>Half width column</Col>
1784
+ *
1785
+ * @example
1786
+ * // Centered column with offset
1787
+ * <Col span={6} offset={3}>Centered column</Col>
1788
+ *
1789
+ * @example
1790
+ * // Auto-width column
1791
+ * <Col auto>Content-based width</Col>
1792
+ *
1793
+ * @example
1794
+ * // Reordered column
1795
+ * <Col span={6} order="first">Appears first visually</Col>
1796
+ *
1797
+ * @example
1798
+ * // Semantic HTML
1799
+ * <Row as="ul">
1800
+ * <Col as="li" span={4}>List item</Col>
1801
+ * </Row>
1802
+ *
1803
+ * @see {@link ColProps} for complete props documentation
1804
+ */
1805
+ declare const Col: React$1.ForwardRefExoticComponent<ColProps & React$1.RefAttributes<HTMLElement>>;
1806
+
1499
1807
  /**
1500
1808
  * Type definitions for Flex container components
1501
1809
  * Supports responsive flexbox layouts with CSS custom properties
@@ -2221,4 +2529,4 @@ type FPComponent = {
2221
2529
  */
2222
2530
  declare const FP: FPComponent;
2223
2531
 
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 };
2532
+ export { Alert, AlertProps, Article, Aside, Badge, BadgeProps, Box, BoxProps, Caption, Cluster, ClusterProps, Col, ColProps, 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, Row, RowProps, Section, Stack, StackProps, Table, Tag, TagProps, TagVariant, Tbody, Td, TextToSpeech, Thead, Tr, UI };