@procore/core-react 11.22.1 → 11.23.1

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 (990) hide show
  1. package/babel.config.js +32 -15
  2. package/dist/@types/files.d.js +2 -0
  3. package/dist/@types/files.d.js.map +1 -0
  4. package/dist/@types/global.d.js +2 -0
  5. package/dist/@types/global.d.js.map +1 -0
  6. package/dist/Avatar/Avatar.js +91 -80
  7. package/dist/Avatar/Avatar.js.map +1 -1
  8. package/dist/Avatar/Avatar.styles.js +57 -29
  9. package/dist/Avatar/Avatar.styles.js.map +1 -1
  10. package/dist/Avatar/Avatar.types.js.map +1 -1
  11. package/dist/Avatar/index.js +1 -0
  12. package/dist/Avatar/index.js.map +1 -1
  13. package/dist/AvatarStack/AvatarStack.constants.js.map +1 -1
  14. package/dist/AvatarStack/AvatarStack.js +306 -171
  15. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  16. package/dist/AvatarStack/AvatarStack.styles.js +30 -12
  17. package/dist/AvatarStack/AvatarStack.styles.js.map +1 -1
  18. package/dist/AvatarStack/AvatarStack.types.js.map +1 -1
  19. package/dist/AvatarStack/index.js +1 -0
  20. package/dist/AvatarStack/index.js.map +1 -1
  21. package/dist/Badge/Badge.js +10 -16
  22. package/dist/Badge/Badge.js.map +1 -1
  23. package/dist/Badge/Badge.styles.js +8 -7
  24. package/dist/Badge/Badge.styles.js.map +1 -1
  25. package/dist/Badge/Badge.types.js.map +1 -1
  26. package/dist/Badge/index.js +1 -0
  27. package/dist/Badge/index.js.map +1 -1
  28. package/dist/Banner/Banner.js +211 -110
  29. package/dist/Banner/Banner.js.map +1 -1
  30. package/dist/Banner/Banner.styles.js +85 -56
  31. package/dist/Banner/Banner.styles.js.map +1 -1
  32. package/dist/Banner/Banner.types.js.map +1 -1
  33. package/dist/Banner/index.js +2 -1
  34. package/dist/Banner/index.js.map +1 -1
  35. package/dist/Box/Box.js +85 -55
  36. package/dist/Box/Box.js.map +1 -1
  37. package/dist/Box/Box.styles.js +22 -24
  38. package/dist/Box/Box.styles.js.map +1 -1
  39. package/dist/Box/Box.types.js.map +1 -1
  40. package/dist/Box/index.js +1 -0
  41. package/dist/Box/index.js.map +1 -1
  42. package/dist/Breadcrumbs/Breadcrumbs.js +67 -65
  43. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  44. package/dist/Breadcrumbs/Breadcrumbs.styles.js +28 -21
  45. package/dist/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  46. package/dist/Breadcrumbs/Breadcrumbs.types.js +5 -5
  47. package/dist/Breadcrumbs/Breadcrumbs.types.js.map +1 -1
  48. package/dist/Breadcrumbs/index.js +1 -0
  49. package/dist/Breadcrumbs/index.js.map +1 -1
  50. package/dist/Button/Button.js +105 -63
  51. package/dist/Button/Button.js.map +1 -1
  52. package/dist/Button/Button.styles.js +95 -81
  53. package/dist/Button/Button.styles.js.map +1 -1
  54. package/dist/Button/Button.types.js.map +1 -1
  55. package/dist/Button/index.js.map +1 -1
  56. package/dist/Calendar/Calendar.js +244 -125
  57. package/dist/Calendar/Calendar.js.map +1 -1
  58. package/dist/Calendar/Calendar.styles.js +52 -24
  59. package/dist/Calendar/Calendar.styles.js.map +1 -1
  60. package/dist/Calendar/Calendar.types.js.map +1 -1
  61. package/dist/Calendar/index.js +1 -0
  62. package/dist/Calendar/index.js.map +1 -1
  63. package/dist/Card/Card.js +22 -30
  64. package/dist/Card/Card.js.map +1 -1
  65. package/dist/Card/Card.styles.js +12 -12
  66. package/dist/Card/Card.styles.js.map +1 -1
  67. package/dist/Card/Card.types.js.map +1 -1
  68. package/dist/Card/index.js +1 -0
  69. package/dist/Card/index.js.map +1 -1
  70. package/dist/Changelog.mdx +6 -0
  71. package/dist/Checkbox/Checkbox.js +56 -33
  72. package/dist/Checkbox/Checkbox.js.map +1 -1
  73. package/dist/Checkbox/Checkbox.styles.js +103 -87
  74. package/dist/Checkbox/Checkbox.styles.js.map +1 -1
  75. package/dist/Checkbox/Checkbox.types.js.map +1 -1
  76. package/dist/Checkbox/index.js +1 -0
  77. package/dist/Checkbox/index.js.map +1 -1
  78. package/dist/CheckboxGroup/CheckboxGroup.js +24 -31
  79. package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -1
  80. package/dist/CheckboxGroup/CheckboxGroup.types.js.map +1 -1
  81. package/dist/CheckboxGroup/index.js +1 -0
  82. package/dist/CheckboxGroup/index.js.map +1 -1
  83. package/dist/ClickOutside/ClickOutside.js +38 -38
  84. package/dist/ClickOutside/ClickOutside.js.map +1 -1
  85. package/dist/ClickOutside/index.js.map +1 -1
  86. package/dist/ContactItem/ContactItem.js +56 -45
  87. package/dist/ContactItem/ContactItem.js.map +1 -1
  88. package/dist/ContactItem/ContactItem.styles.js +31 -21
  89. package/dist/ContactItem/ContactItem.styles.js.map +1 -1
  90. package/dist/ContactItem/ContactItem.types.js.map +1 -1
  91. package/dist/ContactItem/index.js +1 -0
  92. package/dist/ContactItem/index.js.map +1 -1
  93. package/dist/Content/Content.js +2 -13
  94. package/dist/Content/Content.js.map +1 -1
  95. package/dist/Content/Content.styles.js +9 -8
  96. package/dist/Content/Content.styles.js.map +1 -1
  97. package/dist/Content/index.js.map +1 -1
  98. package/dist/DateInput/DateInput.js +453 -347
  99. package/dist/DateInput/DateInput.js.map +1 -1
  100. package/dist/DateInput/DateInput.styles.js +42 -27
  101. package/dist/DateInput/DateInput.styles.js.map +1 -1
  102. package/dist/DateInput/DateInput.types.js.map +1 -1
  103. package/dist/DateInput/index.js +1 -1
  104. package/dist/DateInput/index.js.map +1 -1
  105. package/dist/DateSelect/DateSelect.js +148 -107
  106. package/dist/DateSelect/DateSelect.js.map +1 -1
  107. package/dist/DateSelect/DateSelect.types.js.map +1 -1
  108. package/dist/DateSelect/index.js +1 -0
  109. package/dist/DateSelect/index.js.map +1 -1
  110. package/dist/DetailPage/DetailPage.constants.js +42 -42
  111. package/dist/DetailPage/DetailPage.constants.js.map +1 -1
  112. package/dist/DetailPage/DetailPage.js +66 -62
  113. package/dist/DetailPage/DetailPage.js.map +1 -1
  114. package/dist/DetailPage/DetailPage.styles.js +30 -14
  115. package/dist/DetailPage/DetailPage.styles.js.map +1 -1
  116. package/dist/DetailPage/DetailPage.types.js.map +1 -1
  117. package/dist/DetailPage/RankedHeading.js +8 -8
  118. package/dist/DetailPage/RankedHeading.js.map +1 -1
  119. package/dist/DetailPage/index.js +1 -0
  120. package/dist/DetailPage/index.js.map +1 -1
  121. package/dist/Dropdown/Dropdown.js +193 -99
  122. package/dist/Dropdown/Dropdown.js.map +1 -1
  123. package/dist/Dropdown/Dropdown.styles.js +21 -15
  124. package/dist/Dropdown/Dropdown.styles.js.map +1 -1
  125. package/dist/Dropdown/Dropdown.types.js.map +1 -1
  126. package/dist/Dropdown/index.js +1 -0
  127. package/dist/Dropdown/index.js.map +1 -1
  128. package/dist/DropdownFlyout/DropdownFlyout.helpers.js +277 -239
  129. package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
  130. package/dist/DropdownFlyout/DropdownFlyout.js +234 -132
  131. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  132. package/dist/DropdownFlyout/DropdownFlyout.styles.js +16 -9
  133. package/dist/DropdownFlyout/DropdownFlyout.styles.js.map +1 -1
  134. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  135. package/dist/DropdownFlyout/index.js +1 -1
  136. package/dist/DropdownFlyout/index.js.map +1 -1
  137. package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js +10 -11
  138. package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js.map +1 -1
  139. package/dist/Dropzone/Dropzone.hooks.js +257 -211
  140. package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
  141. package/dist/Dropzone/Dropzone.js +209 -156
  142. package/dist/Dropzone/Dropzone.js.map +1 -1
  143. package/dist/Dropzone/Dropzone.styles.js +54 -31
  144. package/dist/Dropzone/Dropzone.styles.js.map +1 -1
  145. package/dist/Dropzone/Dropzone.types.js +19 -11
  146. package/dist/Dropzone/Dropzone.types.js.map +1 -1
  147. package/dist/Dropzone/index.js +1 -0
  148. package/dist/Dropzone/index.js.map +1 -1
  149. package/dist/EmptyState/EmptyState.js +274 -116
  150. package/dist/EmptyState/EmptyState.js.map +1 -1
  151. package/dist/EmptyState/EmptyState.styles.js +33 -19
  152. package/dist/EmptyState/EmptyState.styles.js.map +1 -1
  153. package/dist/EmptyState/EmptyState.types.js.map +1 -1
  154. package/dist/EmptyState/index.js +1 -0
  155. package/dist/EmptyState/index.js.map +1 -1
  156. package/dist/Field/Field.js +26 -33
  157. package/dist/Field/Field.js.map +1 -1
  158. package/dist/Field/Field.styles.js +12 -8
  159. package/dist/Field/Field.styles.js.map +1 -1
  160. package/dist/Field/index.js.map +1 -1
  161. package/dist/FileList/FileList.js +83 -55
  162. package/dist/FileList/FileList.js.map +1 -1
  163. package/dist/FileList/FileList.styles.js +16 -9
  164. package/dist/FileList/FileList.styles.js.map +1 -1
  165. package/dist/FileList/FileList.types.js.map +1 -1
  166. package/dist/FileList/index.js +1 -0
  167. package/dist/FileList/index.js.map +1 -1
  168. package/dist/FileSelect/FileExplorer/FileExplorer.d.ts +2 -1
  169. package/dist/FileSelect/FileExplorer/FileExplorer.js +69 -65
  170. package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
  171. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +37 -16
  172. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js.map +1 -1
  173. package/dist/FileSelect/FileExplorer/FileExplorer.types.js.map +1 -1
  174. package/dist/FileSelect/FileExplorer/FileExplorerModal.d.ts +2 -1
  175. package/dist/FileSelect/FileExplorer/FileExplorerModal.js +25 -31
  176. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  177. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js +92 -63
  178. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
  179. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +12 -8
  180. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js.map +1 -1
  181. package/dist/FileSelect/FileExplorer/useSidebarNavigation.js +40 -51
  182. package/dist/FileSelect/FileExplorer/useSidebarNavigation.js.map +1 -1
  183. package/dist/FileSelect/FileSelect.d.ts +2 -1
  184. package/dist/FileSelect/FileSelect.js +466 -324
  185. package/dist/FileSelect/FileSelect.js.map +1 -1
  186. package/dist/FileSelect/FileSelect.styles.js +8 -7
  187. package/dist/FileSelect/FileSelect.styles.js.map +1 -1
  188. package/dist/FileSelect/FileSelect.types.js.map +1 -1
  189. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js +93 -47
  190. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
  191. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +16 -14
  192. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js.map +1 -1
  193. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.types.js.map +1 -1
  194. package/dist/FileSelect/FileSelectDropzone/index.js +1 -0
  195. package/dist/FileSelect/FileSelectDropzone/index.js.map +1 -1
  196. package/dist/FileSelect/FileTokenList/FileToken.types.js.map +1 -1
  197. package/dist/FileSelect/FileTokenList/FileTokenList.js +112 -90
  198. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  199. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +8 -7
  200. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js.map +1 -1
  201. package/dist/FileSelect/FileTokenList/index.js.map +1 -1
  202. package/dist/FileSelect/GridSource/GridSource.js +269 -222
  203. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  204. package/dist/FileSelect/GridSource/GridSource.styles.js +32 -19
  205. package/dist/FileSelect/GridSource/GridSource.styles.js.map +1 -1
  206. package/dist/FileSelect/GridSource/GridSource.types.js.map +1 -1
  207. package/dist/FileSelect/GridSource/index.js +1 -0
  208. package/dist/FileSelect/GridSource/index.js.map +1 -1
  209. package/dist/FileSelect/LocalSource/LocalSource.js +401 -314
  210. package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
  211. package/dist/FileSelect/LocalSource/LocalSource.styles.js +18 -11
  212. package/dist/FileSelect/LocalSource/LocalSource.styles.js.map +1 -1
  213. package/dist/FileSelect/LocalSource/LocalSource.types.js.map +1 -1
  214. package/dist/FileSelect/LocalSource/index.js +1 -0
  215. package/dist/FileSelect/LocalSource/index.js.map +1 -1
  216. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js +91 -69
  217. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js.map +1 -1
  218. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.types.js.map +1 -1
  219. package/dist/FileSelect/ProgressAnnouncer/index.js.map +1 -1
  220. package/dist/FileSelect/SourceItem/SourceItem.js +66 -54
  221. package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
  222. package/dist/FileSelect/SourceItem/SourceItem.styles.js +29 -24
  223. package/dist/FileSelect/SourceItem/SourceItem.styles.js.map +1 -1
  224. package/dist/FileSelect/SourceItem/SourceItem.test.js +53 -0
  225. package/dist/FileSelect/ThumbnailList/ThumbnailList.js +175 -110
  226. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  227. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +33 -23
  228. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js.map +1 -1
  229. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.js.map +1 -1
  230. package/dist/FileSelect/ThumbnailList/index.js.map +1 -1
  231. package/dist/FileSelect/TreeSource/TreeSource.js +173 -135
  232. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  233. package/dist/FileSelect/TreeSource/TreeSource.styles.js +4 -6
  234. package/dist/FileSelect/TreeSource/TreeSource.styles.js.map +1 -1
  235. package/dist/FileSelect/TreeSource/TreeSource.types.js.map +1 -1
  236. package/dist/FileSelect/TreeSource/index.js +1 -0
  237. package/dist/FileSelect/TreeSource/index.js.map +1 -1
  238. package/dist/FileSelect/index.js +3 -1
  239. package/dist/FileSelect/index.js.map +1 -1
  240. package/dist/FileSelect/storyHelpers.js +301 -231
  241. package/dist/FileSelect/storyHelpers.js.map +1 -1
  242. package/dist/FileToken/FileToken.js +103 -80
  243. package/dist/FileToken/FileToken.js.map +1 -1
  244. package/dist/FileToken/FileToken.styles.js +29 -21
  245. package/dist/FileToken/FileToken.styles.js.map +1 -1
  246. package/dist/FileToken/FileToken.types.js.map +1 -1
  247. package/dist/FileToken/index.js.map +1 -1
  248. package/dist/FilterToken/FilterToken.js +44 -34
  249. package/dist/FilterToken/FilterToken.js.map +1 -1
  250. package/dist/FilterToken/FilterToken.styles.js +12 -10
  251. package/dist/FilterToken/FilterToken.styles.js.map +1 -1
  252. package/dist/FilterToken/FilterToken.types.js.map +1 -1
  253. package/dist/FilterToken/index.js.map +1 -1
  254. package/dist/Flex/Flex.js +33 -25
  255. package/dist/Flex/Flex.js.map +1 -1
  256. package/dist/Flex/Flex.types.js.map +1 -1
  257. package/dist/Flex/index.js +1 -0
  258. package/dist/Flex/index.js.map +1 -1
  259. package/dist/FlexList/FlexList.js +52 -47
  260. package/dist/FlexList/FlexList.js.map +1 -1
  261. package/dist/FlexList/FlexList.styles.js +9 -11
  262. package/dist/FlexList/FlexList.styles.js.map +1 -1
  263. package/dist/FlexList/FlexList.types.js.map +1 -1
  264. package/dist/FlexList/index.js +1 -0
  265. package/dist/FlexList/index.js.map +1 -1
  266. package/dist/Form/Form.js +1348 -711
  267. package/dist/Form/Form.js.map +1 -1
  268. package/dist/Form/Form.styles.js +92 -43
  269. package/dist/Form/Form.styles.js.map +1 -1
  270. package/dist/Form/Form.types.js.map +1 -1
  271. package/dist/Form/closeWithConfirm.js +38 -31
  272. package/dist/Form/closeWithConfirm.js.map +1 -1
  273. package/dist/Form/index.js +2 -1
  274. package/dist/Form/index.js.map +1 -1
  275. package/dist/Form/stories/util.js +480 -385
  276. package/dist/Form/stories/util.js.map +1 -1
  277. package/dist/Grid/Grid.constants.js +13 -20
  278. package/dist/Grid/Grid.constants.js.map +1 -1
  279. package/dist/Grid/Grid.js +50 -44
  280. package/dist/Grid/Grid.js.map +1 -1
  281. package/dist/Grid/Grid.styles.js +95 -88
  282. package/dist/Grid/Grid.styles.js.map +1 -1
  283. package/dist/Grid/Grid.types.js.map +1 -1
  284. package/dist/Grid/Grid.utils.js +17 -9
  285. package/dist/Grid/Grid.utils.js.map +1 -1
  286. package/dist/Grid/index.js +1 -0
  287. package/dist/Grid/index.js.map +1 -1
  288. package/dist/GroupSelect/GroupSelect.js +210 -146
  289. package/dist/GroupSelect/GroupSelect.js.map +1 -1
  290. package/dist/GroupSelect/GroupSelect.styles.js +6 -8
  291. package/dist/GroupSelect/GroupSelect.styles.js.map +1 -1
  292. package/dist/GroupSelect/GroupSelect.types.js.map +1 -1
  293. package/dist/GroupSelect/index.js +1 -0
  294. package/dist/GroupSelect/index.js.map +1 -1
  295. package/dist/Input/Input.js +10 -25
  296. package/dist/Input/Input.js.map +1 -1
  297. package/dist/Input/Input.styles.js +10 -11
  298. package/dist/Input/Input.styles.js.map +1 -1
  299. package/dist/Input/Input.types.js.map +1 -1
  300. package/dist/Input/index.js +1 -0
  301. package/dist/Input/index.js.map +1 -1
  302. package/dist/Link/Link.js +10 -25
  303. package/dist/Link/Link.js.map +1 -1
  304. package/dist/Link/Link.styles.js +16 -17
  305. package/dist/Link/Link.styles.js.map +1 -1
  306. package/dist/Link/Link.types.js.map +1 -1
  307. package/dist/Link/index.js +1 -0
  308. package/dist/Link/index.js.map +1 -1
  309. package/dist/ListPage/ListPage.js +69 -51
  310. package/dist/ListPage/ListPage.js.map +1 -1
  311. package/dist/ListPage/ListPage.styles.js +44 -25
  312. package/dist/ListPage/ListPage.styles.js.map +1 -1
  313. package/dist/ListPage/ListPage.types.js.map +1 -1
  314. package/dist/ListPage/index.js.map +1 -1
  315. package/dist/Loader/Loader.js +24 -31
  316. package/dist/Loader/Loader.js.map +1 -1
  317. package/dist/Loader/Loader.styles.js +11 -11
  318. package/dist/Loader/Loader.styles.js.map +1 -1
  319. package/dist/Loader/Loader.types.js.map +1 -1
  320. package/dist/Loader/index.js.map +1 -1
  321. package/dist/Menu/Menu.js +332 -237
  322. package/dist/Menu/Menu.js.map +1 -1
  323. package/dist/Menu/Menu.types.js.map +1 -1
  324. package/dist/Menu/index.js +1 -0
  325. package/dist/Menu/index.js.map +1 -1
  326. package/dist/MenuImperative/MenuImperative.js +504 -311
  327. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  328. package/dist/MenuImperative/MenuImperative.styles.js +71 -46
  329. package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
  330. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  331. package/dist/MenuImperative/index.js +1 -1
  332. package/dist/MenuImperative/index.js.map +1 -1
  333. package/dist/MenuImperative/sensors.js +232 -233
  334. package/dist/MenuImperative/sensors.js.map +1 -1
  335. package/dist/Modal/ChildRegistry.context.js +46 -33
  336. package/dist/Modal/ChildRegistry.context.js.map +1 -1
  337. package/dist/Modal/Modal.js +296 -193
  338. package/dist/Modal/Modal.js.map +1 -1
  339. package/dist/Modal/Modal.styles.js +76 -41
  340. package/dist/Modal/Modal.styles.js.map +1 -1
  341. package/dist/Modal/Modal.types.js.map +1 -1
  342. package/dist/Modal/index.js +1 -0
  343. package/dist/Modal/index.js.map +1 -1
  344. package/dist/Modal/storyHelpers.js +221 -149
  345. package/dist/Modal/storyHelpers.js.map +1 -1
  346. package/dist/Modal/useInitializeModalFocus.js +30 -29
  347. package/dist/Modal/useInitializeModalFocus.js.map +1 -1
  348. package/dist/MultiSelect/MultiSelect.js +487 -324
  349. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  350. package/dist/MultiSelect/MultiSelect.styles.js +29 -16
  351. package/dist/MultiSelect/MultiSelect.styles.js.map +1 -1
  352. package/dist/MultiSelect/MultiSelect.test.js +250 -0
  353. package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
  354. package/dist/MultiSelect/index.js.map +1 -1
  355. package/dist/NextMenu/NextMenu.js +121 -55
  356. package/dist/NextMenu/NextMenu.js.map +1 -1
  357. package/dist/NextMenu/NextMenu.styles.js +13 -9
  358. package/dist/NextMenu/NextMenu.styles.js.map +1 -1
  359. package/dist/NextMenu/NextMenu.types.js.map +1 -1
  360. package/dist/NextMenu/NextMenuItem.js +23 -29
  361. package/dist/NextMenu/NextMenuItem.js.map +1 -1
  362. package/dist/NextMenu/sampleData.js +469 -179
  363. package/dist/NextMenu/sampleData.js.map +1 -1
  364. package/dist/NextTile/NextTile.js +174 -101
  365. package/dist/NextTile/NextTile.js.map +1 -1
  366. package/dist/NextTile/NextTile.types.js.map +1 -1
  367. package/dist/Notation/Notation.js +26 -45
  368. package/dist/Notation/Notation.js.map +1 -1
  369. package/dist/Notation/Notation.types.js +4 -4
  370. package/dist/Notation/Notation.types.js.map +1 -1
  371. package/dist/Notation/index.js +1 -0
  372. package/dist/Notation/index.js.map +1 -1
  373. package/dist/NumberInput/NumberInput.constants.js.map +1 -1
  374. package/dist/NumberInput/NumberInput.hooks.js +47 -41
  375. package/dist/NumberInput/NumberInput.hooks.js.map +1 -1
  376. package/dist/NumberInput/NumberInput.js +440 -338
  377. package/dist/NumberInput/NumberInput.js.map +1 -1
  378. package/dist/NumberInput/NumberInput.styles.js +34 -18
  379. package/dist/NumberInput/NumberInput.styles.js.map +1 -1
  380. package/dist/NumberInput/NumberInput.types.js.map +1 -1
  381. package/dist/NumberInput/NumberInput.utils.js +436 -455
  382. package/dist/NumberInput/NumberInput.utils.js.map +1 -1
  383. package/dist/NumberInput/index.js +1 -0
  384. package/dist/NumberInput/index.js.map +1 -1
  385. package/dist/Overlay/Overlay.js +36 -35
  386. package/dist/Overlay/Overlay.js.map +1 -1
  387. package/dist/Overlay/OverlayArrow.js +27 -21
  388. package/dist/Overlay/OverlayArrow.js.map +1 -1
  389. package/dist/Overlay/OverlayArrow.styles.js +4 -6
  390. package/dist/Overlay/OverlayArrow.styles.js.map +1 -1
  391. package/dist/Overlay/index.js +1 -1
  392. package/dist/Overlay/index.js.map +1 -1
  393. package/dist/Overlay/useOverlay.js +29 -21
  394. package/dist/Overlay/useOverlay.js.map +1 -1
  395. package/dist/OverlayTrigger/OverlayTrigger.js +297 -205
  396. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  397. package/dist/OverlayTrigger/OverlayTrigger.test.js +483 -0
  398. package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
  399. package/dist/OverlayTrigger/a11yPresets.js +248 -185
  400. package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
  401. package/dist/OverlayTrigger/index.js +2 -1
  402. package/dist/OverlayTrigger/index.js.map +1 -1
  403. package/dist/PageLayout/PageLayout.constants.js.map +1 -1
  404. package/dist/PageLayout/PageLayout.js +324 -269
  405. package/dist/PageLayout/PageLayout.js.map +1 -1
  406. package/dist/PageLayout/PageLayout.styles.js +111 -71
  407. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  408. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  409. package/dist/PageLayout/PageLayout.utils.js +37 -35
  410. package/dist/PageLayout/PageLayout.utils.js.map +1 -1
  411. package/dist/PageLayout/index.js +1 -0
  412. package/dist/PageLayout/index.js.map +1 -1
  413. package/dist/Pagination/Pagination.js +98 -65
  414. package/dist/Pagination/Pagination.js.map +1 -1
  415. package/dist/Pagination/Pagination.styles.js +20 -10
  416. package/dist/Pagination/Pagination.styles.js.map +1 -1
  417. package/dist/Pagination/Pagination.types.js.map +1 -1
  418. package/dist/Pagination/PaginationSelect.js +126 -96
  419. package/dist/Pagination/PaginationSelect.js.map +1 -1
  420. package/dist/Pagination/index.js +1 -0
  421. package/dist/Pagination/index.js.map +1 -1
  422. package/dist/Panel/Panel.js +207 -127
  423. package/dist/Panel/Panel.js.map +1 -1
  424. package/dist/Panel/Panel.styles.js +61 -33
  425. package/dist/Panel/Panel.styles.js.map +1 -1
  426. package/dist/Panel/Panel.types.js.map +1 -1
  427. package/dist/Panel/index.js +1 -0
  428. package/dist/Panel/index.js.map +1 -1
  429. package/dist/Pill/Pill.colorPalette.js +40 -40
  430. package/dist/Pill/Pill.colorPalette.js.map +1 -1
  431. package/dist/Pill/Pill.js +32 -31
  432. package/dist/Pill/Pill.js.map +1 -1
  433. package/dist/Pill/Pill.styles.js +12 -11
  434. package/dist/Pill/Pill.styles.js.map +1 -1
  435. package/dist/Pill/Pill.types.js.map +1 -1
  436. package/dist/Pill/index.js +1 -0
  437. package/dist/Pill/index.js.map +1 -1
  438. package/dist/PillSelect/PillSelect.js +143 -77
  439. package/dist/PillSelect/PillSelect.js.map +1 -1
  440. package/dist/PillSelect/PillSelect.styles.js +18 -11
  441. package/dist/PillSelect/PillSelect.styles.js.map +1 -1
  442. package/dist/PillSelect/PillSelect.types.js.map +1 -1
  443. package/dist/PillSelect/index.js +1 -0
  444. package/dist/PillSelect/index.js.map +1 -1
  445. package/dist/Popover/Popover.js +57 -32
  446. package/dist/Popover/Popover.js.map +1 -1
  447. package/dist/Popover/Popover.styles.js +12 -11
  448. package/dist/Popover/Popover.styles.js.map +1 -1
  449. package/dist/Popover/Popover.types.js.map +1 -1
  450. package/dist/Popover/index.js +1 -0
  451. package/dist/Popover/index.js.map +1 -1
  452. package/dist/Portal/Portal.js +14 -26
  453. package/dist/Portal/Portal.js.map +1 -1
  454. package/dist/Portal/Portal.styles.js +4 -6
  455. package/dist/Portal/Portal.styles.js.map +1 -1
  456. package/dist/Portal/Portal.types.js.map +1 -1
  457. package/dist/Portal/index.js.map +1 -1
  458. package/dist/ProgressBar/ProgressBar.js +58 -50
  459. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  460. package/dist/ProgressBar/ProgressBar.styles.js +18 -17
  461. package/dist/ProgressBar/ProgressBar.styles.js.map +1 -1
  462. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  463. package/dist/ProgressBar/index.js +1 -0
  464. package/dist/ProgressBar/index.js.map +1 -1
  465. package/dist/RadioButton/RadioButton.js +21 -28
  466. package/dist/RadioButton/RadioButton.js.map +1 -1
  467. package/dist/RadioButton/RadioButton.styles.js +18 -14
  468. package/dist/RadioButton/RadioButton.styles.js.map +1 -1
  469. package/dist/RadioButton/RadioButton.types.js.map +1 -1
  470. package/dist/RadioButton/index.js +1 -0
  471. package/dist/RadioButton/index.js.map +1 -1
  472. package/dist/Required/Required.js +21 -32
  473. package/dist/Required/Required.js.map +1 -1
  474. package/dist/Required/Required.styles.js +18 -14
  475. package/dist/Required/Required.styles.js.map +1 -1
  476. package/dist/Required/Required.types.js.map +1 -1
  477. package/dist/Required/index.js +1 -0
  478. package/dist/Required/index.js.map +1 -1
  479. package/dist/Search/Search.hooks.js +59 -40
  480. package/dist/Search/Search.hooks.js.map +1 -1
  481. package/dist/Search/Search.js +60 -48
  482. package/dist/Search/Search.js.map +1 -1
  483. package/dist/Search/Search.styles.js +28 -11
  484. package/dist/Search/Search.styles.js.map +1 -1
  485. package/dist/Search/Search.types.js.map +1 -1
  486. package/dist/Search/index.js +1 -0
  487. package/dist/Search/index.js.map +1 -1
  488. package/dist/Section/Section.js +127 -102
  489. package/dist/Section/Section.js.map +1 -1
  490. package/dist/Section/Section.styles.js +34 -19
  491. package/dist/Section/Section.styles.js.map +1 -1
  492. package/dist/Section/Section.types.js.map +1 -1
  493. package/dist/Section/index.js.map +1 -1
  494. package/dist/SegmentedController/SegmentedController.js +135 -93
  495. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  496. package/dist/SegmentedController/SegmentedController.styles.js +38 -29
  497. package/dist/SegmentedController/SegmentedController.styles.js.map +1 -1
  498. package/dist/SegmentedController/SegmentedController.types.js +3 -3
  499. package/dist/SegmentedController/SegmentedController.types.js.map +1 -1
  500. package/dist/SegmentedController/index.js +1 -0
  501. package/dist/SegmentedController/index.js.map +1 -1
  502. package/dist/Select/Select.js +302 -125
  503. package/dist/Select/Select.js.map +1 -1
  504. package/dist/Select/Select.styles.js +66 -46
  505. package/dist/Select/Select.styles.js.map +1 -1
  506. package/dist/Select/Select.types.js.map +1 -1
  507. package/dist/Select/index.js +1 -1
  508. package/dist/Select/index.js.map +1 -1
  509. package/dist/Semantic/Semantic.js +63 -40
  510. package/dist/Semantic/Semantic.js.map +1 -1
  511. package/dist/Semantic/Semantic.styles.js +49 -34
  512. package/dist/Semantic/Semantic.styles.js.map +1 -1
  513. package/dist/Semantic/Semantic.types.js.map +1 -1
  514. package/dist/Semantic/index.js.map +1 -1
  515. package/dist/Sidebar/Sidebar.js +85 -68
  516. package/dist/Sidebar/Sidebar.js.map +1 -1
  517. package/dist/Sidebar/Sidebar.styles.js +32 -16
  518. package/dist/Sidebar/Sidebar.styles.js.map +1 -1
  519. package/dist/Sidebar/index.js.map +1 -1
  520. package/dist/Slider/Slider.js +120 -73
  521. package/dist/Slider/Slider.js.map +1 -1
  522. package/dist/Slider/Slider.styles.js +48 -22
  523. package/dist/Slider/Slider.styles.js.map +1 -1
  524. package/dist/Slider/Slider.types.js.map +1 -1
  525. package/dist/Slider/index.js +1 -0
  526. package/dist/Slider/index.js.map +1 -1
  527. package/dist/Spinner/Spinner.js +49 -42
  528. package/dist/Spinner/Spinner.js.map +1 -1
  529. package/dist/Spinner/Spinner.styles.js +64 -47
  530. package/dist/Spinner/Spinner.styles.js.map +1 -1
  531. package/dist/Spinner/Spinner.types.js.map +1 -1
  532. package/dist/Spinner/index.js +1 -0
  533. package/dist/Spinner/index.js.map +1 -1
  534. package/dist/SuperSelect/SuperSelect.components.js +288 -210
  535. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  536. package/dist/SuperSelect/SuperSelect.constants.js.map +1 -1
  537. package/dist/SuperSelect/SuperSelect.js +82 -56
  538. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  539. package/dist/SuperSelect/SuperSelect.presets.styles.js +4 -6
  540. package/dist/SuperSelect/SuperSelect.presets.styles.js.map +1 -1
  541. package/dist/SuperSelect/SuperSelect.styles.js +228 -117
  542. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  543. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  544. package/dist/SuperSelect/SuperSelect.utils.js +136 -129
  545. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
  546. package/dist/SuperSelect/SuperSelect.utils.test.js +717 -0
  547. package/dist/SuperSelect/index.js +1 -1
  548. package/dist/SuperSelect/index.js.map +1 -1
  549. package/dist/SuperSelect/presets/contactsPreset.js +16 -31
  550. package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
  551. package/dist/SuperSelect/presets/filterPreset.js +55 -55
  552. package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
  553. package/dist/SuperSelect/presets/index.js +4 -4
  554. package/dist/SuperSelect/presets/index.js.map +1 -1
  555. package/dist/SuperSelect/presets/pillPreset.js +39 -25
  556. package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
  557. package/dist/SuperSelect/useSuperSelect.js +769 -636
  558. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  559. package/dist/SuperSelect/useSuperSelect.test.js +1284 -0
  560. package/dist/SuperSelect/useVirtuosoResizeErrorFix.js +15 -18
  561. package/dist/SuperSelect/useVirtuosoResizeErrorFix.js.map +1 -1
  562. package/dist/Switch/Switch.js +22 -32
  563. package/dist/Switch/Switch.js.map +1 -1
  564. package/dist/Switch/Switch.styles.js +26 -17
  565. package/dist/Switch/Switch.styles.js.map +1 -1
  566. package/dist/Switch/Switch.types.js.map +1 -1
  567. package/dist/Switch/index.js +1 -0
  568. package/dist/Switch/index.js.map +1 -1
  569. package/dist/Table/Table.js +372 -197
  570. package/dist/Table/Table.js.map +1 -1
  571. package/dist/Table/Table.styles.js +204 -127
  572. package/dist/Table/Table.styles.js.map +1 -1
  573. package/dist/Table/Table.types.js.map +1 -1
  574. package/dist/Table/index.js +1 -0
  575. package/dist/Table/index.js.map +1 -1
  576. package/dist/TableShelf/TableShelf.js +51 -47
  577. package/dist/TableShelf/TableShelf.js.map +1 -1
  578. package/dist/TableShelf/TableShelf.styles.js +20 -10
  579. package/dist/TableShelf/TableShelf.styles.js.map +1 -1
  580. package/dist/TableShelf/index.js.map +1 -1
  581. package/dist/Tabs/Tabs.js +237 -136
  582. package/dist/Tabs/Tabs.js.map +1 -1
  583. package/dist/Tabs/Tabs.styles.js +59 -40
  584. package/dist/Tabs/Tabs.styles.js.map +1 -1
  585. package/dist/Tabs/Tabs.types.js +6 -6
  586. package/dist/Tabs/Tabs.types.js.map +1 -1
  587. package/dist/Tabs/index.js +1 -0
  588. package/dist/Tabs/index.js.map +1 -1
  589. package/dist/Tearsheet/Tearsheet.constants.js +2 -15
  590. package/dist/Tearsheet/Tearsheet.constants.js.map +1 -1
  591. package/dist/Tearsheet/Tearsheet.js +228 -177
  592. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  593. package/dist/Tearsheet/Tearsheet.styles.js +106 -92
  594. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  595. package/dist/Tearsheet/Tearsheet.types.js.map +1 -1
  596. package/dist/Tearsheet/Tearsheet.util.js +53 -49
  597. package/dist/Tearsheet/Tearsheet.util.js.map +1 -1
  598. package/dist/Tearsheet/index.js +1 -0
  599. package/dist/Tearsheet/index.js.map +1 -1
  600. package/dist/TextArea/TextArea.js +13 -25
  601. package/dist/TextArea/TextArea.js.map +1 -1
  602. package/dist/TextArea/TextArea.styles.js +7 -8
  603. package/dist/TextArea/TextArea.styles.js.map +1 -1
  604. package/dist/TextArea/TextArea.types.js.map +1 -1
  605. package/dist/TextArea/index.js +1 -0
  606. package/dist/TextArea/index.js.map +1 -1
  607. package/dist/TextEditor/TextEditor.js +110 -81
  608. package/dist/TextEditor/TextEditor.js.map +1 -1
  609. package/dist/TextEditor/TextEditor.styles.js +3 -8
  610. package/dist/TextEditor/TextEditor.styles.js.map +1 -1
  611. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  612. package/dist/TextEditor/index.js +1 -0
  613. package/dist/TextEditor/index.js.map +1 -1
  614. package/dist/TextEditorOutput/TextEditorOutput.js +29 -27
  615. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  616. package/dist/TextEditorOutput/TextEditorOutput.styles.js +4 -6
  617. package/dist/TextEditorOutput/TextEditorOutput.styles.js.map +1 -1
  618. package/dist/TextEditorOutput/TextEditorOutput.types.js.map +1 -1
  619. package/dist/TextEditorOutput/index.js.map +1 -1
  620. package/dist/Thumbnail/Thumbnail.hooks.js +89 -57
  621. package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
  622. package/dist/Thumbnail/Thumbnail.js +394 -180
  623. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  624. package/dist/Thumbnail/Thumbnail.styles.js +151 -130
  625. package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
  626. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  627. package/dist/Thumbnail/Thumbnail.utils.js +45 -55
  628. package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
  629. package/dist/Thumbnail/ThumbnailCaption.js +101 -54
  630. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  631. package/dist/Thumbnail/ThumbnailDocumentIcon.js +479 -156
  632. package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
  633. package/dist/Thumbnail/ThumbnailPreview.js +31 -20
  634. package/dist/Thumbnail/ThumbnailPreview.js.map +1 -1
  635. package/dist/Thumbnail/index.js +2 -0
  636. package/dist/Thumbnail/index.js.map +1 -1
  637. package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js +102 -81
  638. package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js.map +1 -1
  639. package/dist/ThumbnailGrid/ThumbnailGrid.js +536 -402
  640. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  641. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +28 -14
  642. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js.map +1 -1
  643. package/dist/ThumbnailGrid/ThumbnailGrid.types.js.map +1 -1
  644. package/dist/ThumbnailGrid/index.js +1 -0
  645. package/dist/ThumbnailGrid/index.js.map +1 -1
  646. package/dist/TieredDropdown/TieredDropdown.helpers.js +29 -25
  647. package/dist/TieredDropdown/TieredDropdown.helpers.js.map +1 -1
  648. package/dist/TieredDropdown/TieredDropdown.js +241 -145
  649. package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
  650. package/dist/TieredDropdown/TieredDropdown.types.js.map +1 -1
  651. package/dist/TieredDropdown/index.js +1 -0
  652. package/dist/TieredDropdown/index.js.map +1 -1
  653. package/dist/TieredDropdown/useSearch.js +49 -39
  654. package/dist/TieredDropdown/useSearch.js.map +1 -1
  655. package/dist/TieredSelect/LeafSelectionTieredSelect.js +173 -117
  656. package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
  657. package/dist/TieredSelect/TierSelectionTieredSelect.js +486 -316
  658. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  659. package/dist/TieredSelect/TieredSelect.js +149 -111
  660. package/dist/TieredSelect/TieredSelect.js.map +1 -1
  661. package/dist/TieredSelect/TieredSelect.styles.js +40 -18
  662. package/dist/TieredSelect/TieredSelect.styles.js.map +1 -1
  663. package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
  664. package/dist/TieredSelect/TieredSelectMenu.js +390 -277
  665. package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
  666. package/dist/TieredSelect/index.js +1 -0
  667. package/dist/TieredSelect/index.js.map +1 -1
  668. package/dist/Tile/Tile.js +154 -90
  669. package/dist/Tile/Tile.js.map +1 -1
  670. package/dist/Tile/Tile.styles.js +81 -46
  671. package/dist/Tile/Tile.styles.js.map +1 -1
  672. package/dist/Tile/Tile.types.js.map +1 -1
  673. package/dist/Tile/index.js +1 -0
  674. package/dist/Tile/index.js.map +1 -1
  675. package/dist/Title/Title.js +64 -64
  676. package/dist/Title/Title.js.map +1 -1
  677. package/dist/Title/Title.styles.js +30 -14
  678. package/dist/Title/Title.styles.js.map +1 -1
  679. package/dist/Title/Title.types.js.map +1 -1
  680. package/dist/Title/index.js +1 -0
  681. package/dist/Title/index.js.map +1 -1
  682. package/dist/Toast/Toast.js +44 -40
  683. package/dist/Toast/Toast.js.map +1 -1
  684. package/dist/Toast/Toast.styles.js +18 -15
  685. package/dist/Toast/Toast.styles.js.map +1 -1
  686. package/dist/Toast/Toast.types.js.map +1 -1
  687. package/dist/Toast/index.js +1 -0
  688. package/dist/Toast/index.js.map +1 -1
  689. package/dist/ToggleButton/ToggleButton.js +20 -25
  690. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  691. package/dist/ToggleButton/ToggleButton.styles.js +6 -8
  692. package/dist/ToggleButton/ToggleButton.styles.js.map +1 -1
  693. package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
  694. package/dist/ToggleButton/index.js +1 -0
  695. package/dist/ToggleButton/index.js.map +1 -1
  696. package/dist/Token/Token.js +39 -34
  697. package/dist/Token/Token.js.map +1 -1
  698. package/dist/Token/Token.styles.js +25 -16
  699. package/dist/Token/Token.styles.js.map +1 -1
  700. package/dist/Token/Token.types.js.map +1 -1
  701. package/dist/Token/index.js +1 -0
  702. package/dist/Token/index.js.map +1 -1
  703. package/dist/ToolHeader/ActionIcon.js +45 -38
  704. package/dist/ToolHeader/ActionIcon.js.map +1 -1
  705. package/dist/ToolHeader/ActionIcon.types.example.js +58 -18
  706. package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
  707. package/dist/ToolHeader/ActionIcon.types.js.map +1 -1
  708. package/dist/ToolHeader/ToolHeader.js +60 -47
  709. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  710. package/dist/ToolHeader/ToolHeader.styles.js +30 -18
  711. package/dist/ToolHeader/ToolHeader.styles.js.map +1 -1
  712. package/dist/ToolHeader/ToolHeader.types.js.map +1 -1
  713. package/dist/ToolHeader/index.js.map +1 -1
  714. package/dist/Tooltip/Tooltip.js +43 -31
  715. package/dist/Tooltip/Tooltip.js.map +1 -1
  716. package/dist/Tooltip/Tooltip.styles.js +8 -7
  717. package/dist/Tooltip/Tooltip.styles.js.map +1 -1
  718. package/dist/Tooltip/Tooltip.types.js.map +1 -1
  719. package/dist/Tooltip/index.js +1 -0
  720. package/dist/Tooltip/index.js.map +1 -1
  721. package/dist/Tree/Tree.hooks.js +195 -190
  722. package/dist/Tree/Tree.hooks.js.map +1 -1
  723. package/dist/Tree/Tree.js +530 -324
  724. package/dist/Tree/Tree.js.map +1 -1
  725. package/dist/Tree/Tree.styles.js +49 -28
  726. package/dist/Tree/Tree.styles.js.map +1 -1
  727. package/dist/Tree/Tree.types.js.map +1 -1
  728. package/dist/Tree/index.js +1 -0
  729. package/dist/Tree/index.js.map +1 -1
  730. package/dist/Typeahead/Typeahead.js +77 -50
  731. package/dist/Typeahead/Typeahead.js.map +1 -1
  732. package/dist/Typeahead/Typeahead.styles.js +16 -8
  733. package/dist/Typeahead/Typeahead.styles.js.map +1 -1
  734. package/dist/Typeahead/Typeahead.types.js.map +1 -1
  735. package/dist/Typeahead/index.js +1 -0
  736. package/dist/Typeahead/index.js.map +1 -1
  737. package/dist/Typography/Typography.colors.story.js +282 -141
  738. package/dist/Typography/Typography.colors.story.js.map +1 -1
  739. package/dist/Typography/Typography.js +13 -25
  740. package/dist/Typography/Typography.js.map +1 -1
  741. package/dist/Typography/Typography.styles.js +42 -41
  742. package/dist/Typography/Typography.styles.js.map +1 -1
  743. package/dist/Typography/Typography.table.story.js +24 -45
  744. package/dist/Typography/Typography.table.story.js.map +1 -1
  745. package/dist/Typography/Typography.types.js.map +1 -1
  746. package/dist/Typography/index.js.map +1 -1
  747. package/dist/_hooks/Analytics.js +27 -18
  748. package/dist/_hooks/Analytics.js.map +1 -1
  749. package/dist/_hooks/Anchor.js +123 -84
  750. package/dist/_hooks/Anchor.js.map +1 -1
  751. package/dist/_hooks/Autofocus.js +53 -52
  752. package/dist/_hooks/Autofocus.js.map +1 -1
  753. package/dist/_hooks/BoundingRect.js +57 -41
  754. package/dist/_hooks/BoundingRect.js.map +1 -1
  755. package/dist/_hooks/Buffer.js +64 -39
  756. package/dist/_hooks/Buffer.js.map +1 -1
  757. package/dist/_hooks/ClickOutside.js +31 -20
  758. package/dist/_hooks/ClickOutside.js.map +1 -1
  759. package/dist/_hooks/DateTime/DateTime.js +235 -188
  760. package/dist/_hooks/DateTime/DateTime.js.map +1 -1
  761. package/dist/_hooks/DateTime/index.js +1 -1
  762. package/dist/_hooks/DateTime/index.js.map +1 -1
  763. package/dist/_hooks/DelayedCallback.js +41 -25
  764. package/dist/_hooks/DelayedCallback.js.map +1 -1
  765. package/dist/_hooks/DelayedToggle.js +98 -59
  766. package/dist/_hooks/DelayedToggle.js.map +1 -1
  767. package/dist/_hooks/Deprecation.js +11 -10
  768. package/dist/_hooks/Deprecation.js.map +1 -1
  769. package/dist/_hooks/Event.js +53 -28
  770. package/dist/_hooks/Event.js.map +1 -1
  771. package/dist/_hooks/EventListener.js +103 -59
  772. package/dist/_hooks/EventListener.js.map +1 -1
  773. package/dist/_hooks/EventRegistry.js +19 -14
  774. package/dist/_hooks/EventRegistry.js.map +1 -1
  775. package/dist/_hooks/Hotkey.js +35 -32
  776. package/dist/_hooks/Hotkey.js.map +1 -1
  777. package/dist/_hooks/I18n.js +54 -52
  778. package/dist/_hooks/I18n.js.map +1 -1
  779. package/dist/_hooks/InjectedScript.js +66 -45
  780. package/dist/_hooks/InjectedScript.js.map +1 -1
  781. package/dist/_hooks/IntersectionObserver/createIntersectionObserver.js +3 -3
  782. package/dist/_hooks/IntersectionObserver/createIntersectionObserver.js.map +1 -1
  783. package/dist/_hooks/IntersectionObserver/index.js.map +1 -1
  784. package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js +23 -14
  785. package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js.map +1 -1
  786. package/dist/_hooks/ListNavigation.js +114 -79
  787. package/dist/_hooks/ListNavigation.js.map +1 -1
  788. package/dist/_hooks/OverflowObserver/OverflowObserver.js +56 -32
  789. package/dist/_hooks/OverflowObserver/OverflowObserver.js.map +1 -1
  790. package/dist/_hooks/OverflowObserver/OverflowObserver.test.js +110 -0
  791. package/dist/_hooks/OverflowObserver/OverflowObserver.types.js.map +1 -1
  792. package/dist/_hooks/OverflowObserver/index.js.map +1 -1
  793. package/dist/_hooks/Resize.js +10 -4
  794. package/dist/_hooks/Resize.js.map +1 -1
  795. package/dist/_hooks/ResizeObserver.js +23 -14
  796. package/dist/_hooks/ResizeObserver.js.map +1 -1
  797. package/dist/_hooks/Scroll.js +16 -4
  798. package/dist/_hooks/Scroll.js.map +1 -1
  799. package/dist/_hooks/ScrollLock.js +15 -15
  800. package/dist/_hooks/ScrollLock.js.map +1 -1
  801. package/dist/_hooks/TextEntry.js +83 -46
  802. package/dist/_hooks/TextEntry.js.map +1 -1
  803. package/dist/_hooks/Timer.js +48 -29
  804. package/dist/_hooks/Timer.js.map +1 -1
  805. package/dist/_hooks/Trigger.js +120 -86
  806. package/dist/_hooks/Trigger.js.map +1 -1
  807. package/dist/_hooks/Visibility.js +82 -49
  808. package/dist/_hooks/Visibility.js.map +1 -1
  809. package/dist/_hooks/ZIndex.js +53 -34
  810. package/dist/_hooks/ZIndex.js.map +1 -1
  811. package/dist/_hooks/__tests__/Anchor.test.js +109 -0
  812. package/dist/_hooks/__tests__/BoundingRect.test.js +85 -0
  813. package/dist/_hooks/__tests__/Buffer.test.js +76 -0
  814. package/dist/_hooks/__tests__/DateTime.test.js +136 -0
  815. package/dist/_hooks/__tests__/DelayedCallback.test.js +119 -0
  816. package/dist/_hooks/__tests__/DelayedToggle.test.js +50 -0
  817. package/dist/_hooks/__tests__/Deprecation.test.js +58 -0
  818. package/dist/_hooks/__tests__/Event.test.js +46 -0
  819. package/dist/_hooks/__tests__/EventListener.test.js +78 -0
  820. package/dist/_hooks/__tests__/Hotkey.test.js +18 -0
  821. package/dist/_hooks/__tests__/InjectedScript.test.js +80 -0
  822. package/dist/_hooks/__tests__/ListNavigation.test.js +101 -0
  823. package/dist/_hooks/__tests__/TextEntry.test.js +92 -0
  824. package/dist/_hooks/__tests__/Timer.test.js +60 -0
  825. package/dist/_hooks/__tests__/Trigger.test.js +52 -0
  826. package/dist/_hooks/__tests__/Visibility.test.js +86 -0
  827. package/dist/_hooks/__tests__/ZIndex.test.js +76 -0
  828. package/dist/_hooks/useFileUploader.js +220 -220
  829. package/dist/_hooks/useFileUploader.js.map +1 -1
  830. package/dist/_hooks/useFocusWithin.js +27 -18
  831. package/dist/_hooks/useFocusWithin.js.map +1 -1
  832. package/dist/_hooks/useSet.js +71 -45
  833. package/dist/_hooks/useSet.js.map +1 -1
  834. package/dist/_hooks/useUpdateEffect.js +14 -13
  835. package/dist/_hooks/useUpdateEffect.js.map +1 -1
  836. package/dist/_locales/de-DE.json +354 -354
  837. package/dist/_locales/en-AU.json +354 -354
  838. package/dist/_locales/en-CA.json +354 -354
  839. package/dist/_locales/en-GB.json +354 -354
  840. package/dist/_locales/en-US.json +30 -30
  841. package/dist/_locales/en.json +353 -353
  842. package/dist/_locales/es-ES.json +354 -354
  843. package/dist/_locales/es.json +354 -354
  844. package/dist/_locales/fr-CA.json +354 -354
  845. package/dist/_locales/fr-FR.json +354 -354
  846. package/dist/_locales/is-IS.json +354 -354
  847. package/dist/_locales/pt-BR.json +354 -354
  848. package/dist/_locales/th-TH.json +354 -354
  849. package/dist/_locales/zh-SG.json +354 -354
  850. package/dist/_styles/arrows.js +4 -9
  851. package/dist/_styles/arrows.js.map +1 -1
  852. package/dist/_styles/borderRadius.js +4 -9
  853. package/dist/_styles/borderRadius.js.map +1 -1
  854. package/dist/_styles/colors.js +19 -18
  855. package/dist/_styles/colors.js.map +1 -1
  856. package/dist/_styles/media.js.map +1 -1
  857. package/dist/_styles/mixins.js +14 -16
  858. package/dist/_styles/mixins.js.map +1 -1
  859. package/dist/_styles/shadows.js +12 -17
  860. package/dist/_styles/shadows.js.map +1 -1
  861. package/dist/_styles/spacing.js +8 -8
  862. package/dist/_styles/spacing.js.map +1 -1
  863. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  864. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  865. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  866. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  867. package/dist/_typedoc/Box/Box.types.json +68 -68
  868. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  869. package/dist/_typedoc/Button/Button.types.json +11 -11
  870. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  871. package/dist/_typedoc/Card/Card.types.json +6 -6
  872. package/dist/_typedoc/Checkbox/Checkbox.types.json +7 -7
  873. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  874. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  875. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  876. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  877. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  878. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  879. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  880. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  881. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  882. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  883. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  884. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  885. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  886. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  887. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  888. package/dist/_typedoc/Form/Form.types.json +698 -698
  889. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  890. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  891. package/dist/_typedoc/Input/Input.types.json +2 -2
  892. package/dist/_typedoc/Link/Link.types.json +4 -4
  893. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  894. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  895. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  896. package/dist/_typedoc/Modal/Modal.types.json +41 -41
  897. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  898. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  899. package/dist/_typedoc/NumberInput/NumberInput.types.json +38 -38
  900. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +30 -30
  901. package/dist/_typedoc/PageLayout/PageLayout.types.json +22 -22
  902. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  903. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  904. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  905. package/dist/_typedoc/PillSelect/PillSelect.types.json +46 -46
  906. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  907. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  908. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  909. package/dist/_typedoc/Required/Required.types.json +5 -5
  910. package/dist/_typedoc/Search/Search.types.json +18 -18
  911. package/dist/_typedoc/Section/Section.types.json +14 -14
  912. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  913. package/dist/_typedoc/Select/Select.types.json +55 -55
  914. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  915. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  916. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  917. package/dist/_typedoc/Table/Table.types.json +96 -96
  918. package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
  919. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  920. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  921. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  922. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  923. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  924. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  925. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  926. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  927. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  928. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  929. package/dist/_typedoc/Token/Token.types.json +4 -4
  930. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  931. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  932. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  933. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  934. package/dist/_typedoc/Typography/Typography.types.json +8 -8
  935. package/dist/_typedoc/_utils/types.json +3 -3
  936. package/dist/_utils/CalendarHelpers.js +147 -129
  937. package/dist/_utils/CalendarHelpers.js.map +1 -1
  938. package/dist/_utils/TinyMCE.js +60 -109
  939. package/dist/_utils/TinyMCE.js.map +1 -1
  940. package/dist/_utils/__tests__/CalendarHelpers.test.js +64 -0
  941. package/dist/_utils/__tests__/filename.test.js +27 -0
  942. package/dist/_utils/__tests__/getAnchorPosition.test.js +250 -0
  943. package/dist/_utils/__tests__/mergeRefs.test.js +58 -0
  944. package/dist/_utils/__tests__/slotify.test.js +152 -0
  945. package/dist/_utils/addSubcomponents.js +5 -5
  946. package/dist/_utils/addSubcomponents.js.map +1 -1
  947. package/dist/_utils/dateTime.js +103 -85
  948. package/dist/_utils/dateTime.js.map +1 -1
  949. package/dist/_utils/dom.js +21 -25
  950. package/dist/_utils/dom.js.map +1 -1
  951. package/dist/_utils/filename.js +19 -11
  952. package/dist/_utils/filename.js.map +1 -1
  953. package/dist/_utils/genericAnalyticsClient.js +40 -26
  954. package/dist/_utils/genericAnalyticsClient.js.map +1 -1
  955. package/dist/_utils/getAnchorPosition.js +221 -127
  956. package/dist/_utils/getAnchorPosition.js.map +1 -1
  957. package/dist/_utils/i18n.js +19 -19
  958. package/dist/_utils/i18n.js.map +1 -1
  959. package/dist/_utils/isIE11.js +4 -4
  960. package/dist/_utils/isIE11.js.map +1 -1
  961. package/dist/_utils/isReactElement.js +1 -1
  962. package/dist/_utils/isReactElement.js.map +1 -1
  963. package/dist/_utils/mergeRefs.js +13 -13
  964. package/dist/_utils/mergeRefs.js.map +1 -1
  965. package/dist/_utils/partition.js +13 -5
  966. package/dist/_utils/partition.js.map +1 -1
  967. package/dist/_utils/placement.js +13 -13
  968. package/dist/_utils/placement.js.map +1 -1
  969. package/dist/_utils/polymorphic.js +6 -1
  970. package/dist/_utils/polymorphic.js.map +1 -1
  971. package/dist/_utils/props.js +1 -1
  972. package/dist/_utils/props.js.map +1 -1
  973. package/dist/_utils/propsTypedoc.js +14 -0
  974. package/dist/_utils/propsTypedoc.js.map +1 -1
  975. package/dist/_utils/runInQueue.js +39 -57
  976. package/dist/_utils/runInQueue.js.map +1 -1
  977. package/dist/_utils/scrollIntoView.js +17 -15
  978. package/dist/_utils/scrollIntoView.js.map +1 -1
  979. package/dist/_utils/slotify.js +45 -42
  980. package/dist/_utils/slotify.js.map +1 -1
  981. package/dist/_utils/triggerListeners.js +65 -53
  982. package/dist/_utils/triggerListeners.js.map +1 -1
  983. package/dist/_utils/types.js.map +1 -1
  984. package/dist/_utils/usingHookOrDefault.js +3 -5
  985. package/dist/_utils/usingHookOrDefault.js.map +1 -1
  986. package/dist/index.js +9 -1
  987. package/dist/index.js.map +1 -1
  988. package/package.json +8 -6
  989. package/dist/Link/Link.coverage.stories.js +0 -28
  990. package/dist/Link/Link.coverage.stories.js.map +0 -1
