@aurora-ds/components 0.6.8 → 0.10.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 (209) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/components/actions/button/Button.d.ts +12 -0
  3. package/dist/cjs/components/actions/button/Button.props.d.ts +41 -0
  4. package/dist/cjs/components/actions/button/Button.styles.d.ts +18 -0
  5. package/dist/cjs/components/actions/button/index.d.ts +2 -0
  6. package/dist/cjs/components/actions/icon-button/IconButton.d.ts +4 -0
  7. package/dist/cjs/components/actions/icon-button/IconButton.props.d.ts +37 -0
  8. package/dist/cjs/components/actions/icon-button/IconButton.styles.d.ts +4 -0
  9. package/dist/cjs/components/actions/icon-button/index.d.ts +2 -0
  10. package/dist/cjs/components/data-display/chip/Chip.props.d.ts +10 -0
  11. package/dist/cjs/components/forms/form/Form.d.ts +3 -0
  12. package/dist/cjs/components/forms/form/Form.props.d.ts +9 -0
  13. package/dist/cjs/components/forms/form/Form.styles.d.ts +3 -0
  14. package/dist/cjs/components/forms/form/index.d.ts +2 -0
  15. package/dist/cjs/components/forms/input/Input.d.ts +3 -0
  16. package/dist/cjs/components/forms/input/Input.props.d.ts +32 -0
  17. package/dist/cjs/components/forms/input/Input.styles.d.ts +15 -0
  18. package/dist/cjs/components/forms/input/index.d.ts +2 -0
  19. package/dist/cjs/components/forms/textarea/TextArea.d.ts +3 -0
  20. package/dist/cjs/components/forms/textarea/TextArea.props.d.ts +27 -0
  21. package/dist/cjs/components/forms/textarea/TextArea.styles.d.ts +11 -0
  22. package/dist/cjs/components/forms/textarea/index.d.ts +2 -0
  23. package/dist/cjs/components/foundation/icon/Icon.d.ts +35 -0
  24. package/dist/cjs/components/foundation/icon/Icon.props.d.ts +24 -0
  25. package/dist/cjs/components/foundation/icon/Icon.styles.d.ts +3 -0
  26. package/dist/cjs/components/foundation/icon/index.d.ts +2 -0
  27. package/dist/cjs/components/foundation/text/Text.d.ts +21 -0
  28. package/dist/cjs/components/foundation/text/Text.props.d.ts +38 -0
  29. package/dist/cjs/components/foundation/text/Text.styles.d.ts +4 -0
  30. package/dist/cjs/components/foundation/text/index.d.ts +2 -0
  31. package/dist/cjs/components/index.d.ts +11 -5
  32. package/dist/cjs/components/inputs/input/Input.d.ts +6 -0
  33. package/dist/cjs/components/inputs/input/Input.props.d.ts +17 -0
  34. package/dist/cjs/components/inputs/input/Input.styles.d.ts +7 -0
  35. package/dist/cjs/components/inputs/input/index.d.ts +2 -0
  36. package/dist/cjs/components/layout/card/Card.props.d.ts +10 -0
  37. package/dist/cjs/components/layout/grid/Grid.props.d.ts +10 -0
  38. package/dist/cjs/components/layout/page-construction/page/Page.d.ts +10 -0
  39. package/dist/cjs/components/layout/page-construction/page/Page.props.d.ts +30 -0
  40. package/dist/cjs/components/layout/page-construction/page/Page.styles.d.ts +5 -0
  41. package/dist/cjs/components/layout/page-construction/page/index.d.ts +2 -0
  42. package/dist/cjs/components/layout/page-construction/page-section/PageSection.d.ts +10 -0
  43. package/dist/cjs/components/layout/page-construction/page-section/PageSection.props.d.ts +34 -0
  44. package/dist/cjs/components/layout/page-construction/page-section/PageSection.styles.d.ts +4 -0
  45. package/dist/cjs/components/layout/page-construction/page-section/index.d.ts +2 -0
  46. package/dist/cjs/components/layout/stack/Stack.props.d.ts +10 -0
  47. package/dist/cjs/components/navigation/breadcrumb/Breadcrumb.d.ts +12 -0
  48. package/dist/cjs/components/navigation/breadcrumb/Breadcrumb.props.d.ts +13 -0
  49. package/dist/cjs/components/navigation/breadcrumb/Breadcrumb.styles.d.ts +6 -0
  50. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.d.ts +8 -0
  51. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.props.d.ts +5 -0
  52. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.styles.d.ts +7 -0
  53. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbEllipsis/index.d.ts +2 -0
  54. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbEllipsis.d.ts +9 -0
  55. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbItem/BreadcrumbItem.d.ts +6 -0
  56. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbItem/BreadcrumbItem.styles.d.ts +6 -0
  57. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbItem/index.d.ts +1 -0
  58. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbItem.d.ts +6 -0
  59. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbLink/BreadcrumbLink.d.ts +7 -0
  60. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbLink/BreadcrumbLink.props.d.ts +14 -0
  61. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbLink/BreadcrumbLink.styles.d.ts +7 -0
  62. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbLink/index.d.ts +2 -0
  63. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbLink.d.ts +6 -0
  64. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbList/BreadcrumbList.d.ts +6 -0
  65. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbList/BreadcrumbList.styles.d.ts +6 -0
  66. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbList/index.d.ts +1 -0
  67. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbList.d.ts +6 -0
  68. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbPage/BreadcrumbPage.d.ts +7 -0
  69. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbPage/BreadcrumbPage.props.d.ts +10 -0
  70. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbPage/BreadcrumbPage.styles.d.ts +7 -0
  71. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbPage/index.d.ts +2 -0
  72. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbPage.d.ts +6 -0
  73. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.d.ts +7 -0
  74. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.props.d.ts +5 -0
  75. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.styles.d.ts +6 -0
  76. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbSeparator/index.d.ts +2 -0
  77. package/dist/cjs/components/navigation/breadcrumb/BreadcrumbSeparator.d.ts +9 -0
  78. package/dist/cjs/components/navigation/breadcrumb/index.d.ts +10 -0
  79. package/dist/cjs/components/navigation/drawer-item/DrawerItem.props.d.ts +10 -0
  80. package/dist/cjs/components/overlay/accordion/Accordion.d.ts +10 -0
  81. package/dist/cjs/components/overlay/accordion/Accordion.props.d.ts +52 -0
  82. package/dist/cjs/components/overlay/accordion/Accordion.styles.d.ts +7 -0
  83. package/dist/cjs/components/overlay/accordion/index.d.ts +2 -0
  84. package/dist/cjs/index.js +709 -185
  85. package/dist/cjs/index.js.map +1 -1
  86. package/dist/cjs/interfaces/button.types.d.ts +14 -1
  87. package/dist/cjs/resources/Icons.d.ts +5 -1
  88. package/dist/cjs/resources/icons/ChevronRightIcon.d.ts +1 -0
  89. package/dist/cjs/resources/icons/EyeIcon.d.ts +1 -0
  90. package/dist/cjs/resources/icons/EyeOffIcon.d.ts +1 -0
  91. package/dist/cjs/resources/icons/MoreHorizontalIcon.d.ts +1 -0
  92. package/dist/cjs/utils/ui/components/actions/button/getButtonSizeStyles.utils.d.ts +12 -0
  93. package/dist/cjs/utils/ui/components/actions/button/getButtonVariantStyles.utils.d.ts +7 -0
  94. package/dist/cjs/utils/ui/components/actions/icon-button/getIconButtonSizeStyles.utils.d.ts +9 -0
  95. package/dist/cjs/utils/ui/components/data-display/chip/getChipColorStyles.utils.d.ts +7 -0
  96. package/dist/cjs/utils/ui/components/data-display/chip/getChipContentSize.utils.d.ts +8 -0
  97. package/dist/cjs/utils/ui/components/data-display/chip/getChipSizeStyles.utils.d.ts +12 -0
  98. package/dist/cjs/utils/ui/components/foundation/text/getTextVariantStyles.utils.d.ts +7 -0
  99. package/dist/cjs/utils/ui/components/foundation/text/getTruncateTextStyles.utils.d.ts +17 -0
  100. package/dist/cjs/utils/ui/components/foundation/text/parseTextWithBold.utils.d.ts +7 -0
  101. package/dist/cjs/utils/ui/components/navigation/breadcrumb/buildBreadcrumbChildren.utils.d.ts +5 -0
  102. package/dist/cjs/utils/ui/components/navigation/breadcrumb/flattenChildren.utils.d.ts +5 -0
  103. package/dist/cjs/utils/ui/components/navigation/breadcrumb/insertSeparators.utils.d.ts +5 -0
  104. package/dist/cjs/utils/ui/components/navigation/breadcrumb/isSeparator.utils.d.ts +5 -0
  105. package/dist/esm/components/actions/button/Button.d.ts +12 -0
  106. package/dist/esm/components/actions/button/Button.props.d.ts +41 -0
  107. package/dist/esm/components/actions/button/Button.styles.d.ts +18 -0
  108. package/dist/esm/components/actions/button/index.d.ts +2 -0
  109. package/dist/esm/components/actions/icon-button/IconButton.d.ts +4 -0
  110. package/dist/esm/components/actions/icon-button/IconButton.props.d.ts +37 -0
  111. package/dist/esm/components/actions/icon-button/IconButton.styles.d.ts +4 -0
  112. package/dist/esm/components/actions/icon-button/index.d.ts +2 -0
  113. package/dist/esm/components/data-display/chip/Chip.props.d.ts +10 -0
  114. package/dist/esm/components/forms/form/Form.d.ts +3 -0
  115. package/dist/esm/components/forms/form/Form.props.d.ts +9 -0
  116. package/dist/esm/components/forms/form/Form.styles.d.ts +3 -0
  117. package/dist/esm/components/forms/form/index.d.ts +2 -0
  118. package/dist/esm/components/forms/input/Input.d.ts +3 -0
  119. package/dist/esm/components/forms/input/Input.props.d.ts +32 -0
  120. package/dist/esm/components/forms/input/Input.styles.d.ts +15 -0
  121. package/dist/esm/components/forms/input/index.d.ts +2 -0
  122. package/dist/esm/components/forms/textarea/TextArea.d.ts +3 -0
  123. package/dist/esm/components/forms/textarea/TextArea.props.d.ts +27 -0
  124. package/dist/esm/components/forms/textarea/TextArea.styles.d.ts +11 -0
  125. package/dist/esm/components/forms/textarea/index.d.ts +2 -0
  126. package/dist/esm/components/foundation/icon/Icon.d.ts +35 -0
  127. package/dist/esm/components/foundation/icon/Icon.props.d.ts +24 -0
  128. package/dist/esm/components/foundation/icon/Icon.styles.d.ts +3 -0
  129. package/dist/esm/components/foundation/icon/index.d.ts +2 -0
  130. package/dist/esm/components/foundation/text/Text.d.ts +21 -0
  131. package/dist/esm/components/foundation/text/Text.props.d.ts +38 -0
  132. package/dist/esm/components/foundation/text/Text.styles.d.ts +4 -0
  133. package/dist/esm/components/foundation/text/index.d.ts +2 -0
  134. package/dist/esm/components/index.d.ts +11 -5
  135. package/dist/esm/components/inputs/input/Input.d.ts +6 -0
  136. package/dist/esm/components/inputs/input/Input.props.d.ts +17 -0
  137. package/dist/esm/components/inputs/input/Input.styles.d.ts +7 -0
  138. package/dist/esm/components/inputs/input/index.d.ts +2 -0
  139. package/dist/esm/components/layout/card/Card.props.d.ts +10 -0
  140. package/dist/esm/components/layout/grid/Grid.props.d.ts +10 -0
  141. package/dist/esm/components/layout/page-construction/page/Page.d.ts +10 -0
  142. package/dist/esm/components/layout/page-construction/page/Page.props.d.ts +30 -0
  143. package/dist/esm/components/layout/page-construction/page/Page.styles.d.ts +5 -0
  144. package/dist/esm/components/layout/page-construction/page/index.d.ts +2 -0
  145. package/dist/esm/components/layout/page-construction/page-section/PageSection.d.ts +10 -0
  146. package/dist/esm/components/layout/page-construction/page-section/PageSection.props.d.ts +34 -0
  147. package/dist/esm/components/layout/page-construction/page-section/PageSection.styles.d.ts +4 -0
  148. package/dist/esm/components/layout/page-construction/page-section/index.d.ts +2 -0
  149. package/dist/esm/components/layout/stack/Stack.props.d.ts +10 -0
  150. package/dist/esm/components/navigation/breadcrumb/Breadcrumb.d.ts +12 -0
  151. package/dist/esm/components/navigation/breadcrumb/Breadcrumb.props.d.ts +13 -0
  152. package/dist/esm/components/navigation/breadcrumb/Breadcrumb.styles.d.ts +6 -0
  153. package/dist/esm/components/navigation/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.d.ts +8 -0
  154. package/dist/esm/components/navigation/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.props.d.ts +5 -0
  155. package/dist/esm/components/navigation/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.styles.d.ts +7 -0
  156. package/dist/esm/components/navigation/breadcrumb/BreadcrumbEllipsis/index.d.ts +2 -0
  157. package/dist/esm/components/navigation/breadcrumb/BreadcrumbEllipsis.d.ts +9 -0
  158. package/dist/esm/components/navigation/breadcrumb/BreadcrumbItem/BreadcrumbItem.d.ts +6 -0
  159. package/dist/esm/components/navigation/breadcrumb/BreadcrumbItem/BreadcrumbItem.styles.d.ts +6 -0
  160. package/dist/esm/components/navigation/breadcrumb/BreadcrumbItem/index.d.ts +1 -0
  161. package/dist/esm/components/navigation/breadcrumb/BreadcrumbItem.d.ts +6 -0
  162. package/dist/esm/components/navigation/breadcrumb/BreadcrumbLink/BreadcrumbLink.d.ts +7 -0
  163. package/dist/esm/components/navigation/breadcrumb/BreadcrumbLink/BreadcrumbLink.props.d.ts +14 -0
  164. package/dist/esm/components/navigation/breadcrumb/BreadcrumbLink/BreadcrumbLink.styles.d.ts +7 -0
  165. package/dist/esm/components/navigation/breadcrumb/BreadcrumbLink/index.d.ts +2 -0
  166. package/dist/esm/components/navigation/breadcrumb/BreadcrumbLink.d.ts +6 -0
  167. package/dist/esm/components/navigation/breadcrumb/BreadcrumbList/BreadcrumbList.d.ts +6 -0
  168. package/dist/esm/components/navigation/breadcrumb/BreadcrumbList/BreadcrumbList.styles.d.ts +6 -0
  169. package/dist/esm/components/navigation/breadcrumb/BreadcrumbList/index.d.ts +1 -0
  170. package/dist/esm/components/navigation/breadcrumb/BreadcrumbList.d.ts +6 -0
  171. package/dist/esm/components/navigation/breadcrumb/BreadcrumbPage/BreadcrumbPage.d.ts +7 -0
  172. package/dist/esm/components/navigation/breadcrumb/BreadcrumbPage/BreadcrumbPage.props.d.ts +10 -0
  173. package/dist/esm/components/navigation/breadcrumb/BreadcrumbPage/BreadcrumbPage.styles.d.ts +7 -0
  174. package/dist/esm/components/navigation/breadcrumb/BreadcrumbPage/index.d.ts +2 -0
  175. package/dist/esm/components/navigation/breadcrumb/BreadcrumbPage.d.ts +6 -0
  176. package/dist/esm/components/navigation/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.d.ts +7 -0
  177. package/dist/esm/components/navigation/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.props.d.ts +5 -0
  178. package/dist/esm/components/navigation/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.styles.d.ts +6 -0
  179. package/dist/esm/components/navigation/breadcrumb/BreadcrumbSeparator/index.d.ts +2 -0
  180. package/dist/esm/components/navigation/breadcrumb/BreadcrumbSeparator.d.ts +9 -0
  181. package/dist/esm/components/navigation/breadcrumb/index.d.ts +10 -0
  182. package/dist/esm/components/navigation/drawer-item/DrawerItem.props.d.ts +10 -0
  183. package/dist/esm/components/overlay/accordion/Accordion.d.ts +10 -0
  184. package/dist/esm/components/overlay/accordion/Accordion.props.d.ts +52 -0
  185. package/dist/esm/components/overlay/accordion/Accordion.styles.d.ts +7 -0
  186. package/dist/esm/components/overlay/accordion/index.d.ts +2 -0
  187. package/dist/esm/index.js +701 -187
  188. package/dist/esm/index.js.map +1 -1
  189. package/dist/esm/interfaces/button.types.d.ts +14 -1
  190. package/dist/esm/resources/Icons.d.ts +5 -1
  191. package/dist/esm/resources/icons/ChevronRightIcon.d.ts +1 -0
  192. package/dist/esm/resources/icons/EyeIcon.d.ts +1 -0
  193. package/dist/esm/resources/icons/EyeOffIcon.d.ts +1 -0
  194. package/dist/esm/resources/icons/MoreHorizontalIcon.d.ts +1 -0
  195. package/dist/esm/utils/ui/components/actions/button/getButtonSizeStyles.utils.d.ts +12 -0
  196. package/dist/esm/utils/ui/components/actions/button/getButtonVariantStyles.utils.d.ts +7 -0
  197. package/dist/esm/utils/ui/components/actions/icon-button/getIconButtonSizeStyles.utils.d.ts +9 -0
  198. package/dist/esm/utils/ui/components/data-display/chip/getChipColorStyles.utils.d.ts +7 -0
  199. package/dist/esm/utils/ui/components/data-display/chip/getChipContentSize.utils.d.ts +8 -0
  200. package/dist/esm/utils/ui/components/data-display/chip/getChipSizeStyles.utils.d.ts +12 -0
  201. package/dist/esm/utils/ui/components/foundation/text/getTextVariantStyles.utils.d.ts +7 -0
  202. package/dist/esm/utils/ui/components/foundation/text/getTruncateTextStyles.utils.d.ts +17 -0
  203. package/dist/esm/utils/ui/components/foundation/text/parseTextWithBold.utils.d.ts +7 -0
  204. package/dist/esm/utils/ui/components/navigation/breadcrumb/buildBreadcrumbChildren.utils.d.ts +5 -0
  205. package/dist/esm/utils/ui/components/navigation/breadcrumb/flattenChildren.utils.d.ts +5 -0
  206. package/dist/esm/utils/ui/components/navigation/breadcrumb/insertSeparators.utils.d.ts +5 -0
  207. package/dist/esm/utils/ui/components/navigation/breadcrumb/isSeparator.utils.d.ts +5 -0
  208. package/dist/index.d.ts +379 -45
  209. package/package.json +76 -77
