@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,733 @@
1
+ # Skill: UI Doctor
2
+
3
+ Audit and validate that an application correctly uses IDS (Iress Design System) components, follows IDS principles, and meets compliance requirements. This skill helps AI agents perform comprehensive UI reviews, identify areas where native HTML or third-party elements should be replaced with IDS components, assess adherence to IDS design principles, and produce actionable reports with recommendations.
4
+
5
+ ## When to Use
6
+
7
+ - Reviewing an application's UI code for IDS compliance
8
+ - Validating that IDS components are used where possible instead of raw HTML or custom implementations
9
+ - Assessing design token usage and consistency
10
+ - Generating a UI health report with an IDS compliance score
11
+ - Providing recommendations to improve IDS adoption and consistency
12
+
13
+ ## Audit Scope
14
+
15
+ Before starting the audit, determine which files to scan and which to exclude.
16
+
17
+ ### Files to Scan
18
+
19
+ - All `.tsx`, `.jsx`, `.ts`, `.js` files in `src/` (or the application source directory)
20
+ - CSS/SCSS/styled-component files for hardcoded design values
21
+ - Application entry point(s) for Provider and CSS import checks
22
+
23
+ ### Files to Exclude
24
+
25
+ - **Test files** (`*.test.tsx`, `*.spec.tsx`, `__tests__/`) — test mocks and utilities may legitimately use raw HTML
26
+ - **Storybook stories** (`*.stories.tsx`) — stories may intentionally demonstrate raw HTML for comparison
27
+ - **Configuration files** (`*.config.ts`, `*.config.js`) — not UI code
28
+ - **Type definition files** (`*.d.ts`) — no runtime UI code
29
+ - **Third-party code** (`node_modules/`, vendored libraries) — outside the application's control
30
+ - **Build output** (`dist/`, `build/`) — generated code
31
+
32
+ ### Version-Aware Auditing
33
+
34
+ IDS is currently on **version 6**. When auditing applications:
35
+
36
+ - **Check the installed IDS version** — Look at `package.json` for `@iress-oss/ids-components` version
37
+ - **v6 applications** — Apply all rules in this skill as-is
38
+ - **v5 applications** — Some patterns differ (e.g., `IressForm` API changes between v5 and v6). Flag v5-specific patterns as "migration opportunities" rather than "non-compliant". Key v5→v6 differences include:
39
+ - `IressForm` now uses `rules` prop for validation instead of built-in validation props
40
+ - `react-hook-form` is now a peer dependency
41
+ - Form state management moved from `useState` to React Hook Form's `useWatch`/`ref`
42
+ - **Pre-v5 applications** — Flag as requiring a major migration and prioritise Provider/CSS setup first
43
+ - **Always note the version** in the audit report header
44
+
45
+ ## Audit Process
46
+
47
+ ### 1. Validate IDS Component Usage
48
+
49
+ Scan the application code for raw HTML elements, third-party UI components, and custom implementations that have IDS equivalents. Flag instances where IDS components should be used instead.
50
+
51
+ #### Third-Party UI Library Detection
52
+
53
+ Check for imports from third-party UI libraries that overlap with IDS. Common libraries to flag:
54
+
55
+ | Third-Party Library | Common Imports to Flag | IDS Replacement |
56
+ | ----------------------------------- | --------------------------------------------------------- | ------------------------------ |
57
+ | Material UI (`@mui/*`) | `Button`, `TextField`, `Select`, `Modal`, `Table`, `Tabs` | Equivalent `Iress*` components |
58
+ | Ant Design (`antd`) | `Button`, `Input`, `Select`, `Modal`, `Table`, `Tabs` | Equivalent `Iress*` components |
59
+ | Chakra UI (`@chakra-ui/*`) | `Button`, `Input`, `Select`, `Modal`, `Table` | Equivalent `Iress*` components |
60
+ | React Bootstrap (`react-bootstrap`) | `Button`, `Form`, `Modal`, `Table`, `Nav` | Equivalent `Iress*` components |
61
+ | Radix UI (`@radix-ui/*`) | `Dialog`, `Popover`, `Tooltip`, `Tabs`, `Select` | Equivalent `Iress*` components |
62
+ | Headless UI (`@headlessui/react`) | `Dialog`, `Popover`, `Menu`, `Tab`, `Switch` | Equivalent `Iress*` components |
63
+
64
+ **How to detect:** Search for import statements matching these package names. Any UI component imported from a third-party library that has an IDS equivalent should be flagged as a **High** priority replacement.
65
+
66
+ ```typescript
67
+ // ❌ Third-party UI component — should use IDS
68
+ import { Button } from '@mui/material';
69
+ import { Modal } from 'antd';
70
+ import { Dialog } from '@radix-ui/react-dialog';
71
+
72
+ // ✅ IDS components
73
+ import { IressButton, IressModal } from '@iress-oss/ids-components';
74
+ ```
75
+
76
+ #### HTML Element → IDS Component Replacement Map
77
+
78
+ | Raw HTML / Custom Code | IDS Replacement | Priority |
79
+ | --------------------------------------- | --------------------------------------------------- | -------- |
80
+ | `<button>` | `IressButton` | High |
81
+ | `<a>` (navigation link) | `IressLink` | High |
82
+ | `<input type="text">` | `IressField` + `IressInput` | High |
83
+ | `<input type="checkbox">` | `IressCheckbox` | High |
84
+ | `<input type="radio">` | `IressRadio` + `IressRadioGroup` | High |
85
+ | `<select>` | `IressField` + `IressSelect` | High |
86
+ | `<textarea>` | `IressField` + `IressInput` | High |
87
+ | `<table>` | `IressTable` | High |
88
+ | `<label>` | `IressField` (wraps input with label) | High |
89
+ | `<h1>`–`<h6>`, `<p>`, `<span>` (styled) | `IressText` | Medium |
90
+ | `<img>` | `IressImage` | Medium |
91
+ | `<hr>` | `IressDivider` | Medium |
92
+ | `<dialog>` / custom modal | `IressModal` | High |
93
+ | Custom drawer / slideout | `IressSlideout` | High |
94
+ | Custom tooltip | `IressTooltip` | Medium |
95
+ | Custom popover | `IressPopover` | Medium |
96
+ | Custom tabs | `IressTabSet` + `IressTab` | High |
97
+ | Custom spinner / loader | `IressSpinner` | Medium |
98
+ | Custom skeleton loader | `IressSkeleton` | Low |
99
+ | Custom progress bar | `IressProgress` | Low |
100
+ | Custom alert / toast | `IressAlert` / `IressToaster` | High |
101
+ | Custom card / panel | `IressCard` / `IressPanel` | Medium |
102
+ | Custom toggle / switch | `IressToggle` | High |
103
+ | Custom badge / tag | `IressTag` / `IressPill` | Low |
104
+ | Custom breadcrumbs | `IressBreadcrumbs` | Medium |
105
+ | Custom side navigation | `IressSideNav` | Medium |
106
+ | Custom context menu | `IressMenu` + `IressMenuItem` | Medium |
107
+ | Custom icon (SVG inline) | `IressIcon` | Medium |
108
+ | `<div>` with flex column styles | `IressStack` | Medium |
109
+ | `<div>` with flex row styles | `IressInline` | Medium |
110
+ | `<div>` with grid styles | `IressRow` + `IressCol` | Medium |
111
+ | `<div>` with max-width container | `IressContainer` | Low |
112
+ | `<form>` | `IressForm` + `IressFormField` | High |
113
+ | `<input type="range">` | `IressSlider` | Medium |
114
+ | `<input type="number">` (currency) | `IressField` + `IressInputCurrency` | Medium |
115
+ | `<details>` / custom accordion | `IressExpander` | Medium |
116
+ | Custom autocomplete / typeahead | `IressAutocomplete` | High |
117
+ | Custom select with search | `IressField` + `IressSelect` | High |
118
+ | Custom read-only display | `IressReadonly` | Medium |
119
+ | Custom segmented control / button group | `IressButtonGroup` | Medium |
120
+ | Custom validation messages | `IressValidationMessage` / `IressValidationSummary` | High |
121
+ | Custom styled wrapper `<div>` | `IressStyled` | Low |
122
+
123
+ #### What to Look For
124
+
125
+ ```typescript
126
+ // ❌ Raw HTML — should use IDS components
127
+ <button onClick={handleClick}>Submit</button>
128
+ <input type="text" placeholder="Name" />
129
+ <select>
130
+ <option>Option 1</option>
131
+ </select>
132
+ <div className="modal-overlay">...</div>
133
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>...</div>
134
+
135
+ // ✅ IDS components
136
+ <IressButton mode="primary" onClick={handleClick}>Submit</IressButton>
137
+ <IressField label="Name" htmlFor="name">
138
+ <IressInput id="name" placeholder="Name" />
139
+ </IressField>
140
+ <IressField label="Options" htmlFor="options">
141
+ <IressSelect id="options">
142
+ <option>Option 1</option>
143
+ </IressSelect>
144
+ </IressField>
145
+ <IressModal open={isOpen} onClose={handleClose}>...</IressModal>
146
+ <IressStack gap="4">...</IressStack>
147
+ ```
148
+
149
+ ### 2. Validate IDS Principles and Compliance
150
+
151
+ Check that the application follows these core IDS principles:
152
+
153
+ #### a. Provider & CSS Setup
154
+
155
+ - **IressProvider must wrap the application root** — Required for fonts, CSS variables, and theming
156
+ - **The IDS component CSS must be imported** — `@iress-oss/ids-components/dist/style.css` contains all component styles
157
+ - Users only need to install `@iress-oss/ids-components` — the tokens are bundled within the component library and do not need to be installed separately
158
+ - If using design tokens directly in application code (for custom styling), users should additionally install `@iress-oss/ids-tokens` and import `@iress-oss/ids-tokens/build/css-vars.css`
159
+
160
+ ```typescript
161
+ // ✅ Correct setup — minimum required
162
+ import '@iress-oss/ids-components/dist/style.css';
163
+ import { IressProvider } from '@iress-oss/ids-components';
164
+
165
+ function App() {
166
+ return <IressProvider>{/* app content */}</IressProvider>;
167
+ }
168
+ ```
169
+
170
+ ```typescript
171
+ // ✅ With direct token usage in application code (optional)
172
+ import '@iress-oss/ids-components/dist/style.css';
173
+ import '@iress-oss/ids-tokens/build/css-vars.css';
174
+ import { IressProvider } from '@iress-oss/ids-components';
175
+ import { cssVars } from '@iress-oss/ids-tokens';
176
+
177
+ function App() {
178
+ return (
179
+ <IressProvider>
180
+ <div style={{ padding: cssVars.spacing[4] }}>{/* app content */}</div>
181
+ </IressProvider>
182
+ );
183
+ }
184
+ ```
185
+
186
+ ```typescript
187
+ // ❌ Incorrect — missing component CSS
188
+ import { IressProvider } from '@iress-oss/ids-components';
189
+ // Components will render without styles!
190
+
191
+ // ❌ Incorrect — installing tokens separately just for provider setup
192
+ yarn add @iress-oss/ids-tokens // Not needed unless using tokens directly
193
+ ```
194
+
195
+ #### b. Design Token Usage
196
+
197
+ - **Hardcoded colour values** — Flag any hex codes, rgb(), or named colours that should use IDS tokens
198
+ - **Hardcoded spacing** — Flag pixel values for padding/margin/gap that should use spacing tokens (multiples of 4px)
199
+ - **Hardcoded typography** — Flag font-family, font-size, font-weight that should use IDS typography tokens
200
+ - **Hardcoded border-radius** — Flag radius values that should use IDS radius tokens
201
+
202
+ ```typescript
203
+ // ❌ Hardcoded values
204
+ <div style={{ color: '#003271', padding: '16px', borderRadius: '4px' }}>
205
+
206
+ // ✅ IDS tokens
207
+ import { cssVars } from '@iress-oss/ids-tokens';
208
+ <div style={{
209
+ color: cssVars.colour.primary.fill,
210
+ padding: cssVars.spacing[4],
211
+ borderRadius: cssVars.radius[1]
212
+ }}>
213
+ ```
214
+
215
+ #### c. Form & Pattern Compliance
216
+
217
+ IDS provides several patterns (composite components) that ensure consistent UIs across applications. Validate that the application uses these patterns where appropriate.
218
+
219
+ ##### Form Pattern (`IressForm`)
220
+
221
+ Forms should use `IressForm` and `IressFormField` instead of building custom form handling. This ensures consistent validation, error display, and state management.
222
+
223
+ - **Use `IressForm` for all forms** — Built on React Hook Form, it provides consistent validation, error handling, and state management
224
+ - **Use `IressFormField` for form fields** — Wraps form controls with `name`, `label`, and `rules` props for declarative validation
225
+ - **Use `IressFormFieldset` for grouped inputs** — For checkbox groups, radio groups, and other multi-input fields
226
+ - **Use `rules` prop for validation** — Declarative validation via React Hook Form rules, not custom validation logic
227
+ - **Use `onSubmit` for state syncing** — Sync form data with external state via the submit event, not per-field `onChange`
228
+ - **Use `useWatch` for conditional fields** — Not `useState` + `onChange` handlers
229
+ - **Choose the right form pattern** — Use `pattern="long"` for forms with >8 fields (sticky heading/actions), `pattern="short"` (default) for ≤8 fields
230
+ - **Use `react-hook-form` as a peer dependency** — Required alongside `@iress-oss/ids-components` when using `IressForm`
231
+
232
+ ```typescript
233
+ // ❌ Custom form handling
234
+ <form onSubmit={handleSubmit}>
235
+ <label>Email</label>
236
+ <IressInput value={email} onChange={(e) => setEmail(e.target.value)} />
237
+ {emailError && <span className="error">{emailError}</span>}
238
+ <button type="submit">Submit</button>
239
+ </form>
240
+
241
+ // ✅ IDS Form pattern
242
+ <IressForm onSubmit={handleSubmit} heading="Contact" actions={<IressButton mode="primary" type="submit">Submit</IressButton>}>
243
+ <IressFormField
244
+ name="email"
245
+ label="Email"
246
+ rules={{ required: true, pattern: { value: /^[^@]+@[^@]+$/, message: 'Invalid email' } }}
247
+ render={(controlledProps) => <IressInput {...controlledProps} type="email" />}
248
+ />
249
+ </IressForm>
250
+ ```
251
+
252
+ ##### Loading Pattern (`IressLoading`)
253
+
254
+ Applications should use `IressLoading` for all loading states to ensure consistent timing behaviour and user experience.
255
+
256
+ - **Use `IressLoading` instead of custom spinners/skeletons** — It handles timing thresholds automatically (no indicator <500ms, spinner at 500ms, message at 2s, detailed feedback at 10s)
257
+ - **Choose the right loading pattern** — `page` for page loads, `component` for component loads, `start-up` for app initialisation, `validate` for form submission, `long` for operations >10s
258
+ - **Be consistent** — Use the same loading pattern for similar operations across the application
259
+
260
+ ##### Dropdown Menu Pattern (`IressDropdownMenu`)
261
+
262
+ - **Use `IressDropdownMenu` for filter/action triggers** — Not custom popover menus
263
+ - **Do not use inside forms** — Use `IressSelect`, `IressRadioGroup`, or `IressCheckboxGroup` within forms instead
264
+ - **Enable `searchable` for 10+ options** — Improves usability for long option lists
265
+
266
+ ##### Contextual Menu Pattern (`IressContextualMenu`)
267
+
268
+ - **Use for row-level or card-level secondary actions** — Not custom context menus
269
+ - **Place destructive actions at the end** — Follow the established convention
270
+ - **Provide meaningful `ariaLabel`** — Describe the menu purpose in context
271
+
272
+ ##### Side Navigation Pattern (`IressSideNav`)
273
+
274
+ - **Use for application shell navigation** — Not custom sidebar implementations
275
+ - **Use for multi-section apps** — When the application has several major sections with sub-navigation
276
+
277
+ ##### Breadcrumbs Pattern (`IressBreadcrumbs`)
278
+
279
+ - **Use for site hierarchy navigation** — Not custom breadcrumb implementations
280
+ - **Last item should represent current page** — And not be clickable
281
+
282
+ ##### Shadow DOM Pattern (`IressShadow`)
283
+
284
+ - **Use for microfrontend isolation** — When you need to isolate styles from the host application
285
+ - **Alternative to `IressProvider`** — Injects styles into the shadow DOM instead of the document head
286
+
287
+ ##### Form Accessibility
288
+
289
+ - **All form inputs must have labels** — Use `IressField` (standalone inputs) or `IressFormField` (within `IressForm`) to provide labels, hints, and validation
290
+ - **Required fields must be marked** — Use `required` prop on `IressField` or `rules={{ required: true }}` on `IressFormField`
291
+ - **Validation messages must use IDS patterns** — Use `IressField` `status` and `statusMessage` props, or `IressFormField` `rules` prop for declarative validation
292
+ - **Form inputs must have `id` and `htmlFor` pairing** — For label association when using `IressField` directly
293
+
294
+ ```typescript
295
+ // ❌ Missing label / accessibility
296
+ <IressInput placeholder="Email" />
297
+
298
+ // ✅ Accessible standalone form input
299
+ <IressField label="Email" htmlFor="email" required>
300
+ <IressInput id="email" type="email" placeholder="Enter your email" />
301
+ </IressField>
302
+
303
+ // ✅ Accessible form input within IressForm
304
+ <IressFormField
305
+ name="email"
306
+ label="Email"
307
+ rules={{ required: true }}
308
+ render={(controlledProps) => <IressInput {...controlledProps} type="email" />}
309
+ />
310
+ ```
311
+
312
+ #### d. Button Hierarchy
313
+
314
+ - **One primary action per section** — Only one `mode="primary"` button per logical section
315
+ - **Consistent button mode usage** — Primary for main action, secondary for supporting actions, tertiary/muted for less prominent actions
316
+ - **Danger actions use status prop** — `status="danger"` for destructive actions, not red styling
317
+
318
+ #### e. Layout Consistency
319
+
320
+ - **Use IDS layout components** — `IressStack`, `IressInline`, `IressRow`/`IressCol` instead of custom CSS flex/grid
321
+ - **Use spacing tokens for gaps** — Values 0–10 on `gap` prop
322
+ - **Use IressCSSProps for spacing** — `m`, `mx`, `my`, `p`, `px`, `py` props instead of inline styles
323
+ - **Responsive design** — Use `IressHide`, `hideFrom`/`hideBelow` for responsive visibility
324
+
325
+ #### f. Semantic Component Usage
326
+
327
+ - **Use `IressText` for all text** — Instead of raw `<p>`, `<span>`, `<h1>`–`<h6>` (unless nested inside `IressText` for styling)
328
+ - **Use `IressAlert` for feedback** — Instead of custom notification/alert components
329
+ - **Use `IressIcon` for icons** — Instead of inline SVGs or custom icon components (unless the icon is a hero graphic that doesn't fit the standard icon use case)
330
+ - **Use `IressDivider` for separators** — Instead of `<hr>` or custom dividers (unless nested inside `IressText` for inline separation)
331
+
332
+ #### g. Acceptable Exceptions
333
+
334
+ Not every raw HTML element is a violation. The following are **acceptable exceptions** that should NOT be flagged:
335
+
336
+ | Pattern | Why It's Acceptable |
337
+ | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `<a>` inside markdown/MDX renderers | Content-driven, not application UI |
339
+ | `<button>` inside third-party widgets the app cannot control | External dependency constraint |
340
+ | `<table>` in email templates | Email clients don't support custom components |
341
+ | `<img>` in SVG sprites or `<picture>` elements | IressImage doesn't cover these use cases |
342
+ | `<div>` for ref targets, portals, or measurement containers | Technical necessity, not layout |
343
+ | Raw elements in test files / stories for demonstration | Not shipped to users |
344
+ | `<form>` wrapping a single action (e.g., search bar) | `IressForm` is best for multi-field forms; standalone search inputs may use `IressAutocomplete` or `IressField` + `IressInput` directly |
345
+ | `<input type="hidden">` | Not user-facing UI |
346
+ | Custom components wrapping IDS components internally | App-level abstraction is valid as long as IDS components are used underneath |
347
+
348
+ **When reporting:** If a potential violation falls into an exception category, note it as "Reviewed — Acceptable Exception" rather than a finding. This prevents false positives and keeps reports actionable.
349
+
350
+ ### 3. Provide Recommendations
351
+
352
+ Based on the audit findings, provide prioritised recommendations:
353
+
354
+ #### Priority Levels
355
+
356
+ | Priority | Description | Action |
357
+ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
358
+ | **Critical** | Missing IressProvider, missing component CSS import, raw form inputs without labels, missing skip links, forms not using `IressForm` | Must fix immediately |
359
+ | **High** | Raw HTML buttons/inputs/selects/tables/modals, custom form handling instead of `IressForm`, custom loading instead of `IressLoading`, accessibility failures (colour contrast, missing alt text, focus trapping) | Fix in current sprint |
360
+ | **Medium** | Hardcoded colours/spacing, missing IressText usage, custom layout instead of IDS layout, custom menus instead of `IressContextualMenu`/`IressDropdownMenu`, missing ARIA landmarks | Plan for next sprint |
361
+ | **Low** | Missing IressImage, custom badges, minor token inconsistencies, non-critical accessibility improvements | Backlog |
362
+
363
+ #### Recommendation Format
364
+
365
+ For each finding, provide:
366
+
367
+ 1. **What was found** — The specific code or pattern that needs attention
368
+ 2. **Why it matters** — Impact on consistency, accessibility, or maintainability
369
+ 3. **How to fix** — Specific code change with before/after examples
370
+ 4. **Priority** — Critical, High, Medium, or Low
371
+
372
+ ### 4. Generate Compliance Report
373
+
374
+ Produce a structured report covering all audit areas. Use the report template to structure the output.
375
+
376
+ # IDS UI Doctor Report Template
377
+
378
+ Use this template when generating compliance reports.
379
+
380
+ ```markdown
381
+ # IDS UI Doctor Report
382
+
383
+ **Application:** [App Name]
384
+ **Date:** [Audit Date]
385
+ **Overall Score:** [X/100]
386
+
387
+ ## Executive Summary
388
+
389
+ [2-3 sentence summary of overall IDS compliance status]
390
+
391
+ ## Score Breakdown
392
+
393
+ | Category | Score | Max | Status |
394
+ | ----------------------- | ----- | ------- | -------- |
395
+ | IDS Component Usage | X | 25 | 🔴/🟡/🟢 |
396
+ | IDS Pattern Compliance | X | 20 | 🔴/🟡/🟢 |
397
+ | Accessibility | X | 20 | 🔴/🟡/🟢 |
398
+ | Design Token Compliance | X | 15 | 🔴/🟡/🟢 |
399
+ | Layout & Spacing | X | 10 | 🔴/🟡/🟢 |
400
+ | Provider & Setup | X | 10 | 🔴/🟡/🟢 |
401
+ | **Total** | **X** | **100** | |
402
+
403
+ ### Scoring Guide
404
+
405
+ - 🟢 **90–100%** — Excellent IDS compliance
406
+ - 🟡 **60–89%** — Moderate compliance, improvements needed
407
+ - 🔴 **Below 60%** — Significant gaps, prioritise remediation
408
+
409
+ ## Detailed Findings
410
+
411
+ ### IDS Component Usage (X/25)
412
+
413
+ #### Components Correctly Used
414
+
415
+ - [List of IDS components found and correctly used]
416
+
417
+ #### Missing IDS Component Opportunities
418
+
419
+ | Location | Current Code | Recommended IDS Component | Priority |
420
+ | ----------- | ------------ | ------------------------- | -------- |
421
+ | [file:line] | `<button>` | `IressButton` | High |
422
+ | ... | ... | ... | ... |
423
+
424
+ ### IDS Pattern Compliance (X/20)
425
+
426
+ #### Pattern Usage
427
+
428
+ | Location | Current Pattern | Recommended IDS Pattern | Priority |
429
+ | ----------- | ----------------------------- | ------------------------------ | -------- |
430
+ | [file:line] | Custom `<form>` with useState | `IressForm` + `IressFormField` | High |
431
+ | [file:line] | Custom loading spinner | `IressLoading pattern="page"` | High |
432
+ | [file:line] | Custom context menu | `IressContextualMenu` | Medium |
433
+ | ... | ... | ... | ... |
434
+
435
+ ### Accessibility (X/20)
436
+
437
+ #### Issues Found
438
+
439
+ | Location | Issue | Severity | WCAG Criterion |
440
+ | ----------- | ---------------------------- | -------- | ---------------------------- |
441
+ | [file:line] | Input missing label | Critical | 1.3.1 Info and Relationships |
442
+ | [file:line] | No skip link | High | 2.4.1 Bypass Blocks |
443
+ | [file:line] | Colour-only status indicator | High | 1.4.1 Use of Color |
444
+ | [file:line] | Missing alt text on image | Medium | 1.1.1 Non-text Content |
445
+ | ... | ... | ... | ... |
446
+
447
+ ### Design Token Compliance (X/15)
448
+
449
+ #### Hardcoded Values Found
450
+
451
+ | Location | Current Value | Recommended Token | Category |
452
+ | ----------- | ------------- | --------------------- | -------- |
453
+ | [file:line] | `#003271` | `colour.primary.fill` | Colour |
454
+ | [file:line] | `16px` | `spacing.4` | Spacing |
455
+ | ... | ... | ... | ... |
456
+
457
+ ### Layout & Spacing (X/10)
458
+
459
+ #### Custom Layout Patterns
460
+
461
+ | Location | Current Pattern | IDS Alternative |
462
+ | ----------- | --------------------------------------- | --------------- |
463
+ | [file:line] | `display: flex; flex-direction: column` | `IressStack` |
464
+ | ... | ... | ... |
465
+
466
+ ### Provider & Setup (X/10)
467
+
468
+ - [ ] IressProvider wraps application root
469
+ - [ ] `@iress-oss/ids-components/dist/style.css` imported
470
+ - [ ] `@iress-oss/ids-tokens/build/css-vars.css` imported (only if using tokens directly)
471
+ - [ ] `react-hook-form` installed (if using IressForm)
472
+ - [ ] No conflicting CSS resets
473
+
474
+ ## Recommendations Summary
475
+
476
+ ### Critical (Fix Immediately)
477
+
478
+ 1. [Finding and remediation]
479
+
480
+ ### High Priority (Current Sprint)
481
+
482
+ 1. [Finding and remediation]
483
+
484
+ ### Medium Priority (Next Sprint)
485
+
486
+ 1. [Finding and remediation]
487
+
488
+ ### Low Priority (Backlog)
489
+
490
+ 1. [Finding and remediation]
491
+
492
+ ## IDS Components Available But Not Used
493
+
494
+ [List any IDS components that could benefit the application but are not currently imported]
495
+ ```
496
+
497
+ ## Audit Checklist
498
+
499
+ Use the full audit checklist when performing a UI doctor audit. It covers setup & configuration, component usage, design tokens, pattern usage, accessibility, layout, button hierarchy, and usability heuristics (based on Nielsen's 10 heuristics).
500
+
501
+ # IDS UI Doctor Audit Checklist
502
+
503
+ Use this checklist when performing a UI doctor audit.
504
+
505
+ ## Setup & Configuration
506
+
507
+ - [ ] `IressProvider` wraps the application root
508
+ - [ ] `@iress-oss/ids-components/dist/style.css` is imported (required for component styles)
509
+ - [ ] `@iress-oss/ids-components` is a project dependency
510
+ - [ ] `@iress-oss/ids-tokens/build/css-vars.css` is imported only if tokens are used directly in application code
511
+ - [ ] `react-hook-form` is installed as a peer dependency if using `IressForm`
512
+ - [ ] No conflicting global CSS resets that override IDS styles
513
+
514
+ ## Component Usage
515
+
516
+ - [ ] No raw `<button>` elements — use `IressButton`
517
+ - [ ] No raw `<input>` elements — use `IressField` + `IressInput`
518
+ - [ ] No raw `<select>` elements — use `IressField` + `IressSelect`
519
+ - [ ] No raw `<form>` elements — use `IressForm` + `IressFormField`
520
+ - [ ] No raw `<table>` elements — use `IressTable`
521
+ - [ ] No raw `<input type="range">` — use `IressSlider`
522
+ - [ ] No custom modal/dialog — use `IressModal`
523
+ - [ ] No custom drawer — use `IressSlideout`
524
+ - [ ] No custom tabs — use `IressTabSet`
525
+ - [ ] No custom tooltip — use `IressTooltip`
526
+ - [ ] No custom alert/toast — use `IressAlert` / `IressToaster`
527
+ - [ ] No custom accordion/details — use `IressExpander`
528
+ - [ ] No custom autocomplete/typeahead — use `IressAutocomplete`
529
+ - [ ] No custom select-with-search — use `IressSelect`
530
+ - [ ] No custom read-only display — use `IressReadonly`
531
+ - [ ] No custom button group / segmented control — use `IressButtonGroup`
532
+ - [ ] No custom validation messages — use `IressValidationMessage` / `IressValidationSummary`
533
+ - [ ] No third-party UI library components (MUI, Ant, Chakra, etc.) where IDS equivalents exist
534
+
535
+ ## Design Tokens
536
+
537
+ - [ ] No hardcoded colour hex/rgb values — use IDS colour tokens
538
+ - [ ] No hardcoded pixel spacing — use IDS spacing tokens
539
+ - [ ] No hardcoded font properties — use IDS typography tokens
540
+ - [ ] No hardcoded border-radius — use IDS radius tokens
541
+
542
+ ## Pattern Usage
543
+
544
+ - [ ] Forms use `IressForm` + `IressFormField` instead of custom form handling
545
+ - [ ] Form validation uses declarative `rules` prop, not custom validation logic
546
+ - [ ] Form state managed via React Hook Form (`useWatch`, `ref`), not `useState` + `onChange`
547
+ - [ ] Long forms (>8 fields) use `pattern="long"` for sticky heading/actions
548
+ - [ ] Loading states use `IressLoading` with the appropriate pattern
549
+ - [ ] Filter/action dropdowns use `IressDropdownMenu` (not inside forms)
550
+ - [ ] Row-level actions use `IressContextualMenu`
551
+ - [ ] Application shell navigation uses `IressSideNav`
552
+ - [ ] Hierarchy navigation uses `IressBreadcrumbs`
553
+ - [ ] Microfrontend style isolation uses `IressShadow`
554
+
555
+ ## Accessibility
556
+
557
+ - [ ] All form inputs have associated labels via `IressField` or `IressFormField`
558
+ - [ ] Required fields are marked with `required` prop or `rules={{ required: true }}`
559
+ - [ ] Validation messages use IDS patterns (`IressField` status or `IressFormField` rules)
560
+ - [ ] Interactive elements have accessible names
561
+ - [ ] Skip links present for keyboard navigation (`IressSkipLink`)
562
+ - [ ] Colour contrast meets WCAG 2.1 AA (4.5:1 for normal text, 3:1 for large text) — use IDS colour tokens which are pre-validated
563
+ - [ ] Focus indicators are visible on all interactive elements — IDS components provide these by default
564
+ - [ ] Keyboard navigation works for all interactive elements (Tab, Enter, Space, Escape, Arrow keys)
565
+ - [ ] Images have meaningful `alt` text (use `IressImage` which requires `alt` prop)
566
+ - [ ] Modal and slideout components trap focus correctly — `IressModal` and `IressSlideout` handle this automatically
567
+ - [ ] ARIA landmarks are used appropriately (`<nav>`, `<main>`, `<aside>`, etc.)
568
+ - [ ] `IressSideNav` uses proper `<nav>` landmark with `aria-label`
569
+ - [ ] `IressBreadcrumbs` uses `<nav>` with `aria-label` and `aria-current="page"` on the last item
570
+ - [ ] `IressContextualMenu` has a meaningful `ariaLabel` describing the menu purpose
571
+ - [ ] Tables use `IressTable` with proper header cells (`IressTable.HeaderCell`) for screen readers
572
+ - [ ] Dynamic content updates (loading states, alerts, toasts) are announced to screen readers
573
+ - [ ] `IressAlert` is used for status messages (automatically uses appropriate ARIA roles)
574
+ - [ ] `IressToaster` is used for transient notifications (uses `aria-live` region)
575
+ - [ ] No reliance on colour alone to convey information — use text, icons, or patterns alongside colour
576
+
577
+ ## Layout
578
+
579
+ - [ ] Vertical stacks use `IressStack`
580
+ - [ ] Horizontal rows use `IressInline`
581
+ - [ ] Grid layouts use `IressRow` + `IressCol`
582
+ - [ ] Spacing props use IDS token values (0–10)
583
+ - [ ] Responsive visibility uses `IressHide` or `hideFrom`/`hideBelow`
584
+
585
+ ## Button Hierarchy
586
+
587
+ - [ ] Maximum one `mode="primary"` button per section
588
+ - [ ] Destructive actions use `status="danger"` not custom red styling
589
+ - [ ] Icon-only buttons include accessible text
590
+
591
+ ## Usability Heuristics
592
+
593
+ Evaluate the application against these usability principles (based on [Nielsen's 10 Usability Heuristics](https://www.nngroup.com/articles/ten-usability-heuristics/)). Each heuristic includes concrete IDS guidance for how to satisfy it.
594
+
595
+ ### 1. Visibility of System Status
596
+
597
+ The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
598
+
599
+ - [ ] Loading states use `IressLoading` with the correct pattern (`page`, `component`, `start-up`, `validate`, `long`) so users always see feedback proportional to wait time
600
+ - [ ] Form submission provides visible feedback — use `IressLoading pattern="validate"` during submission, `IressAlert` or `IressToaster` for success/failure
601
+ - [ ] Progress indicators are used for multi-step processes — `IressProgress` for deterministic operations, `IressSpinner` for indeterminate
602
+ - [ ] Active states are visible — selected tabs (`IressTabSet`), active nav items (`IressSideNav`), current breadcrumb (`IressBreadcrumbs`) all show where the user is
603
+ - [ ] Toggled/selected states are visually clear — `IressToggle`, `IressCheckbox`, `IressRadio` provide built-in active states
604
+
605
+ ### 2. Match Between System and the Real World
606
+
607
+ The system should speak the user's language, with words, phrases, and concepts familiar to the user.
608
+
609
+ - [ ] Labels use plain, domain-appropriate language — avoid technical jargon in `IressField` labels, `IressButton` text, and `IressAlert` messages
610
+ - [ ] Icons are recognisable and paired with text — use `IressIcon` with a text label; avoid icon-only actions unless the icon is universally understood (e.g., close ✕, search 🔍)
611
+ - [ ] Status colours follow real-world conventions — `info` (blue), `success` (green), `warning` (amber), `danger` (red) via IDS status tokens
612
+ - [ ] Form fields are ordered logically — group related fields with `IressFormFieldset`, order by natural workflow
613
+
614
+ ### 3. User Control and Freedom
615
+
616
+ Users often perform actions by mistake. They need a clearly marked "emergency exit" to leave the unwanted action.
617
+
618
+ - [ ] Modals have a visible close button and Escape key dismissal — `IressModal` provides both by default
619
+ - [ ] Slideouts can be dismissed — `IressSlideout` supports close button and backdrop click
620
+ - [ ] Destructive actions require confirmation — use `IressModal` as a confirmation dialog before delete/remove operations
621
+ - [ ] Forms support cancel/reset — include a secondary `IressButton` for cancel alongside the primary submit action
622
+ - [ ] Multi-step flows allow going back — breadcrumbs (`IressBreadcrumbs`) or back buttons let users reverse navigation
623
+ - [ ] Toasts are dismissible — `IressToaster` notifications can be closed by the user
624
+
625
+ ### 4. Consistency and Standards
626
+
627
+ Users should not have to wonder whether different words, situations, or actions mean the same thing.
628
+
629
+ - [ ] All components come from IDS — no mix of IDS + third-party + custom for the same purpose (e.g., some buttons IDS, some MUI)
630
+ - [ ] Design tokens are used consistently — no mix of hardcoded values and tokens for the same property (e.g., some colours from tokens, some hardcoded)
631
+ - [ ] Same action, same pattern — similar forms use the same `IressForm` pattern, similar loading states use the same `IressLoading` pattern
632
+ - [ ] Button hierarchy is consistent — `mode="primary"` always means the main action, `mode="secondary"` always means supporting action, across all views
633
+ - [ ] Terminology is consistent — the same action uses the same label everywhere (e.g., "Save" not sometimes "Save" and sometimes "Submit" for the same operation)
634
+
635
+ ### 5. Error Prevention
636
+
637
+ Even better than good error messages is a careful design that prevents a problem from occurring in the first place.
638
+
639
+ - [ ] Form validation uses declarative `rules` — `IressFormField` `rules` prop prevents invalid submissions before they happen
640
+ - [ ] Required fields are clearly marked — `required` prop on `IressField` or `rules={{ required: true }}` on `IressFormField`
641
+ - [ ] Input constraints are communicated — use `hint` prop on `IressField`/`IressFormField` to show format expectations, character limits, or examples
642
+ - [ ] Destructive actions require explicit confirmation — delete/remove behind `IressModal` confirmation, not a single click
643
+ - [ ] Dangerous buttons are visually distinct — `status="danger"` on `IressButton` prevents casual clicks
644
+ - [ ] Dropdown menus place destructive items last and visually separate — `IressContextualMenu` convention
645
+
646
+ ### 6. Recognition Rather Than Recall
647
+
648
+ Minimise the user's memory load by making elements, actions, and options visible.
649
+
650
+ - [ ] Navigation is persistent — `IressSideNav` keeps sections visible rather than hidden behind hamburger menus on desktop
651
+ - [ ] Breadcrumbs show location — `IressBreadcrumbs` reminds users where they are in the hierarchy
652
+ - [ ] Form labels are always visible — `IressField` labels appear above inputs, not as disappearing placeholder text
653
+ - [ ] Actions are visible, not hidden — use `IressButton` for primary actions, `IressContextualMenu` for secondary, avoid burying actions in deep menus
654
+ - [ ] Searchable options for long lists — `IressDropdownMenu` with `searchable` for 10+ options, `IressAutocomplete` for typeahead
655
+
656
+ ### 7. Flexibility and Efficiency of Use
657
+
658
+ Accelerators — unseen by the novice user — may speed up interaction for the expert user.
659
+
660
+ - [ ] Keyboard shortcuts for power users — ensure all interactive IDS components respond to standard keyboard patterns (Enter, Space, Escape, Arrow keys)
661
+ - [ ] Skip links for keyboard users — `IressSkipLink` lets experienced keyboard users bypass repetitive navigation
662
+ - [ ] Searchable selects — `IressSelect` and `IressDropdownMenu` with search enabled let power users type to filter instead of scrolling
663
+ - [ ] Autocomplete for repetitive input — `IressAutocomplete` reduces typing for known-value fields
664
+ - [ ] Responsive layouts — `IressHide`, `hideFrom`/`hideBelow` adapt the interface for different device contexts
665
+
666
+ ### 8. Aesthetic and Minimalist Design
667
+
668
+ Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.
669
+
670
+ - [ ] Use IDS typography scale — `IressText` with appropriate `textStyle` creates clear visual hierarchy without custom styling
671
+ - [ ] Spacing is consistent and intentional — `IressStack`, `IressInline`, and spacing tokens prevent visual clutter
672
+ - [ ] One primary action per section — `mode="primary"` on a single `IressButton` draws the eye to what matters
673
+ - [ ] Use `IressCard` / `IressPanel` to group related content — rather than showing everything in a flat layout
674
+ - [ ] Loading states use `IressLoading` progressive disclosure — no indicator <500ms, spinner at 500ms, message at 2s (avoids unnecessary visual noise for fast operations)
675
+ - [ ] Alerts are used sparingly and appropriately — `IressAlert` for persistent status, `IressToaster` for transient feedback
676
+
677
+ ### 9. Help Users Recognise, Diagnose, and Recover from Errors
678
+
679
+ Error messages should be expressed in plain language (no error codes), precisely indicate the problem, and constructively suggest a solution.
680
+
681
+ - [ ] Validation messages are human-readable — `IressFormField` `rules` `message` prop provides user-friendly text, not technical codes
682
+ - [ ] Errors appear next to the relevant field — `IressFormField` and `IressField` display inline validation, not in a separate area
683
+ - [ ] Summary of errors for long forms — `IressValidationSummary` at the top of long forms helps users find all issues
684
+ - [ ] Status indicators are clear — `IressField` `status="danger"` with `statusMessage` for field-level errors, `IressAlert status="danger"` for page-level errors
685
+ - [ ] Error state is visually distinct — IDS danger tokens (red border, red text) are applied automatically by `status="danger"`
686
+ - [ ] Recovery path is clear — error messages suggest what to do (e.g., "Enter a valid email address" not just "Invalid input")
687
+
688
+ ### 10. Help and Documentation
689
+
690
+ Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation.
691
+
692
+ - [ ] Hint text guides input — `IressField` and `IressFormField` `hint` prop provides contextual guidance below the label
693
+ - [ ] Tooltips explain non-obvious UI — `IressTooltip` for supplementary information on icons, abbreviations, or complex fields
694
+ - [ ] Placeholder text is supplementary, not the only label — `placeholder` is used alongside `IressField` `label`, never as a replacement
695
+ - [ ] Complex workflows have contextual help — use `IressAlert status="info"` or `IressPopover` to explain steps in multi-part processes
696
+
697
+ ## Example Audit Output
698
+
699
+ ### Quick Scan Summary
700
+
701
+ ```
702
+ IDS UI Doctor — Quick Scan
703
+ ================================
704
+ Files scanned: 42
705
+ Components found: 18 IDS / 7 raw HTML
706
+ Patterns used: 3/7 available
707
+ Token compliance: 73%
708
+ Accessibility: 82%
709
+
710
+ Top Issues:
711
+ ⚠ 3× raw <button> found (should be IressButton)
712
+ ⚠ 2× hardcoded colours found (#333, #f5f5f5)
713
+ ⚠ 1× <input> without IressField wrapper
714
+ ⚠ 2× custom <form> found (should use IressForm)
715
+ ⚠ 1× custom loading spinner (should use IressLoading)
716
+ ⚠ 1× missing skip link for keyboard navigation
717
+ ✓ IressProvider correctly configured
718
+ ✓ Component CSS imported
719
+ ✓ IressBreadcrumbs used for navigation hierarchy
720
+ ✓ Colour contrast passes WCAG AA
721
+ ```
722
+
723
+ ## Reference
724
+
725
+ > **Note:** Component docs, pattern docs, and the manifest are within the package itself.
726
+
727
+ - **Component docs:** `node_modules/@iress-oss/ids-components/.ai/components/`
728
+ - **Pattern docs:** `node_modules/@iress-oss/ids-components/.ai/patterns/`
729
+ - **Index (full component list):** `node_modules/@iress-oss/ids-components/.ai/index.json`
730
+ - **Token usage skill:** `.agents/skills/token-usage/SKILL.md`
731
+ - **Figma mapping skill:** `.agents/skills/figma-to-ids/SKILL.md`
732
+ - **UI translation skill:** `.agents/skills/ui-translation/SKILL.md`
733
+ - **Storybook and Guidelines:** https://main--691abcc79dfa560a36d0a74f.chromatic.com