@iress-oss/ids-components 6.0.0-alpha.3 → 6.0.0-alpha.30

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 (1102) hide show
  1. package/.ai/components/alert.md +141 -0
  2. package/.ai/components/autocomplete-recipes.md +35 -0
  3. package/.ai/components/autocomplete.md +305 -0
  4. package/.ai/components/button-group.md +132 -0
  5. package/.ai/components/button.md +326 -0
  6. package/.ai/components/card.md +254 -0
  7. package/.ai/components/checkbox-group-recipes.md +20 -0
  8. package/.ai/components/checkbox-group.md +160 -0
  9. package/.ai/components/checkbox.md +153 -0
  10. package/.ai/components/col.md +285 -0
  11. package/.ai/components/container.md +62 -0
  12. package/.ai/components/divider.md +96 -0
  13. package/.ai/components/expander.md +84 -0
  14. package/.ai/components/field.md +445 -0
  15. package/.ai/components/icon.md +655 -0
  16. package/.ai/components/image.md +54 -0
  17. package/.ai/components/inline.md +144 -0
  18. package/.ai/components/input-currency-recipes.md +32 -0
  19. package/.ai/components/input-currency.md +93 -0
  20. package/.ai/components/input-recipes.md +32 -0
  21. package/.ai/components/input.md +274 -0
  22. package/.ai/components/label.md +81 -0
  23. package/.ai/components/link.md +95 -0
  24. package/.ai/components/menu-item.md +140 -0
  25. package/.ai/components/menu.md +285 -0
  26. package/.ai/components/modal.md +256 -0
  27. package/.ai/components/panel.md +49 -0
  28. package/.ai/components/pill.md +83 -0
  29. package/.ai/components/placeholder.md +36 -0
  30. package/.ai/components/popover-recipes.md +80 -0
  31. package/.ai/components/popover.md +216 -0
  32. package/.ai/components/progress.md +103 -0
  33. package/.ai/components/provider.md +46 -0
  34. package/.ai/components/radio-group.md +170 -0
  35. package/.ai/components/radio.md +78 -0
  36. package/.ai/components/readonly.md +51 -0
  37. package/.ai/components/row.md +126 -0
  38. package/.ai/components/skeleton-recipes.md +20 -0
  39. package/.ai/components/skeleton.md +103 -0
  40. package/.ai/components/skip-link.md +32 -0
  41. package/.ai/components/slideout.md +250 -0
  42. package/.ai/components/slider.md +126 -0
  43. package/.ai/components/spinner.md +68 -0
  44. package/.ai/components/stack.md +121 -0
  45. package/.ai/components/styled.md +214 -0
  46. package/.ai/components/tab-set.md +119 -0
  47. package/.ai/components/tab.md +71 -0
  48. package/.ai/components/table.md +356 -0
  49. package/.ai/components/tag.md +93 -0
  50. package/.ai/components/text.md +195 -0
  51. package/.ai/components/toaster.md +101 -0
  52. package/.ai/components/toggle.md +127 -0
  53. package/.ai/components/tooltip.md +190 -0
  54. package/.ai/components/validation-message.md +100 -0
  55. package/.ai/guides/foundations-accessibility.md +38 -0
  56. package/.ai/guides/foundations-consistency.md +45 -0
  57. package/.ai/guides/foundations-content.md +22 -0
  58. package/.ai/guides/foundations-iconography.md +107 -0
  59. package/.ai/guides/foundations-principles.md +61 -0
  60. package/.ai/guides/foundations-responsive.md +735 -0
  61. package/.ai/guides/foundations-user-experience.md +52 -0
  62. package/.ai/guides/foundations-visual-design.md +41 -0
  63. package/.ai/guides/foundations-zindex.md +22 -0
  64. package/.ai/guides/get-started-develop.md +47 -0
  65. package/.ai/guides/migration-guides-v5.md +247 -0
  66. package/.ai/guides/styling-props-accessibility.md +48 -0
  67. package/.ai/guides/styling-props-colour.md +139 -0
  68. package/.ai/guides/styling-props-layout.md +172 -0
  69. package/.ai/guides/styling-props-radius.md +39 -0
  70. package/.ai/guides/styling-props-reference.md +305 -0
  71. package/.ai/guides/styling-props-sizing.md +80 -0
  72. package/.ai/guides/styling-props-spacing.md +279 -0
  73. package/.ai/guides/styling-props-typography.md +153 -0
  74. package/.ai/index.json +598 -0
  75. package/.ai/patterns/breadcrumbs.md +164 -0
  76. package/.ai/patterns/contextual-menu.md +131 -0
  77. package/.ai/patterns/dropdown-menu.md +195 -0
  78. package/.ai/patterns/form-recipes.md +160 -0
  79. package/.ai/patterns/form.md +619 -0
  80. package/.ai/patterns/loading.md +315 -0
  81. package/.ai/patterns/shadow.md +37 -0
  82. package/.ai/patterns/side-nav.md +142 -0
  83. package/.ai/skills/figma-to-ids.md +252 -0
  84. package/.ai/skills/ui-doctor.md +733 -0
  85. package/.ai/skills/ui-translation.md +231 -0
  86. package/dist/Autocomplete-BRMDwwwT.js +402 -0
  87. package/dist/Button-C0p8bEXn.js +581 -0
  88. package/dist/Provider-uPW2d6U5.js +49 -0
  89. package/dist/TableProvider-CNduJwA4.js +82 -0
  90. package/dist/components/Alert/Alert.d.ts +71 -0
  91. package/dist/components/Alert/Alert.js +77 -68
  92. package/dist/components/Alert/Alert.styles.d.ts +238 -0
  93. package/dist/components/Alert/Alert.styles.js +202 -74
  94. package/dist/components/Autocomplete/Autocomplete.d.ts +52 -0
  95. package/dist/components/Autocomplete/Autocomplete.js +14 -22
  96. package/dist/components/Autocomplete/Autocomplete.styles.js +6 -2
  97. package/dist/components/Autocomplete/components/AutocompleteInstructions.d.ts +10 -0
  98. package/dist/components/Autocomplete/components/AutocompleteInstructions.js +6 -6
  99. package/dist/components/Autocomplete/hooks/useAutocompleteSearch.d.ts +83 -0
  100. package/dist/components/Autocomplete/hooks/useAutocompleteSearch.js +152 -133
  101. package/dist/components/Autocomplete/index.js +1 -1
  102. package/dist/components/Button/Button.d.ts +103 -0
  103. package/dist/components/Button/Button.js +15 -6
  104. package/dist/components/Button/CloseButton/CloseButton.js +18 -18
  105. package/dist/components/Button/index.js +1 -1
  106. package/dist/components/ButtonGroup/ButtonGroup.d.ts +38 -0
  107. package/dist/components/ButtonGroup/ButtonGroup.js +47 -36
  108. package/dist/components/ButtonGroup/ButtonGroup.styles.js +1 -1
  109. package/dist/components/Card/Card.d.ts +57 -0
  110. package/dist/components/Card/Card.js +78 -63
  111. package/dist/components/Card/Card.styles.d.ts +80 -0
  112. package/dist/components/Card/Card.styles.js +18 -13
  113. package/dist/components/Checkbox/Checkbox.d.ts +71 -0
  114. package/dist/components/Checkbox/Checkbox.js +97 -82
  115. package/dist/components/Checkbox/Checkbox.styles.d.ts +68 -0
  116. package/dist/components/Checkbox/Checkbox.styles.js +68 -58
  117. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +56 -0
  118. package/dist/components/CheckboxGroup/CheckboxGroup.js +53 -54
  119. package/dist/components/CheckboxGroup/CheckboxGroup.styles.js +1 -1
  120. package/dist/components/CheckboxMark/CheckboxMark.d.ts +19 -0
  121. package/dist/components/CheckboxMark/CheckboxMark.js +22 -36
  122. package/dist/components/CheckboxMark/CheckboxMark.styles.js +13 -11
  123. package/dist/components/Col/Col.d.ts +27 -0
  124. package/dist/components/Col/Col.js +7 -6
  125. package/dist/components/Col/Col.styles.d.ts +1 -0
  126. package/dist/components/Col/Col.styles.js +4 -19
  127. package/dist/components/Container/Container.d.ts +16 -0
  128. package/dist/components/Container/Container.js +8 -7
  129. package/dist/components/Container/Container.styles.d.ts +39 -0
  130. package/dist/components/Container/Container.styles.js +15 -12
  131. package/dist/components/Divider/Divider.d.ts +11 -0
  132. package/dist/components/Divider/Divider.js +22 -17
  133. package/dist/components/Divider/Divider.styles.d.ts +23 -0
  134. package/dist/components/Divider/Divider.styles.js +18 -4
  135. package/dist/components/Expander/Expander.d.ts +34 -0
  136. package/dist/components/Expander/Expander.js +61 -47
  137. package/dist/components/Expander/Expander.styles.d.ts +60 -0
  138. package/dist/components/Expander/Expander.styles.js +47 -34
  139. package/dist/components/Field/Field.d.ts +60 -0
  140. package/dist/components/Field/Field.js +30 -29
  141. package/dist/components/Field/Field.styles.d.ts +88 -0
  142. package/dist/components/Field/Field.styles.js +13 -5
  143. package/dist/components/Field/FieldGroup/FieldGroup.d.ts +20 -0
  144. package/dist/components/Field/FieldGroup/FieldGroup.js +19 -18
  145. package/dist/components/Field/FieldGroup/FieldGroup.styles.d.ts +81 -0
  146. package/dist/components/Field/FieldGroup/FieldGroup.styles.js +13 -13
  147. package/dist/components/Field/components/FieldFooter.d.ts +25 -0
  148. package/dist/components/Field/components/FieldFooter.js +41 -31
  149. package/dist/components/Field/components/FieldHint.d.ts +30 -0
  150. package/dist/components/Field/components/FieldHint.js +15 -13
  151. package/dist/components/Hide/Hide.d.ts +30 -0
  152. package/dist/components/Hide/Hide.js +11 -16
  153. package/dist/components/Hide/helpers/normaliseHideValues.d.ts +4 -0
  154. package/dist/components/Hide/helpers/normaliseHideValues.js +6 -4
  155. package/dist/components/Icon/Icon.constants.d.ts +9 -0
  156. package/dist/components/Icon/Icon.constants.js +12 -0
  157. package/dist/components/Icon/Icon.d.ts +57 -0
  158. package/dist/components/Icon/Icon.js +70 -30
  159. package/dist/components/Icon/Icon.styles.d.ts +62 -0
  160. package/dist/components/Icon/Icon.styles.js +39 -4
  161. package/dist/components/Icon/IconProvider.d.ts +100 -0
  162. package/dist/components/Icon/IconProvider.js +66 -0
  163. package/dist/components/Icon/components/FontLoader.d.ts +31 -0
  164. package/dist/components/Icon/components/FontLoader.js +29 -0
  165. package/dist/components/Icon/helpers/getMaterialSymbolsList.d.ts +12 -0
  166. package/dist/components/Icon/helpers/getMaterialSymbolsList.js +12 -0
  167. package/dist/components/Icon/helpers/iconMapping.d.ts +78 -0
  168. package/dist/components/Icon/helpers/iconMapping.js +75 -0
  169. package/dist/components/Icon/hooks/useDynamicFontSubsetting.d.ts +45 -0
  170. package/dist/components/Icon/hooks/useDynamicFontSubsetting.js +78 -0
  171. package/dist/components/Icon/index.d.ts +4 -0
  172. package/dist/components/Icon/index.js +6 -2
  173. package/dist/components/Image/Image.d.ts +19 -0
  174. package/dist/components/Image/Image.js +18 -17
  175. package/dist/components/Image/Image.styles.js +1 -1
  176. package/dist/components/Inline/Inline.d.ts +34 -0
  177. package/dist/components/Inline/Inline.js +5 -4
  178. package/dist/components/Inline/Inline.styles.js +1 -1
  179. package/dist/components/Input/Input.d.ts +78 -0
  180. package/dist/components/Input/Input.js +140 -110
  181. package/dist/components/Input/Input.styles.d.ts +151 -0
  182. package/dist/components/Input/Input.styles.js +107 -34
  183. package/dist/components/Input/InputBase/InputBase.d.ts +41 -0
  184. package/dist/components/Input/InputBase/InputBase.js +16 -15
  185. package/dist/components/InputCurrency/InputCurrency.d.ts +30 -0
  186. package/dist/components/InputCurrency/InputCurrency.js +25 -24
  187. package/dist/components/Label/Label.d.ts +22 -0
  188. package/dist/components/Label/Label.js +4 -3
  189. package/dist/components/Label/Label.styles.js +5 -5
  190. package/dist/components/Label/LabelBase/LabelBase.d.ts +31 -0
  191. package/dist/components/Label/LabelBase/LabelBase.js +38 -32
  192. package/dist/components/Link/Link.d.ts +44 -0
  193. package/dist/components/Link/Link.js +45 -45
  194. package/dist/components/Link/Link.styles.d.ts +29 -0
  195. package/dist/components/Link/Link.styles.js +5 -11
  196. package/dist/components/Menu/Menu.d.ts +134 -0
  197. package/dist/components/Menu/Menu.js +91 -64
  198. package/dist/components/Menu/Menu.styles.d.ts +77 -0
  199. package/dist/components/Menu/Menu.styles.js +27 -159
  200. package/dist/components/Menu/MenuDivider/MenuDivider.d.ts +6 -0
  201. package/dist/components/Menu/MenuDivider/MenuDivider.js +13 -12
  202. package/dist/components/Menu/MenuGroup/MenuGroup.d.ts +59 -0
  203. package/dist/components/Menu/MenuGroup/MenuGroup.js +127 -0
  204. package/dist/components/Menu/MenuGroup/MenuGroup.styles.d.ts +39 -0
  205. package/dist/components/Menu/MenuGroup/MenuGroup.styles.js +94 -0
  206. package/dist/components/Menu/MenuItem/MenuItem.d.ts +111 -0
  207. package/dist/components/Menu/MenuItem/MenuItem.js +180 -119
  208. package/dist/components/Menu/MenuItem/MenuItem.styles.d.ts +170 -0
  209. package/dist/components/Menu/MenuItem/MenuItem.styles.js +286 -0
  210. package/dist/components/Menu/MenuItem/hooks/useMenuItemRole.js +10 -6
  211. package/dist/components/Menu/MenuText/MenuText.d.ts +25 -0
  212. package/dist/components/Menu/MenuText/MenuText.js +49 -46
  213. package/dist/components/Menu/index.d.ts +9 -0
  214. package/dist/components/Menu/index.js +15 -9
  215. package/dist/components/Modal/Modal.d.ts +84 -0
  216. package/dist/components/Modal/Modal.js +44 -42
  217. package/dist/components/Modal/Modal.styles.d.ts +110 -0
  218. package/dist/components/Modal/Modal.styles.js +38 -8
  219. package/dist/components/Modal/ModalProvider.d.ts +13 -0
  220. package/dist/components/Modal/ModalProvider.js +20 -19
  221. package/dist/components/Panel/Panel.d.ts +6 -0
  222. package/dist/components/Panel/Panel.js +12 -8
  223. package/dist/components/Panel/index.d.ts +1 -0
  224. package/dist/components/Panel/index.js +1 -3
  225. package/dist/components/Pill/Pill.d.ts +18 -0
  226. package/dist/components/Pill/Pill.js +29 -0
  227. package/dist/components/Pill/Pill.styles.d.ts +56 -0
  228. package/dist/components/Pill/Pill.styles.js +83 -0
  229. package/dist/components/Pill/index.d.ts +2 -0
  230. package/dist/components/Pill/index.js +6 -0
  231. package/dist/components/Placeholder/Placeholder.d.ts +28 -0
  232. package/dist/components/Placeholder/Placeholder.js +55 -26
  233. package/dist/components/Placeholder/Placeholder.styles.d.ts +1 -0
  234. package/dist/components/Placeholder/Placeholder.styles.js +13 -9
  235. package/dist/components/Popover/InputPopover/InputPopover.d.ts +21 -0
  236. package/dist/components/Popover/InputPopover/InputPopover.js +67 -67
  237. package/dist/components/Popover/InputPopover/InputPopoverActivator.d.ts +12 -0
  238. package/dist/components/Popover/InputPopover/InputPopoverActivator.js +23 -22
  239. package/dist/components/Popover/Popover.d.ts +100 -0
  240. package/dist/components/Popover/Popover.js +52 -48
  241. package/dist/components/Popover/Popover.styles.js +6 -4
  242. package/dist/components/Popover/components/PopoverActivator.d.ts +9 -0
  243. package/dist/components/Popover/components/PopoverActivator.js +23 -22
  244. package/dist/components/Popover/components/PopoverContent.d.ts +19 -0
  245. package/dist/components/Popover/components/PopoverContent.js +59 -47
  246. package/dist/components/Popover/helpers/composeFloatingProps.d.ts +16 -0
  247. package/dist/components/Popover/helpers/composeFloatingProps.js +15 -17
  248. package/dist/components/Popover/helpers/handlePopoverTabKey.d.ts +8 -0
  249. package/dist/components/Popover/helpers/handlePopoverTabKey.js +32 -21
  250. package/dist/components/Popover/hooks/useFloatingPopover.d.ts +192 -0
  251. package/dist/components/Popover/hooks/useFloatingPopover.js +145 -0
  252. package/dist/components/Popover/hooks/usePopover.d.ts +5 -0
  253. package/dist/components/Popover/hooks/usePopover.js +4 -141
  254. package/dist/components/Popover/hooks/usePopoverActivatorInteractions.d.ts +15 -0
  255. package/dist/components/Popover/hooks/usePopoverActivatorInteractions.js +12 -11
  256. package/dist/components/Popover/hooks/usePopoverImperativeHandle.d.ts +20 -0
  257. package/dist/components/Popover/hooks/usePopoverItem.d.ts +39 -0
  258. package/dist/components/Popover/hooks/usePopoverItem.js +4 -4
  259. package/dist/components/Popover/hooks/usePopoverNavigation.js +14 -13
  260. package/dist/components/Popover/index.d.ts +8 -0
  261. package/dist/components/Popover/index.js +4 -2
  262. package/dist/components/Progress/Progress.d.ts +52 -0
  263. package/dist/components/Progress/Progress.js +39 -36
  264. package/dist/components/Progress/Progress.styles.js +10 -2
  265. package/dist/components/Provider/Provider.d.ts +31 -0
  266. package/dist/components/Provider/Provider.js +9 -8
  267. package/dist/components/Provider/index.js +1 -1
  268. package/dist/components/Radio/Radio.d.ts +52 -0
  269. package/dist/components/Radio/Radio.js +87 -90
  270. package/dist/components/Radio/Radio.styles.d.ts +56 -0
  271. package/dist/components/Radio/Radio.styles.js +68 -153
  272. package/dist/components/RadioGroup/RadioGroup.d.ts +58 -0
  273. package/dist/components/RadioGroup/RadioGroup.js +65 -66
  274. package/dist/components/RadioGroup/RadioGroup.styles.d.ts +41 -0
  275. package/dist/components/RadioGroup/RadioGroup.styles.js +2 -11
  276. package/dist/components/RadioMark/RadioMark.d.ts +19 -0
  277. package/dist/components/RadioMark/RadioMark.js +31 -0
  278. package/dist/components/RadioMark/RadioMark.styles.d.ts +15 -0
  279. package/dist/components/RadioMark/RadioMark.styles.js +45 -0
  280. package/dist/components/RadioMark/index.d.ts +2 -0
  281. package/dist/components/RadioMark/index.js +6 -0
  282. package/dist/components/Readonly/Readonly.d.ts +16 -0
  283. package/dist/components/Readonly/Readonly.js +17 -16
  284. package/dist/components/Readonly/Readonly.styles.d.ts +106 -0
  285. package/dist/components/Readonly/Readonly.styles.js +12 -12
  286. package/dist/components/Row/Row.d.ts +31 -0
  287. package/dist/components/Row/Row.js +7 -6
  288. package/dist/components/Row/Row.styles.js +1 -1
  289. package/dist/components/Select/Select.d.ts +175 -0
  290. package/dist/components/Select/Select.js +22 -94
  291. package/dist/components/Select/Select.styles.d.ts +59 -0
  292. package/dist/components/Select/Select.styles.js +49 -74
  293. package/dist/components/Select/SelectBody/SelectBody.d.ts +16 -0
  294. package/dist/components/Select/SelectBody/SelectBody.js +30 -0
  295. package/dist/components/Select/SelectBody/SelectBody.styles.js +23 -0
  296. package/dist/components/Select/SelectCreate/SelectCreate.d.ts +32 -0
  297. package/dist/components/Select/SelectCreate/SelectCreate.js +43 -0
  298. package/dist/components/Select/SelectHeading/SelectHeading.d.ts +20 -0
  299. package/dist/components/Select/SelectHeading/SelectHeading.js +78 -0
  300. package/dist/components/Select/SelectLabel/SelectLabel.d.ts +7 -0
  301. package/dist/components/Select/SelectLabel/SelectLabel.js +51 -0
  302. package/dist/components/Select/SelectLabel/SelectLabel.styles.d.ts +15 -0
  303. package/dist/components/Select/SelectLabel/SelectLabel.styles.js +73 -0
  304. package/dist/components/Select/SelectMenu/SelectMenu.d.ts +55 -0
  305. package/dist/components/Select/SelectMenu/SelectMenu.js +195 -0
  306. package/dist/components/Select/SelectMenu/SelectMenu.styles.js +16 -0
  307. package/dist/components/Select/SelectMenu/SelectMenuItem.d.ts +5 -0
  308. package/dist/components/Select/SelectMenu/SelectMenuItem.js +67 -0
  309. package/dist/components/Select/SelectSearch/SelectSearch.d.ts +6 -0
  310. package/dist/components/Select/SelectSearch/SelectSearch.js +45 -0
  311. package/dist/components/Select/SelectSearch/SelectSearch.styles.js +28 -0
  312. package/dist/components/Select/SelectSearchInput/SelectSearchInput.js +47 -0
  313. package/dist/components/Select/SelectSearchInput/SelectSearchInput.styles.js +26 -0
  314. package/dist/components/Select/SelectTags/SelectTags.d.ts +35 -0
  315. package/dist/components/Select/SelectTags/SelectTags.js +174 -0
  316. package/dist/components/Select/SelectTags/SelectTags.styles.d.ts +16 -0
  317. package/dist/components/Select/SelectTags/SelectTags.styles.js +73 -0
  318. package/dist/components/Select/components/NativeSelect.d.ts +50 -0
  319. package/dist/components/Select/components/NativeSelect.js +89 -0
  320. package/dist/components/Select/components/NativeSelect.styles.d.ts +101 -0
  321. package/dist/components/Select/components/NativeSelect.styles.js +133 -0
  322. package/dist/components/Select/components/SelectActivator.d.ts +41 -0
  323. package/dist/components/Select/components/SelectActivator.js +69 -0
  324. package/dist/components/Select/components/SelectHiddenInput.d.ts +30 -0
  325. package/dist/components/Select/components/SelectHiddenInput.js +32 -0
  326. package/dist/components/Select/components/SelectOptions.d.ts +11 -0
  327. package/dist/components/Select/components/SelectOptions.js +219 -0
  328. package/dist/components/Select/hooks/useSelectState.d.ts +17 -0
  329. package/dist/components/Select/hooks/useSelectState.js +18 -0
  330. package/dist/components/Select/index.d.ts +11 -0
  331. package/dist/components/Select/index.js +22 -6
  332. package/dist/components/Skeleton/Skeleton.d.ts +28 -0
  333. package/dist/components/Skeleton/Skeleton.js +11 -10
  334. package/dist/components/Skeleton/Skeleton.styles.js +2 -2
  335. package/dist/components/SkipLink/SkipLink.d.ts +19 -0
  336. package/dist/components/SkipLink/SkipLink.js +13 -12
  337. package/dist/components/SkipLink/SkipLink.styles.js +1 -1
  338. package/dist/components/Slideout/Slideout.d.ts +85 -0
  339. package/dist/components/Slideout/Slideout.js +38 -37
  340. package/dist/components/Slideout/Slideout.styles.d.ts +64 -0
  341. package/dist/components/Slideout/Slideout.styles.js +15 -14
  342. package/dist/components/Slideout/SlideoutProvider.d.ts +13 -0
  343. package/dist/components/Slideout/SlideoutProvider.js +16 -15
  344. package/dist/components/Slideout/components/SlideoutInner.d.ts +13 -0
  345. package/dist/components/Slideout/components/SlideoutInner.js +24 -23
  346. package/dist/components/Slideout/hooks/usePushElement.js +1 -1
  347. package/dist/components/Slider/Slider.js +9 -8
  348. package/dist/components/Slider/Slider.styles.js +7 -13
  349. package/dist/components/Slider/components/SliderTicks.d.ts +61 -0
  350. package/dist/components/Slider/components/SliderTicks.js +33 -30
  351. package/dist/components/Spinner/Spinner.d.ts +31 -0
  352. package/dist/components/Spinner/Spinner.js +36 -18
  353. package/dist/components/Spinner/Spinner.styles.d.ts +2 -0
  354. package/dist/components/Spinner/Spinner.styles.js +32 -4
  355. package/dist/components/Spinner/index.js +3 -2
  356. package/dist/components/Stack/Stack.d.ts +30 -0
  357. package/dist/components/Stack/Stack.js +12 -11
  358. package/dist/components/Stack/Stack.styles.d.ts +33 -0
  359. package/dist/components/Stack/Stack.styles.js +23 -3
  360. package/dist/components/Styled/Styled.d.ts +19 -0
  361. package/dist/components/Styled/Styled.js +16 -0
  362. package/dist/components/Styled/index.d.ts +1 -0
  363. package/dist/components/Styled/index.js +4 -0
  364. package/dist/components/TabSet/Tab/Tab.d.ts +33 -0
  365. package/dist/components/TabSet/Tab/Tab.js +106 -89
  366. package/dist/components/TabSet/Tab/Tab.styles.d.ts +28 -0
  367. package/dist/components/TabSet/Tab/Tab.styles.js +21 -10
  368. package/dist/components/TabSet/TabSet.d.ts +48 -0
  369. package/dist/components/TabSet/TabSet.js +86 -65
  370. package/dist/components/TabSet/TabSet.styles.d.ts +64 -0
  371. package/dist/components/TabSet/TabSet.styles.js +103 -22
  372. package/dist/components/TabSet/TabSetProvider.d.ts +38 -0
  373. package/dist/components/TabSet/TabSetProvider.js +58 -52
  374. package/dist/components/Table/Table.d.ts +70 -0
  375. package/dist/components/Table/Table.js +19 -18
  376. package/dist/components/Table/Table.styles.js +13 -9
  377. package/dist/components/Table/TableBody/TableBody.d.ts +32 -0
  378. package/dist/components/Table/TableBody/TableBody.js +71 -66
  379. package/dist/components/Table/TableFormattedValue/TableFormattedValue.d.ts +28 -0
  380. package/dist/components/Table/TableFormattedValue/TableFormattedValue.js +10 -9
  381. package/dist/components/Table/TableProvider.d.ts +17 -0
  382. package/dist/components/Table/TableProvider.js +1 -1
  383. package/dist/components/Table/components/TableBodyCell.d.ts +15 -0
  384. package/dist/components/Table/components/TableBodyCell.js +17 -16
  385. package/dist/components/Table/components/TableEmpty.d.ts +5 -0
  386. package/dist/components/Table/components/TableEmpty.js +9 -8
  387. package/dist/components/Table/components/TableHeader.d.ts +11 -0
  388. package/dist/components/Table/components/TableHeader.js +13 -12
  389. package/dist/components/Table/components/TableHeaderCell.d.ts +12 -0
  390. package/dist/components/Table/components/TableHeaderCell.js +18 -17
  391. package/dist/components/Table/components/TableRows.d.ts +15 -0
  392. package/dist/components/Table/components/TableRows.js +27 -26
  393. package/dist/components/Table/components/TableSortButton.d.ts +12 -0
  394. package/dist/components/Table/components/TableSortButton.js +48 -21
  395. package/dist/components/Table/hooks/useTable.d.ts +5 -0
  396. package/dist/components/Table/hooks/useTable.js +6 -0
  397. package/dist/components/Table/hooks/useTableColumnSort.js +1 -1
  398. package/dist/components/Table/hooks/useTableColumnStyles.js +3 -3
  399. package/dist/components/Table/index.d.ts +6 -0
  400. package/dist/components/Table/index.js +3 -1
  401. package/dist/components/Tag/Tag.d.ts +58 -0
  402. package/dist/components/Tag/Tag.js +54 -33
  403. package/dist/components/Tag/Tag.styles.d.ts +120 -0
  404. package/dist/components/Tag/Tag.styles.js +107 -13
  405. package/dist/components/Tag/TagInput/TagInput.js +84 -79
  406. package/dist/components/Tag/TagInput/TagInput.styles.js +10 -13
  407. package/dist/components/Text/Text.d.ts +12 -0
  408. package/dist/components/Text/Text.js +17 -16
  409. package/dist/components/Text/Text.styles.js +5 -5
  410. package/dist/components/Toaster/Toaster.d.ts +28 -0
  411. package/dist/components/Toaster/Toaster.js +26 -25
  412. package/dist/components/Toaster/Toaster.styles.js +1 -1
  413. package/dist/components/Toaster/ToasterProvider.d.ts +13 -0
  414. package/dist/components/Toaster/ToasterProvider.js +32 -31
  415. package/dist/components/Toaster/components/Toast/Toast.d.ts +27 -0
  416. package/dist/components/Toaster/components/Toast/Toast.js +64 -93
  417. package/dist/components/Toaster/components/Toast/Toast.styles.d.ts +36 -0
  418. package/dist/components/Toaster/components/Toast/Toast.styles.js +27 -141
  419. package/dist/components/Toaster/hooks/useToaster.js +13 -13
  420. package/dist/components/Toaster/index.d.ts +6 -0
  421. package/dist/components/Toggle/Toggle.d.ts +40 -0
  422. package/dist/components/Toggle/Toggle.js +54 -48
  423. package/dist/components/Toggle/Toggle.styles.js +15 -7
  424. package/dist/components/Tooltip/Tooltip.d.ts +31 -0
  425. package/dist/components/Tooltip/Tooltip.js +16 -15
  426. package/dist/components/Tooltip/Tooltip.styles.js +7 -4
  427. package/dist/components/ValidationMessage/ValidationLink/ValidationLink.d.ts +22 -0
  428. package/dist/components/ValidationMessage/ValidationLink/ValidationLink.js +11 -10
  429. package/dist/components/ValidationMessage/ValidationMessage.d.ts +38 -0
  430. package/dist/components/ValidationMessage/ValidationMessage.js +30 -22
  431. package/dist/components/ValidationMessage/ValidationSummary/ValidationSummary.d.ts +34 -0
  432. package/dist/components/ValidationMessage/ValidationSummary/ValidationSummary.js +21 -20
  433. package/dist/constants.d.ts +144 -0
  434. package/dist/constants.js +52 -100
  435. package/dist/create-recipe-BDTG8O8S.js +50 -0
  436. package/dist/css-DVJ-ALYD.js +228 -0
  437. package/dist/cva-3iuaj0TL.js +63 -0
  438. package/dist/enums.d.ts +88 -0
  439. package/dist/enums.js +2 -20
  440. package/dist/factory-CcYfm2kB.js +58 -0
  441. package/dist/floating-ui.react-B0nDXRN6.js +3474 -0
  442. package/dist/helpers/dom/getActiveElement.js +4 -5
  443. package/dist/helpers/formatting/stringReplacer.d.ts +6 -0
  444. package/dist/helpers/label-value/getValueFromLabelValues.d.ts +5 -0
  445. package/dist/helpers/label-value/highlightQueryInLabel.js +3 -4
  446. package/dist/helpers/label-value/highlightQueryInLabelValue.js +4 -4
  447. package/dist/helpers/label-value/searchLabelValues.d.ts +2 -0
  448. package/dist/helpers/label-value/searchLabelValues.js +6 -5
  449. package/dist/helpers/styling/iressCss.d.ts +10 -0
  450. package/dist/helpers/styling/iressCss.js +3 -5
  451. package/dist/helpers/utility/idsLogger.d.ts +1 -0
  452. package/dist/highlightQueryInLabel-Cx7nIoII.js +399 -0
  453. package/dist/hooks/useBreakpoint.d.ts +19 -0
  454. package/dist/hooks/useBreakpoint.js +12 -11
  455. package/dist/hooks/useResponsiveProps.d.ts +25 -0
  456. package/dist/hooks/useResponsiveProps.js +18 -18
  457. package/dist/index-BPhnth66.js +784 -0
  458. package/dist/index.d-CZvOUeIl.js +3808 -0
  459. package/dist/interfaces.d.ts +436 -0
  460. package/dist/is-valid-prop-C5D641yn.js +7 -0
  461. package/dist/main.d.ts +65 -0
  462. package/dist/main.js +314 -313
  463. package/dist/patterns/Breadcrumbs/Breadcrumbs.d.ts +47 -0
  464. package/dist/patterns/Breadcrumbs/Breadcrumbs.js +130 -0
  465. package/dist/patterns/Breadcrumbs/Breadcrumbs.styles.d.ts +1 -0
  466. package/dist/patterns/Breadcrumbs/Breadcrumbs.styles.js +57 -0
  467. package/dist/patterns/Breadcrumbs/index.d.ts +2 -0
  468. package/dist/patterns/Breadcrumbs/index.js +6 -0
  469. package/dist/patterns/ContextualMenu/ContextualMenu.d.ts +50 -0
  470. package/dist/patterns/ContextualMenu/ContextualMenu.js +99 -0
  471. package/dist/patterns/ContextualMenu/ContextualMenu.styles.d.ts +59 -0
  472. package/dist/patterns/ContextualMenu/ContextualMenu.styles.js +100 -0
  473. package/dist/patterns/ContextualMenu/index.d.ts +2 -0
  474. package/dist/patterns/ContextualMenu/index.js +6 -0
  475. package/dist/patterns/DropdownMenu/DropdownMenu.d.ts +76 -0
  476. package/dist/patterns/DropdownMenu/DropdownMenu.js +221 -0
  477. package/dist/patterns/DropdownMenu/DropdownMenu.styles.d.ts +1 -0
  478. package/dist/patterns/DropdownMenu/DropdownMenu.styles.js +75 -0
  479. package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.d.ts +7 -0
  480. package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.js +25 -0
  481. package/dist/patterns/DropdownMenu/index.d.ts +2 -0
  482. package/dist/patterns/DropdownMenu/index.js +6 -0
  483. package/dist/patterns/Form/Form.d.ts +11 -0
  484. package/dist/patterns/Form/Form.js +7 -9
  485. package/dist/patterns/Form/Form.styles.d.ts +30 -0
  486. package/dist/patterns/Form/Form.styles.js +1 -1
  487. package/dist/patterns/Form/FormContext.js +3 -2
  488. package/dist/patterns/Form/FormField/FormField.d.ts +76 -0
  489. package/dist/patterns/Form/FormField/FormField.js +47 -38
  490. package/dist/patterns/Form/FormField/FormFieldset.d.ts +43 -0
  491. package/dist/patterns/Form/FormField/FormFieldset.js +26 -27
  492. package/dist/patterns/Form/FormField/hooks/useFieldRenderProps.d.ts +10 -0
  493. package/dist/patterns/Form/FormField/hooks/useFieldRenderProps.js +11 -29
  494. package/dist/patterns/Form/FormValidationSummary/FormValidationSummary.d.ts +18 -0
  495. package/dist/patterns/Form/FormValidationSummary/FormValidationSummary.js +26 -23
  496. package/dist/patterns/Form/HookForm/HookForm.d.ts +144 -0
  497. package/dist/patterns/Form/HookForm/HookForm.js +75 -75
  498. package/dist/patterns/Form/components/LongForm.d.ts +55 -0
  499. package/dist/patterns/Form/components/LongForm.js +15 -15
  500. package/dist/patterns/Form/components/ShortForm.d.ts +38 -0
  501. package/dist/patterns/Form/components/ShortForm.js +21 -20
  502. package/dist/patterns/Loading/Loading.d.ts +48 -0
  503. package/dist/patterns/Loading/Loading.js +7 -6
  504. package/dist/patterns/Loading/Loading.styles.d.ts +186 -0
  505. package/dist/patterns/Loading/Loading.styles.js +3 -3
  506. package/dist/patterns/Loading/LoadingSuspense.d.ts +74 -0
  507. package/dist/patterns/Loading/LoadingSuspense.js +22 -21
  508. package/dist/patterns/Loading/components/ComponentLoading.d.ts +56 -0
  509. package/dist/patterns/Loading/components/ComponentLoading.js +23 -22
  510. package/dist/patterns/Loading/components/DefaultLoading.d.ts +30 -0
  511. package/dist/patterns/Loading/components/DefaultLoading.js +14 -13
  512. package/dist/patterns/Loading/components/LongLoading.d.ts +63 -0
  513. package/dist/patterns/Loading/components/LongLoading.js +34 -34
  514. package/dist/patterns/Loading/components/PageLoading.d.ts +48 -0
  515. package/dist/patterns/Loading/components/PageLoading.js +36 -35
  516. package/dist/patterns/Loading/components/StartUpLoading.d.ts +75 -0
  517. package/dist/patterns/Loading/components/StartUpLoading.js +34 -33
  518. package/dist/patterns/Loading/components/ValidateLoading.d.ts +41 -0
  519. package/dist/patterns/Loading/components/ValidateLoading.js +27 -26
  520. package/dist/patterns/Loading/hooks/useEstimatedProgressValue.js +17 -22
  521. package/dist/patterns/Loading/hooks/useShouldRenderLoading.js +20 -14
  522. package/dist/patterns/Shadow/Shadow.d.ts +30 -0
  523. package/dist/patterns/Shadow/Shadow.js +4319 -7399
  524. package/dist/patterns/Shadow/meta/Thumbnail.d.ts +2 -0
  525. package/dist/patterns/Shadow/meta/index.d.ts +7 -0
  526. package/dist/patterns/SideNav/SideNav.d.ts +156 -0
  527. package/dist/patterns/SideNav/SideNav.helpers.d.ts +5 -0
  528. package/dist/patterns/SideNav/SideNav.helpers.js +4 -0
  529. package/dist/patterns/SideNav/SideNav.js +212 -0
  530. package/dist/patterns/SideNav/SideNav.styles.d.ts +14 -0
  531. package/dist/patterns/SideNav/SideNav.styles.js +87 -0
  532. package/dist/patterns/SideNav/hooks/useSideNavState.d.ts +47 -0
  533. package/dist/patterns/SideNav/hooks/useSideNavState.js +57 -0
  534. package/dist/patterns/SideNav/index.d.ts +2 -0
  535. package/dist/patterns/SideNav/index.js +6 -0
  536. package/dist/patterns/SideNav/meta/Thumbnail.d.ts +2 -0
  537. package/dist/patterns/SideNav/meta/index.d.ts +7 -0
  538. package/dist/style.css +1 -1
  539. package/dist/styled-system/patterns/divider.d.ts +22 -0
  540. package/dist/styled-system/patterns/float.d.ts +23 -0
  541. package/dist/styled-system/recipes/button.d.ts +41 -0
  542. package/dist/styled-system/recipes/table.d.ts +49 -0
  543. package/dist/styled-system/tokens/tokens.d.ts +30 -0
  544. package/dist/styled-system/types/composition.d.ts +227 -0
  545. package/dist/styled-system/types/conditions.d.ts +334 -0
  546. package/dist/styled-system/types/pattern.d.ts +78 -0
  547. package/dist/styled-system/types/prop-type.d.ts +243 -0
  548. package/dist/styled-system/types/style-props.d.ts +7519 -0
  549. package/dist/sva-CsHRIRDW.js +34 -0
  550. package/dist/types.d.ts +66 -0
  551. package/package.json +49 -32
  552. package/dist/Autocomplete-C5ubHBTi.js +0 -358
  553. package/dist/Button-mmhMLwp9.js +0 -359
  554. package/dist/Provider-8wS70V56.js +0 -64
  555. package/dist/TableProvider-bdUNuoG-.js +0 -81
  556. package/dist/components/Badge/Badge.js +0 -43
  557. package/dist/components/Badge/Badge.styles.js +0 -105
  558. package/dist/components/Badge/index.js +0 -6
  559. package/dist/components/Filter/Filter.js +0 -225
  560. package/dist/components/Filter/Filter.styles.js +0 -65
  561. package/dist/components/Filter/components/FilterLabel.js +0 -10
  562. package/dist/components/Filter/components/FilterResetButton.js +0 -27
  563. package/dist/components/Filter/components/FilterResultsDescriptor.js +0 -18
  564. package/dist/components/Filter/components/FilterSearch.js +0 -32
  565. package/dist/components/Filter/hooks/useFilterFlags.js +0 -25
  566. package/dist/components/Filter/index.js +0 -4
  567. package/dist/components/Panel/Panel.styles.js +0 -23
  568. package/dist/components/Popover/components/NestedPopoverActivator.js +0 -9
  569. package/dist/components/RichSelect/RichSelect.js +0 -40
  570. package/dist/components/RichSelect/RichSelect.styles.js +0 -96
  571. package/dist/components/RichSelect/SelectBody/SelectBody.js +0 -33
  572. package/dist/components/RichSelect/SelectBody/SelectBody.styles.js +0 -21
  573. package/dist/components/RichSelect/SelectCreate/SelectCreate.js +0 -37
  574. package/dist/components/RichSelect/SelectHeading/SelectHeading.js +0 -74
  575. package/dist/components/RichSelect/SelectLabel/SelectLabel.js +0 -50
  576. package/dist/components/RichSelect/SelectLabel/SelectLabel.styles.js +0 -91
  577. package/dist/components/RichSelect/SelectMenu/SelectMenu.js +0 -115
  578. package/dist/components/RichSelect/SelectMenu/SelectMenu.styles.js +0 -14
  579. package/dist/components/RichSelect/SelectMenu/SelectMenuItem.js +0 -64
  580. package/dist/components/RichSelect/SelectSearch/SelectSearch.js +0 -47
  581. package/dist/components/RichSelect/SelectSearch/SelectSearch.styles.js +0 -28
  582. package/dist/components/RichSelect/SelectSearchInput/SelectSearchInput.js +0 -46
  583. package/dist/components/RichSelect/SelectSearchInput/SelectSearchInput.styles.js +0 -32
  584. package/dist/components/RichSelect/SelectTags/SelectTags.js +0 -163
  585. package/dist/components/RichSelect/SelectTags/SelectTags.styles.js +0 -86
  586. package/dist/components/RichSelect/components/SelectActivator.js +0 -65
  587. package/dist/components/RichSelect/components/SelectHiddenInput.js +0 -29
  588. package/dist/components/RichSelect/components/SelectOptions.js +0 -208
  589. package/dist/components/RichSelect/hooks/useRichSelectState.js +0 -18
  590. package/dist/components/RichSelect/index.js +0 -22
  591. package/dist/components/Select/SelectOption/SelectOption.js +0 -10
  592. package/dist/components/Select/components/SelectControl.js +0 -41
  593. package/dist/components/Select/components/SelectReadonly.js +0 -39
  594. package/dist/components/Select/helpers/nodesToSelectOptions.js +0 -41
  595. package/dist/components/Toaster/components/Toast/ToastAnimated.js +0 -52
  596. package/dist/constants/index.css +0 -1
  597. package/dist/constants/index.scss +0 -2
  598. package/dist/create-recipe-C-ASk1Hy.js +0 -50
  599. package/dist/css-fGu_jDvv.js +0 -228
  600. package/dist/cva-JiDXAa83.js +0 -63
  601. package/dist/factory-oPXoMw9H.js +0 -58
  602. package/dist/floating-ui.react-BetVZ099.js +0 -3464
  603. package/dist/fuzzysort-DKAolWVP.js +0 -397
  604. package/dist/helpers/dom/domUtils.js +0 -12
  605. package/dist/helpers/dom/hasShadowDom.js +0 -4
  606. package/dist/helpers/form/isValidFormInputElement.js +0 -4
  607. package/dist/helpers/label-value/getQueryRangeExclusive.js +0 -14
  608. package/dist/helpers/responsive/getResponsiveLayoutModifiers.js +0 -11
  609. package/dist/helpers/responsive/getResponsivePaddingClasses.js +0 -11
  610. package/dist/helpers/styling/getVariablePadding.js +0 -38
  611. package/dist/helpers/styling/mapGutterToGap.js +0 -23
  612. package/dist/index-CZ9ot38T.js +0 -600
  613. package/dist/index.esm-B6vzbp0e.js +0 -1215
  614. package/dist/is-valid-prop-Ce0wiweq.js +0 -7
  615. package/dist/src/components/Alert/Alert.d.ts +0 -57
  616. package/dist/src/components/Alert/Alert.styles.d.ts +0 -128
  617. package/dist/src/components/Autocomplete/Autocomplete.d.ts +0 -52
  618. package/dist/src/components/Autocomplete/components/AutocompleteInstructions.d.ts +0 -7
  619. package/dist/src/components/Autocomplete/hooks/useAutocompleteSearch.d.ts +0 -73
  620. package/dist/src/components/Badge/Badge.d.ts +0 -21
  621. package/dist/src/components/Badge/Badge.styles.d.ts +0 -63
  622. package/dist/src/components/Badge/index.d.ts +0 -2
  623. package/dist/src/components/Button/Button.d.ts +0 -90
  624. package/dist/src/components/ButtonGroup/ButtonGroup.d.ts +0 -35
  625. package/dist/src/components/Card/Card.d.ts +0 -44
  626. package/dist/src/components/Card/Card.styles.d.ts +0 -76
  627. package/dist/src/components/Checkbox/Checkbox.d.ts +0 -66
  628. package/dist/src/components/Checkbox/Checkbox.styles.d.ts +0 -59
  629. package/dist/src/components/CheckboxGroup/CheckboxGroup.d.ts +0 -55
  630. package/dist/src/components/CheckboxMark/CheckboxMark.d.ts +0 -16
  631. package/dist/src/components/Col/Col.d.ts +0 -23
  632. package/dist/src/components/Col/Col.styles.d.ts +0 -16
  633. package/dist/src/components/Container/Container.d.ts +0 -13
  634. package/dist/src/components/Container/Container.styles.d.ts +0 -35
  635. package/dist/src/components/Divider/Divider.d.ts +0 -8
  636. package/dist/src/components/Divider/Divider.styles.d.ts +0 -18
  637. package/dist/src/components/Expander/Expander.d.ts +0 -31
  638. package/dist/src/components/Expander/Expander.styles.d.ts +0 -45
  639. package/dist/src/components/Field/Field.d.ts +0 -57
  640. package/dist/src/components/Field/Field.styles.d.ts +0 -88
  641. package/dist/src/components/Field/FieldGroup/FieldGroup.d.ts +0 -17
  642. package/dist/src/components/Field/FieldGroup/FieldGroup.styles.d.ts +0 -81
  643. package/dist/src/components/Field/components/FieldFooter.d.ts +0 -22
  644. package/dist/src/components/Field/components/FieldHint.d.ts +0 -27
  645. package/dist/src/components/Filter/Filter.d.ts +0 -75
  646. package/dist/src/components/Filter/Filter.styles.d.ts +0 -2
  647. package/dist/src/components/Filter/components/FilterLabel.d.ts +0 -3
  648. package/dist/src/components/Filter/components/FilterResetButton.d.ts +0 -1
  649. package/dist/src/components/Filter/components/FilterResultsDescriptor.d.ts +0 -15
  650. package/dist/src/components/Filter/components/FilterSearch.d.ts +0 -15
  651. package/dist/src/components/Filter/hooks/useFilterFlags.d.ts +0 -7
  652. package/dist/src/components/Filter/index.d.ts +0 -1
  653. package/dist/src/components/Hide/Hide.d.ts +0 -28
  654. package/dist/src/components/Hide/helpers/normaliseHideValues.d.ts +0 -2
  655. package/dist/src/components/Icon/Icon.d.ts +0 -36
  656. package/dist/src/components/Icon/Icon.styles.d.ts +0 -38
  657. package/dist/src/components/Icon/index.d.ts +0 -2
  658. package/dist/src/components/Image/Image.d.ts +0 -16
  659. package/dist/src/components/Inline/Inline.d.ts +0 -31
  660. package/dist/src/components/Input/Input.d.ts +0 -57
  661. package/dist/src/components/Input/Input.styles.d.ts +0 -121
  662. package/dist/src/components/Input/InputBase/InputBase.d.ts +0 -39
  663. package/dist/src/components/InputCurrency/InputCurrency.d.ts +0 -28
  664. package/dist/src/components/Label/Label.d.ts +0 -19
  665. package/dist/src/components/Label/LabelBase/LabelBase.d.ts +0 -28
  666. package/dist/src/components/Link/Link.d.ts +0 -42
  667. package/dist/src/components/Link/Link.styles.d.ts +0 -29
  668. package/dist/src/components/Menu/Menu.d.ts +0 -110
  669. package/dist/src/components/Menu/Menu.styles.d.ts +0 -121
  670. package/dist/src/components/Menu/MenuDivider/MenuDivider.d.ts +0 -3
  671. package/dist/src/components/Menu/MenuItem/MenuItem.d.ts +0 -99
  672. package/dist/src/components/Menu/MenuText/MenuText.d.ts +0 -19
  673. package/dist/src/components/Menu/index.d.ts +0 -6
  674. package/dist/src/components/Modal/Modal.d.ts +0 -74
  675. package/dist/src/components/Modal/Modal.styles.d.ts +0 -87
  676. package/dist/src/components/Modal/ModalProvider.d.ts +0 -10
  677. package/dist/src/components/Panel/Panel.d.ts +0 -15
  678. package/dist/src/components/Panel/Panel.styles.d.ts +0 -7
  679. package/dist/src/components/Panel/index.d.ts +0 -2
  680. package/dist/src/components/Placeholder/Placeholder.d.ts +0 -21
  681. package/dist/src/components/Placeholder/Placeholder.styles.d.ts +0 -1
  682. package/dist/src/components/Popover/InputPopover/InputPopover.d.ts +0 -21
  683. package/dist/src/components/Popover/InputPopover/InputPopoverActivator.d.ts +0 -9
  684. package/dist/src/components/Popover/Popover.d.ts +0 -91
  685. package/dist/src/components/Popover/components/NestedPopoverActivator.d.ts +0 -5
  686. package/dist/src/components/Popover/components/PopoverActivator.d.ts +0 -6
  687. package/dist/src/components/Popover/components/PopoverContent.d.ts +0 -7
  688. package/dist/src/components/Popover/helpers/composeFloatingProps.d.ts +0 -16
  689. package/dist/src/components/Popover/helpers/handlePopoverTabKey.d.ts +0 -8
  690. package/dist/src/components/Popover/hooks/usePopover.d.ts +0 -124
  691. package/dist/src/components/Popover/hooks/usePopoverActivatorInteractions.d.ts +0 -15
  692. package/dist/src/components/Popover/hooks/usePopoverImperativeHandle.d.ts +0 -8
  693. package/dist/src/components/Popover/hooks/usePopoverItem.d.ts +0 -39
  694. package/dist/src/components/Popover/index.d.ts +0 -5
  695. package/dist/src/components/Progress/Progress.d.ts +0 -44
  696. package/dist/src/components/Provider/Provider.d.ts +0 -24
  697. package/dist/src/components/Radio/Radio.d.ts +0 -47
  698. package/dist/src/components/Radio/Radio.styles.d.ts +0 -51
  699. package/dist/src/components/RadioGroup/RadioGroup.d.ts +0 -56
  700. package/dist/src/components/RadioGroup/RadioGroup.styles.d.ts +0 -50
  701. package/dist/src/components/Readonly/Readonly.d.ts +0 -14
  702. package/dist/src/components/Readonly/Readonly.styles.d.ts +0 -106
  703. package/dist/src/components/RichSelect/RichSelect.d.ts +0 -152
  704. package/dist/src/components/RichSelect/RichSelect.styles.d.ts +0 -59
  705. package/dist/src/components/RichSelect/SelectBody/SelectBody.d.ts +0 -13
  706. package/dist/src/components/RichSelect/SelectCreate/SelectCreate.d.ts +0 -29
  707. package/dist/src/components/RichSelect/SelectHeading/SelectHeading.d.ts +0 -17
  708. package/dist/src/components/RichSelect/SelectLabel/SelectLabel.d.ts +0 -4
  709. package/dist/src/components/RichSelect/SelectLabel/SelectLabel.styles.d.ts +0 -15
  710. package/dist/src/components/RichSelect/SelectMenu/SelectMenu.d.ts +0 -52
  711. package/dist/src/components/RichSelect/SelectMenu/SelectMenuItem.d.ts +0 -2
  712. package/dist/src/components/RichSelect/SelectSearch/SelectSearch.d.ts +0 -3
  713. package/dist/src/components/RichSelect/SelectTags/SelectTags.d.ts +0 -32
  714. package/dist/src/components/RichSelect/SelectTags/SelectTags.styles.d.ts +0 -16
  715. package/dist/src/components/RichSelect/components/SelectActivator.d.ts +0 -38
  716. package/dist/src/components/RichSelect/components/SelectHiddenInput.d.ts +0 -27
  717. package/dist/src/components/RichSelect/components/SelectOptions.d.ts +0 -8
  718. package/dist/src/components/RichSelect/hooks/useRichSelectState.d.ts +0 -17
  719. package/dist/src/components/RichSelect/index.d.ts +0 -10
  720. package/dist/src/components/Row/Row.d.ts +0 -28
  721. package/dist/src/components/Select/Select.d.ts +0 -47
  722. package/dist/src/components/Select/Select.styles.d.ts +0 -94
  723. package/dist/src/components/Select/SelectOption/SelectOption.d.ts +0 -9
  724. package/dist/src/components/Select/components/SelectControl.d.ts +0 -24
  725. package/dist/src/components/Select/components/SelectReadonly.d.ts +0 -16
  726. package/dist/src/components/Select/helpers/nodesToSelectOptions.d.ts +0 -16
  727. package/dist/src/components/Select/index.d.ts +0 -3
  728. package/dist/src/components/Skeleton/Skeleton.d.ts +0 -25
  729. package/dist/src/components/SkipLink/SkipLink.d.ts +0 -17
  730. package/dist/src/components/Slideout/Slideout.d.ts +0 -82
  731. package/dist/src/components/Slideout/Slideout.styles.d.ts +0 -66
  732. package/dist/src/components/Slideout/SlideoutProvider.d.ts +0 -10
  733. package/dist/src/components/Slideout/components/SlideoutInner.d.ts +0 -10
  734. package/dist/src/components/Slider/components/SliderTicks.d.ts +0 -58
  735. package/dist/src/components/Spinner/Spinner.d.ts +0 -9
  736. package/dist/src/components/Spinner/Spinner.styles.d.ts +0 -1
  737. package/dist/src/components/Stack/Stack.d.ts +0 -23
  738. package/dist/src/components/Stack/Stack.styles.d.ts +0 -13
  739. package/dist/src/components/TabSet/Tab/Tab.d.ts +0 -31
  740. package/dist/src/components/TabSet/Tab/Tab.styles.d.ts +0 -17
  741. package/dist/src/components/TabSet/TabSet.d.ts +0 -38
  742. package/dist/src/components/TabSet/TabSet.styles.d.ts +0 -25
  743. package/dist/src/components/TabSet/TabSetProvider.d.ts +0 -32
  744. package/dist/src/components/Table/Table.d.ts +0 -67
  745. package/dist/src/components/Table/TableBody/TableBody.d.ts +0 -29
  746. package/dist/src/components/Table/TableFormattedValue/TableFormattedValue.d.ts +0 -25
  747. package/dist/src/components/Table/TableProvider.d.ts +0 -14
  748. package/dist/src/components/Table/components/TableBodyCell.d.ts +0 -12
  749. package/dist/src/components/Table/components/TableEmpty.d.ts +0 -2
  750. package/dist/src/components/Table/components/TableHeader.d.ts +0 -8
  751. package/dist/src/components/Table/components/TableHeaderCell.d.ts +0 -9
  752. package/dist/src/components/Table/components/TableRows.d.ts +0 -12
  753. package/dist/src/components/Table/components/TableSortButton.d.ts +0 -9
  754. package/dist/src/components/Table/index.d.ts +0 -5
  755. package/dist/src/components/Tag/Tag.d.ts +0 -26
  756. package/dist/src/components/Tag/Tag.styles.d.ts +0 -31
  757. package/dist/src/components/Text/Text.d.ts +0 -9
  758. package/dist/src/components/Toaster/Toaster.d.ts +0 -25
  759. package/dist/src/components/Toaster/ToasterProvider.d.ts +0 -10
  760. package/dist/src/components/Toaster/components/Toast/Toast.d.ts +0 -32
  761. package/dist/src/components/Toaster/components/Toast/Toast.styles.d.ts +0 -90
  762. package/dist/src/components/Toaster/components/Toast/ToastAnimated.d.ts +0 -19
  763. package/dist/src/components/Toaster/index.d.ts +0 -7
  764. package/dist/src/components/Toggle/Toggle.d.ts +0 -33
  765. package/dist/src/components/Tooltip/Tooltip.d.ts +0 -28
  766. package/dist/src/components/ValidationMessage/ValidationLink/ValidationLink.d.ts +0 -19
  767. package/dist/src/components/ValidationMessage/ValidationMessage.d.ts +0 -35
  768. package/dist/src/components/ValidationMessage/ValidationSummary/ValidationSummary.d.ts +0 -31
  769. package/dist/src/constants.d.ts +0 -123
  770. package/dist/src/enums.d.ts +0 -281
  771. package/dist/src/helpers/dom/domUtils.d.ts +0 -5
  772. package/dist/src/helpers/dom/hasShadowDom.d.ts +0 -1
  773. package/dist/src/helpers/form/isValidFormInputElement.d.ts +0 -1
  774. package/dist/src/helpers/formatting/stringReplacer.d.ts +0 -2
  775. package/dist/src/helpers/label-value/getQueryRangeExclusive.d.ts +0 -8
  776. package/dist/src/helpers/label-value/getValueFromLabelValues.d.ts +0 -2
  777. package/dist/src/helpers/label-value/searchLabelValues.d.ts +0 -2
  778. package/dist/src/helpers/responsive/getResponsiveLayoutModifiers.d.ts +0 -2
  779. package/dist/src/helpers/responsive/getResponsivePaddingClasses.d.ts +0 -2
  780. package/dist/src/helpers/styling/getVariablePadding.d.ts +0 -6
  781. package/dist/src/helpers/styling/iressCss.d.ts +0 -22
  782. package/dist/src/helpers/styling/mapGutterToGap.d.ts +0 -3
  783. package/dist/src/helpers/utility/idsLogger.d.ts +0 -3
  784. package/dist/src/hooks/useBreakpoint.d.ts +0 -11
  785. package/dist/src/hooks/useResponsiveProps.d.ts +0 -12
  786. package/dist/src/interfaces.d.ts +0 -442
  787. package/dist/src/main.d.ts +0 -60
  788. package/dist/src/patterns/Form/Form.d.ts +0 -11
  789. package/dist/src/patterns/Form/Form.styles.d.ts +0 -30
  790. package/dist/src/patterns/Form/FormField/FormField.d.ts +0 -54
  791. package/dist/src/patterns/Form/FormField/FormFieldset.d.ts +0 -40
  792. package/dist/src/patterns/Form/FormField/hooks/useFieldRenderProps.d.ts +0 -17
  793. package/dist/src/patterns/Form/FormValidationSummary/FormValidationSummary.d.ts +0 -15
  794. package/dist/src/patterns/Form/HookForm/HookForm.d.ts +0 -174
  795. package/dist/src/patterns/Form/components/LongForm.d.ts +0 -53
  796. package/dist/src/patterns/Form/components/ShortForm.d.ts +0 -36
  797. package/dist/src/patterns/Loading/Loading.d.ts +0 -47
  798. package/dist/src/patterns/Loading/Loading.styles.d.ts +0 -186
  799. package/dist/src/patterns/Loading/LoadingSuspense.d.ts +0 -73
  800. package/dist/src/patterns/Loading/components/ComponentLoading.d.ts +0 -53
  801. package/dist/src/patterns/Loading/components/DefaultLoading.d.ts +0 -27
  802. package/dist/src/patterns/Loading/components/LongLoading.d.ts +0 -60
  803. package/dist/src/patterns/Loading/components/PageLoading.d.ts +0 -45
  804. package/dist/src/patterns/Loading/components/StartUpLoading.d.ts +0 -72
  805. package/dist/src/patterns/Loading/components/ValidateLoading.d.ts +0 -38
  806. package/dist/src/patterns/Shadow/Shadow.d.ts +0 -34
  807. package/dist/src/styled-system/patterns/divider.d.ts +0 -22
  808. package/dist/src/styled-system/patterns/float.d.ts +0 -23
  809. package/dist/src/styled-system/recipes/button.d.ts +0 -39
  810. package/dist/src/styled-system/recipes/table.d.ts +0 -49
  811. package/dist/src/styled-system/tokens/tokens.d.ts +0 -30
  812. package/dist/src/styled-system/types/composition.d.ts +0 -224
  813. package/dist/src/styled-system/types/conditions.d.ts +0 -338
  814. package/dist/src/styled-system/types/pattern.d.ts +0 -78
  815. package/dist/src/styled-system/types/prop-type.d.ts +0 -241
  816. package/dist/src/styled-system/types/style-props.d.ts +0 -7518
  817. package/dist/src/types.d.ts +0 -33
  818. package/dist/sva-OmxClA9g.js +0 -34
  819. /package/dist/{src/components → components}/Alert/index.d.ts +0 -0
  820. /package/dist/{src/components → components}/Alert/meta/Thumbnail.d.ts +0 -0
  821. /package/dist/{src/components → components}/Alert/meta/index.d.ts +0 -0
  822. /package/dist/{src/components → components}/Autocomplete/Autocomplete.styles.d.ts +0 -0
  823. /package/dist/{src/components → components}/Autocomplete/index.d.ts +0 -0
  824. /package/dist/{src/components → components}/Autocomplete/meta/Thumbnail.d.ts +0 -0
  825. /package/dist/{src/components → components}/Autocomplete/meta/index.d.ts +0 -0
  826. /package/dist/{src/components → components}/Button/CloseButton/CloseButton.d.ts +0 -0
  827. /package/dist/{src/components → components}/Button/index.d.ts +0 -0
  828. /package/dist/{src/components/Badge → components/Button}/meta/Thumbnail.d.ts +0 -0
  829. /package/dist/{src/components/Badge → components/Button}/meta/index.d.ts +0 -0
  830. /package/dist/{src/components → components}/ButtonGroup/ButtonGroup.styles.d.ts +0 -0
  831. /package/dist/{src/components → components}/ButtonGroup/ButtonGroupProvider.d.ts +0 -0
  832. /package/dist/{src/components → components}/ButtonGroup/hooks/useButtonGroupItem.d.ts +0 -0
  833. /package/dist/{src/components → components}/ButtonGroup/index.d.ts +0 -0
  834. /package/dist/{src/components/Button → components/ButtonGroup}/meta/Thumbnail.d.ts +0 -0
  835. /package/dist/{src/components/Button → components/ButtonGroup}/meta/index.d.ts +0 -0
  836. /package/dist/{src/components → components}/Card/index.d.ts +0 -0
  837. /package/dist/{src/components/ButtonGroup → components/Card}/meta/Thumbnail.d.ts +0 -0
  838. /package/dist/{src/components/ButtonGroup → components/Card}/meta/index.d.ts +0 -0
  839. /package/dist/{src/components → components}/Checkbox/index.d.ts +0 -0
  840. /package/dist/{src/components/Card → components/Checkbox}/meta/Thumbnail.d.ts +0 -0
  841. /package/dist/{src/components/Card → components/Checkbox}/meta/index.d.ts +0 -0
  842. /package/dist/{src/components → components}/CheckboxGroup/CheckboxGroup.styles.d.ts +0 -0
  843. /package/dist/{src/components → components}/CheckboxGroup/index.d.ts +0 -0
  844. /package/dist/{src/components/Checkbox → components/CheckboxGroup}/meta/Thumbnail.d.ts +0 -0
  845. /package/dist/{src/components/Checkbox → components/CheckboxGroup}/meta/index.d.ts +0 -0
  846. /package/dist/{src/components → components}/CheckboxMark/CheckboxMark.styles.d.ts +0 -0
  847. /package/dist/{src/components → components}/CheckboxMark/index.d.ts +0 -0
  848. /package/dist/{src/components → components}/Col/index.d.ts +0 -0
  849. /package/dist/{src/components/CheckboxGroup → components/Col}/meta/Thumbnail.d.ts +0 -0
  850. /package/dist/{src/components/CheckboxGroup → components/Col}/meta/index.d.ts +0 -0
  851. /package/dist/{src/components → components}/Container/index.d.ts +0 -0
  852. /package/dist/{src/components/Col → components/Container}/meta/Thumbnail.d.ts +0 -0
  853. /package/dist/{src/components/Col → components/Container}/meta/index.d.ts +0 -0
  854. /package/dist/{src/components → components}/Divider/index.d.ts +0 -0
  855. /package/dist/{src/components/Container → components/Divider}/meta/Thumbnail.d.ts +0 -0
  856. /package/dist/{src/components/Container → components/Divider}/meta/index.d.ts +0 -0
  857. /package/dist/{src/components → components}/Expander/index.d.ts +0 -0
  858. /package/dist/{src/components/Divider → components/Expander}/meta/Thumbnail.d.ts +0 -0
  859. /package/dist/{src/components/Divider → components/Expander}/meta/index.d.ts +0 -0
  860. /package/dist/{src/components → components}/Field/helpers/getUniqueItemsByKey.d.ts +0 -0
  861. /package/dist/{src/components → components}/Field/index.d.ts +0 -0
  862. /package/dist/{src/components/Expander → components/Field}/meta/Thumbnail.d.ts +0 -0
  863. /package/dist/{src/components/Expander → components/Field}/meta/index.d.ts +0 -0
  864. /package/dist/{src/components → components}/Hide/index.d.ts +0 -0
  865. /package/dist/{src/components/Field → components/Hide}/meta/Thumbnail.d.ts +0 -0
  866. /package/dist/{src/components/Field → components/Hide}/meta/index.d.ts +0 -0
  867. /package/dist/{src/components/Filter → components/Icon}/meta/Thumbnail.d.ts +0 -0
  868. /package/dist/{src/components/Filter → components/Icon}/meta/index.d.ts +0 -0
  869. /package/dist/{src/components → components}/Image/Image.styles.d.ts +0 -0
  870. /package/dist/{src/components → components}/Image/index.d.ts +0 -0
  871. /package/dist/{src/components/Hide → components/Image}/meta/Thumbnail.d.ts +0 -0
  872. /package/dist/{src/components/Hide → components/Image}/meta/index.d.ts +0 -0
  873. /package/dist/{src/components → components}/Inline/Inline.styles.d.ts +0 -0
  874. /package/dist/{src/components → components}/Inline/index.d.ts +0 -0
  875. /package/dist/{src/components/Icon → components/Inline}/meta/Thumbnail.d.ts +0 -0
  876. /package/dist/{src/components/Icon → components/Inline}/meta/index.d.ts +0 -0
  877. /package/dist/{src/components → components}/Input/index.d.ts +0 -0
  878. /package/dist/{src/components/Image → components/Input}/meta/Thumbnail.d.ts +0 -0
  879. /package/dist/{src/components/Image → components/Input}/meta/index.d.ts +0 -0
  880. /package/dist/{src/components → components}/InputCurrency/index.d.ts +0 -0
  881. /package/dist/{src/components/Inline → components/InputCurrency}/meta/Thumbnail.d.ts +0 -0
  882. /package/dist/{src/components/Inline → components/InputCurrency}/meta/index.d.ts +0 -0
  883. /package/dist/{src/components → components}/Label/Label.styles.d.ts +0 -0
  884. /package/dist/{src/components → components}/Label/index.d.ts +0 -0
  885. /package/dist/{src/components/Input → components/Label}/meta/Thumbnail.d.ts +0 -0
  886. /package/dist/{src/components/Input → components/Label}/meta/index.d.ts +0 -0
  887. /package/dist/{src/components → components}/Link/index.d.ts +0 -0
  888. /package/dist/{src/components/InputCurrency → components/Link}/meta/Thumbnail.d.ts +0 -0
  889. /package/dist/{src/components/InputCurrency → components/Link}/meta/index.d.ts +0 -0
  890. /package/dist/{src/components → components}/Menu/MenuItem/hooks/useMenuItemRole.d.ts +0 -0
  891. /package/dist/{src/components/Label → components/Menu}/meta/Thumbnail.d.ts +0 -0
  892. /package/dist/{src/components/Label → components/Menu}/meta/index.d.ts +0 -0
  893. /package/dist/{src/components → components}/Modal/hooks/useModal.d.ts +0 -0
  894. /package/dist/{src/components → components}/Modal/hooks/useProviderModal.d.ts +0 -0
  895. /package/dist/{src/components → components}/Modal/index.d.ts +0 -0
  896. /package/dist/{src/components/Link → components/Modal}/meta/Thumbnail.d.ts +0 -0
  897. /package/dist/{src/components/Link → components/Modal}/meta/index.d.ts +0 -0
  898. /package/dist/{src/components/Menu → components/Panel}/meta/Thumbnail.d.ts +0 -0
  899. /package/dist/{src/components/Menu → components/Panel}/meta/index.d.ts +0 -0
  900. /package/dist/{src/components/Modal → components/Pill}/meta/Thumbnail.d.ts +0 -0
  901. /package/dist/{src/components/Modal → components/Pill}/meta/index.d.ts +0 -0
  902. /package/dist/{src/components → components}/Placeholder/index.d.ts +0 -0
  903. /package/dist/{src/components/Panel → components/Placeholder}/meta/Thumbnail.d.ts +0 -0
  904. /package/dist/{src/components/Panel → components/Placeholder}/meta/index.d.ts +0 -0
  905. /package/dist/{src/components → components}/Popover/Popover.styles.d.ts +0 -0
  906. /package/dist/{src/components → components}/Popover/helpers/hasFocus.d.ts +0 -0
  907. /package/dist/{src/components → components}/Popover/helpers/waitUntilTrue.d.ts +0 -0
  908. /package/dist/{src/components → components}/Popover/hooks/usePopoverAria.d.ts +0 -0
  909. /package/dist/{src/components → components}/Popover/hooks/usePopoverNavigation.d.ts +0 -0
  910. /package/dist/{src/components/Placeholder → components/Popover}/meta/Thumbnail.d.ts +0 -0
  911. /package/dist/{src/components/Placeholder → components/Popover}/meta/index.d.ts +0 -0
  912. /package/dist/{src/components → components}/Progress/Progress.styles.d.ts +0 -0
  913. /package/dist/{src/components → components}/Progress/index.d.ts +0 -0
  914. /package/dist/{src/components/Popover → components/Progress}/meta/Thumbnail.d.ts +0 -0
  915. /package/dist/{src/components/Popover → components/Progress}/meta/index.d.ts +0 -0
  916. /package/dist/{src/components → components}/Provider/index.d.ts +0 -0
  917. /package/dist/{src/components → components}/Radio/index.d.ts +0 -0
  918. /package/dist/{src/components/Progress → components/Radio}/meta/Thumbnail.d.ts +0 -0
  919. /package/dist/{src/components/Progress → components/Radio}/meta/index.d.ts +0 -0
  920. /package/dist/{src/components → components}/RadioGroup/index.d.ts +0 -0
  921. /package/dist/{src/components/Radio → components/RadioGroup}/meta/Thumbnail.d.ts +0 -0
  922. /package/dist/{src/components/Radio → components/RadioGroup}/meta/index.d.ts +0 -0
  923. /package/dist/{src/components → components}/Readonly/index.d.ts +0 -0
  924. /package/dist/{src/components/RadioGroup → components/Readonly}/meta/Thumbnail.d.ts +0 -0
  925. /package/dist/{src/components/RadioGroup → components/Readonly}/meta/index.d.ts +0 -0
  926. /package/dist/{src/components → components}/Row/Row.styles.d.ts +0 -0
  927. /package/dist/{src/components → components}/Row/index.d.ts +0 -0
  928. /package/dist/{src/components/Readonly → components/Row}/meta/Thumbnail.d.ts +0 -0
  929. /package/dist/{src/components/Readonly → components/Row}/meta/index.d.ts +0 -0
  930. /package/dist/{src/components/RichSelect → components/Select}/SelectBody/SelectBody.styles.d.ts +0 -0
  931. /package/dist/{src/components/RichSelect → components/Select}/SelectMenu/SelectMenu.styles.d.ts +0 -0
  932. /package/dist/{src/components/RichSelect → components/Select}/SelectSearch/SelectSearch.styles.d.ts +0 -0
  933. /package/dist/{src/components/RichSelect → components/Select}/SelectSearchInput/SelectSearchInput.d.ts +0 -0
  934. /package/dist/{src/components/RichSelect → components/Select}/SelectSearchInput/SelectSearchInput.styles.d.ts +0 -0
  935. /package/dist/{src/components/RichSelect → components/Select}/meta/Thumbnail.d.ts +0 -0
  936. /package/dist/{src/components/RichSelect → components/Select}/meta/index.d.ts +0 -0
  937. /package/dist/{src/components → components}/Skeleton/Skeleton.styles.d.ts +0 -0
  938. /package/dist/{src/components → components}/Skeleton/index.d.ts +0 -0
  939. /package/dist/{src/components/Row → components/Skeleton}/meta/Thumbnail.d.ts +0 -0
  940. /package/dist/{src/components/Row → components/Skeleton}/meta/index.d.ts +0 -0
  941. /package/dist/{src/components → components}/SkipLink/SkipLink.styles.d.ts +0 -0
  942. /package/dist/{src/components → components}/SkipLink/index.d.ts +0 -0
  943. /package/dist/{src/components/Select → components/SkipLink}/meta/Thumbnail.d.ts +0 -0
  944. /package/dist/{src/components/Select → components/SkipLink}/meta/index.d.ts +0 -0
  945. /package/dist/{src/components → components}/Slideout/hooks/useProviderSlideout.d.ts +0 -0
  946. /package/dist/{src/components → components}/Slideout/hooks/usePushElement.d.ts +0 -0
  947. /package/dist/{src/components → components}/Slideout/hooks/useSlideout.d.ts +0 -0
  948. /package/dist/{src/components → components}/Slideout/index.d.ts +0 -0
  949. /package/dist/{src/components/Skeleton → components/Slideout}/meta/Thumbnail.d.ts +0 -0
  950. /package/dist/{src/components/Skeleton → components/Slideout}/meta/index.d.ts +0 -0
  951. /package/dist/{src/components → components}/Slider/Slider.d.ts +0 -0
  952. /package/dist/{src/components → components}/Slider/Slider.styles.d.ts +0 -0
  953. /package/dist/{src/components → components}/Slider/index.d.ts +0 -0
  954. /package/dist/{src/components/SkipLink → components/Slider}/meta/Thumbnail.d.ts +0 -0
  955. /package/dist/{src/components/SkipLink → components/Slider}/meta/index.d.ts +0 -0
  956. /package/dist/{src/components → components}/Spinner/index.d.ts +0 -0
  957. /package/dist/{src/components/Slideout → components/Spinner}/meta/Thumbnail.d.ts +0 -0
  958. /package/dist/{src/components/Slideout → components/Spinner}/meta/index.d.ts +0 -0
  959. /package/dist/{src/components → components}/Stack/index.d.ts +0 -0
  960. /package/dist/{src/components/Slider → components/Stack}/meta/Thumbnail.d.ts +0 -0
  961. /package/dist/{src/components/Slider → components/Stack}/meta/index.d.ts +0 -0
  962. /package/dist/{src/components → components}/TabSet/index.d.ts +0 -0
  963. /package/dist/{src/components/Spinner → components/TabSet}/meta/Thumbnail.d.ts +0 -0
  964. /package/dist/{src/components/Spinner → components/TabSet}/meta/index.d.ts +0 -0
  965. /package/dist/{src/components → components}/Table/Table.styles.d.ts +0 -0
  966. /package/dist/{src/components → components}/Table/helpers/composeTableColumnDefs.d.ts +0 -0
  967. /package/dist/{src/components → components}/Table/helpers/composeTableInitialSorting.d.ts +0 -0
  968. /package/dist/{src/components → components}/Table/hooks/useTableColumnSort.d.ts +0 -0
  969. /package/dist/{src/components → components}/Table/hooks/useTableColumnStyles.d.ts +0 -0
  970. /package/dist/{src/components/Stack → components/Table}/meta/Thumbnail.d.ts +0 -0
  971. /package/dist/{src/components/Stack → components/Table}/meta/index.d.ts +0 -0
  972. /package/dist/{src/components → components}/Tag/TagInput/TagInput.d.ts +0 -0
  973. /package/dist/{src/components → components}/Tag/TagInput/TagInput.styles.d.ts +0 -0
  974. /package/dist/{src/components → components}/Tag/index.d.ts +0 -0
  975. /package/dist/{src/components/TabSet → components/Tag}/meta/Thumbnail.d.ts +0 -0
  976. /package/dist/{src/components/TabSet → components/Tag}/meta/index.d.ts +0 -0
  977. /package/dist/{src/components → components}/Text/Text.styles.d.ts +0 -0
  978. /package/dist/{src/components → components}/Text/index.d.ts +0 -0
  979. /package/dist/{src/components/Table → components/Text}/meta/Thumbnail.d.ts +0 -0
  980. /package/dist/{src/components/Table → components/Text}/meta/index.d.ts +0 -0
  981. /package/dist/{src/components → components}/Toaster/Toaster.styles.d.ts +0 -0
  982. /package/dist/{src/components → components}/Toaster/helpers/toasterRegister.d.ts +0 -0
  983. /package/dist/{src/components → components}/Toaster/hooks/useToaster.d.ts +0 -0
  984. /package/dist/{src/components/Tag → components/Toaster}/meta/Thumbnail.d.ts +0 -0
  985. /package/dist/{src/components/Tag → components/Toaster}/meta/index.d.ts +0 -0
  986. /package/dist/{src/components → components}/Toggle/Toggle.styles.d.ts +0 -0
  987. /package/dist/{src/components → components}/Toggle/index.d.ts +0 -0
  988. /package/dist/{src/components/Text → components/Toggle}/meta/Thumbnail.d.ts +0 -0
  989. /package/dist/{src/components/Text → components/Toggle}/meta/index.d.ts +0 -0
  990. /package/dist/{src/components → components}/Tooltip/Tooltip.styles.d.ts +0 -0
  991. /package/dist/{src/components → components}/Tooltip/index.d.ts +0 -0
  992. /package/dist/{src/components/Toaster → components/Tooltip}/meta/Thumbnail.d.ts +0 -0
  993. /package/dist/{src/components/Toaster → components/Tooltip}/meta/index.d.ts +0 -0
  994. /package/dist/{src/components → components}/ValidationMessage/index.d.ts +0 -0
  995. /package/dist/{src/components/Toggle → components/ValidationMessage}/meta/Thumbnail.d.ts +0 -0
  996. /package/dist/{src/components/Toggle → components/ValidationMessage}/meta/index.d.ts +0 -0
  997. /package/dist/{src/helpers → helpers}/dom/closestCrossShadow.d.ts +0 -0
  998. /package/dist/{src/helpers → helpers}/dom/focusableElements.d.ts +0 -0
  999. /package/dist/{src/helpers → helpers}/dom/getActiveElement.d.ts +0 -0
  1000. /package/dist/{src/helpers → helpers}/form/getFormControlValueAsString.d.ts +0 -0
  1001. /package/dist/{src/helpers → helpers}/form/getFormControlValueAsStringIfDefined.d.ts +0 -0
  1002. /package/dist/{src/helpers → helpers}/form/getValueAsEvent.d.ts +0 -0
  1003. /package/dist/{src/helpers → helpers}/formatting/capitalizeFirstLetter.d.ts +0 -0
  1004. /package/dist/{src/helpers → helpers}/formatting/formatCurrency.d.ts +0 -0
  1005. /package/dist/{src/helpers → helpers}/formatting/formatDate.d.ts +0 -0
  1006. /package/dist/{src/helpers → helpers}/formatting/formatDateTime.d.ts +0 -0
  1007. /package/dist/{src/helpers → helpers}/formatting/formatObjectKey.d.ts +0 -0
  1008. /package/dist/{src/helpers → helpers}/formatting/formatPercentage.d.ts +0 -0
  1009. /package/dist/{src/helpers → helpers}/formatting/toArray.d.ts +0 -0
  1010. /package/dist/{src/helpers → helpers}/formatting/toCSSLengthValue.d.ts +0 -0
  1011. /package/dist/{src/helpers → helpers}/label-value/composeLabelValueDescriptor.d.ts +0 -0
  1012. /package/dist/{src/helpers → helpers}/label-value/highlightQueryInLabel.d.ts +0 -0
  1013. /package/dist/{src/helpers → helpers}/label-value/highlightQueryInLabelValue.d.ts +0 -0
  1014. /package/dist/{src/helpers → helpers}/transition/getTransitionDuration.d.ts +0 -0
  1015. /package/dist/{src/helpers → helpers}/transition/timeStringToNumber.d.ts +0 -0
  1016. /package/dist/{src/helpers → helpers}/utility/propagateTestid.d.ts +0 -0
  1017. /package/dist/{src/helpers → helpers}/utility/spreadUnlessUndefined.d.ts +0 -0
  1018. /package/dist/{src/hooks → hooks}/index.d.ts +0 -0
  1019. /package/dist/{src/hooks → hooks}/useAriaRelationship.d.ts +0 -0
  1020. /package/dist/{src/hooks → hooks}/useControlledState.d.ts +0 -0
  1021. /package/dist/{src/hooks → hooks}/useIdIfNeeded.d.ts +0 -0
  1022. /package/dist/{src/components/Tooltip → patterns/Breadcrumbs}/meta/Thumbnail.d.ts +0 -0
  1023. /package/dist/{src/components/Tooltip → patterns/Breadcrumbs}/meta/index.d.ts +0 -0
  1024. /package/dist/{src/components/ValidationMessage → patterns/ContextualMenu}/meta/Thumbnail.d.ts +0 -0
  1025. /package/dist/{src/components/ValidationMessage → patterns/ContextualMenu}/meta/index.d.ts +0 -0
  1026. /package/dist/{src/patterns/Form → patterns/DropdownMenu}/meta/Thumbnail.d.ts +0 -0
  1027. /package/dist/{src/patterns/Form → patterns/DropdownMenu}/meta/index.d.ts +0 -0
  1028. /package/dist/{src/patterns → patterns}/Form/FormContext.d.ts +0 -0
  1029. /package/dist/{src/patterns → patterns}/Form/FormField/helpers/getErrorTypeMessage.d.ts +0 -0
  1030. /package/dist/{src/patterns → patterns}/Form/FormField/helpers/transformCustomRulesToValidateRule.d.ts +0 -0
  1031. /package/dist/{src/patterns → patterns}/Form/hooks/useNoDefaultValueInForms.d.ts +0 -0
  1032. /package/dist/{src/patterns → patterns}/Form/index.d.ts +0 -0
  1033. /package/dist/{src/patterns/Loading → patterns/Form}/meta/Thumbnail.d.ts +0 -0
  1034. /package/dist/{src/patterns/Loading → patterns/Form}/meta/index.d.ts +0 -0
  1035. /package/dist/{src/patterns → patterns}/Loading/hooks/useEstimatedProgressValue.d.ts +0 -0
  1036. /package/dist/{src/patterns → patterns}/Loading/hooks/useShouldRenderLoading.d.ts +0 -0
  1037. /package/dist/{src/patterns → patterns}/Loading/hooks/useShowIndicator.d.ts +0 -0
  1038. /package/dist/{src/patterns → patterns}/Loading/hooks/useSuspenseResource.d.ts +0 -0
  1039. /package/dist/{src/patterns → patterns}/Loading/index.d.ts +0 -0
  1040. /package/dist/{src/patterns/Shadow → patterns/Loading}/meta/Thumbnail.d.ts +0 -0
  1041. /package/dist/{src/patterns/Shadow → patterns/Loading}/meta/index.d.ts +0 -0
  1042. /package/dist/{src/patterns → patterns}/Shadow/index.d.ts +0 -0
  1043. /package/dist/{src/styled-system → styled-system}/css/css.d.ts +0 -0
  1044. /package/dist/{src/styled-system → styled-system}/css/cva.d.ts +0 -0
  1045. /package/dist/{src/styled-system → styled-system}/css/cx.d.ts +0 -0
  1046. /package/dist/{src/styled-system → styled-system}/css/index.d.ts +0 -0
  1047. /package/dist/{src/styled-system → styled-system}/css/sva.d.ts +0 -0
  1048. /package/dist/{src/styled-system → styled-system}/jsx/aspect-ratio.d.ts +0 -0
  1049. /package/dist/{src/styled-system → styled-system}/jsx/bleed.d.ts +0 -0
  1050. /package/dist/{src/styled-system → styled-system}/jsx/box.d.ts +0 -0
  1051. /package/dist/{src/styled-system → styled-system}/jsx/center.d.ts +0 -0
  1052. /package/dist/{src/styled-system → styled-system}/jsx/circle.d.ts +0 -0
  1053. /package/dist/{src/styled-system → styled-system}/jsx/container.d.ts +0 -0
  1054. /package/dist/{src/styled-system → styled-system}/jsx/cq.d.ts +0 -0
  1055. /package/dist/{src/styled-system → styled-system}/jsx/create-style-context.d.ts +0 -0
  1056. /package/dist/{src/styled-system → styled-system}/jsx/divider.d.ts +0 -0
  1057. /package/dist/{src/styled-system → styled-system}/jsx/factory.d.ts +0 -0
  1058. /package/dist/{src/styled-system → styled-system}/jsx/flex.d.ts +0 -0
  1059. /package/dist/{src/styled-system → styled-system}/jsx/float.d.ts +0 -0
  1060. /package/dist/{src/styled-system → styled-system}/jsx/grid-item.d.ts +0 -0
  1061. /package/dist/{src/styled-system → styled-system}/jsx/grid.d.ts +0 -0
  1062. /package/dist/{src/styled-system → styled-system}/jsx/hstack.d.ts +0 -0
  1063. /package/dist/{src/styled-system → styled-system}/jsx/index.d.ts +0 -0
  1064. /package/dist/{src/styled-system → styled-system}/jsx/is-valid-prop.d.ts +0 -0
  1065. /package/dist/{src/styled-system → styled-system}/jsx/link-overlay.d.ts +0 -0
  1066. /package/dist/{src/styled-system → styled-system}/jsx/spacer.d.ts +0 -0
  1067. /package/dist/{src/styled-system → styled-system}/jsx/square.d.ts +0 -0
  1068. /package/dist/{src/styled-system → styled-system}/jsx/stack.d.ts +0 -0
  1069. /package/dist/{src/styled-system → styled-system}/jsx/visually-hidden.d.ts +0 -0
  1070. /package/dist/{src/styled-system → styled-system}/jsx/vstack.d.ts +0 -0
  1071. /package/dist/{src/styled-system → styled-system}/jsx/wrap.d.ts +0 -0
  1072. /package/dist/{src/styled-system → styled-system}/patterns/aspect-ratio.d.ts +0 -0
  1073. /package/dist/{src/styled-system → styled-system}/patterns/bleed.d.ts +0 -0
  1074. /package/dist/{src/styled-system → styled-system}/patterns/box.d.ts +0 -0
  1075. /package/dist/{src/styled-system → styled-system}/patterns/center.d.ts +0 -0
  1076. /package/dist/{src/styled-system → styled-system}/patterns/circle.d.ts +0 -0
  1077. /package/dist/{src/styled-system → styled-system}/patterns/container.d.ts +0 -0
  1078. /package/dist/{src/styled-system → styled-system}/patterns/cq.d.ts +0 -0
  1079. /package/dist/{src/styled-system → styled-system}/patterns/flex.d.ts +0 -0
  1080. /package/dist/{src/styled-system → styled-system}/patterns/grid-item.d.ts +0 -0
  1081. /package/dist/{src/styled-system → styled-system}/patterns/grid.d.ts +0 -0
  1082. /package/dist/{src/styled-system → styled-system}/patterns/hstack.d.ts +0 -0
  1083. /package/dist/{src/styled-system → styled-system}/patterns/index.d.ts +0 -0
  1084. /package/dist/{src/styled-system → styled-system}/patterns/link-overlay.d.ts +0 -0
  1085. /package/dist/{src/styled-system → styled-system}/patterns/spacer.d.ts +0 -0
  1086. /package/dist/{src/styled-system → styled-system}/patterns/square.d.ts +0 -0
  1087. /package/dist/{src/styled-system → styled-system}/patterns/stack.d.ts +0 -0
  1088. /package/dist/{src/styled-system → styled-system}/patterns/visually-hidden.d.ts +0 -0
  1089. /package/dist/{src/styled-system → styled-system}/patterns/vstack.d.ts +0 -0
  1090. /package/dist/{src/styled-system → styled-system}/patterns/wrap.d.ts +0 -0
  1091. /package/dist/{src/styled-system → styled-system}/recipes/index.d.ts +0 -0
  1092. /package/dist/{src/styled-system → styled-system}/recipes/text.d.ts +0 -0
  1093. /package/dist/{src/styled-system → styled-system}/tokens/index.d.ts +0 -0
  1094. /package/dist/{src/styled-system → styled-system}/types/csstype.d.ts +0 -0
  1095. /package/dist/{src/styled-system → styled-system}/types/global.d.ts +0 -0
  1096. /package/dist/{src/styled-system → styled-system}/types/index.d.ts +0 -0
  1097. /package/dist/{src/styled-system → styled-system}/types/jsx.d.ts +0 -0
  1098. /package/dist/{src/styled-system → styled-system}/types/parts.d.ts +0 -0
  1099. /package/dist/{src/styled-system → styled-system}/types/recipe.d.ts +0 -0
  1100. /package/dist/{src/styled-system → styled-system}/types/selectors.d.ts +0 -0
  1101. /package/dist/{src/styled-system → styled-system}/types/static-css.d.ts +0 -0
  1102. /package/dist/{src/styled-system → styled-system}/types/system-types.d.ts +0 -0