@@ -0,0 +1,12 @@
1
+ import { Theme } from '@aurora-ds/theme';
2
+ import { IconButtonSizes } from '@interfaces/button.types.ts';
3
+ type ButtonSizeConfig = {
4
+ height: number;
5
+ padding: {
6
+ vertical: keyof Theme['spacing'];
7
+ horizontal: keyof Theme['spacing'];
8
+ };
9
+ fontSize: keyof Theme['fontSize'];
10
+ };
11
+ export declare const getButtonSizeStyles: () => Record<IconButtonSizes, ButtonSizeConfig>;
12
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Theme } from '@aurora-ds/theme';
2
+ import { ButtonVariants, ButtonVariantStyle } from '@interfaces/button.types.ts';
3
+ /**
4
+ * Get button variant styles based on the theme
5
+ * @param theme
6
+ */
7
+ export declare const getButtonVariantStyles: (theme: Theme) => Record<ButtonVariants, ButtonVariantStyle>;
@@ -0,0 +1,9 @@
1
+ import { Theme } from '@aurora-ds/theme';
2
+ import { IconButtonSizes } from '@interfaces/button.types.ts';
3
+ type IconButtonSizeConfig = {
4
+ size: number;
5
+ padding: keyof Theme['spacing'];
6
+ iconSize: keyof Theme['fontSize'];
7
+ };
8
+ export declare const getIconButtonSizeStyles: () => Record<IconButtonSizes, IconButtonSizeConfig>;
9
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Theme } from '@aurora-ds/theme';
2
+ import { ChipStyleParams } from '@components/data-display/chip/Chip.props.ts';
3
+ export declare const getChipColorStyles: (theme: Theme, color: ChipStyleParams["color"], variant: ChipStyleParams["variant"], disabled: ChipStyleParams["disabled"]) => {
4
+ backgroundColor: string;
5
+ color: string;
6
+ borderColor: string;
7
+ };
@@ -0,0 +1,8 @@
1
+ import { BaseFontSize } from '@aurora-ds/theme';
2
+ import { ChipStyleParams } from '@components/data-display/chip/Chip.props.ts';
3
+ /**
4
+ * Get chip content size based on the chip size
5
+ * @param size
6
+ * @constructor
7
+ */
8
+ export declare const getChipContentSize: (size: ChipStyleParams["size"]) => keyof BaseFontSize;
@@ -0,0 +1,12 @@
1
+ import { Theme } from '@aurora-ds/theme';
2
+ import { ChipStyleParams } from '@components/data-display/chip/Chip.props.ts';
3
+ /**
4
+ * Get chip size styles based on the theme, size and icon-only state
5
+ * @param theme - Theme object
6
+ * @param size - Chip size
7
+ * @param isIconOnly - Whether the chip has only an icon (no label)
8
+ */
9
+ export declare const getChipSizeStyles: (theme: Theme, size: ChipStyleParams["size"], isIconOnly: ChipStyleParams["isIconOnly"]) => {
10
+ padding: string;
11
+ fontSize: string;
12
+ };
@@ -0,0 +1,7 @@
1
+ import { Theme } from '@aurora-ds/theme';
2
+ import { TextVariants, TextVariantStyle } from '@interfaces/text.types.ts';
3
+ /**
4
+ * Get text variant styles based on the theme
5
+ * @param theme
6
+ */
7
+ export declare const getTextVariantStyles: (theme: Theme) => Record<TextVariants, TextVariantStyle>;
@@ -0,0 +1,17 @@
1
+ export declare const getTruncateTextStyles: (maxLines: number) => {
2
+ whiteSpace: "nowrap";
3
+ overflow: string;
4
+ textOverflow: string;
5
+ display?: undefined;
6
+ WebkitLineClamp?: undefined;
7
+ WebkitBoxOrient?: undefined;
8
+ lineClamp?: undefined;
9
+ } | {
10
+ overflow: string;
11
+ textOverflow: string;
12
+ display: string;
13
+ WebkitLineClamp: number;
14
+ WebkitBoxOrient: "vertical";
15
+ lineClamp: number;
16
+ whiteSpace?: undefined;
17
+ };
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Parses text content and converts **bold** syntax to <strong> elements
4
+ * @param children - The content to parse (string or ReactNode)
5
+ * @returns Parsed content with bold text wrapped in <strong> elements
6
+ */
7
+ export declare const parseTextWithBold: (children: ReactNode) => ReactNode;
@@ -0,0 +1,5 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ /**
3
+ * Builds the breadcrumb children with ellipsis logic
4
+ */
5
+ export declare const buildBreadcrumbChildren: (items: ReactNode[], maxItems: number | undefined, EllipsisComponent: ComponentType, SeparatorComponent: ComponentType) => ReactNode[];
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Flattens children, extracting children from Fragments
4
+ */
5
+ export declare const flattenChildren: (children: ReactNode) => ReactNode[];
@@ -0,0 +1,5 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ /**
3
+ * Inserts separators between breadcrumb items automatically
4
+ */
5
+ export declare const insertSeparators: (items: ReactNode[], SeparatorComponent: ComponentType) => ReactNode[];
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Checks if a React element is a BreadcrumbSeparator
4
+ */
5
+ export declare const isSeparator: (child: ReactNode) => boolean;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { PropsWithChildren, FC, ReactNode, CSSProperties } from 'react';
1
+ import * as react from 'react';
2
+ import { PropsWithChildren, FC, ReactNode, FormEvent, CSSProperties, ComponentPropsWithoutRef } from 'react';
2
3
  import { Theme } from '@aurora-ds/theme';
