@iress-oss/ids-components 6.0.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/.ai/components/select.md +16 -0
  2. package/dist/Autocomplete-DKufjQU5.js +324 -0
  3. package/dist/{Button-bZPKq0ue.js → Button-BY2qzshw.js} +4 -4
  4. package/dist/{Provider-DvnuqPfQ.js → Provider-BNuRw7ck.js} +2 -2
  5. package/dist/Shadow-DAfthdT2.js +57 -0
  6. package/dist/{Slideout-RnRSkJsj.js → Slideout-BOH2gwIN.js} +3 -3
  7. package/dist/{Table.styles-BLO9zGfS.js → Table.styles-CKD_vWqh.js} +3 -3
  8. package/dist/TableProvider-C8bDaWu2.js +80 -0
  9. package/dist/{TableRows-B3nZnazw.js → TableRows-DXoiLfwt.js} +3 -4
  10. package/dist/{Text.styles-C0D5aEE_.js → Text.styles-DUvXBRio.js} +2 -2
  11. package/dist/components/Alert/Alert.js +4 -4
  12. package/dist/components/Alert/Alert.styles.js +1 -1
  13. package/dist/components/Autocomplete/Autocomplete.d.ts +1 -1
  14. package/dist/components/Autocomplete/Autocomplete.js +1 -1
  15. package/dist/components/Autocomplete/Autocomplete.styles.js +1 -1
  16. package/dist/components/Autocomplete/components/AutocompleteInstructions.js +4 -1
  17. package/dist/components/Autocomplete/hooks/useAutocompleteSearch.d.ts +7 -2
  18. package/dist/components/Autocomplete/hooks/useAutocompleteSearch.js +1 -1
  19. package/dist/components/Autocomplete/index.js +2 -2
  20. package/dist/components/Avatar/Avatar.js +3 -3
  21. package/dist/components/Avatar/Avatar.styles.js +1 -1
  22. package/dist/components/Avatar/AvatarGroup/AvatarGroup.js +3 -3
  23. package/dist/components/Avatar/AvatarGroup/AvatarGroup.styles.js +1 -1
  24. package/dist/components/Button/Button.js +1 -1
  25. package/dist/components/Button/CloseButton/CloseButton.js +2 -2
  26. package/dist/components/Button/index.js +1 -1
  27. package/dist/components/ButtonGroup/ButtonGroup.js +4 -4
  28. package/dist/components/ButtonGroup/ButtonGroup.styles.js +1 -1
  29. package/dist/components/Card/Card.js +3 -3
  30. package/dist/components/Card/Card.styles.js +1 -1
  31. package/dist/components/Checkbox/Checkbox.js +4 -4
  32. package/dist/components/Checkbox/Checkbox.styles.js +1 -1
  33. package/dist/components/CheckboxGroup/CheckboxGroup.js +1 -1
  34. package/dist/components/CheckboxGroup/CheckboxGroup.styles.js +1 -1
  35. package/dist/components/CheckboxMark/CheckboxMark.js +3 -3
  36. package/dist/components/CheckboxMark/CheckboxMark.styles.js +1 -1
  37. package/dist/components/Col/Col.js +2 -2
  38. package/dist/components/Col/Col.styles.js +1 -1
  39. package/dist/components/Container/Container.js +2 -2
  40. package/dist/components/Container/Container.styles.js +1 -1
  41. package/dist/components/Divider/Divider.js +3 -3
  42. package/dist/components/Divider/Divider.styles.js +1 -1
  43. package/dist/components/Expander/Expander.js +4 -4
  44. package/dist/components/Expander/Expander.styles.js +1 -1
  45. package/dist/components/ExpanderChevron/ExpanderChevron.js +1 -1
  46. package/dist/components/ExpanderChevron/ExpanderChevron.styles.js +1 -1
  47. package/dist/components/Field/Field.js +51 -51
  48. package/dist/components/Field/Field.styles.d.ts +1 -1
  49. package/dist/components/Field/Field.styles.js +7 -1
  50. package/dist/components/Field/components/FieldFooter.js +3 -3
  51. package/dist/components/Field/components/FieldHint.js +29 -21
  52. package/dist/components/Field/index.d.ts +0 -2
  53. package/dist/components/Field/index.js +1 -3
  54. package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.js +9 -9
  55. package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.styles.d.ts +1 -1
  56. package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.styles.js +2 -2
  57. package/dist/components/FieldGroup/index.d.ts +2 -0
  58. package/dist/components/FieldGroup/index.js +3 -0
  59. package/dist/components/Hide/Hide.js +1 -1
  60. package/dist/components/Hide/helpers/normaliseHideValues.js +1 -1
  61. package/dist/components/Icon/Icon.constants.js +1 -1
  62. package/dist/components/Icon/Icon.js +5 -5
  63. package/dist/components/Icon/Icon.styles.js +1 -1
  64. package/dist/components/Icon/IconProvider.js +2 -2
  65. package/dist/components/Icon/helpers/getMaterialSymbolsList.js +1 -1
  66. package/dist/components/Icon/hooks/useDynamicFontSubsetting.js +56 -39
  67. package/dist/components/Icon/index.js +1 -1
  68. package/dist/components/Image/Image.js +2 -2
  69. package/dist/components/Image/Image.styles.js +1 -1
  70. package/dist/components/Inline/Inline.js +2 -2
  71. package/dist/components/Inline/Inline.styles.js +1 -1
  72. package/dist/components/Input/Input.js +4 -4
  73. package/dist/components/Input/Input.styles.d.ts +4 -4
  74. package/dist/components/Input/Input.styles.js +5 -5
  75. package/dist/components/Input/InputBase/InputBase.js +1 -1
  76. package/dist/components/InputCurrency/InputCurrency.js +1 -1
  77. package/dist/components/Label/Label.styles.js +1 -1
  78. package/dist/components/Label/LabelBase/LabelBase.js +2 -2
  79. package/dist/components/Link/Link.js +3 -3
  80. package/dist/components/Link/Link.styles.d.ts +1 -0
  81. package/dist/components/Link/Link.styles.js +5 -2
  82. package/dist/components/Menu/Menu.js +84 -80
  83. package/dist/components/Menu/Menu.styles.js +8 -1
  84. package/dist/components/Menu/MenuDivider/MenuDivider.js +1 -1
  85. package/dist/components/Menu/MenuGroup/MenuGroup.d.ts +18 -3
  86. package/dist/components/Menu/MenuGroup/MenuGroup.js +39 -35
  87. package/dist/components/Menu/MenuGroup/MenuGroup.styles.js +1 -1
  88. package/dist/components/Menu/MenuHeading/MenuHeading.d.ts +20 -0
  89. package/dist/components/Menu/MenuHeading/MenuHeading.js +14 -0
  90. package/dist/components/Menu/MenuItem/MenuItem.js +4 -4
  91. package/dist/components/Menu/MenuItem/MenuItem.styles.js +10 -1
  92. package/dist/components/Menu/MenuText/MenuText.d.ts +1 -5
  93. package/dist/components/Menu/MenuText/MenuText.js +14 -20
  94. package/dist/components/Menu/index.d.ts +1 -0
  95. package/dist/components/Menu/index.js +4 -3
  96. package/dist/components/Modal/Modal.js +6 -6
  97. package/dist/components/Modal/Modal.styles.js +1 -1
  98. package/dist/components/Panel/Panel.js +1 -1
  99. package/dist/components/Pill/Pill.js +4 -4
  100. package/dist/components/Pill/Pill.styles.js +1 -1
  101. package/dist/components/Placeholder/Placeholder.js +1 -1
  102. package/dist/components/Placeholder/Placeholder.styles.js +1 -1
  103. package/dist/components/Popover/InputPopover/InputPopover.js +2 -2
  104. package/dist/components/Popover/Popover.js +4 -4
  105. package/dist/components/Popover/Popover.styles.js +1 -1
  106. package/dist/components/Popover/components/PopoverContent.js +54 -44
  107. package/dist/components/Popover/helpers/handlePopoverTabKey.js +2 -2
  108. package/dist/components/Popover/hooks/useFloatingPopover.js +1 -1
  109. package/dist/components/Popover/hooks/usePopoverItem.js +1 -1
  110. package/dist/components/Popover/hooks/usePopoverNavigation.js +1 -1
  111. package/dist/components/Progress/Progress.js +5 -5
  112. package/dist/components/Progress/Progress.styles.js +1 -1
  113. package/dist/components/Provider/Provider.js +1 -1
  114. package/dist/components/Provider/index.js +1 -1
  115. package/dist/components/Radio/Radio.js +4 -4
  116. package/dist/components/Radio/Radio.styles.js +1 -1
  117. package/dist/components/RadioGroup/RadioGroup.js +2 -2
  118. package/dist/components/RadioGroup/RadioGroup.styles.js +1 -1
  119. package/dist/components/RadioMark/RadioMark.js +3 -3
  120. package/dist/components/RadioMark/RadioMark.styles.js +1 -1
  121. package/dist/components/Readonly/Readonly.js +4 -4
  122. package/dist/components/Readonly/Readonly.styles.js +1 -1
  123. package/dist/components/Row/Row.js +2 -2
  124. package/dist/components/Row/Row.styles.js +1 -1
  125. package/dist/components/Select/Select.d.ts +6 -0
  126. package/dist/components/Select/Select.js +1 -1
  127. package/dist/components/Select/Select.styles.js +1 -1
  128. package/dist/components/Select/SelectBody/SelectBody.js +1 -1
  129. package/dist/components/Select/SelectBody/SelectBody.styles.js +1 -1
  130. package/dist/components/Select/SelectHeading/SelectHeading.js +7 -7
  131. package/dist/components/Select/SelectLabel/SelectLabel.js +1 -1
  132. package/dist/components/Select/SelectLabel/SelectLabel.styles.js +1 -1
  133. package/dist/components/Select/SelectMenu/SelectMenu.js +1 -1
  134. package/dist/components/Select/SelectMenu/SelectMenu.styles.js +1 -1
  135. package/dist/components/Select/SelectMenu/SelectMenuItem.js +1 -1
  136. package/dist/components/Select/SelectSearch/SelectSearch.js +1 -1
  137. package/dist/components/Select/SelectSearch/SelectSearch.styles.js +1 -1
  138. package/dist/components/Select/SelectSearchInput/SelectSearchInput.js +1 -1
  139. package/dist/components/Select/SelectSearchInput/SelectSearchInput.styles.js +1 -1
  140. package/dist/components/Select/SelectTags/SelectTags.js +17 -17
  141. package/dist/components/Select/SelectTags/SelectTags.styles.js +1 -1
  142. package/dist/components/Select/components/NativeSelect.js +3 -3
  143. package/dist/components/Select/components/NativeSelect.styles.d.ts +1 -1
  144. package/dist/components/Select/components/NativeSelect.styles.js +2 -2
  145. package/dist/components/Select/components/SelectOptions.d.ts +2 -2
  146. package/dist/components/Select/components/SelectOptions.js +117 -98
  147. package/dist/components/Select/index.js +1 -1
  148. package/dist/components/Skeleton/Skeleton.js +1 -1
  149. package/dist/components/Skeleton/Skeleton.styles.js +1 -1
  150. package/dist/components/SkipLink/SkipLink.js +2 -2
  151. package/dist/components/SkipLink/SkipLink.styles.js +1 -1
  152. package/dist/components/Slideout/Slideout.js +1 -1
  153. package/dist/components/Slideout/Slideout.styles.js +2 -1
  154. package/dist/components/Slideout/components/SlideoutInner.js +2 -2
  155. package/dist/components/Slideout/hooks/usePushElement.js +1 -1
  156. package/dist/components/Slideout/index.js +1 -1
  157. package/dist/components/Slider/Slider.js +3 -3
  158. package/dist/components/Slider/Slider.styles.js +1 -1
  159. package/dist/components/Slider/components/SliderTicks.js +2 -2
  160. package/dist/components/Spinner/Spinner.js +1 -1
  161. package/dist/components/Spinner/Spinner.styles.js +2 -2
  162. package/dist/components/Stack/Stack.js +2 -2
  163. package/dist/components/Stack/Stack.styles.js +1 -1
  164. package/dist/components/Styled/Styled.js +1 -1
  165. package/dist/components/TabSet/Tab/Tab.js +3 -3
  166. package/dist/components/TabSet/Tab/Tab.styles.js +1 -1
  167. package/dist/components/TabSet/TabSet.d.ts +6 -1
  168. package/dist/components/TabSet/TabSet.js +39 -35
  169. package/dist/components/TabSet/TabSet.styles.d.ts +1 -1
  170. package/dist/components/TabSet/TabSet.styles.js +14 -2
  171. package/dist/components/Table/Table.js +1 -1
  172. package/dist/components/Table/Table.styles.js +1 -1
  173. package/dist/components/Table/TableBody/TableBody.js +1 -1
  174. package/dist/components/Table/TableProvider.js +2 -43
  175. package/dist/components/Table/components/TableEmpty.js +1 -1
  176. package/dist/components/Table/components/TableFilterButton.js +1 -1
  177. package/dist/components/Table/components/TableHeader.js +1 -1
  178. package/dist/components/Table/components/TableHeaderCell.js +1 -1
  179. package/dist/components/Table/components/TableRows.js +1 -1
  180. package/dist/components/Table/components/TableSortButton.js +1 -1
  181. package/dist/components/Table/helpers/composeTableColumnDefs.js +1 -1
  182. package/dist/components/Table/helpers/composeTableInitialColumnFilters.js +1 -1
  183. package/dist/components/Table/hooks/useTable.js +1 -1
  184. package/dist/components/Table/hooks/useTableColumnFilter.js +2 -2
  185. package/dist/components/Table/hooks/useTableColumnSort.js +1 -1
  186. package/dist/components/Table/hooks/useTableColumnStyles.js +4 -4
  187. package/dist/components/Table/index.js +2 -2
  188. package/dist/components/Tag/Tag.js +3 -3
  189. package/dist/components/Tag/Tag.styles.d.ts +14 -14
  190. package/dist/components/Tag/Tag.styles.js +17 -17
  191. package/dist/components/Tag/index.d.ts +0 -1
  192. package/dist/components/Tag/index.js +1 -2
  193. package/dist/components/{Tag/TagInput → TagInput}/TagInput.d.ts +1 -1
  194. package/dist/components/{Tag/TagInput → TagInput}/TagInput.js +7 -7
  195. package/dist/components/TagInput/TagInput.styles.d.ts +1 -0
  196. package/dist/components/{Tag/TagInput → TagInput}/TagInput.styles.js +2 -2
  197. package/dist/components/TagInput/index.d.ts +2 -0
  198. package/dist/components/TagInput/index.js +3 -0
  199. package/dist/components/Text/Text.js +3 -3
  200. package/dist/components/Text/Text.styles.js +1 -1
  201. package/dist/components/Text/index.js +1 -1
  202. package/dist/components/Toaster/Toaster.js +3 -3
  203. package/dist/components/Toaster/Toaster.styles.js +1 -1
  204. package/dist/components/Toaster/components/Toast/Toast.js +2 -2
  205. package/dist/components/Toaster/components/Toast/Toast.styles.js +1 -1
  206. package/dist/components/Toggle/Toggle.js +3 -3
  207. package/dist/components/Toggle/Toggle.styles.js +1 -1
  208. package/dist/components/Tooltip/Tooltip.d.ts +7 -2
  209. package/dist/components/Tooltip/Tooltip.js +50 -44
  210. package/dist/components/Tooltip/Tooltip.styles.js +1 -1
  211. package/dist/components/Tooltip/TooltipProvider.d.ts +27 -0
  212. package/dist/components/Tooltip/TooltipProvider.js +14 -0
  213. package/dist/components/Tooltip/hooks/useTooltipContainer.d.ts +17 -0
  214. package/dist/components/Tooltip/hooks/useTooltipContainer.js +5 -0
  215. package/dist/components/Tooltip/index.d.ts +4 -0
  216. package/dist/components/Tooltip/index.js +4 -2
  217. package/dist/components/ValidationMessage/ValidationLink/ValidationLink.js +1 -1
  218. package/dist/components/ValidationMessage/ValidationMessage.js +5 -5
  219. package/dist/components/ValidationMessage/ValidationSummary/ValidationSummary.js +2 -2
  220. package/dist/{composeTableColumnDefs-B1U_Snxq.js → composeTableColumnDefs-DzUn8D5f.js} +230 -266
  221. package/dist/constants.js +1 -1
  222. package/dist/{create-recipe-CYwSzH6a.js → create-recipe-A316lnq3.js} +3 -3
  223. package/dist/{css-D3KwXbP0.js → css-R34N3rft.js} +32 -32
  224. package/dist/{cva-BWFp4eLV.js → cva-DcOwIar2.js} +2 -2
  225. package/dist/{factory-sKbby7-S.js → factory-BKr3zaf6.js} +4 -4
  226. package/dist/{floating-ui.react-COiJC198.js → floating-ui.react-TDMXDOBr.js} +50 -50
  227. package/dist/helpers/dom/focusableElements.js +1 -1
  228. package/dist/helpers/label-value/highlightQueryInLabel.js +378 -2
  229. package/dist/helpers/label-value/highlightQueryInLabelValue.js +1 -1
  230. package/dist/helpers/label-value/searchLabelValues.js +3 -2
  231. package/dist/helpers/styling/iressCss.js +1 -1
  232. package/dist/hooks/useBreakpoint.js +1 -1
  233. package/dist/hooks/useResponsiveProps.js +1 -1
  234. package/dist/index.d-BITk11Vr.js +4 -0
  235. package/dist/{index.esm-CmxdHJYy.js → index.esm-CapMi3wi.js} +2 -2
  236. package/dist/{is-valid-prop-BoZ7GJt2.js → is-valid-prop-BVyYPT21.js} +1 -1
  237. package/dist/{main-BpD96KHv.js → main-TklToXNs.js} +24 -25
  238. package/dist/main.d.ts +2 -0
  239. package/dist/main.js +130 -126
  240. package/dist/patterns/Breadcrumbs/Breadcrumbs.js +2 -2
  241. package/dist/patterns/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  242. package/dist/patterns/ContextualMenu/ContextualMenu.js +5 -5
  243. package/dist/patterns/ContextualMenu/ContextualMenu.styles.js +1 -1
  244. package/dist/patterns/DropdownMenu/DropdownMenu.js +119 -107
  245. package/dist/patterns/DropdownMenu/DropdownMenu.styles.js +1 -1
  246. package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.d.ts +1 -0
  247. package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.js +1 -0
  248. package/dist/patterns/Form/Form.styles.js +1 -1
  249. package/dist/patterns/Form/FormField/FormFieldset.d.ts +1 -1
  250. package/dist/patterns/Form/FormField/FormFieldset.js +1 -1
  251. package/dist/patterns/Form/FormField/helpers/getErrorTypeMessage.js +2 -2
  252. package/dist/patterns/Form/FormField/helpers/transformCustomRulesToValidateRule.js +5 -5
  253. package/dist/patterns/Form/FormValidationSummary/FormValidationSummary.js +2 -1
  254. package/dist/patterns/Form/HookForm/HookForm.js +2 -2
  255. package/dist/patterns/Form/components/LongForm.js +4 -2
  256. package/dist/patterns/Form/components/ShortForm.js +2 -1
  257. package/dist/patterns/Loading/Loading.styles.d.ts +3 -0
  258. package/dist/patterns/Loading/Loading.styles.js +5 -2
  259. package/dist/patterns/Loading/components/ComponentLoading.js +4 -4
  260. package/dist/patterns/Loading/components/DefaultLoading.js +2 -2
  261. package/dist/patterns/Loading/components/LongLoading.js +4 -4
  262. package/dist/patterns/Loading/components/PageLoading.js +6 -6
  263. package/dist/patterns/Loading/components/StartUpLoading.js +2 -2
  264. package/dist/patterns/Loading/components/ValidateLoading.js +3 -3
  265. package/dist/patterns/Shadow/Shadow.js +1 -1
  266. package/dist/patterns/Shadow/index.js +1 -1
  267. package/dist/patterns/SideNav/SideNav.d.ts +6 -0
  268. package/dist/patterns/SideNav/SideNav.js +78 -72
  269. package/dist/patterns/SideNav/SideNav.styles.js +7 -3
  270. package/dist/rolldown-runtime-3b4jIN3o.js +13 -0
  271. package/dist/style.css +1 -1
  272. package/dist/{sva-DOLIp5Dd.js → sva-DGhdmNso.js} +3 -3
  273. package/dist/{useAutocompleteSearch-BJ_hhoKp.js → useAutocompleteSearch-BYzUn7Ag.js} +49 -43
  274. package/package.json +16 -16
  275. package/dist/Autocomplete-CuUjmIAw.js +0 -308
  276. package/dist/Shadow-OHZiBoEb.js +0 -57
  277. package/dist/components/Tag/TagInput/TagInput.styles.d.ts +0 -1
  278. package/dist/highlightQueryInLabel-BLIy9JHT.js +0 -386
  279. package/dist/index.d-CLYyYDIv.js +0 -4
  280. /package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.d.ts +0 -0
  281. /package/dist/{constants-D0UW4Ewm.js → constants-DJz-xntC.js} +0 -0
  282. /package/dist/{cx-CZ8IJJTy.js → cx-QcEwjve6.js} +0 -0
  283. /package/dist/{tokens-CG_Rn1W3.js → tokens-DQsbW5to.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { a as e, c as t, f as n, l as r } from "./css-D3KwXbP0.js";
2
- import { t as i } from "./cx-CZ8IJJTy.js";
3
- import { n as a } from "./cva-BWFp4eLV.js";
1
+ import { a as e, c as t, f as n, l as r } from "./css-R34N3rft.js";
2
+ import { t as i } from "./cx-QcEwjve6.js";
3
+ import { n as a } from "./cva-DcOwIar2.js";
4
4
  //#region src/styled-system/css/sva.mjs
5
5
  function o(o) {
6
6
  let s = Object.entries(t(o)).map(([e, t]) => [e, a(t)]), c = o.defaultVariants ?? {}, l = s.reduce((e, [t, n]) => (o.className && (e[t] = n.config.className), e), {});
@@ -79,7 +79,7 @@ function l(e, t, r) {
79
79
  }
80
80
  //#endregion
81
81
  //#region src/components/Autocomplete/hooks/useAutocompleteSearch.tsx
82
- var u = 500, d = 1, f = (e) => e instanceof Error && e.message ? e.message : typeof e == "string" ? e : !0, p = () => {
82
+ var u = 300, d = 1, f = 250, p = (e) => e instanceof Error && e.message ? e.message : typeof e != "string" || e, m = () => {
83
83
  let [t, r] = o(!1), [i, a] = o(!1), [s, c] = o([]), [l, u] = o(!1);
84
84
  return {
85
85
  loading: t,
@@ -108,75 +108,81 @@ var u = 500, d = 1, f = (e) => e instanceof Error && e.message ? e.message : typ
108
108
  a(!1);
109
109
  }, [])
110
110
  };
111
- }, m = (e, r) => {
112
- let i = a(""), o = n((e) => i.current === e, []), s = n((e) => {
113
- i.current = e;
111
+ }, h = (e, r, i) => {
112
+ let o = a(""), s = a(null), c = n(() => {
113
+ s.current &&= (clearTimeout(s.current), null);
114
+ }, []), l = n((e) => o.current === e, []), u = n((e) => {
115
+ o.current = e;
114
116
  }, []);
115
117
  return {
116
- handleAsync: n(async (t, n, i, a = !1) => {
117
- if (o(n) && !a) return;
118
- let c = ++r.current;
119
- if (s(n), n.length >= i || a) {
120
- e.setLoadingState(!0), e.clearErrorState();
118
+ handleAsync: n(async (t, n, a, o = !1) => {
119
+ if (l(n) && !o) return;
120
+ let d = ++r.current;
121
+ if (u(n), n.length >= a || o) {
122
+ c(), e.clearErrorState(), s.current = setTimeout(() => {
123
+ e.setLoadingState(!0);
124
+ }, i);
121
125
  try {
122
126
  let i = await t(n);
123
- if (c !== r.current) return;
124
- e.setSearched(!0), e.updateWithResults(i, n);
127
+ if (d !== r.current) return;
128
+ c(), e.setSearched(!0), e.updateWithResults(i, n);
125
129
  } catch (t) {
126
- if (c !== r.current) return;
127
- e.setSearched(!0), e.updateWithError(f(t));
130
+ if (d !== r.current) return;
131
+ c(), e.setSearched(!0), e.updateWithError(p(t));
128
132
  }
129
- } else e.reset();
133
+ } else c(), e.reset();
130
134
  }, [
131
135
  e,
132
- o,
133
- s,
134
- r
136
+ l,
137
+ u,
138
+ r,
139
+ c,
140
+ i
135
141
  ]),
136
142
  handleSync: n((n, r, i, a = !1) => {
137
- if (!(o(r) && !a)) if (s(r), r.length >= i || a) {
143
+ if (!(l(r) && !a)) if (u(r), r.length >= i || a) {
138
144
  e.setSearched(!0);
139
145
  let i = t(r, n);
140
146
  e.updateWithResults(i, r);
141
147
  } else e.reset();
142
148
  }, [
143
149
  e,
144
- o,
145
- s
150
+ l,
151
+ u
146
152
  ])
147
153
  };
148
- }, h = ({ debounceThreshold: e = u, disabled: t = !1, initialOptions: i = [], minSearchLength: o = d, options: s = [], query: c = "" }) => {
149
- let f = p(), h = m(f, a(0)), [g] = l(c, e), _ = n((e = !1) => {
154
+ }, g = ({ debounceThreshold: e = u, disabled: t = !1, initialOptions: i = [], loadingDelay: o = f, minSearchLength: s = d, options: c = [], query: p = "" }) => {
155
+ let g = m(), _ = h(g, a(0), o), [v] = l(p, e), y = n((e = !1) => {
150
156
  if (!t) {
151
- if (typeof s == "function") {
152
- h.handleAsync(s, g, o, e);
157
+ if (typeof c == "function") {
158
+ _.handleAsync(c, v, s, e);
153
159
  return;
154
160
  }
155
- h.handleSync(s, g, o, e);
161
+ _.handleSync(c, v, s, e);
156
162
  }
157
163
  }, [
158
164
  t,
159
- g,
160
- o,
165
+ v,
161
166
  s,
162
- h
167
+ c,
168
+ _
163
169
  ]);
164
170
  r(() => {
165
- t || _();
166
- }, [t, _]);
167
- let v;
168
- return v = t ? Array.isArray(s) ? s : i ?? [] : f.results.length ? f.results : g.length ? [] : i ?? [], {
169
- clearError: f.clearError,
170
- debouncedQuery: g,
171
- error: f.error,
172
- loading: t ? !1 : f.loading,
173
- shouldShowInstructions: !t && c.length < o && !f.results.length && !i?.length,
174
- shouldShowDebounceWaiting: !t && c.length >= o && g.length < o && !f.loading && !f.hasSearched,
175
- shouldShowNoResults: !t && f.hasSearched && !f.loading && f.results.length === 0 && c.length >= o,
176
- results: v,
177
- startSearch: _,
178
- stopSearch: f.reset
171
+ t || y();
172
+ }, [t, y]);
173
+ let b;
174
+ return b = t ? Array.isArray(c) ? c : i ?? [] : g.results.length ? g.results : v.length ? [] : i ?? [], {
175
+ clearError: g.clearError,
176
+ debouncedQuery: v,
177
+ error: g.error,
178
+ loading: !t && g.loading,
179
+ shouldShowInstructions: !t && p.length < s && !g.results.length && !i?.length,
180
+ shouldShowDebounceWaiting: !t && p.length >= s && v.length < s && !g.loading && !g.hasSearched,
181
+ shouldShowNoResults: !t && g.hasSearched && !g.loading && g.results.length === 0 && p.length >= s,
182
+ results: b,
183
+ startSearch: y,
184
+ stopSearch: g.reset
179
185
  };
180
186
  };
181
187
  //#endregion
182
- export { h as t };
188
+ export { g as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iress-oss/ids-components",
3
- "version": "6.0.1",
3
+ "version": "6.2.0",
4
4
  "description": "Iress React Component Library",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -43,36 +43,36 @@
43
43
  "@types/query-selector-shadow-dom": "1.0.4",
44
44
  "@types/react": "^19.2.14",
45
45
  "@types/react-dom": "^19.2.3",
46
- "@vitejs/plugin-react": "^6.0.1",
47
- "@vitest/coverage-v8": "4.1.5",
48
- "@vitest/ui": "4.1.5",
46
+ "@vitejs/plugin-react": "^6.0.3",
47
+ "@vitest/coverage-v8": "4.1.10",
48
+ "@vitest/ui": "4.1.10",
49
49
  "concurrently": "^9.2.1",
50
- "dompurify": "^3.4.1",
51
- "eslint": "10.3.0",
50
+ "dompurify": "^3.4.11",
51
+ "eslint": "10.6.0",
52
52
  "eslint-plugin-file-progress": "^4.0.0",
53
- "eslint-plugin-mdx": "3.7.0",
54
- "eslint-plugin-prettier": "5.5.5",
53
+ "eslint-plugin-mdx": "3.8.1",
54
+ "eslint-plugin-prettier": "5.5.6",
55
55
  "eslint-plugin-react-hooks": "^7.1.1",
56
- "eslint-plugin-react-refresh": "^0.5.2",
56
+ "eslint-plugin-react-refresh": "^0.5.3",
57
57
  "eslint-plugin-sonarjs": "^4.0.3",
58
58
  "glob": "13.0.6",
59
59
  "jest-axe": "10.0.0",
60
60
  "jsdom": "29.1.1",
61
61
  "lightningcss": "^1.32.0",
62
- "postcss": "8.5.15",
62
+ "postcss": "8.5.17",
63
63
  "prettier": "^3.8.2",
64
64
  "react": "^19.2.6",
65
65
  "react-dom": "^19.2.6",
66
66
  "react-dropzone": "15.0.0",
67
67
  "react-hook-form": "7.72.1",
68
68
  "rimraf": "^6.1.3",
69
- "storybook": "10.3.6",
69
+ "storybook": "10.4.6",
70
70
  "typescript": "6.0.3",
71
- "vite": "8.0.11",
71
+ "vite": "8.1.4",
72
72
  "vite-bundle-visualizer": "^1.2.1",
73
- "vite-plugin-dts": "5.0.0",
74
- "vite-plugin-static-copy": "4.1.0",
75
- "vitest": "4.1.5"
73
+ "vite-plugin-dts": "5.0.3",
74
+ "vite-plugin-static-copy": "4.1.1",
75
+ "vitest": "4.1.10"
76
76
  },
77
77
  "dependencies": {
78
78
  "@floating-ui/react": "0.27.19",
@@ -81,7 +81,7 @@
81
81
  "@tanstack/react-virtual": "3.13.12",
82
82
  "@types/mdx": "^2.0.13",
83
83
  "fuzzysort": "3.1.0",
84
- "material-symbols": "0.44.6",
84
+ "material-symbols": "0.45.6",
85
85
  "query-selector-shadow-dom": "1.0.1",
86
86
  "use-debounce": "10.1.1"
87
87
  },
@@ -1,308 +0,0 @@
1
- import { t as e } from "./cx-CZ8IJJTy.js";
2
- import { GlobalCSSClass as t } from "./enums.js";
3
- import { idsLogger as n } from "./helpers/utility/idsLogger.js";
4
- import { IressIcon as r } from "./components/Icon/Icon.js";
5
- import { propagateTestid as i } from "./helpers/utility/propagateTestid.js";
6
- import { toArray as a } from "./helpers/formatting/toArray.js";
7
- import { useControlledState as o } from "./hooks/useControlledState.js";
8
- import { useResponsiveProps as ee } from "./hooks/useResponsiveProps.js";
9
- import { IressPopover as te } from "./components/Popover/Popover.js";
10
- import { IressInputPopover as s } from "./components/Popover/InputPopover/InputPopover.js";
11
- import { IressAlert as ne } from "./components/Alert/Alert.js";
12
- import { autoComplete as re } from "./components/Autocomplete/Autocomplete.styles.js";
13
- import { getFormControlValueAsStringIfDefined as c } from "./helpers/form/getFormControlValueAsStringIfDefined.js";
14
- import { useNoDefaultValueInForms as ie } from "./patterns/Form/hooks/useNoDefaultValueInForms.js";
15
- import { IressReadonly as ae } from "./components/Readonly/Readonly.js";
16
- import { IressInput as oe } from "./components/Input/Input.js";
17
- import { getValueAsEvent as l } from "./helpers/form/getValueAsEvent.js";
18
- import { t as se } from "./useAutocompleteSearch-BJ_hhoKp.js";
19
- import { AutocompleteInstructions as u } from "./components/Autocomplete/components/AutocompleteInstructions.js";
20
- import { select as d } from "./components/Select/Select.styles.js";
21
- import { SelectActivator as f } from "./components/Select/components/SelectActivator.js";
22
- import { IressSelectMenu as p } from "./components/Select/SelectMenu/SelectMenu.js";
23
- import { SelectOptions as m } from "./components/Select/components/SelectOptions.js";
24
- import { SelectHiddenInput as ce } from "./components/Select/components/SelectHiddenInput.js";
25
- import { NativeSelect as le } from "./components/Select/components/NativeSelect.js";
26
- import { useSelectState as ue } from "./components/Select/hooks/useSelectState.js";
27
- import { forwardRef as h, useCallback as g, useEffect as _, useImperativeHandle as de, useMemo as v, useRef as y, useState as b } from "react";
28
- import { Fragment as fe, jsx as x, jsxs as S } from "react/jsx-runtime";
29
- //#region src/components/Select/Select.tsx
30
- var C = (e) => typeof e == "object" && !!e && "label" in e, w = (e, t) => {
31
- for (let n of t) if (n.children) {
32
- let t = w(e, n.children);
33
- if (t) return t;
34
- } else if (n.value !== void 0 && n.value === e) return n;
35
- }, T = (e, t) => {
36
- if (C(e)) return e;
37
- if (typeof t != "function") return w(e, t) ?? (typeof e == "number" ? w(String(e), t) : void 0);
38
- }, E = (e, t) => {
39
- if (e !== void 0) {
40
- if (Array.isArray(e)) {
41
- let r = e, i = r.map((e) => T(e, t)).filter((e) => e !== void 0);
42
- return i.length < r.length && typeof t != "function" && n(`IressSelect: ${r.length - i.length} value(s) could not be resolved to matching options and were dropped.`, "warn"), i;
43
- }
44
- return T(e, t);
45
- }
46
- }, D = h(({ align: r = "bottom-start", autoHighlight: i = !0, className: a, defaultValue: o, disabled: s, footer: ne, header: re, id: c, matchActivatorWidth: oe = !0, multiSelect: l, multiSelectLimit: u, name: p, onChange: h, onBlur: w, options: T, native: D, placeholder: O, readOnly: k, renderHiddenInput: A, renderLabel: j, renderOptions: pe, required: M, type: me, value: N, virtualFocus: P, width: F, ...I }, L) => {
47
- ie({
48
- component: "IressSelect",
49
- defaultValue: o
50
- });
51
- let [R, z] = b(!1), B = R && !s, [V, he] = b(""), H = v(() => E(N, T), [N, T]), ge = v(() => E(o, T), [o, T]);
52
- _(() => {
53
- N !== void 0 && !C(N) && H === void 0 && typeof T == "function" && n("IressSelect: A primitive value was passed but cannot be resolved because options are asynchronous. Pass a LabelValueMeta object instead when using async options, otherwise the component will behave as uncontrolled.", "warn");
54
- }, [
55
- N,
56
- H,
57
- T
58
- ]);
59
- let { value: U, setValue: W, getValuesString: G, getLabelsString: _e } = ue({
60
- component: "IressSelect",
61
- defaultValue: ge,
62
- multiple: l,
63
- value: H
64
- }), K = y(null), q = y(null), J = y(null), { value: Y } = ee(typeof D == "string" ? {
65
- xs: !0,
66
- [D]: !1
67
- } : { xs: D }, { disabled: !D }), { append: ve, debounceThreshold: X, initialOptions: ye, minSearchLength: be, onActivated: xe, onDeactivated: Se, prepend: Ce, selectedOptionsText: we, ...Z } = I, { debouncedQuery: Te, error: Ee, results: De, stopSearch: Oe, loading: ke, shouldShowInstructions: Ae, shouldShowNoResults: je } = se({
68
- debounceThreshold: X,
69
- disabled: !R || !!Y,
70
- initialOptions: ye,
71
- minSearchLength: be,
72
- options: T,
73
- query: V
74
- });
75
- de(L, () => Y ? {
76
- focus: () => q.current?.focus(),
77
- blur: () => q.current?.blur(),
78
- input: q.current ?? null
79
- } : K.current ? {
80
- ...K.current,
81
- focus: () => K.current?.getActivator()?.focus(),
82
- blur: () => K.current?.getActivator()?.blur(),
83
- hiddenInput: J.current ?? void 0,
84
- input: J.current ?? null
85
- } : {
86
- hiddenInput: J.current ?? void 0,
87
- input: J.current ?? null,
88
- focus: () => J.current?.focus(),
89
- blur: () => J.current?.blur()
90
- }, [Y]), _(() => {
91
- R ? xe?.() : Se?.();
92
- }, [
93
- xe,
94
- Se,
95
- R
96
- ]);
97
- let Me = g((e) => {
98
- if (!w) return;
99
- let t = e.currentTarget, n = e.relatedTarget;
100
- !R && (!n || !t.contains(n)) && w(e), e.stopPropagation();
101
- }, [w, R]);
102
- if (k) return /* @__PURE__ */ x(ae, {
103
- value: G(),
104
- ref: J,
105
- variant: k,
106
- name: p,
107
- disabled: s,
108
- required: M,
109
- children: _e(", ")
110
- });
111
- if (Y) {
112
- if (T instanceof Function) throw Error("[IressSelect] The native select does not support asynchronous options. Please provide options as an array.");
113
- if (l) throw Error("[IressSelect] The native select does not support multiple selection. Please remove the multiSelect prop or use the non-native select.");
114
- return /* @__PURE__ */ x(le, {
115
- className: e(a, t.Select),
116
- "data-testid": Z["data-testid"],
117
- disabled: s,
118
- id: c,
119
- name: p,
120
- onChange: (e, t) => {
121
- h?.(e, t?.value ?? null, t), W(t);
122
- },
123
- options: T,
124
- placeholder: typeof D == "string" ? O ?? "" : O,
125
- style: Z.style,
126
- value: U,
127
- width: F,
128
- ref: q
129
- });
130
- }
131
- let Q = typeof T == "function", Ne = P ?? !Q, Pe = me ?? (Q ? void 0 : "listbox"), $ = d({ width: F }), Fe = () => {
132
- z(!0);
133
- }, Ie = () => {
134
- z(!1), Oe();
135
- };
136
- return /* @__PURE__ */ S(fe, { children: [/* @__PURE__ */ x(ce, {
137
- "data-testid": Z["data-testid"],
138
- getValuesString: G,
139
- name: p,
140
- renderHiddenInput: A,
141
- required: M,
142
- value: U,
143
- disabled: s,
144
- ref: J
145
- }), /* @__PURE__ */ x(te, {
146
- ...Z,
147
- activator: /* @__PURE__ */ x(f, {
148
- append: ve,
149
- async: Q,
150
- disabled: s,
151
- error: Ee,
152
- id: c,
153
- loading: ke,
154
- multiSelect: l,
155
- multiSelectLimit: u,
156
- onChange: h,
157
- placeholder: O,
158
- prepend: Ce,
159
- renderLabel: j,
160
- selectedOptionsText: we,
161
- setValue: W,
162
- setShow: z,
163
- show: R,
164
- value: U
165
- }),
166
- align: r,
167
- className: e(a, $.root, t.Select),
168
- contentClassName: e($.popoverContent),
169
- contentStyle: {
170
- ...Z.contentStyle,
171
- p: "none"
172
- },
173
- matchActivatorWidth: oe,
174
- onActivated: Fe,
175
- onDeactivated: Ie,
176
- ref: K,
177
- show: B,
178
- type: Pe,
179
- virtualFocus: Ne,
180
- onBlur: Me,
181
- children: /* @__PURE__ */ S("div", {
182
- className: $.wrapper,
183
- children: [
184
- re,
185
- /* @__PURE__ */ x(m, {
186
- autoHighlight: i,
187
- debouncedQuery: Te,
188
- error: Ee,
189
- initialOptions: ye,
190
- loading: ke,
191
- minSearchLength: be,
192
- multiSelect: l,
193
- onChange: h,
194
- options: T,
195
- query: V,
196
- renderOptions: pe,
197
- results: De,
198
- setQuery: he,
199
- setShow: z,
200
- setValue: W,
201
- shouldShowInstructions: Ae,
202
- shouldShowNoResults: je,
203
- show: B,
204
- value: U
205
- }),
206
- ne
207
- ]
208
- })
209
- })] });
210
- });
211
- D.displayName = "IressSelect";
212
- //#endregion
213
- //#region src/components/Autocomplete/Autocomplete.tsx
214
- var O = h(({ alwaysShowOnFocus: n, append: ee = /* @__PURE__ */ x(r, { name: "search" }), autoComplete: te = "off", autoSelect: ie = !0, className: d, clearable: f = !0, "data-testid": m, debounceThreshold: ce, defaultValue: le, errorText: ue = /* @__PURE__ */ x(ne, {
215
- status: "danger",
216
- mb: "none",
217
- borderRadius: "radius.system.form",
218
- children: "An unknown error occurred. Please contact support if the error persists."
219
- }), initialOptions: h, limitDesktop: g = 12, limitMobile: de = 6, minSearchLength: v, noResultsText: y, onChange: C, onClear: w, onFocus: T, options: E, popoverProps: { autoHighlight: D = !1, append: O, prepend: k, ...A } = {}, readOnly: j, value: pe, ...M }, me) => {
220
- let [N, P] = b(!1), { value: F, setValue: I } = o({
221
- component: "IressAutocomplete",
222
- defaultValue: le,
223
- value: pe
224
- }), [L, R] = b(!1), { clearError: z, debouncedQuery: B, error: V, loading: he, results: H, startSearch: ge, stopSearch: U, shouldShowInstructions: W, shouldShowNoResults: G } = se({
225
- debounceThreshold: ce,
226
- initialOptions: h,
227
- minSearchLength: v,
228
- options: E,
229
- query: c(F)
230
- });
231
- if (_(() => {
232
- L && !N && H.length > 0 && F && P(!0);
233
- }, [
234
- H.length,
235
- N,
236
- L,
237
- F
238
- ]), _(() => {
239
- V && P(!0);
240
- }, [V]), j) return /* @__PURE__ */ x(ae, {
241
- value: F,
242
- variant: j
243
- });
244
- let _e = (e, t) => {
245
- C?.(e, t), I(t), R(!!t);
246
- }, K = (e) => {
247
- w?.(e), I("");
248
- }, q = (e) => {
249
- T?.(e), h?.length && P(!0);
250
- }, J = (e) => {
251
- let t = a(e)?.[0];
252
- C?.(l(t?.label), t?.label, t), I(t?.label), P(!1), R(!1);
253
- }, Y = () => {
254
- (!n || !F) && U(), z(), P(!1), F && R(!1);
255
- }, ve = (e) => {
256
- M.onKeyDown?.(e), e.key === "ArrowDown" && (!N || !L) && (H.length || ge(!0), R(!0), P(!0));
257
- }, X = re({ isEmpty: H.length === 0 && !V && !W && !G });
258
- return /* @__PURE__ */ S(s, {
259
- ...A,
260
- activator: /* @__PURE__ */ x(oe, {
261
- ...M,
262
- append: ee,
263
- autoComplete: te,
264
- clearable: f,
265
- "data-testid": i(m, "input"),
266
- loading: he,
267
- onChange: _e,
268
- onClear: K,
269
- onFocus: q,
270
- onKeyDown: ve,
271
- value: F,
272
- ref: me
273
- }),
274
- autoHighlight: D,
275
- className: e(d, A.className, X.root, t.Autocomplete),
276
- contentClassName: e(A.contentClassName, X.popoverContent),
277
- contentStyle: A.contentStyle,
278
- "data-testid": m,
279
- minLength: 0,
280
- onActivated: () => (L || n) && P(!0),
281
- onDeactivated: Y,
282
- show: N,
283
- type: "listbox",
284
- focusStartIndex: 0,
285
- children: [
286
- H.length > 0 && /* @__PURE__ */ S(fe, { children: [
287
- k,
288
- /* @__PURE__ */ x(p, {
289
- changeOnBlur: ie,
290
- className: e(X.optionList),
291
- "data-testid": i(m, "menu"),
292
- items: H,
293
- limitDesktop: g,
294
- limitMobile: de,
295
- onChange: J,
296
- selected: { label: B }
297
- }),
298
- O
299
- ] }),
300
- V && ue,
301
- W && !V && /* @__PURE__ */ x(u, { minSearchLength: v ?? 1 }),
302
- G && !V && y
303
- ]
304
- });
305
- });
306
- O.displayName = "IressAutocomplete";
307
- //#endregion
308
- export { D as n, O as t };