@@ -0,0 +1,1284 @@
1
+ import { act, renderHook } from '@testing-library/react-hooks'
2
+ import {
3
+ draggableOptionIdSymbol,
4
+ isOptgroupSymbol,
5
+ } from './SuperSelect.constants'
6
+ import { useSuperSelect } from './useSuperSelect'
7
+
8
+ describe('setSearchValue', () => {
9
+ jest.useFakeTimers()
10
+
11
+ test('should set new searchValue', () => {
12
+ const { result } = renderHook(() => useSuperSelect({}))
13
+
14
+ act(() => {
15
+ result.current.state.setSearchValue('ababa')
16
+ result.current.state.setSearchValue('ababa2')
17
+ result.current.state.setSearchValue('ababa1')
18
+ jest.runAllTimers()
19
+ })
20
+
21
+ expect(result.current.state.searchValue).toEqual('ababa1')
22
+
23
+ act(() => {
24
+ result.current.state.setSearchValue('The value')
25
+ jest.runAllTimers()
26
+ })
27
+
28
+ expect(result.current.state.searchValue).toEqual('The value')
29
+ })
30
+ })
31
+
32
+ describe('getClearProps', () => {
33
+ test('should return value [] and set open true', () => {
34
+ const { result } = renderHook(() =>
35
+ useSuperSelect({ multiple: true, initialValue: ['123', '321'] })
36
+ )
37
+
38
+ const stopPropagationMock = jest.fn()
39
+
40
+ act(() => {
41
+ result.current.props.clear().onClick({
42
+ stopPropagation: stopPropagationMock,
43
+ })
44
+ })
45
+
46
+ expect(result.current.state.value).toEqual([])
47
+ expect(result.current.state.open).toEqual(true)
48
+ })
49
+ })
50
+
51
+ describe('getOptionGroup', () => {
52
+ test('should return group name default', () => {
53
+ const { result } = renderHook(() => useSuperSelect({}))
54
+ expect(
55
+ result.current.option.group({
56
+ id: 2,
57
+ label: 'item 2',
58
+ group: 'Group 1',
59
+ })
60
+ ).toEqual('Group 1')
61
+
62
+ expect(
63
+ result.current.option.group({
64
+ id: 2,
65
+ label: 'item 2',
66
+ })
67
+ ).toEqual('')
68
+ })
69
+
70
+ test('should return option group custom', () => {
71
+ const { result } = renderHook(() =>
72
+ useSuperSelect({
73
+ getOptionGroup: (option) => option?.customGroup ?? '',
74
+ })
75
+ )
76
+
77
+ expect(
78
+ result.current.option.group({
79
+ id: 2,
80
+ label: 'item 2',
81
+ customGroup: 'Group custom',
82
+ })
83
+ ).toEqual('Group custom')
84
+
85
+ expect(
86
+ result.current.option.group({
87
+ id: 2,
88
+ label: 'item 2',
89
+ })
90
+ ).toEqual('')
91
+ })
92
+ })
93
+
94
+ describe('getOptionIsBatch', () => {
95
+ test('should return true if is batch', () => {
96
+ const { result } = renderHook(() => useSuperSelect({}))
97
+ expect(
98
+ result.current.option.isBatch({
99
+ id: '1',
100
+ group: 'Groups 1',
101
+ value: [2, 4, 6],
102
+ label: 'Group B',
103
+ disabled: false,
104
+ })
105
+ ).toEqual(true)
106
+
107
+ expect(
108
+ result.current.option.isBatch({
109
+ id: '1',
110
+ group: 'Groups 1',
111
+ option: 'test 1',
112
+ label: 'Group B',
113
+ disabled: false,
114
+ })
115
+ ).toEqual(false)
116
+ })
117
+
118
+ test('should return true if is custom batch', () => {
119
+ const { result } = renderHook(() =>
120
+ useSuperSelect({
121
+ getOptionIsBatch: (option) => {
122
+ return Array.isArray(option?.customValue)
123
+ },
124
+ })
125
+ )
126
+
127
+ expect(
128
+ result.current.option.isBatch({
129
+ id: '1',
130
+ group: 'Groups 1',
131
+ customValue: [2, 4, 6],
132
+ label: 'Group B',
133
+ disabled: false,
134
+ })
135
+ ).toEqual(true)
136
+
137
+ expect(
138
+ result.current.option.isBatch({
139
+ id: '1',
140
+ group: 'Groups 1',
141
+ label: 'Group B',
142
+ disabled: false,
143
+ })
144
+ ).toEqual(false)
145
+ })
146
+ })
147
+
148
+ describe('getOptionIsDisabled', () => {
149
+ test('should return true if option is disabled', () => {
150
+ const { result } = renderHook(() => useSuperSelect({}))
151
+
152
+ expect(
153
+ result.current.option.isDisabled({
154
+ id: 2,
155
+ label: 'item 2',
156
+ group: 'Group 1',
157
+ disabled: true,
158
+ })
159
+ ).toEqual(true)
160
+
161
+ expect(
162
+ result.current.option.isDisabled({
163
+ id: 2,
164
+ label: 'item 2',
165
+ group: 'Group 1',
166
+ })
167
+ ).toEqual(false)
168
+ })
169
+
170
+ test('should return true if option is disabled custom', () => {
171
+ const { result } = renderHook(() =>
172
+ useSuperSelect({
173
+ getOptionIsDisabled: (option) => {
174
+ return option?.customDisabled ?? false
175
+ },
176
+ })
177
+ )
178
+
179
+ expect(
180
+ result.current.option.isDisabled({
181
+ id: 2,
182
+ label: 'item 2',
183
+ group: 'Group 1',
184
+ customDisabled: true,
185
+ })
186
+ ).toEqual(true)
187
+
188
+ expect(
189
+ result.current.option.isDisabled({
190
+ id: 2,
191
+ label: 'item 2',
192
+ group: 'Group 1',
193
+ })
194
+ ).toEqual(false)
195
+ })
196
+ })
197
+
198
+ describe('getOptionLabel', () => {
199
+ test('should return label', () => {
200
+ const { result } = renderHook(() => useSuperSelect({}))
201
+
202
+ expect(
203
+ result.current.option.label({
204
+ id: 2,
205
+ label: 'item 2',
206
+ group: 'Group 1',
207
+ })
208
+ ).toEqual('item 2')
209
+
210
+ expect(
211
+ result.current.option.label({
212
+ id: 2,
213
+ group: 'Group 1',
214
+ })
215
+ ).toEqual('')
216
+ })
217
+
218
+ test('should return custom label', () => {
219
+ const { result } = renderHook(() =>
220
+ useSuperSelect({
221
+ getOptionLabel: (option) => {
222
+ return option?.customLabel ?? ''
223
+ },
224
+ })
225
+ )
226
+
227
+ expect(
228
+ result.current.option.label({
229
+ id: 2,
230
+ customLabel: 'item 2',
231
+ group: 'Group 1',
232
+ })
233
+ ).toEqual('item 2')
234
+
235
+ expect(
236
+ result.current.option.label({
237
+ id: 2,
238
+ group: 'Group 1',
239
+ })
240
+ ).toEqual('')
241
+ })
242
+ })
243
+
244
+ describe('onSelect', () => {
245
+ describe('multiple', () => {
246
+ test('should handle batch option value', () => {
247
+ const { result } = renderHook(() =>
248
+ useSuperSelect({ multiple: true, defaultValue: ['123', '321'] })
249
+ )
250
+
251
+ act(() => {
252
+ result.current.state.onSelect({
253
+ value: ['456', '123'],
254
+ })
255
+ })
256
+
257
+ expect(result.current.state.value).toEqual(['123', '321', '456'])
258
+ })
259
+
260
+ test('should not select disabled option', () => {
261
+ const { result } = renderHook(() =>
262
+ useSuperSelect({ multiple: true, defaultValue: ['123', '321'] })
263
+ )
264
+
265
+ act(() => {
266
+ result.current.state.onSelect({
267
+ value: ['456', '123'],
268
+ disabled: true,
269
+ })
270
+ })
271
+
272
+ expect(result.current.state.value).toEqual(['123', '321'])
273
+ })
274
+
275
+ test('should handle regular option', () => {
276
+ const { result } = renderHook(() =>
277
+ useSuperSelect({ multiple: true, defaultValue: ['123', '321'] })
278
+ )
279
+
280
+ act(() => {
281
+ result.current.state.onSelect({
282
+ value: '456',
283
+ })
284
+ })
285
+
286
+ expect(result.current.state.value).toEqual(['123', '321', '456'])
287
+ })
288
+ })
289
+
290
+ describe('single', () => {
291
+ test('should not select disabled option', () => {
292
+ const { result } = renderHook(() =>
293
+ useSuperSelect({ multiple: false, defaultValue: '123' })
294
+ )
295
+
296
+ act(() => {
297
+ result.current.state.onSelect({
298
+ value: '456',
299
+ disabled: true,
300
+ })
301
+ })
302
+
303
+ expect(result.current.state.value).toEqual('123')
304
+ })
305
+
306
+ test('should set new value', () => {
307
+ const { result } = renderHook(() =>
308
+ useSuperSelect({ multiple: false, defaultValue: '123' })
309
+ )
310
+
311
+ act(() => {
312
+ result.current.state.onSelect({
313
+ value: '456',
314
+ })
315
+ })
316
+
317
+ expect(result.current.state.value).toEqual('456')
318
+ })
319
+ })
320
+ })
321
+
322
+ describe('controlled API', () => {
323
+ test('should always return value when passed value', () => {
324
+ const { result } = renderHook(() => useSuperSelect({ value: '123' }))
325
+
326
+ expect(result.current.state.value).toEqual('123')
327
+ })
328
+
329
+ test('should call onChange when value is changed', () => {
330
+ const onChangeMock = jest.fn()
331
+ const { result, rerender } = renderHook(useSuperSelect, {
332
+ initialProps: {
333
+ value: '123',
334
+ onChange: onChangeMock,
335
+ },
336
+ })
337
+
338
+ act(() => {
339
+ result.current.state.onSelect({
340
+ value: '456',
341
+ })
342
+ })
343
+
344
+ rerender({ value: '456' })
345
+
346
+ expect(onChangeMock).toHaveBeenCalledWith('456')
347
+ expect(result.current.state.value).toEqual('456')
348
+ })
349
+ })
350
+
351
+ describe('uncontrolled API', () => {
352
+ test('should call onChange when the value is changed', () => {
353
+ const onChangeMock = jest.fn()
354
+
355
+ const { result } = renderHook(() =>
356
+ useSuperSelect({
357
+ defaultValue: '123',
358
+ onChange: (v) => {
359
+ onChangeMock(v)
360
+ },
361
+ })
362
+ )
363
+
364
+ expect(onChangeMock).not.toHaveBeenCalled()
365
+ expect(result.current.state.value).toEqual('123')
366
+
367
+ act(() => {
368
+ result.current.state.onSelect({
369
+ value: '321',
370
+ })
371
+ })
372
+
373
+ expect(onChangeMock).toHaveBeenCalledWith('321')
374
+ expect(result.current.state.value).toEqual('321')
375
+ })
376
+ })
377
+
378
+ describe('options', () => {
379
+ describe('draggable = false', () => {
380
+ describe('sorted', () => {
381
+ test('should return unfiltered array', () => {
382
+ const { result } = renderHook(useSuperSelect, {
383
+ initialProps: {
384
+ options: [
385
+ { label: 'value 0', value: 0, group: 'Group 1' },
386
+ {
387
+ label: 'value 1',
388
+ value: 1,
389
+ },
390
+ {
391
+ label: 'Batch Group 1.1',
392
+ value: [4, 6],
393
+ group: 'Group 1',
394
+ disabled: false,
395
+ },
396
+ {
397
+ label: 'Batch Group 1.2',
398
+ value: [1, 7],
399
+ group: 'Group 1',
400
+ disabled: false,
401
+ },
402
+ {
403
+ value: [2, 3, 5],
404
+ label: 'Batch Group',
405
+ group: 'Batch Group',
406
+ disabled: false,
407
+ },
408
+ {
409
+ value: [9, 8, 10],
410
+ label: 'Batch Ungrouped',
411
+ disabled: false,
412
+ },
413
+ { label: 'value 2', value: 2, group: 'Group 2' },
414
+ { label: 'value 3', value: 3, group: 'Group 2' },
415
+ {
416
+ label: 'Batch Group 2',
417
+ value: [11, 12, 13],
418
+ group: 'Group 2',
419
+ disabled: false,
420
+ },
421
+ ],
422
+ multiple: true,
423
+ value: [2, 3, 5],
424
+ },
425
+ })
426
+
427
+ expect(result.current.state.options).toEqual([
428
+ {
429
+ value: [9, 8, 10],
430
+ label: 'Batch Ungrouped',
431
+ disabled: false,
432
+ },
433
+ {
434
+ label: 'value 1',
435
+ value: 1,
436
+ },
437
+ {
438
+ id: 'Batch Group',
439
+ label: 'Batch Group',
440
+ [isOptgroupSymbol]: true,
441
+ },
442
+ {
443
+ value: [2, 3, 5],
444
+ label: 'Batch Group',
445
+ group: 'Batch Group',
446
+ disabled: true,
447
+ },
448
+ {
449
+ id: 'Group 1',
450
+ label: 'Group 1',
451
+ [isOptgroupSymbol]: true,
452
+ },
453
+ {
454
+ label: 'Batch Group 1.1',
455
+ value: [4, 6],
456
+ group: 'Group 1',
457
+ disabled: false,
458
+ },
459
+ {
460
+ label: 'Batch Group 1.2',
461
+ value: [1, 7],
462
+ group: 'Group 1',
463
+ disabled: false,
464
+ },
465
+ { label: 'value 0', value: 0, group: 'Group 1' },
466
+ {
467
+ id: 'Group 2',
468
+ label: 'Group 2',
469
+ [isOptgroupSymbol]: true,
470
+ },
471
+ {
472
+ label: 'Batch Group 2',
473
+ value: [11, 12, 13],
474
+ group: 'Group 2',
475
+ disabled: false,
476
+ },
477
+ { label: 'value 2', value: 2, group: 'Group 2' },
478
+ { label: 'value 3', value: 3, group: 'Group 2' },
479
+ ])
480
+ })
481
+
482
+ test('should return filtered array', () => {
483
+ jest.useFakeTimers()
484
+
485
+ const { result } = renderHook(useSuperSelect, {
486
+ initialProps: {
487
+ options: [
488
+ { label: 'value 0', value: 0, group: 'Group 1' },
489
+ {
490
+ label: 'value 1',
491
+ value: 1,
492
+ },
493
+ {
494
+ label: 'Batch Group 1.1',
495
+ value: [4, 6],
496
+ group: 'Group 1',
497
+ disabled: false,
498
+ },
499
+ {
500
+ label: 'Batch Group 1.2',
501
+ value: [1, 7],
502
+ group: 'Group 1',
503
+ disabled: false,
504
+ },
505
+ {
506
+ value: [2, 3, 5],
507
+ label: 'Batch Group',
508
+ group: 'Batch Group',
509
+ disabled: false,
510
+ },
511
+ {
512
+ value: [9, 8, 10],
513
+ label: 'Batch Ungrouped',
514
+ disabled: false,
515
+ },
516
+ { label: 'value 2', value: 2, group: 'Group 2' },
517
+ { label: 'value 3', value: 3, group: 'Group 2' },
518
+ {
519
+ label: 'Batch Group 2',
520
+ value: [11, 12, 13],
521
+ group: 'Group 2',
522
+ disabled: false,
523
+ },
524
+ ],
525
+ multiple: true,
526
+ value: [2, 3, 5],
527
+ },
528
+ })
529
+
530
+ act(() => {
531
+ result.current.state.setSearchValue('value')
532
+ jest.runAllTimers()
533
+ })
534
+
535
+ expect(result.current.state.options).toEqual([
536
+ {
537
+ label: 'value 1',
538
+ value: 1,
539
+ },
540
+ {
541
+ id: 'Group 1',
542
+ label: 'Group 1',
543
+ [isOptgroupSymbol]: true,
544
+ },
545
+ {
546
+ group: 'Group 1',
547
+ label: 'value 0',
548
+ value: 0,
549
+ },
550
+ {
551
+ id: 'Group 2',
552
+ label: 'Group 2',
553
+ [isOptgroupSymbol]: true,
554
+ },
555
+ { label: 'value 2', value: 2, group: 'Group 2' },
556
+ { label: 'value 3', value: 3, group: 'Group 2' },
557
+ ])
558
+ })
559
+ })
560
+
561
+ describe('unsorted', () => {
562
+ test('should return unfiltered array', () => {
563
+ const { result } = renderHook(useSuperSelect, {
564
+ initialProps: {
565
+ options: [
566
+ { label: 'value 0', value: 0, group: 'Group 1' },
567
+ {
568
+ label: 'value 1',
569
+ value: 1,
570
+ },
571
+ {
572
+ label: 'Batch Group 1.1',
573
+ value: [4, 6],
574
+ group: 'Group 1',
575
+ disabled: false,
576
+ },
577
+ {
578
+ label: 'Batch Group 1.2',
579
+ value: [1, 7],
580
+ group: 'Group 1',
581
+ disabled: false,
582
+ },
583
+ {
584
+ value: [2, 3, 5],
585
+ label: 'Batch Group',
586
+ group: 'Batch Group',
587
+ disabled: false,
588
+ },
589
+ {
590
+ value: [9, 8, 10],
591
+ label: 'Batch Ungrouped',
592
+ disabled: false,
593
+ },
594
+ { label: 'value 2', value: 2, group: 'Group 2' },
595
+ { label: 'value 3', value: 3, group: 'Group 2' },
596
+ {
597
+ label: 'Batch Group 2',
598
+ value: [11, 12, 13],
599
+ group: 'Group 2',
600
+ disabled: false,
601
+ },
602
+ ],
603
+ multiple: true,
604
+ value: [2, 3, 5],
605
+ sort: false,
606
+ },
607
+ })
608
+
609
+ expect(result.current.state.options).toEqual([
610
+ {
611
+ label: 'value 1',
612
+ value: 1,
613
+ },
614
+ {
615
+ value: [9, 8, 10],
616
+ label: 'Batch Ungrouped',
617
+ disabled: false,
618
+ },
619
+ {
620
+ id: 'Group 1',
621
+ label: 'Group 1',
622
+ [isOptgroupSymbol]: true,
623
+ },
624
+ { label: 'value 0', value: 0, group: 'Group 1' },
625
+ {
626
+ label: 'Batch Group 1.1',
627
+ value: [4, 6],
628
+ group: 'Group 1',
629
+ disabled: false,
630
+ },
631
+ {
632
+ label: 'Batch Group 1.2',
633
+ value: [1, 7],
634
+ group: 'Group 1',
635
+ disabled: false,
636
+ },
637
+ {
638
+ id: 'Batch Group',
639
+ label: 'Batch Group',
640
+ [isOptgroupSymbol]: true,
641
+ },
642
+ {
643
+ value: [2, 3, 5],
644
+ label: 'Batch Group',
645
+ group: 'Batch Group',
646
+ disabled: true,
647
+ },
648
+ {
649
+ id: 'Group 2',
650
+ label: 'Group 2',
651
+ [isOptgroupSymbol]: true,
652
+ },
653
+ { label: 'value 2', value: 2, group: 'Group 2' },
654
+ { label: 'value 3', value: 3, group: 'Group 2' },
655
+ {
656
+ label: 'Batch Group 2',
657
+ value: [11, 12, 13],
658
+ group: 'Group 2',
659
+ disabled: false,
660
+ },
661
+ ])
662
+ })
663
+
664
+ test('should return filtered array', () => {
665
+ jest.useFakeTimers()
666
+
667
+ const { result } = renderHook(useSuperSelect, {
668
+ initialProps: {
669
+ options: [
670
+ { label: 'value 0', value: 0, group: 'Group 1' },
671
+ {
672
+ label: 'value 1',
673
+ value: 1,
674
+ },
675
+ {
676
+ label: 'Batch Group 1.1',
677
+ value: [4, 6],
678
+ group: 'Group 1',
679
+ disabled: false,
680
+ },
681
+ {
682
+ label: 'Batch Group 1.2',
683
+ value: [1, 7],
684
+ group: 'Group 1',
685
+ disabled: false,
686
+ },
687
+ {
688
+ value: [2, 3, 5],
689
+ label: 'Batch Group',
690
+ group: 'Batch Group',
691
+ disabled: false,
692
+ },
693
+ {
694
+ value: [9, 8, 10],
695
+ label: 'Batch Ungrouped',
696
+ disabled: false,
697
+ },
698
+ { label: 'value 2', value: 2, group: 'Group 2' },
699
+ { label: 'value 3', value: 3, group: 'Group 2' },
700
+ {
701
+ label: 'Batch Group 2',
702
+ value: [11, 12, 13],
703
+ group: 'Group 2',
704
+ disabled: false,
705
+ },
706
+ ],
707
+ multiple: true,
708
+ value: [2, 3, 5],
709
+ sort: false,
710
+ },
711
+ })
712
+
713
+ act(() => {
714
+ result.current.state.setSearchValue('value')
715
+ jest.runAllTimers()
716
+ })
717
+
718
+ expect(result.current.state.options).toEqual([
719
+ {
720
+ label: 'value 1',
721
+ value: 1,
722
+ },
723
+ {
724
+ id: 'Group 1',
725
+ label: 'Group 1',
726
+ [isOptgroupSymbol]: true,
727
+ },
728
+ { label: 'value 0', value: 0, group: 'Group 1' },
729
+ {
730
+ id: 'Group 2',
731
+ label: 'Group 2',
732
+ [isOptgroupSymbol]: true,
733
+ },
734
+ { label: 'value 2', value: 2, group: 'Group 2' },
735
+ { label: 'value 3', value: 3, group: 'Group 2' },
736
+ ])
737
+ })
738
+ })
739
+ })
740
+
741
+ describe('draggable = true', () => {
742
+ describe('sorted', () => {
743
+ test('should return filtered array', () => {
744
+ jest.useFakeTimers()
745
+
746
+ const { result } = renderHook(useSuperSelect, {
747
+ initialProps: {
748
+ draggable: true,
749
+ options: [
750
+ { label: 'value 0', value: 0, group: 'Group 1' },
751
+ {
752
+ label: 'value 1',
753
+ value: 1,
754
+ },
755
+ {
756
+ label: 'Batch Group 1.1',
757
+ value: [4, 6],
758
+ group: 'Group 1',
759
+ disabled: false,
760
+ },
761
+ {
762
+ label: 'Batch Group 1.2',
763
+ value: [1, 7],
764
+ group: 'Group 1',
765
+ disabled: false,
766
+ },
767
+ {
768
+ value: [2, 3, 5],
769
+ label: 'Batch Group',
770
+ group: 'Batch Group',
771
+ disabled: false,
772
+ },
773
+ {
774
+ value: [2, 3, 5],
775
+ label: 'Batch Group',
776
+ group: 'Batch Group',
777
+ disabled: false,
778
+ },
779
+ {
780
+ value: [9, 8, 10],
781
+ label: 'Batch Ungrouped',
782
+ disabled: false,
783
+ },
784
+ { label: 'value 2', value: 2, group: 'Group 2' },
785
+ { label: 'value 3', value: 3, group: 'Group 2' },
786
+ {
787
+ label: 'Batch Group 2',
788
+ value: [11, 12, 13],
789
+ group: 'Group 2',
790
+ disabled: false,
791
+ },
792
+ ],
793
+
794
+ multiple: true,
795
+ value: [2, 3, 5],
796
+ },
797
+ })
798
+
799
+ act(() => {
800
+ result.current.state.setSearchValue('value')
801
+ jest.runAllTimers()
802
+ })
803
+
804
+ expect(result.current.state.options).toEqual([
805
+ {
806
+ label: 'value 1',
807
+ value: 1,
808
+ [draggableOptionIdSymbol]: expect.any(String),
809
+ },
810
+ {
811
+ id: 'Group 1',
812
+ label: 'Group 1',
813
+ [isOptgroupSymbol]: true,
814
+ },
815
+ {
816
+ group: 'Group 1',
817
+ label: 'value 0',
818
+ value: 0,
819
+ [draggableOptionIdSymbol]: expect.any(String),
820
+ },
821
+ {
822
+ id: 'Group 2',
823
+ label: 'Group 2',
824
+ [isOptgroupSymbol]: true,
825
+ },
826
+ {
827
+ label: 'value 2',
828
+ value: 2,
829
+ group: 'Group 2',
830
+ [draggableOptionIdSymbol]: expect.any(String),
831
+ },
832
+ {
833
+ label: 'value 3',
834
+ value: 3,
835
+ group: 'Group 2',
836
+ [draggableOptionIdSymbol]: expect.any(String),
837
+ },
838
+ ])
839
+ })
840
+
841
+ test('should return unfiltered array', () => {
842
+ const { result } = renderHook(useSuperSelect, {
843
+ initialProps: {
844
+ draggable: true,
845
+ options: [
846
+ { label: 'value 0', value: 0, group: 'Group 1' },
847
+ {
848
+ label: 'value 1',
849
+ value: 1,
850
+ },
851
+ {
852
+ label: 'Batch Group 1.1',
853
+ value: [4, 6],
854
+ group: 'Group 1',
855
+ disabled: false,
856
+ },
857
+ {
858
+ label: 'Batch Group 1.2',
859
+ value: [1, 7],
860
+ group: 'Group 1',
861
+ disabled: false,
862
+ },
863
+ {
864
+ value: [2, 3, 5],
865
+ label: 'Batch Group',
866
+ group: 'Batch Group',
867
+ disabled: false,
868
+ },
869
+ {
870
+ value: [9, 8, 10],
871
+ label: 'Batch Ungrouped',
872
+ disabled: false,
873
+ },
874
+ { label: 'value 2', value: 2, group: 'Group 2' },
875
+ { label: 'value 3', value: 3, group: 'Group 2' },
876
+ {
877
+ label: 'Batch Group 2',
878
+ value: [11, 12, 13],
879
+ group: 'Group 2',
880
+ disabled: false,
881
+ },
882
+ ],
883
+
884
+ multiple: true,
885
+ value: [2, 3, 5],
886
+ },
887
+ })
888
+
889
+ expect(result.current.state.options).toEqual([
890
+ {
891
+ value: [9, 8, 10],
892
+ label: 'Batch Ungrouped',
893
+ disabled: false,
894
+ [draggableOptionIdSymbol]: expect.any(String),
895
+ },
896
+ {
897
+ label: 'value 1',
898
+ value: 1,
899
+ [draggableOptionIdSymbol]: expect.any(String),
900
+ },
901
+ {
902
+ id: 'Batch Group',
903
+ label: 'Batch Group',
904
+ [isOptgroupSymbol]: true,
905
+ },
906
+ {
907
+ value: [2, 3, 5],
908
+ label: 'Batch Group',
909
+ group: 'Batch Group',
910
+ disabled: true,
911
+ [draggableOptionIdSymbol]: expect.any(String),
912
+ },
913
+ {
914
+ id: 'Group 1',
915
+ label: 'Group 1',
916
+ [isOptgroupSymbol]: true,
917
+ },
918
+ {
919
+ label: 'Batch Group 1.1',
920
+ value: [4, 6],
921
+ group: 'Group 1',
922
+ disabled: false,
923
+ [draggableOptionIdSymbol]: expect.any(String),
924
+ },
925
+ {
926
+ label: 'Batch Group 1.2',
927
+ value: [1, 7],
928
+ group: 'Group 1',
929
+ disabled: false,
930
+ [draggableOptionIdSymbol]: expect.any(String),
931
+ },
932
+ {
933
+ label: 'value 0',
934
+ value: 0,
935
+ group: 'Group 1',
936
+ [draggableOptionIdSymbol]: expect.any(String),
937
+ },
938
+ {
939
+ id: 'Group 2',
940
+ label: 'Group 2',
941
+ [isOptgroupSymbol]: true,
942
+ },
943
+ {
944
+ label: 'Batch Group 2',
945
+ value: [11, 12, 13],
946
+ group: 'Group 2',
947
+ disabled: false,
948
+ [draggableOptionIdSymbol]: expect.any(String),
949
+ },
950
+ {
951
+ label: 'value 2',
952
+ value: 2,
953
+ group: 'Group 2',
954
+ [draggableOptionIdSymbol]: expect.any(String),
955
+ },
956
+ {
957
+ label: 'value 3',
958
+ value: 3,
959
+ group: 'Group 2',
960
+ [draggableOptionIdSymbol]: expect.any(String),
961
+ },
962
+ ])
963
+ })
964
+
965
+ test('should return filtered array', () => {
966
+ jest.useFakeTimers()
967
+
968
+ const { result } = renderHook(useSuperSelect, {
969
+ initialProps: {
970
+ draggable: true,
971
+ options: [
972
+ { label: 'value 0', value: 0, group: 'Group 1' },
973
+ {
974
+ label: 'value 1',
975
+ value: 1,
976
+ },
977
+ {
978
+ label: 'Batch Group 1.1',
979
+ value: [4, 6],
980
+ group: 'Group 1',
981
+ disabled: false,
982
+ },
983
+ {
984
+ label: 'Batch Group 1.2',
985
+ value: [1, 7],
986
+ group: 'Group 1',
987
+ disabled: false,
988
+ },
989
+ {
990
+ value: [2, 3, 5],
991
+ label: 'Batch Group',
992
+ group: 'Batch Group',
993
+ disabled: false,
994
+ },
995
+ {
996
+ value: [2, 3, 5],
997
+ label: 'Batch Group',
998
+ group: 'Batch Group',
999
+ disabled: false,
1000
+ },
1001
+ {
1002
+ value: [9, 8, 10],
1003
+ label: 'Batch Ungrouped',
1004
+ disabled: false,
1005
+ },
1006
+ { label: 'value 2', value: 2, group: 'Group 2' },
1007
+ { label: 'value 3', value: 3, group: 'Group 2' },
1008
+ {
1009
+ label: 'Batch Group 2',
1010
+ value: [11, 12, 13],
1011
+ group: 'Group 2',
1012
+ disabled: false,
1013
+ },
1014
+ ],
1015
+
1016
+ multiple: true,
1017
+ value: [2, 3, 5],
1018
+ },
1019
+ })
1020
+
1021
+ act(() => {
1022
+ result.current.state.setSearchValue('value')
1023
+ jest.runAllTimers()
1024
+ })
1025
+
1026
+ expect(result.current.state.options).toEqual([
1027
+ {
1028
+ label: 'value 1',
1029
+ value: 1,
1030
+ [draggableOptionIdSymbol]: expect.any(String),
1031
+ },
1032
+ {
1033
+ id: 'Group 1',
1034
+ label: 'Group 1',
1035
+ [isOptgroupSymbol]: true,
1036
+ },
1037
+ {
1038
+ group: 'Group 1',
1039
+ label: 'value 0',
1040
+ value: 0,
1041
+ [draggableOptionIdSymbol]: expect.any(String),
1042
+ },
1043
+ {
1044
+ id: 'Group 2',
1045
+ label: 'Group 2',
1046
+ [isOptgroupSymbol]: true,
1047
+ },
1048
+ {
1049
+ label: 'value 2',
1050
+ value: 2,
1051
+ group: 'Group 2',
1052
+ [draggableOptionIdSymbol]: expect.any(String),
1053
+ },
1054
+ {
1055
+ label: 'value 3',
1056
+ value: 3,
1057
+ group: 'Group 2',
1058
+ [draggableOptionIdSymbol]: expect.any(String),
1059
+ },
1060
+ ])
1061
+ })
1062
+ })
1063
+
1064
+ describe('unsorted', () => {
1065
+ test('should return filtered array', () => {
1066
+ jest.useFakeTimers()
1067
+
1068
+ const { result } = renderHook(useSuperSelect, {
1069
+ initialProps: {
1070
+ draggable: true,
1071
+ options: [
1072
+ { label: 'value 0', value: 0, group: 'Group 1' },
1073
+ {
1074
+ label: 'value 1',
1075
+ value: 1,
1076
+ },
1077
+ {
1078
+ label: 'Batch Group 1.1',
1079
+ value: [4, 6],
1080
+ group: 'Group 1',
1081
+ disabled: false,
1082
+ },
1083
+ {
1084
+ label: 'Batch Group 1.2',
1085
+ value: [1, 7],
1086
+ group: 'Group 1',
1087
+ disabled: false,
1088
+ },
1089
+ {
1090
+ value: [2, 3, 5],
1091
+ label: 'Batch Group',
1092
+ group: 'Batch Group',
1093
+ disabled: false,
1094
+ },
1095
+ {
1096
+ value: [9, 8, 10],
1097
+ label: 'Batch Ungrouped',
1098
+ disabled: false,
1099
+ },
1100
+ { label: 'value 2', value: 2, group: 'Group 2' },
1101
+ { label: 'value 3', value: 3, group: 'Group 2' },
1102
+ {
1103
+ label: 'Batch Group 2',
1104
+ value: [11, 12, 13],
1105
+ group: 'Group 2',
1106
+ disabled: false,
1107
+ },
1108
+ ],
1109
+
1110
+ multiple: true,
1111
+ value: [2, 3, 5],
1112
+ sort: false,
1113
+ },
1114
+ })
1115
+
1116
+ act(() => {
1117
+ result.current.state.setSearchValue('value')
1118
+ jest.runAllTimers()
1119
+ })
1120
+
1121
+ expect(result.current.state.options).toEqual([
1122
+ {
1123
+ label: 'value 1',
1124
+ value: 1,
1125
+ [draggableOptionIdSymbol]: expect.any(String),
1126
+ },
1127
+ {
1128
+ id: 'Group 1',
1129
+ label: 'Group 1',
1130
+ [isOptgroupSymbol]: true,
1131
+ },
1132
+ {
1133
+ label: 'value 0',
1134
+ value: 0,
1135
+ group: 'Group 1',
1136
+ [draggableOptionIdSymbol]: expect.any(String),
1137
+ },
1138
+ {
1139
+ id: 'Group 2',
1140
+ label: 'Group 2',
1141
+ [isOptgroupSymbol]: true,
1142
+ },
1143
+ {
1144
+ label: 'value 2',
1145
+ value: 2,
1146
+ group: 'Group 2',
1147
+ [draggableOptionIdSymbol]: expect.any(String),
1148
+ },
1149
+ {
1150
+ label: 'value 3',
1151
+ value: 3,
1152
+ group: 'Group 2',
1153
+ [draggableOptionIdSymbol]: expect.any(String),
1154
+ },
1155
+ ])
1156
+ })
1157
+
1158
+ test('should return unfiltered array', () => {
1159
+ const { result } = renderHook(useSuperSelect, {
1160
+ initialProps: {
1161
+ draggable: true,
1162
+ options: [
1163
+ { label: 'value 0', value: 0, group: 'Group 1' },
1164
+ {
1165
+ label: 'value 1',
1166
+ value: 1,
1167
+ },
1168
+ {
1169
+ label: 'Batch Group 1.1',
1170
+ value: [4, 6],
1171
+ group: 'Group 1',
1172
+ disabled: false,
1173
+ },
1174
+ {
1175
+ label: 'Batch Group 1.2',
1176
+ value: [1, 7],
1177
+ group: 'Group 1',
1178
+ disabled: false,
1179
+ },
1180
+ {
1181
+ value: [2, 3, 5],
1182
+ label: 'Batch Group',
1183
+ group: 'Batch Group',
1184
+ disabled: false,
1185
+ },
1186
+ {
1187
+ value: [9, 8, 10],
1188
+ label: 'Batch Ungrouped',
1189
+ disabled: false,
1190
+ },
1191
+ { label: 'value 2', value: 2, group: 'Group 2' },
1192
+ { label: 'value 3', value: 3, group: 'Group 2' },
1193
+ {
1194
+ label: 'Batch Group 2',
1195
+ value: [11, 12, 13],
1196
+ group: 'Group 2',
1197
+ disabled: false,
1198
+ },
1199
+ ],
1200
+
1201
+ multiple: true,
1202
+ value: [2, 3, 5],
1203
+ sort: false,
1204
+ },
1205
+ })
1206
+
1207
+ expect(result.current.state.options).toEqual([
1208
+ {
1209
+ label: 'value 1',
1210
+ value: 1,
1211
+ [draggableOptionIdSymbol]: expect.any(String),
1212
+ },
1213
+ {
1214
+ value: [9, 8, 10],
1215
+ label: 'Batch Ungrouped',
1216
+ disabled: false,
1217
+ [draggableOptionIdSymbol]: expect.any(String),
1218
+ },
1219
+ {
1220
+ id: 'Group 1',
1221
+ label: 'Group 1',
1222
+ [isOptgroupSymbol]: true,
1223
+ },
1224
+ {
1225
+ label: 'value 0',
1226
+ value: 0,
1227
+ group: 'Group 1',
1228
+ [draggableOptionIdSymbol]: expect.any(String),
1229
+ },
1230
+ {
1231
+ label: 'Batch Group 1.1',
1232
+ value: [4, 6],
1233
+ group: 'Group 1',
1234
+ disabled: false,
1235
+ [draggableOptionIdSymbol]: expect.any(String),
1236
+ },
1237
+ {
1238
+ label: 'Batch Group 1.2',
1239
+ value: [1, 7],
1240
+ group: 'Group 1',
1241
+ disabled: false,
1242
+ [draggableOptionIdSymbol]: expect.any(String),
1243
+ },
1244
+ {
1245
+ id: 'Batch Group',
1246
+ label: 'Batch Group',
1247
+ [isOptgroupSymbol]: true,
1248
+ },
1249
+ {
1250
+ value: [2, 3, 5],
1251
+ label: 'Batch Group',
1252
+ group: 'Batch Group',
1253
+ disabled: true,
1254
+ [draggableOptionIdSymbol]: expect.any(String),
1255
+ },
1256
+ {
1257
+ id: 'Group 2',
1258
+ label: 'Group 2',
1259
+ [isOptgroupSymbol]: true,
1260
+ },
1261
+ {
1262
+ label: 'value 2',
1263
+ value: 2,
1264
+ group: 'Group 2',
1265
+ [draggableOptionIdSymbol]: expect.any(String),
1266
+ },
1267
+ {
1268
+ label: 'value 3',
1269
+ value: 3,
1270
+ group: 'Group 2',
1271
+ [draggableOptionIdSymbol]: expect.any(String),
1272
+ },
1273
+ {
1274
+ label: 'Batch Group 2',
1275
+ value: [11, 12, 13],
1276
+ group: 'Group 2',
1277
+ disabled: false,
1278
+ [draggableOptionIdSymbol]: expect.any(String),
1279
+ },
1280
+ ])
1281
+ })
1282
+ })
1283
+ })
1284
+ })