3
4
 
4
5
  type IconProps = PropsWithChildren<{
@@ -12,6 +13,16 @@ type IconProps = PropsWithChildren<{
12
13
  padding?: keyof Theme['spacing'];
13
14
  /** Border radius from theme */
14
15
  borderRadius?: keyof Theme['radius'];
16
+ /** Accessibility label for screen readers */
17
+ ariaLabel?: string;
18
+ /** ID of element that labels this icon */
19
+ ariaLabelledBy?: string;
20
+ /** ID of element that describes this icon */
21
+ ariaDescribedBy?: string;
22
+ /** ARIA role */
23
+ role?: string;
24
+ /** Tab index for keyboard navigation */
25
+ tabIndex?: number;
15
26
  }>;
16
27
 
17
28
  /**
@@ -47,46 +58,6 @@ type IconProps = PropsWithChildren<{
47
58
  */
48
59
  declare const Icon: FC<IconProps>;
49
60
 
50
- /** Chip variant options */
51
- type ChipVariant = 'filled' | 'outlined';
52
- /** Chip color options */
53
- type ChipColor = 'default' | 'success' | 'warning' | 'error' | 'info';
54
- /** Chip size options */
55
- type ChipSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg';
56
-
57
- type ChipProps = {
58
- /** Text label to display */
59
- label?: string;
60
- /** Icon to display before the label */
61
- icon?: ReactNode;
62
- /** Chip variant style */
63
- variant?: ChipVariant;
64
- /** Chip color from theme */
65
- color?: ChipColor;
66
- /** Chip size */
67
- size?: ChipSize;
68
- /** Gap between icon and text (theme spacing key) */
69
- gap?: keyof Theme['spacing'];
70
- /** Border radius from theme */
71
- radius?: keyof Theme['radius'];
72
- /** Disabled state */
73
- disabled?: boolean;
74
- };
75
-
76
- /**
77
- * Chip component
78
- *
79
- * A compact element for displaying information, tags, or actions.
80
- *
81
- * **Variants:**
82
- * - `filled`: Solid background (default)
83
- * - `outlined`: Border only
84
- *
85
- * **Colors:**
86
- * - `default`, `primary`, `success`, `warning`, `error`, `info`
87
- */
88
- declare const Chip: FC<ChipProps>;
89
-
90
61
  type TextVariants = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'label';
91
62
  type TextVariantStyle = {
92
63
  tag: TextVariants;
@@ -110,6 +81,16 @@ type TextProps = PropsWithChildren<{
110
81
  underline?: boolean;
111
82
  /** Preserve whitespace and line breaks */
112
83
  preserveWhitespace?: boolean;
84
+ /** Accessibility label for screen readers */
85
+ ariaLabel?: string;
86
+ /** ID of element that labels this text */
87
+ ariaLabelledBy?: string;
88
+ /** ID of element that describes this text */
89
+ ariaDescribedBy?: string;
90
+ /** ARIA role */
91
+ role?: string;
92
+ /** Tab index for keyboard navigation */
93
+ tabIndex?: number;
113
94
  }>;
114
95
 
115
96
  /**
@@ -131,25 +112,88 @@ type TextProps = PropsWithChildren<{
131
112
  */
132
113
  declare const Text: FC<TextProps>;
133
114
 
134
- type ButtonVariants = 'contained' | 'outlined' | 'text';
115
+ /** Chip variant options */
116
+ type ChipVariant = 'filled' | 'outlined';
117
+ /** Chip color options */
118
+ type ChipColor = 'default' | 'success' | 'warning' | 'error' | 'info';
119
+ /** Chip size options */
120
+ type ChipSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg';
121
+
122
+ type ChipProps = {
123
+ /** Text label to display */
124
+ label?: string;
125
+ /** Icon to display before the label */
126
+ icon?: ReactNode;
127
+ /** Chip variant style */
128
+ variant?: ChipVariant;
129
+ /** Chip color from theme */
130
+ color?: ChipColor;
131
+ /** Chip size */
132
+ size?: ChipSize;
133
+ /** Gap between icon and text (theme spacing key) */
134
+ gap?: keyof Theme['spacing'];
135
+ /** Border radius from theme */
136
+ radius?: keyof Theme['radius'];
137
+ /** Disabled state */
138
+ disabled?: boolean;
139
+ /** Accessibility label for screen readers */
140
+ ariaLabel?: string;
141
+ /** ID of element that labels this chip */
142
+ ariaLabelledBy?: string;
143
+ /** ID of element that describes this chip */
144
+ ariaDescribedBy?: string;
145
+ /** ARIA role */
146
+ role?: string;
147
+ /** Tab index for keyboard navigation */
148
+ tabIndex?: number;
149
+ };
150
+
151
+ /**
152
+ * Chip component
153
+ *
154
+ * A compact element for displaying information, tags, or actions.
155
+ *
156
+ * **Variants:**
157
+ * - `filled`: Solid background (default)
158
+ * - `outlined`: Border only
159
+ *
160
+ * **Colors:**
161
+ * - `default`, `primary`, `success`, `warning`, `error`, `info`
162
+ */
163
+ declare const Chip: FC<ChipProps>;
164
+
165
+ type ButtonVariants = 'contained' | 'outlined' | 'text' | 'destructive' | 'link';
166
+ type IconButtonVariants = Exclude<ButtonVariants, 'link'>;
135
167
  type IconButtonSizes = 'small' | 'medium' | 'large';
136
168
  type ButtonVariantStyle = {
137
169
  default: {
138
170
  backgroundColor: string;
139
171
  color: string;
140
172
  border: string;
173
+ textDecoration?: string;
174
+ textDecorationColor?: string;
175
+ textUnderlineOffset?: string;
141
176
  };
142
177
  hover: {
143
178
  backgroundColor: string;
179
+ textDecoration?: string;
180
+ textDecorationColor?: string;
181
+ textUnderlineOffset?: string;
144
182
  };
145
183
  pressed: {
146
184
  backgroundColor: string;
185
+ textDecoration?: string;
186
+ textDecorationColor?: string;
187
+ color?: string;
188
+ textUnderlineOffset?: string;
147
189
  };
148
190
  disabled: {
149
191
  color: string;
150
192
  cursor: string;
151
193
  backgroundColor: string;
152
194
  borderColor?: string;
195
+ textDecoration?: string;
196
+ textUnderlineOffset?: string;
153
197
  };
154
198
  textColor: keyof Theme['colors'];
155
199
  };
@@ -173,6 +217,18 @@ type ButtonProps = {
173
217
  disabled?: boolean;
174
218
  /** Custom text color (overrides variant color) */
175
219
  textColor?: keyof Theme['colors'];
220
+ /** Size of the button */
221
+ size?: IconButtonSizes;
222
+ /** Accessibility label for screen readers */
223
+ ariaLabel?: string;
224
+ /** ID of element that labels this button */
225
+ ariaLabelledBy?: string;
226
+ /** ID of element that describes this button */
227
+ ariaDescribedBy?: string;
228
+ /** ARIA role */
229
+ role?: string;
230
+ /** Tab index for keyboard navigation */
231
+ tabIndex?: number;
176
232
  };
177
233
 
178
234
  /**
@@ -191,7 +247,7 @@ type IconButtonProps = {
191
247
  /** Click handler */
192
248
  onClick?: () => void;
193
249
  /** Visual variant of the button */
194
- variant?: ButtonVariants;
250
+ variant?: IconButtonVariants;
195
251
  /** Button type attribute */
196
252
  type?: 'button' | 'submit';
197
253
  /** Active/pressed state */
@@ -202,10 +258,83 @@ type IconButtonProps = {
202
258
  textColor?: keyof Theme['colors'];
203
259
  /** Size of the icon button */
204
260
  size?: IconButtonSizes;
261
+ /** Accessibility label for screen readers */
262
+ ariaLabel?: string;
263
+ /** ID of element that labels this button */
264
+ ariaLabelledBy?: string;
265
+ /** ID of element that describes this button */
266
+ ariaDescribedBy?: string;
267
+ /** ARIA role */
268
+ role?: string;
269
+ /** Tab index for keyboard navigation */
270
+ tabIndex?: number;
205
271
  };
206
272
 
207
273
  declare const IconButton: FC<IconButtonProps>;
208
274
 
275
+ type FormProps = {
276
+ /** Form content (inputs, buttons, etc.) */
277
+ children: ReactNode;
278
+ /** Callback fired when the form is submitted (preventDefault is called automatically) */
279
+ onSubmit?: (e: FormEvent) => void;
280
+ /** Accessibility label for the form */
281
+ ariaLabel?: string;
282
+ };
283
+
284
+ declare const _default$2: react.NamedExoticComponent<FormProps>;
285
+
286
+ type InputProps = {
287
+ /** The value of the input */
288
+ value: string;
289
+ /** Callback fired when the value changes */
290
+ onChange: (value: string) => void;
291
+ /** Label displayed above the input */
292
+ label?: string;
293
+ /** Whether the field is mandatory (displays an asterisk next to the label) */
294
+ mandatory?: boolean;
295
+ /** Placeholder text */
296
+ placeholder?: string;
297
+ /** Whether the input is disabled */
298
+ disabled?: boolean;
299
+ /** Input type */
300
+ type?: 'text' | 'password' | 'email' | 'number';
301
+ /** Accessibility label */
302
+ ariaLabel?: string;
303
+ /** Icon to display before the input */
304
+ startIcon?: ReactNode;
305
+ /** Icon to display after the input */
306
+ endIcon?: ReactNode;
307
+ /** Custom width for the input */
308
+ width?: CSSProperties['width'];
309
+ };
310
+
311
+ declare const _default$1: react.MemoExoticComponent<react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>>;
312
+
313
+ type TextAreaProps = {
314
+ /** The value of the textarea */
315
+ value: string;
316
+ /** Callback fired when the value changes */
317
+ onChange: (value: string) => void;
318
+ /** Label displayed above the textarea */
319
+ label?: string;
320
+ /** Whether the field is mandatory (displays an asterisk next to the label) */
321
+ mandatory?: boolean;
322
+ /** Placeholder text */
323
+ placeholder?: string;
324
+ /** Whether the textarea is disabled */
325
+ disabled?: boolean;
326
+ /** Accessibility label */
327
+ ariaLabel?: string;
328
+ /** Custom width for the textarea */
329
+ width?: CSSProperties['width'];
330
+ /** Minimum number of visible text lines (auto-expands with content) */
331
+ minRows?: number;
332
+ /** Maximum number of visible text lines (adds scroll when exceeded) */
333
+ maxRows?: number;
334
+ };
335
+
336
+ declare const _default: react.MemoExoticComponent<react.ForwardRefExoticComponent<TextAreaProps & react.RefAttributes<HTMLTextAreaElement>>>;
337
+
209
338
  type StackProps = {
210
339
  /** Stack children elements */
211
340
  children: ReactNode;
@@ -225,6 +354,16 @@ type StackProps = {
225
354
  wrap?: CSSProperties['flexWrap'];
226
355
  /** Padding inside the stack */
227
356
  padding?: keyof Theme['spacing'];
357
+ /** Accessibility label for screen readers */
358
+ ariaLabel?: string;
359
+ /** ID of element that labels this stack */
360
+ ariaLabelledBy?: string;
361
+ /** ID of element that describes this stack */
362
+ ariaDescribedBy?: string;
363
+ /** ARIA role */
364
+ role?: string;
365
+ /** Tab index for keyboard navigation */
366
+ tabIndex?: number;
228
367
  };
229
368
 
230
369
  /**
@@ -263,6 +402,16 @@ type CardProps = {
263
402
  backgroundColor?: keyof Theme['colors'];
264
403
  /** Border color of the card */
265
404
  borderColor?: keyof Theme['colors'];
405
+ /** Accessibility label for screen readers */
406
+ ariaLabel?: string;
407
+ /** ID of element that labels this card */
408
+ ariaLabelledBy?: string;
409
+ /** ID of element that describes this card */
410
+ ariaDescribedBy?: string;
411
+ /** ARIA role */
412
+ role?: string;
413
+ /** Tab index for keyboard navigation */
414
+ tabIndex?: number;
266
415
  };
267
416
 
268
417
  /**
@@ -306,6 +455,16 @@ type GridProps = {
306
455
  padding?: keyof Theme['spacing'];
307
456
  /** Minimum width for auto-fill/auto-fit columns */
308
457
  minChildWidth?: CSSProperties['width'];
458
+ /** Accessibility label for screen readers */
459
+ ariaLabel?: string;
460
+ /** ID of element that labels this grid */
461
+ ariaLabelledBy?: string;
462
+ /** ID of element that describes this grid */
463
+ ariaDescribedBy?: string;
464
+ /** ARIA role */
465
+ role?: string;
466
+ /** Tab index for keyboard navigation */
467
+ tabIndex?: number;
309
468
  };
310
469
 
311
470
  /**
@@ -320,6 +479,72 @@ type GridProps = {
320
479
  */
321
480
  declare const Grid: FC<GridProps>;
322
481
 
482
+ type PageSectionProps = PropsWithChildren<{
483
+ /** Gap between child elements */
484
+ gap?: keyof Theme['spacing'];
485
+ /** Horizontal padding around the section */
486
+ paddingHorizontal?: keyof Theme['spacing'];
487
+ /** Vertical padding around the section */
488
+ paddingVertical?: keyof Theme['spacing'];
489
+ /** Alignment of items within the section */
490
+ alignItems?: CSSProperties['alignItems'];
491
+ /** Maximum width of the section */
492
+ maxWidth?: CSSProperties['maxWidth'];
493
+ /** Minimum height of the section */
494
+ minHeight?: CSSProperties['minHeight'];
495
+ /** Accessibility label for screen readers */
496
+ ariaLabel?: string;
497
+ /** ID of element that labels this section */
498
+ ariaLabelledBy?: string;
499
+ /** ID of element that describes this section */
500
+ ariaDescribedBy?: string;
501
+ /** ARIA role */
502
+ role?: string;
503
+ /** Tab index for keyboard navigation */
504
+ tabIndex?: number;
505
+ }>;
506
+
507
+ /**
508
+ * PageSection component
509
+ *
510
+ * A layout component that provides consistent spacing and alignment for page sections.
511
+ * Supports customization of gap, padding, alignment, min height and max width.
512
+ */
513
+ declare const PageSection: FC<PageSectionProps>;
514
+
515
+ type PageProps = {
516
+ /** Page content */
517
+ children: ReactNode;
518
+ /** Optional footer component */
519
+ footer?: ReactNode;
520
+ /** Maximum width of the page content (default: 100%) */
521
+ maxWidth?: CSSProperties['maxWidth'];
522
+ /** Background color */
523
+ backgroundColor?: CSSProperties['backgroundColor'];
524
+ /** Padding around the page */
525
+ padding?: CSSProperties['padding'];
526
+ /** Custom className for additional styling */
527
+ className?: string;
528
+ /** Accessibility label for screen readers */
529
+ ariaLabel?: string;
530
+ /** ID of element that labels this page */
531
+ ariaLabelledBy?: string;
532
+ /** ID of element that describes this page */
533
+ ariaDescribedBy?: string;
534
+ /** ARIA role */
535
+ role?: string;
536
+ /** Tab index for keyboard navigation */
537
+ tabIndex?: number;
538
+ };
539
+
540
+ /**
541
+ * Page component
542
+ *
543
+ * A layout component that provides consistent page structure with optional footer.
544
+ * Supports customization of dimensions, background, and content constraints.
545
+ */
546
+ declare const Page: FC<PageProps>;
547
+
323
548
  type AccordionProps = {
324
549
  /** Title displayed in the accordion header */
325
550
  title: string;
@@ -339,6 +564,20 @@ type AccordionProps = {
339
564
  backgroundColor?: keyof Theme['colors'];
340
565
  /** Optional width */
341
566
  width?: CSSProperties['width'];
567
+ /** Padding for the accordion header */
568
+ headerPadding?: CSSProperties['padding'];
569
+ /** Padding for the accordion content */
570
+ contentPadding?: CSSProperties['padding'];
571
+ /** Accessibility label for screen readers */
572
+ ariaLabel?: string;
573
+ /** ID of element that labels this accordion */
574
+ ariaLabelledBy?: string;
575
+ /** ID of element that describes this accordion */
576
+ ariaDescribedBy?: string;
577
+ /** ARIA role */
578
+ role?: string;
579
+ /** Tab index for keyboard navigation */
580
+ tabIndex?: number;
342
581
  };
343
582
 
344
583
  /**
@@ -364,6 +603,16 @@ type DrawerItemProps = {
364
603
  disabled?: boolean;
365
604
  /** Optional chip to display */
366
605
  chip?: Omit<ChipProps, 'size' | 'disabled'>;
606
+ /** Accessibility label for screen readers */
607
+ ariaLabel?: string;
608
+ /** ID of element that labels this item */
609
+ ariaLabelledBy?: string;
610
+ /** ID of element that describes this item */
611
+ ariaDescribedBy?: string;
612
+ /** ARIA role */
613
+ role?: string;
614
+ /** Tab index for keyboard navigation */
615
+ tabIndex?: number;
367
616
  };
368
617
 
369
618
  /**
@@ -374,5 +623,90 @@ type DrawerItemProps = {
374
623
  */
375
624
  declare const DrawerItem: FC<DrawerItemProps>;
376
625
 
377
- export { Accordion, Button, Card, Chip, DrawerItem, Grid, Icon, IconButton, Stack, Text };
378
- export type { AccordionProps, ButtonProps, ButtonVariantStyle, ButtonVariants, CardProps, ChipColor, ChipProps, ChipSize, ChipVariant, DrawerItemProps, GridProps, IconButtonProps, IconProps, StackProps, TextProps, TextVariantStyle, TextVariants };
626
+ /**
627
+ * Props for the Breadcrumb component
628
+ */
629
+ interface BreadcrumbProps extends ComponentPropsWithoutRef<'nav'> {
630
+ /**
631
+ * Maximum number of items to display (minimum 2).
632
+ * If exceeded, shows: first item + ellipsis + last (maxItems - 1) items
633
+ * Separators are automatically inserted between items.
634
+ * @example maxItems={3} with 6 items → Home > ... > Item5 > Item6
635
+ */
636
+ maxItems?: number;
637
+ }
638
+
639
+ /**
640
+ * Breadcrumb component
641
+ * Navigation component for hierarchical page structures
642
+ *
643
+ * @param maxItems - Maximum number of items to display (minimum 2).
644
+ * If exceeded, shows: first item + ellipsis + last (maxItems - 1) items
645
+ * @param children
646
+ * @param props
647
+ */
648
+ declare const Breadcrumb: react.NamedExoticComponent<BreadcrumbProps>;
649
+
650
+ /**
651
+ * Props for the BreadcrumbLink component
652
+ * Renders a clickable breadcrumb item (includes the li wrapper)
653
+ */
654
+ interface BreadcrumbLinkProps {
655
+ /**
656
+ * The text content of the link (required)
657
+ */
658
+ children: string;
659
+ /**
660
+ * Click handler for navigation (compatible with React Router)
661
+ */
662
+ onClick?: () => void;
663
+ }
664
+
665
+ /**
666
+ * BreadcrumbLink component
667
+ * Renders a clickable breadcrumb item with a link
668
+ */
669
+ declare const BreadcrumbLink: react.NamedExoticComponent<BreadcrumbLinkProps>;
670
+
671
+ /**
672
+ * Props for the BreadcrumbPage component
673
+ * Renders the current page in the breadcrumb (includes the li wrapper)
674
+ */
675
+ interface BreadcrumbPageProps {
676
+ /**
677
+ * The text content of the page (required)
678
+ */
679
+ children: string;
680
+ }
681
+
682
+ /**
683
+ * BreadcrumbPage component
684
+ * Renders the current page (non-clickable) in the breadcrumb
685
+ */
686
+ declare const BreadcrumbPage: react.NamedExoticComponent<BreadcrumbPageProps>;
687
+
688
+ /**
689
+ * Props for the BreadcrumbSeparator component
690
+ */
691
+ interface BreadcrumbSeparatorProps {
692
+ }
693
+
694
+ /**
695
+ * BreadcrumbSeparator component
696
+ */
697
+ declare const BreadcrumbSeparator: FC<BreadcrumbSeparatorProps>;
698
+
699
+ /**
700
+ * Props for the BreadcrumbEllipsis component
701
+ */
702
+ interface BreadcrumbEllipsisProps {
703
+ }
704
+
705
+ /**
706
+ * BreadcrumbEllipsis component
707
+ * Renders an ellipsis item in the breadcrumb (includes the li wrapper)
708
+ */
709
+ declare const BreadcrumbEllipsis: FC<BreadcrumbEllipsisProps>;
710
+
711
+ export { Accordion, Breadcrumb, BreadcrumbEllipsis, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, Button, Card, Chip, DrawerItem, _default$2 as Form, Grid, Icon, IconButton, _default$1 as Input, Page, PageSection, Stack, Text, _default as TextArea };
712
+ export type { AccordionProps, BreadcrumbEllipsisProps, BreadcrumbLinkProps, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparatorProps, ButtonProps, ButtonVariantStyle, ButtonVariants, CardProps, ChipColor, ChipProps, ChipSize, ChipVariant, DrawerItemProps, FormProps, GridProps, IconButtonProps, IconProps, InputProps, PageProps, PageSectionProps, StackProps, TextAreaProps, TextProps, TextVariantStyle, TextVariants };