@@ -0,0 +1,619 @@
1
+ # Form
2
+
3
+ Use the IressForm component when you want to request, validate and process data from the user.
4
+
5
+ > **Pattern:** `import { IressForm } from '@iress-oss/ids-components'`
6
+ > **Storybook:** [Form in Storybook](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/docs/components_patterns-form--docs)
7
+
8
+ ## Quick Start
9
+
10
+ ```tsx
11
+ import { IressForm } from '@iress-oss/ids-components';
12
+
13
+ <IressForm heading="Contact details" pattern="short" />
14
+ ```
15
+
16
+ import {
17
+ ComponentApiExpander,
18
+ ComponentExample,
19
+ ComponentOverview,
20
+ } from '@iress-oss/ids-storybook-config';
21
+
22
+ ## Installation
23
+
24
+ As of version 6, `react-hook-form` has been moved to a peer dependency. You will need to install it alongside `@iress-oss/ids-components` in order to use the `IressForm` or `IressHookForm` component.
25
+
26
+ ```bash
27
+ yarn add @iress-oss/ids-components react-hook-form
28
+ ```
29
+
30
+ ## Key concepts
31
+
32
+ `IressForm` is built on top of [React Hook Forms](https://react-hook-form.com/). This provides you the power of React Hook Forms with the convenience of IDS form components. However, there are some key differences to be aware of as it may affect how you build your forms.
33
+
34
+ ### State management
35
+
36
+ `IressForm` manages the state of the form, including the form data and validation. This is done using the `useForm` hook from React Hook Forms. This hook provides a way to manage the form state, and provides methods to interact with the form. This was done to simplify the form components, make them more predictable (as the form becomes the single source of truth for all form related data) and improve performance by reducing re-renders (very important for large forms).
37
+
38
+ Due to this change, there are a few things you should consider during development:
39
+
40
+ - Avoid using the `useState` hook to manage form state. Instead, use the `useFormContext()` hook from `react-hook-form` or the `ref` of the `IressForm` component to interact with the form state. The initial value of the form can be set using the `defaultValues` prop, but from then on you should be using either the hook or ref to interact with the form state.
41
+ - Avoid using `onChange` handlers on form fields to react to form values. Instead, use the `useWatch` hook from `react-hook-form` to watch the value of a field and conditionally render fields based on the value of another field.
42
+
43
+ See below an example comparing a version 4 and version 5 `IressForm` when managing form state.
44
+
45
+ ```tsx
46
+ <DiffViewer
47
+ allowModeChange
48
+ oldValue={`import { IressForm, IressField, IressInput, IressCheckboxGroup, IressCheckbox } from '@iress/components';
49
+
50
+ export const App = () => {
51
+ // We need to create our own state to manage the visibility of the fields,
52
+ // which means we have two sources of truth potentially making our code harder to maintain
53
+ const [show, setShow] = useState(['name']);
54
+
55
+ return (
56
+ <IressForm>
57
+ <IressField label="Show fields">
58
+ <IressCheckboxGroup value={show} onChange={(newValues) => setShow(newValues)}>
59
+ <IressCheckbox value="name">Name</IressCheckbox>
60
+ <IressCheckbox value="email">Email</IressCheckbox>
61
+ </IressCheckboxGroup>
62
+ </IressField>
63
+ {show.includes('name') && (
64
+ <IressField label="Name">
65
+ <IressInput name="name" />
66
+ </IressField>
67
+ )}
68
+ {show.includes('email') && (
69
+ <IressField label="Email">
70
+ <IressInput name="email" type="email" />
71
+ </IressField>
72
+ )}
73
+ </IressForm>
74
+ );
75
+ };`}
76
+ newValue={`import { IressForm, IressFormField, IressInput, IressCheckboxGroup, IressCheckbox } from '@iress-oss/ids-components';
77
+ import { useWatch } from 'react-hook-form';
78
+
79
+ const ConditionalFields = () => {
80
+ // Instead of creating our own state, we can now use the form state via the useWatch hook,
81
+ // meaning we still have a single source of truth
82
+ const show = useWatch({ name: 'show'});
83
+
84
+ return (
85
+ <>
86
+ <IressFormField
87
+ label="Show fields"
88
+ name="show"
89
+ render={(controlledProps) => (
90
+ <IressCheckboxGroup {...controlledProps}>
91
+ <IressCheckbox value="name">Name</IressCheckbox>
92
+ <IressCheckbox value="email">Email</IressCheckbox>
93
+ </IressCheckboxGroup>
94
+ )}
95
+ />
96
+ {show?.includes('name') && (
97
+ <IressFormField
98
+ label="Name"
99
+ name="name"
100
+ render={(controlledProps) => <IressInput {...controlledProps} />}
101
+ />
102
+ )}
103
+ {show?.includes('email') && (
104
+ <IressFormField
105
+ label="Email"
106
+ name="email"
107
+ render={(controlledProps) => <IressInput {...controlledProps} type="email" />}
108
+ />
109
+ )}
110
+ </>
111
+ );
112
+ };
113
+
114
+ export const App = () => (
115
+ <IressForm defaultValues={{ show: ['name'] }}>
116
+ <ConditionalFields />
117
+ </IressForm>
118
+ );`}
119
+ />
120
+ ```
121
+
122
+ [View "StateManagementV4ToV5" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--state-management-v4to-v5)
123
+
124
+ ### Validation
125
+
126
+ Validation is now done declaratively using the `rules` prop on the `IressFormField` component. This is based on the [rules available in React Hook Forms](https://www.react-hook-form.com/api/useform/register/#options). This change was made to allow for more complex validation rules to be implemented.
127
+
128
+ Due to this change, there are a few things you should consider during development:
129
+
130
+ - If you want validation messages to be shown on form controls, you need to use the `IressFormField` component to wrap around the form control and set the `rules` prop. This will allow the form to manage the validation state of the field.
131
+ - Although you can still use props such as `maxLength` on `IressInput`, these no longer propagate to the form validation. You need to use the `rules` prop to set these validation rules as well, and rely on `maxLength` for the input to stop the user from entering more characters than allowed (a user experience improvement that we definitely recommend).
132
+ - You can no longer override default error messages for the whole form. To override the default messages, you must specify them in the `rules` prop per `IressFormField`.
133
+
134
+ See below an example comparing a version 4 and version 5 `IressForm` when adding validation rules.
135
+
136
+ ```tsx
137
+ <DiffViewer
138
+ allowModeChange
139
+ oldValue={`import { IressForm, IressField, IressInput, IressButton } from '@iress/components';
140
+
141
+ export const App = () => (
142
+ <IressForm valueMissing="{{fieldName}} needs to be filled in!">
143
+ <IressField label="Name">
144
+ <IressInput name="name" required />
145
+ </IressField>
146
+ <IressField label="Email">
147
+ <IressInput name="email" maxLength={10} />
148
+ </IressField>
149
+ <IressButton type="submit" mode="primary">
150
+ Sign up
151
+ </IressButton>
152
+ </IressForm>
153
+ );`}
154
+ newValue={`import { IressForm, IressFormField, IressInput, IressButton } from '@iress-oss/ids-components';
155
+
156
+ export const App = () => (
157
+ <IressForm>
158
+ <IressFormField
159
+ label="Name"
160
+ name="name"
161
+ render={(controlledProps) => <IressInput {...controlledProps} />}
162
+ rules={{ required: 'Name needs to be filled in!' }}
163
+ />
164
+ <IressFormField
165
+ label="Email"
166
+ name="email"
167
+ render={(controlledProps) => <IressInput {...controlledProps} type="email" maxLength={10} />}
168
+ rules={{ maxLength: 10 }}
169
+ />
170
+ <IressButton type="submit" mode="primary">
171
+ Sign up
172
+ </IressButton>
173
+ </IressForm>
174
+ );`}
175
+ />
176
+ ```
177
+
178
+ [View "ValidationV4ToV5" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--validation-v4to-v5)
179
+
180
+ ### Syncing state
181
+
182
+ For most scenarios, you should use the `onSubmit` event to sync the form data with other state management systems (eg. server, browser storage or state management libraries such as Redux). This event is emitted when the form passes validation, and contains a map of the field names and the data entered by the user.
183
+
184
+ For more complex scenarios, you may need to sync a field value before the form is submitted. In this case, you can use the `useWatch` hook to watch the value of a field and sync it with your state.
185
+
186
+ Consider the following for your development:
187
+
188
+ - Only use other state management systems to fill out the form at the initial render using `defaultValues`. After that, use the `onSubmit` event to sync the form data with your state.
189
+ - If you need to set form with data coming from an external system, use the `ref` of the form to `reset` the form values.
190
+
191
+ ```tsx
192
+ const ref = useRef<FormRef | null>(null);
193
+ const api = useApi();
194
+
195
+ const handleSubmit = async (data) => {
196
+ // Sync the form data with your state
197
+ const details = await api.updateUser(data);
198
+
199
+ // Update the form with the new data
200
+ ref.current?.reset(details);
201
+ };
202
+
203
+ return (
204
+ <IressForm onSubmit={handleSubmit} ref={ref}>
205
+ ...
206
+ </IressForm>
207
+ );
208
+ ```
209
+
210
+ ## Usage
211
+
212
+ ### Patterns
213
+
214
+ The `IressForm` component supports different patterns to ensure consistency in how forms are displayed depending on the context of the form.
215
+
216
+ 1. `long`: This pattern is used when a form has more than 8 fields. It has the following characteristics:
217
+ - The `heading` and `actions` are displayed at the top of the form and can be `sticky`, ensuring they are always visible to the user.
218
+ - The validation errors are displayed when the user blurs out of a field (ie. moves to the next field), ensuring that the user is informed of any errors before submitting the form.
219
+ 2. `short`: This is the default pattern and should be used when a form has 8 or fewer fields, usually for familiar data such as the user's login details. It has the following characteristics:
220
+ - The `heading` is displayed at the top of the for and the `actions` are displayed at the bottom of the form.
221
+ - The validation errors are displayed when the user submits the form to ensure that the user is not overwhelmed with errors when filling out the form.
222
+
223
+ **Note:** It is recommended to use the patterns above for new applications, or those doing an overhaul, as they provide a consistent user experience across forms. For older products, please follow the existing patterns in your application to ensure consistency with the rest of the product.
224
+
225
+ ### Fields
226
+
227
+ Use the `IressFormField` component to create form fields. This component is a layout component that wraps around form controls such as `IressInput`. It provides a consistent layout for form fields, and hooks into the `IressForm` component to provide validation and error handling.
228
+
229
+ It has three required props:
230
+
231
+ - `name`: The name of the field, which will be used to identify the field in the form data.
232
+ - `label`: The label for the field.
233
+ - `render`: A render prop that renders the form control. It is passed an object containing the props to be spread onto the form control to allow it to be controlled by the form.
234
+
235
+ ```tsx
236
+ <IressFormField
237
+ name="email"
238
+ label="Email"
239
+ render={(controlledProps) => <IressInput {...controlledProps} type="email" />}
240
+ />
241
+ ```
242
+
243
+ #### Supported form controls
244
+
245
+ Here are some examples of how to use `IressFormField` with different form controls. If you are using a form control that has multiple inputs inside (for example, `IressCheckboxGroup`), you can use `IressFormFieldset`, which changes the HTML structure to use a `fieldset` and `legend` element to group the inputs.
246
+
247
+ ```tsx
248
+ <IressForm heading="All supported form fields" pattern="long" />
249
+ ```
250
+
251
+ [View "Fields" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--fields)
252
+
253
+ ### Supplementary content
254
+
255
+ The `renderSupplementary` prop allows you to render additional content alongside the field that has access to the field props and state. This is useful for displaying dynamic information such as character counters, password strength meters, or custom help text that responds to user input.
256
+
257
+ The render function receives two arguments:
258
+
259
+ 1. `field`: An object containing the field props (id, name, value, onChange, onBlur, ref)
260
+ 2. `state`: An object containing the field state (fieldState, formState)
261
+
262
+ Common use cases include:
263
+
264
+ - **Character counters**: Display the current character count and maximum allowed
265
+ - **Password strength indicators**: Show password strength based on the current value
266
+ - **Dynamic hints**: Provide contextual help based on the field value
267
+ - **Custom validation feedback**: Display real-time validation feedback separate from error messages
268
+
269
+ ```tsx
270
+ <IressInput
271
+ {...controlledProps}
272
+ rows={3}
273
+ maxLength={200}
274
+ placeholder="Type your comment here..."
275
+ />
276
+ ```
277
+
278
+ [View "RenderSupplementary" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-field--render-supplementary)
279
+
280
+ ### Rules
281
+
282
+ Use the `rules` prop on the `IressFormField` component to add validation rules. These are based on the [rules available in React Hook Forms](https://www.react-hook-form.com/api/useform/register/#options). The following rules are supported.
283
+
284
+ **Note:** In version 5, you can no longer override default error messages for the whole form. To override the default messages, you must specify them in the `rules` prop per `IressFormField`.
285
+
286
+ #### `required`
287
+
288
+ A boolean which, if `true`, indicates that the input must have a value before the form can be submitted. You can assign a string to return a custom error message.
289
+
290
+ ```tsx
291
+ <IressFormRules element="IressInput" />
292
+ ```
293
+
294
+ [View "Required" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--required)
295
+
296
+ #### `maxLength`
297
+
298
+ The maximum character length of the value to accept for this input.
299
+
300
+ **Notes**
301
+
302
+ - For `IressInput`, you should also set the `maxLength` to stop the user from entering more characters than allowed.
303
+ - Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
304
+
305
+ ```tsx
306
+ <IressFormRules element="IressInput" />
307
+ ```
308
+
309
+ [View "MaxLength" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--max-length)
310
+
311
+ #### `minLength`
312
+
313
+ The minimum character length of the value to accept for this input.
314
+
315
+ **Notes**
316
+
317
+ - For `IressInput`, you should also set the `minLength` to stop the user from entering more characters than allowed.
318
+ - Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
319
+
320
+ ```tsx
321
+ <IressFormRules element="IressInput" />
322
+ ```
323
+
324
+ [View "MinLength" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--min-length)
325
+
326
+ #### `max`
327
+
328
+ The maximum number to accept for this input.
329
+
330
+ **Notes**
331
+
332
+ - Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
333
+
334
+ ```tsx
335
+ <IressFormRules element="IressInput" />
336
+ ```
337
+
338
+ [View "Max" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--max)
339
+
340
+ #### `min`
341
+
342
+ The minimum number to accept for this input.
343
+
344
+ **Notes**
345
+
346
+ - Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
347
+
348
+ ```tsx
349
+ <IressFormRules element="IressInput" />
350
+ ```
351
+
352
+ [View "Min" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--min)
353
+
354
+ #### `pattern`
355
+
356
+ The accepted regex pattern for the input.
357
+
358
+ **Notes**
359
+
360
+ - Only applies to: `IressAutocomplete`, `IressInput`, `IressRadioGroup` and `IressSelect`.
361
+
362
+ [View "Pattern" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--pattern)
363
+
364
+ #### `minDate`
365
+
366
+ The minimum date to accept for this input.
367
+
368
+ **Note:** This is a custom rule created for `IressForm` and its sub-components. It will translate the rule into a `validate` rule for react-hook-forms. It will not work with a `validate` function, only if you set the `validate` prop to an `object` of functions.
369
+
370
+ ```tsx
371
+ <IressFormRules element="IressInputDate" />
372
+ ```
373
+
374
+ [View "MinDate" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--min-date)
375
+
376
+ #### `maxDate`
377
+
378
+ The maximum date to accept for this input.
379
+
380
+ **Note:** This is a custom rule created for `IressForm` and its sub-components. It will translate the rule into a `validate` rule for react-hook-forms. It will not work with a `validate` function, only if you set the `validate` prop to an `object` of functions.
381
+
382
+ ```tsx
383
+ <IressFormRules element="IressInputDate" />
384
+ ```
385
+
386
+ [View "MaxDate" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--max-date)
387
+
388
+ #### `email`
389
+
390
+ Ensures the input is a valid email address.
391
+
392
+ **Note:** This is a custom rule created for `IressForm` and its sub-components. It will translate the rule into a `validate` rule for react-hook-forms. It will not work with a `validate` function, only if you set the `validate` prop to an `object` of functions.
393
+
394
+ ```tsx
395
+ <IressFormRules element="IressInput" />
396
+ ```
397
+
398
+ [View "Email" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--email)
399
+
400
+ #### `validate`
401
+
402
+ You can pass a callback function as the argument to validate, or you can pass an object of callback functions to validate against all of them. This function will be executed on its own without depending on other validation rules included.
403
+
404
+ **Notes**
405
+
406
+ - for `object` or `array` input data, it's recommended to use the validate function for validation as the other rules mostly apply to `string`, `string[]`, `number` and `boolean` data types.
407
+
408
+ ```tsx
409
+ <IressFormRules 2 element="IressCheckboxGroup" />
410
+ ```
411
+
412
+ [View "Validate" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form-rules--validate)
413
+
414
+ ### Handling submission
415
+
416
+ When the form passes validation (if not disabled), the `onSubmit` event is emitted. Its event details contain a map of the field names and the data entered by the user.
417
+
418
+ ```tsx
419
+ <FormSubmission />
420
+ ```
421
+
422
+ [View "HandlingSubmission" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--handling-submission)
423
+
424
+ ## Behaviour
425
+
426
+ - Initial form validation is done when the user first submits the form. This allows them to focus on entering data without being overwhelmed by validation errors.
427
+ - If there are validation errors on submission, they will be shown at the form level as a summary, as well as per field. Only the first failing error will be displayed per field.
428
+ - After the first submission, fields are validated on change, to provide users instant feedback as they are now at the validation phase.
429
+
430
+ **Note:** The default user experience regarding validation is different to previous versions of IDS. This change was done to align IDS with the typical user experience found in other applications. If you would like to change the behaviour to be more consistent with the original IDS, set the `mode` prop of the form to `onBlur`.
431
+
432
+ ## Examples
433
+
434
+ ### Pre-fill the form
435
+
436
+ You can set the `defaultValues` prop to pre-fill the form values.
437
+
438
+ [View "DefaultValues" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--default-values)
439
+
440
+ ### Custom error handling
441
+
442
+ The `onError` prop allows you to listen to any field errors. It takes two arguments. The first is a map of the field name and an object containing the first error message and type. The second is a ref to the original element that caused the error (the ref of the underlying input).
443
+
444
+ One use case for this prop is to create your own visible error summary at the top of the form, or to log errors to an external service.
445
+
446
+ ```tsx
447
+ <CustomErrorHandlingForm />
448
+ ```
449
+
450
+ [View "CustomErrorHandling" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--custom-error-handling)
451
+
452
+ ### `values`
453
+
454
+ If you would like more control over each value of the form, you should use the `values` prop. This will make the form controlled, meaning it will rely completely on the `values` state to render the value of each field. You will need to use the `onSubmit` prop to sync the form value with your state.
455
+
456
+ Use cases where you may need the `values` prop:
457
+
458
+ - Syncing with a server once the values have been processed
459
+ - Syncing the value with browser storage
460
+
461
+ **Note:** `values` takes precedence over `defaultValues`. To ensure your form state is predictable, it is best to only use one prop to manage form values.
462
+
463
+ ```tsx
464
+ <ControlledForm />
465
+ ```
466
+
467
+ [View "Values" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--values)
468
+
469
+ ### Disable validation
470
+
471
+ Disabling validation is not possible with the `IressForm` component. In cases where you do need to disable validation, please consider the following:
472
+
473
+ 1. Use a non-submitting button to save a draft (eg. `<IressButton type="button">Save as draft</IressButton>`). Then you can use the `ref` of the form to get the form data.
474
+ 2. Use a native `form` element, and customise the error handling.
475
+
476
+ Here we have an example showcasing option one.
477
+
478
+ ```tsx
479
+ <DisableValidationForm />
480
+ ```
481
+
482
+ [View "DisableValidation" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--disable-validation)
483
+
484
+ ### Resetting the form
485
+
486
+ You can reset the form using the `ref` of the form. You must provide a `defaultValues` prop that contains all the fields in the form to ensure it resets properly.
487
+
488
+ **Note:** `<button type="reset" />` does not work with `IressForm`. You need to add an `onClick` prop to the button and use the `ref.reset` method to reset the form.
489
+
490
+ ```tsx
491
+ <FormReset />
492
+ ```
493
+
494
+ [View "ResetForm" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--reset-form)
495
+
496
+ ### Read only
497
+
498
+ You can pass the `readOnly` prop to remove the asterisk symbol (\*) even when the field is `required`, and that field will be exempted from validation.
499
+
500
+ ```tsx
501
+ <IressStack gap="md">
502
+ <IressText>
503
+ <h2>Excludes read-only validation</h2>
504
+ <p>Try hitting submit to see that only email is being validated</p>
505
+ </IressText>
506
+ <IressForm />
507
+ </IressStack>
508
+ ```
509
+
510
+ [View "ExcludeReadOnlyValidation" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--exclude-read-only-validation)
511
+
512
+ ## `IressHookForm`
513
+
514
+ `IressHookForm` is the underlying component that `IressForm` is built upon. It has a single required prop, `form`, which expects the return value of the `useForm` hook from React Hook Forms.
515
+
516
+ It has been exposed to consumers to allow you to have complete control of your React Hook Forms instance whilst still taking advantage of the IDS form components.
517
+
518
+ Some use cases:
519
+
520
+ 1. You may need to use the `useForm` hook in a parent component to share the form state with multiple child components.
521
+ 2. You would like to use the return value of the `useForm` hook without having to use a ref to access the `react-hook-form` api.
522
+
523
+ ```tsx
524
+ <HookFormExample />
525
+ ```
526
+
527
+ [View "HookForm" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-hook-form--hook-form)
528
+
529
+ ## `IressFormValidationSummary`
530
+
531
+ `IressFormValidationSummary` is the error summary component that is added to the top of the form for screen readers to announce validation errors. It is automatically added to the form when there are validation errors, but you can also use it independently to create your own error summary, usually used if you want a visible error summary at the top of the form.
532
+
533
+ ```tsx
534
+ <IressForm heading="Try hitting submit to see the validation summary" />
535
+ ```
536
+
537
+ [View "ValidationSummary" example in Storybook →](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/story/components_patterns-form--validation-summary)
538
+
539
+ ## Migration to version 5 and beyond
540
+
541
+ The previous form components contained a lot of logic to translate the HTML5 validation API to a format that matched the design system’s guidelines. This allowed users to use the default props of input such as `pattern` and `required`, and be assured that the `IressField` would display errors accordingly.
542
+
543
+ Although this worked for simple forms, it did not work for forms which had complex business requirements. This was due to the logic inside the form components being hard to override. Additionally, it was seemingly impossible to implement the business requirements using the HTML5 validation API, which itself is very restricted.
544
+
545
+ In version 5 we have decided to provide two alternative methods of using form components to better accommodate our consumer’s needs.
546
+
547
+ The validation logic has been stripped from all of the existing form components. They are now closer to their native implementation, with a few customisations to match the IDS guidelines. IressField has transformed into a layout component to allow you to lay out form fields consistent with IDS guidelines, using your own validation tools.
548
+
549
+ Automated validation is now solely contained in `IressForm` and `IressFormField`, using [React Hook Form](https://react-hook-form.com/docs/useform) under the hood to simplify maintenance.
550
+
551
+ ## Testing
552
+
553
+ Unfortunately due to the asynchronous nature of React Hook Form validation, `IressForm` still needs to be tested using `screen.findBy` queries (at least in the first query after render). If `findBy` is not used, you will start to see the dreaded `act warnings`. For more information on testing IressForm, please refer to the (React Hook Form testing documentation)[https://react-hook-form.com/advanced-usage#TestingForm]
554
+
555
+ Here is an example of testing a form submission.
556
+
557
+ ```tsx
558
+ render(
559
+ <IressForm>
560
+ <IressFormField
561
+ label="Email"
562
+ name="email"
563
+ rules={{ required: true }}
564
+ render={(controlledProps) => (
565
+ <IressInput {...controlledProps} type="email" />
566
+ )}
567
+ />
568
+ <IressButton type="submit">Submit</IressButton>
569
+ </IressForm>,
570
+ );
571
+
572
+ // May be needed sometimes to get over the act warning
573
+ await screen.getByRole('form');
574
+
575
+ const emailInput = screen.getByRole('textbox');
576
+ const submitButton = screen.getByRole('button', { name: 'Submit' });
577
+
578
+ await userEvent.click(submitButton);
579
+
580
+ // Errors are asynchronous, so we need to wait for them to appear
581
+ const summaryError = await screen.findByText(
582
+ 'There was a problem submitting this form',
583
+ );
584
+ expect(summaryError).toBeInTheDocument();
585
+ ```
586
+
587
+ ## Caveat
588
+
589
+ ### Properly resetting fields
590
+
591
+ When resetting fields that accept non-string values (like `IressSelect`), you should reset them to `null` or `undefined` instead of an empty string. This is because the underlying component is strictly typed and expects a specific value type.
592
+
593
+ **Problem:**
594
+
595
+ ```tsx
596
+ const { resetField } = useFormContext();
597
+
598
+ resetField('rich-select', {
599
+ label: '',
600
+ value: '',
601
+ });
602
+ ```
603
+
604
+ In this case, it will look like it cleared the field, but actually it has not. This is obvious with a `placeholder` set, as it will not show the placeholder.
605
+
606
+ **Solution:**
607
+ Override the `onChange` handler to pass the actual value as a second parameter:
608
+
609
+ ```tsx
610
+ const { resetField } = useFormContext();
611
+
612
+ resetField('rich-select', null); // or undefined
613
+ ```
614
+
615
+ This will properly reset the field to null and clear the field value.
616
+
617
+ ---
618
+
619
+ *View interactive examples: [https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/docs/components_patterns-form--docs](https://main--691abcc79dfa560a36d0a74f.chromatic.com/?path=/docs/components_patterns-form--docs)*