@procore/core-react 11.24.1 → 11.24.3

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 (733) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.cjs +54 -0
  3. package/dist/Avatar/Avatar.d.ts +2 -2
  4. package/dist/Avatar/Avatar.js.map +1 -1
  5. package/dist/Avatar/Avatar.styles.d.ts +1 -1
  6. package/dist/Avatar/Avatar.styles.js +5 -5
  7. package/dist/Avatar/Avatar.styles.js.map +1 -1
  8. package/dist/Avatar/Avatar.types.d.ts +4 -4
  9. package/dist/Avatar/Avatar.types.js.map +1 -1
  10. package/dist/AvatarStack/AvatarStack.constants.d.ts +1 -1
  11. package/dist/AvatarStack/AvatarStack.constants.js.map +1 -1
  12. package/dist/AvatarStack/AvatarStack.d.ts +2 -2
  13. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  14. package/dist/AvatarStack/AvatarStack.styles.d.ts +1 -1
  15. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  16. package/dist/AvatarStack/AvatarStack.styles.js.map +1 -1
  17. package/dist/Badge/Badge.d.ts +1 -1
  18. package/dist/Badge/Badge.js.map +1 -1
  19. package/dist/Badge/Badge.styles.d.ts +1 -1
  20. package/dist/Badge/Badge.styles.js +2 -2
  21. package/dist/Badge/Badge.styles.js.map +1 -1
  22. package/dist/Badge/Badge.types.d.ts +1 -1
  23. package/dist/Badge/Badge.types.js.map +1 -1
  24. package/dist/Banner/Banner.d.ts +2 -2
  25. package/dist/Banner/Banner.js.map +1 -1
  26. package/dist/Banner/Banner.styles.d.ts +2 -2
  27. package/dist/Banner/Banner.styles.js +10 -10
  28. package/dist/Banner/Banner.styles.js.map +1 -1
  29. package/dist/Banner/Banner.types.d.ts +1 -1
  30. package/dist/Banner/Banner.types.js.map +1 -1
  31. package/dist/Box/Box.d.ts +2 -2
  32. package/dist/Box/Box.js.map +1 -1
  33. package/dist/Box/Box.styles.d.ts +1 -1
  34. package/dist/Box/Box.styles.js +1 -1
  35. package/dist/Box/Box.styles.js.map +1 -1
  36. package/dist/Box/Box.types.d.ts +1 -1
  37. package/dist/Box/Box.types.js.map +1 -1
  38. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -2
  39. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  40. package/dist/Breadcrumbs/Breadcrumbs.styles.d.ts +1 -1
  41. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  42. package/dist/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  43. package/dist/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  44. package/dist/Breadcrumbs/Breadcrumbs.types.js.map +1 -1
  45. package/dist/Button/Button.d.ts +1 -1
  46. package/dist/Button/Button.js.map +1 -1
  47. package/dist/Button/Button.styles.d.ts +1 -1
  48. package/dist/Button/Button.styles.js +5 -5
  49. package/dist/Button/Button.styles.js.map +1 -1
  50. package/dist/Button/Button.types.d.ts +1 -1
  51. package/dist/Button/Button.types.js.map +1 -1
  52. package/dist/Button/index.d.ts +1 -1
  53. package/dist/Button/index.js.map +1 -1
  54. package/dist/Calendar/Calendar.d.ts +1 -1
  55. package/dist/Calendar/Calendar.js.map +1 -1
  56. package/dist/Calendar/Calendar.styles.js +8 -8
  57. package/dist/Calendar/Calendar.types.d.ts +2 -2
  58. package/dist/Calendar/Calendar.types.js.map +1 -1
  59. package/dist/Card/Card.d.ts +2 -2
  60. package/dist/Card/Card.js.map +1 -1
  61. package/dist/Card/Card.styles.d.ts +1 -1
  62. package/dist/Card/Card.styles.js +1 -1
  63. package/dist/Card/Card.styles.js.map +1 -1
  64. package/dist/Card/Card.types.d.ts +1 -1
  65. package/dist/Card/Card.types.js.map +1 -1
  66. package/dist/Checkbox/Checkbox.d.ts +1 -1
  67. package/dist/Checkbox/Checkbox.js.map +1 -1
  68. package/dist/Checkbox/Checkbox.styles.js +5 -5
  69. package/dist/Checkbox/Checkbox.types.d.ts +2 -2
  70. package/dist/Checkbox/Checkbox.types.js.map +1 -1
  71. package/dist/CheckboxGroup/CheckboxGroup.d.ts +2 -2
  72. package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -1
  73. package/dist/CheckboxGroup/CheckboxGroup.types.d.ts +2 -2
  74. package/dist/CheckboxGroup/CheckboxGroup.types.js.map +1 -1
  75. package/dist/ClickOutside/ClickOutside.d.ts +1 -1
  76. package/dist/ClickOutside/ClickOutside.js.map +1 -1
  77. package/dist/ContactItem/ContactItem.d.ts +3 -3
  78. package/dist/ContactItem/ContactItem.js.map +1 -1
  79. package/dist/ContactItem/ContactItem.styles.js +5 -5
  80. package/dist/ContactItem/ContactItem.types.d.ts +2 -2
  81. package/dist/ContactItem/ContactItem.types.js.map +1 -1
  82. package/dist/Content/Content.d.ts +1 -1
  83. package/dist/Content/Content.js.map +1 -1
  84. package/dist/Content/Content.styles.js +2 -2
  85. package/dist/DateInput/DateInput.d.ts +1 -1
  86. package/dist/DateInput/DateInput.js.map +1 -1
  87. package/dist/DateInput/DateInput.styles.js +6 -6
  88. package/dist/DateInput/DateInput.types.d.ts +2 -2
  89. package/dist/DateInput/DateInput.types.js.map +1 -1
  90. package/dist/DateInput/index.js.map +1 -1
  91. package/dist/DateSelect/DateSelect.d.ts +1 -1
  92. package/dist/DateSelect/DateSelect.js.map +1 -1
  93. package/dist/DateSelect/DateSelect.types.d.ts +4 -4
  94. package/dist/DateSelect/DateSelect.types.js.map +1 -1
  95. package/dist/DetailPage/DetailPage.constants.d.ts +2 -2
  96. package/dist/DetailPage/DetailPage.constants.js.map +1 -1
  97. package/dist/DetailPage/DetailPage.d.ts +3 -3
  98. package/dist/DetailPage/DetailPage.js.map +1 -1
  99. package/dist/DetailPage/DetailPage.styles.js +7 -7
  100. package/dist/DetailPage/DetailPage.types.d.ts +3 -3
  101. package/dist/DetailPage/DetailPage.types.js.map +1 -1
  102. package/dist/Dropdown/Dropdown.d.ts +2 -2
  103. package/dist/Dropdown/Dropdown.js.map +1 -1
  104. package/dist/Dropdown/Dropdown.styles.d.ts +1 -1
  105. package/dist/Dropdown/Dropdown.styles.js +3 -3
  106. package/dist/Dropdown/Dropdown.styles.js.map +1 -1
  107. package/dist/Dropdown/Dropdown.types.d.ts +4 -4
  108. package/dist/Dropdown/Dropdown.types.js.map +1 -1
  109. package/dist/DropdownFlyout/DropdownFlyout.d.ts +1 -1
  110. package/dist/DropdownFlyout/DropdownFlyout.helpers.d.ts +1 -1
  111. package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
  112. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  113. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  114. package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +4 -4
  115. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  116. package/dist/DropdownFlyout/index.js.map +1 -1
  117. package/dist/DropdownFlyout/useDropdownFlyoutOverlay.d.ts +3 -3
  118. package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js.map +1 -1
  119. package/dist/Dropzone/Dropzone.d.ts +2 -2
  120. package/dist/Dropzone/Dropzone.hooks.d.ts +1 -1
  121. package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
  122. package/dist/Dropzone/Dropzone.js +1 -1
  123. package/dist/Dropzone/Dropzone.js.map +1 -1
  124. package/dist/Dropzone/Dropzone.styles.js +9 -9
  125. package/dist/Dropzone/Dropzone.types.d.ts +4 -3
  126. package/dist/Dropzone/Dropzone.types.js.map +1 -1
  127. package/dist/EmptyState/EmptyState.d.ts +2 -2
  128. package/dist/EmptyState/EmptyState.js.map +1 -1
  129. package/dist/EmptyState/EmptyState.styles.js +6 -6
  130. package/dist/EmptyState/EmptyState.types.d.ts +1 -1
  131. package/dist/EmptyState/EmptyState.types.js.map +1 -1
  132. package/dist/Field/Field.styles.js +3 -3
  133. package/dist/FileList/FileList.d.ts +2 -2
  134. package/dist/FileList/FileList.js.map +1 -1
  135. package/dist/FileList/FileList.styles.js +4 -4
  136. package/dist/FileSelect/FileExplorer/FileExplorer.d.ts +2 -2
  137. package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
  138. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  139. package/dist/FileSelect/FileExplorer/FileExplorer.types.d.ts +2 -2
  140. package/dist/FileSelect/FileExplorer/FileExplorer.types.js.map +1 -1
  141. package/dist/FileSelect/FileExplorer/FileExplorerModal.d.ts +3 -3
  142. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  143. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.d.ts +1 -1
  144. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
  145. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  146. package/dist/FileSelect/FileExplorer/useSidebarNavigation.d.ts +1 -1
  147. package/dist/FileSelect/FileExplorer/useSidebarNavigation.js.map +1 -1
  148. package/dist/FileSelect/FileSelect.d.ts +3 -3
  149. package/dist/FileSelect/FileSelect.js.map +1 -1
  150. package/dist/FileSelect/FileSelect.styles.js +2 -2
  151. package/dist/FileSelect/FileSelect.types.d.ts +6 -6
  152. package/dist/FileSelect/FileSelect.types.js.map +1 -1
  153. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.d.ts +1 -1
  154. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
  155. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  156. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.types.d.ts +2 -2
  157. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.types.js.map +1 -1
  158. package/dist/FileSelect/FileTokenList/FileToken.types.d.ts +1 -1
  159. package/dist/FileSelect/FileTokenList/FileToken.types.js.map +1 -1
  160. package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +2 -2
  161. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  162. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  163. package/dist/FileSelect/GridSource/GridSource.d.ts +2 -2
  164. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  165. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  166. package/dist/FileSelect/GridSource/GridSource.types.d.ts +2 -2
  167. package/dist/FileSelect/GridSource/GridSource.types.js.map +1 -1
  168. package/dist/FileSelect/LocalSource/LocalSource.d.ts +1 -1
  169. package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
  170. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  171. package/dist/FileSelect/LocalSource/LocalSource.types.d.ts +4 -4
  172. package/dist/FileSelect/LocalSource/LocalSource.types.js.map +1 -1
  173. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.d.ts +1 -1
  174. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js.map +1 -1
  175. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.types.d.ts +2 -2
  176. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.types.js.map +1 -1
  177. package/dist/FileSelect/SourceItem/SourceItem.d.ts +1 -1
  178. package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
  179. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  180. package/dist/FileSelect/ThumbnailList/ThumbnailList.d.ts +1 -1
  181. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  182. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  183. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.d.ts +1 -1
  184. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.js.map +1 -1
  185. package/dist/FileSelect/TreeSource/TreeSource.d.ts +2 -2
  186. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  187. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  188. package/dist/FileSelect/TreeSource/TreeSource.types.d.ts +1 -1
  189. package/dist/FileSelect/TreeSource/TreeSource.types.js.map +1 -1
  190. package/dist/FileSelect/storyHelpers.d.ts +1 -1
  191. package/dist/FileSelect/storyHelpers.js.map +1 -1
  192. package/dist/FileToken/FileToken.d.ts +2 -2
  193. package/dist/FileToken/FileToken.js.map +1 -1
  194. package/dist/FileToken/FileToken.styles.js +4 -4
  195. package/dist/FileToken/FileToken.types.d.ts +1 -1
  196. package/dist/FileToken/FileToken.types.js.map +1 -1
  197. package/dist/FilterToken/FilterToken.d.ts +2 -2
  198. package/dist/FilterToken/FilterToken.js.map +1 -1
  199. package/dist/FilterToken/FilterToken.styles.js +2 -2
  200. package/dist/FilterToken/index.d.ts +1 -1
  201. package/dist/FilterToken/index.js.map +1 -1
  202. package/dist/Flex/Flex.d.ts +2 -2
  203. package/dist/Flex/Flex.js.map +1 -1
  204. package/dist/Flex/Flex.types.d.ts +2 -2
  205. package/dist/Flex/Flex.types.js.map +1 -1
  206. package/dist/FlexList/FlexList.d.ts +2 -2
  207. package/dist/FlexList/FlexList.js.map +1 -1
  208. package/dist/FlexList/FlexList.styles.d.ts +1 -1
  209. package/dist/FlexList/FlexList.styles.js +1 -1
  210. package/dist/FlexList/FlexList.styles.js.map +1 -1
  211. package/dist/FlexList/FlexList.types.d.ts +2 -2
  212. package/dist/FlexList/FlexList.types.js.map +1 -1
  213. package/dist/Form/Form.d.ts +5 -5
  214. package/dist/Form/Form.js +82 -70
  215. package/dist/Form/Form.js.map +1 -1
  216. package/dist/Form/Form.styles.d.ts +1 -1
  217. package/dist/Form/Form.styles.js +15 -15
  218. package/dist/Form/Form.styles.js.map +1 -1
  219. package/dist/Form/Form.types.d.ts +14 -14
  220. package/dist/Form/Form.types.js.map +1 -1
  221. package/dist/Form/stories/util.d.ts +1 -1
  222. package/dist/Form/stories/util.js.map +1 -1
  223. package/dist/Grid/Grid.constants.d.ts +1 -1
  224. package/dist/Grid/Grid.constants.js.map +1 -1
  225. package/dist/Grid/Grid.d.ts +1 -1
  226. package/dist/Grid/Grid.js.map +1 -1
  227. package/dist/Grid/Grid.styles.d.ts +1 -1
  228. package/dist/Grid/Grid.styles.js +2 -2
  229. package/dist/Grid/Grid.styles.js.map +1 -1
  230. package/dist/Grid/Grid.types.d.ts +2 -2
  231. package/dist/Grid/Grid.types.js.map +1 -1
  232. package/dist/GroupSelect/GroupSelect.d.ts +2 -2
  233. package/dist/GroupSelect/GroupSelect.js.map +1 -1
  234. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  235. package/dist/GroupSelect/GroupSelect.types.d.ts +3 -3
  236. package/dist/GroupSelect/GroupSelect.types.js.map +1 -1
  237. package/dist/Input/Input.d.ts +2 -2
  238. package/dist/Input/Input.js.map +1 -1
  239. package/dist/Input/Input.styles.js +1 -1
  240. package/dist/Input/Input.types.d.ts +1 -1
  241. package/dist/Input/Input.types.js.map +1 -1
  242. package/dist/Link/Link.d.ts +1 -1
  243. package/dist/Link/Link.js.map +1 -1
  244. package/dist/Link/Link.styles.d.ts +1 -1
  245. package/dist/Link/Link.styles.js +1 -1
  246. package/dist/Link/Link.styles.js.map +1 -1
  247. package/dist/Link/Link.types.d.ts +1 -1
  248. package/dist/Link/Link.types.js.map +1 -1
  249. package/dist/ListPage/ListPage.d.ts +2 -2
  250. package/dist/ListPage/ListPage.js.map +1 -1
  251. package/dist/ListPage/ListPage.styles.js +8 -8
  252. package/dist/ListPage/ListPage.types.d.ts +1 -1
  253. package/dist/ListPage/ListPage.types.js.map +1 -1
  254. package/dist/Loader/Loader.d.ts +1 -1
  255. package/dist/Loader/Loader.js.map +1 -1
  256. package/dist/Loader/Loader.styles.js +2 -2
  257. package/dist/Loader/Loader.types.d.ts +1 -1
  258. package/dist/Loader/Loader.types.js.map +1 -1
  259. package/dist/Menu/Menu.d.ts +2 -2
  260. package/dist/Menu/Menu.js.map +1 -1
  261. package/dist/Menu/Menu.types.d.ts +7 -7
  262. package/dist/Menu/Menu.types.js.map +1 -1
  263. package/dist/MenuImperative/MenuImperative.d.ts +4 -4
  264. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  265. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  266. package/dist/MenuImperative/MenuImperative.types.d.ts +4 -4
  267. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  268. package/dist/MenuImperative/index.d.ts +1 -1
  269. package/dist/MenuImperative/index.js.map +1 -1
  270. package/dist/MenuImperative/sensors.d.ts +3 -3
  271. package/dist/MenuImperative/sensors.js.map +1 -1
  272. package/dist/Modal/Modal.d.ts +4 -4
  273. package/dist/Modal/Modal.js.map +1 -1
  274. package/dist/Modal/Modal.styles.d.ts +1 -1
  275. package/dist/Modal/Modal.styles.js +13 -13
  276. package/dist/Modal/Modal.styles.js.map +1 -1
  277. package/dist/Modal/Modal.types.d.ts +2 -2
  278. package/dist/Modal/Modal.types.js.map +1 -1
  279. package/dist/MultiSelect/MultiSelect.d.ts +1 -1
  280. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  281. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  282. package/dist/MultiSelect/MultiSelect.types.d.ts +3 -3
  283. package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
  284. package/dist/NextMenu/NextMenu.d.ts +1 -1
  285. package/dist/NextMenu/NextMenu.js.map +1 -1
  286. package/dist/NextMenu/NextMenu.styles.js +3 -3
  287. package/dist/NextMenu/NextMenu.types.d.ts +3 -3
  288. package/dist/NextMenu/NextMenu.types.js.map +1 -1
  289. package/dist/NextMenu/NextMenuItem.d.ts +1 -1
  290. package/dist/NextMenu/NextMenuItem.js.map +1 -1
  291. package/dist/NextTile/NextTile.d.ts +2 -2
  292. package/dist/NextTile/NextTile.js.map +1 -1
  293. package/dist/NextTile/NextTile.types.d.ts +2 -2
  294. package/dist/NextTile/NextTile.types.js.map +1 -1
  295. package/dist/Notation/Notation.d.ts +2 -2
  296. package/dist/Notation/Notation.js +1 -1
  297. package/dist/Notation/Notation.js.map +1 -1
  298. package/dist/Notation/Notation.types.d.ts +2 -2
  299. package/dist/Notation/Notation.types.js.map +1 -1
  300. package/dist/NumberInput/NumberInput.d.ts +2 -2
  301. package/dist/NumberInput/NumberInput.hooks.d.ts +1 -1
  302. package/dist/NumberInput/NumberInput.hooks.js.map +1 -1
  303. package/dist/NumberInput/NumberInput.js +3 -1
  304. package/dist/NumberInput/NumberInput.js.map +1 -1
  305. package/dist/NumberInput/NumberInput.styles.js +7 -7
  306. package/dist/NumberInput/NumberInput.types.d.ts +2 -2
  307. package/dist/NumberInput/NumberInput.types.js.map +1 -1
  308. package/dist/NumberInput/NumberInput.utils.d.ts +3 -2
  309. package/dist/NumberInput/NumberInput.utils.js.map +1 -1
  310. package/dist/Overlay/Overlay.d.ts +1 -1
  311. package/dist/Overlay/Overlay.js.map +1 -1
  312. package/dist/Overlay/OverlayArrow.d.ts +2 -2
  313. package/dist/Overlay/OverlayArrow.js.map +1 -1
  314. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  315. package/dist/Overlay/useOverlay.d.ts +3 -3
  316. package/dist/Overlay/useOverlay.js.map +1 -1
  317. package/dist/OverlayTrigger/OverlayTrigger.d.ts +2 -2
  318. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  319. package/dist/OverlayTrigger/OverlayTrigger.types.d.ts +4 -4
  320. package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
  321. package/dist/OverlayTrigger/a11yPresets.d.ts +5 -4
  322. package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
  323. package/dist/PageLayout/PageLayout.d.ts +3 -3
  324. package/dist/PageLayout/PageLayout.js.map +1 -1
  325. package/dist/PageLayout/PageLayout.styles.d.ts +1 -1
  326. package/dist/PageLayout/PageLayout.styles.js +13 -13
  327. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  328. package/dist/PageLayout/PageLayout.types.d.ts +1 -1
  329. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  330. package/dist/Pagination/Pagination.d.ts +1 -1
  331. package/dist/Pagination/Pagination.js.map +1 -1
  332. package/dist/Pagination/Pagination.styles.js +5 -5
  333. package/dist/Pagination/Pagination.types.d.ts +2 -2
  334. package/dist/Pagination/Pagination.types.js.map +1 -1
  335. package/dist/Pagination/PaginationSelect.d.ts +1 -1
  336. package/dist/Pagination/PaginationSelect.js.map +1 -1
  337. package/dist/Panel/Panel.d.ts +3 -3
  338. package/dist/Panel/Panel.js.map +1 -1
  339. package/dist/Panel/Panel.styles.js +11 -11
  340. package/dist/Panel/Panel.types.d.ts +3 -3
  341. package/dist/Panel/Panel.types.js.map +1 -1
  342. package/dist/Pill/Pill.colorPalette.d.ts +1 -1
  343. package/dist/Pill/Pill.colorPalette.js.map +1 -1
  344. package/dist/Pill/Pill.d.ts +1 -1
  345. package/dist/Pill/Pill.js.map +1 -1
  346. package/dist/Pill/Pill.styles.d.ts +1 -1
  347. package/dist/Pill/Pill.styles.js +2 -2
  348. package/dist/Pill/Pill.styles.js.map +1 -1
  349. package/dist/PillSelect/PillSelect.d.ts +1 -1
  350. package/dist/PillSelect/PillSelect.js.map +1 -1
  351. package/dist/PillSelect/PillSelect.styles.js +4 -4
  352. package/dist/PillSelect/PillSelect.types.d.ts +2 -2
  353. package/dist/PillSelect/PillSelect.types.js.map +1 -1
  354. package/dist/Popover/Popover.d.ts +2 -2
  355. package/dist/Popover/Popover.js.map +1 -1
  356. package/dist/Popover/Popover.styles.d.ts +1 -1
  357. package/dist/Popover/Popover.styles.js +2 -2
  358. package/dist/Popover/Popover.styles.js.map +1 -1
  359. package/dist/Popover/Popover.types.d.ts +5 -5
  360. package/dist/Popover/Popover.types.js.map +1 -1
  361. package/dist/Portal/Portal.d.ts +1 -1
  362. package/dist/Portal/Portal.js.map +1 -1
  363. package/dist/Portal/Portal.styles.js +1 -1
  364. package/dist/Portal/Portal.types.d.ts +1 -1
  365. package/dist/Portal/Portal.types.js.map +1 -1
  366. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  367. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  368. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  369. package/dist/ProgressBar/ProgressBar.types.d.ts +2 -2
  370. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  371. package/dist/RadioButton/RadioButton.d.ts +1 -1
  372. package/dist/RadioButton/RadioButton.js.map +1 -1
  373. package/dist/RadioButton/RadioButton.styles.js +3 -3
  374. package/dist/RadioButton/RadioButton.types.d.ts +1 -1
  375. package/dist/RadioButton/RadioButton.types.js.map +1 -1
  376. package/dist/Required/Required.d.ts +1 -1
  377. package/dist/Required/Required.js.map +1 -1
  378. package/dist/Required/Required.styles.js +3 -3
  379. package/dist/Required/Required.types.d.ts +1 -1
  380. package/dist/Required/Required.types.js.map +1 -1
  381. package/dist/Search/Search.d.ts +1 -1
  382. package/dist/Search/Search.hooks.d.ts +1 -1
  383. package/dist/Search/Search.hooks.js.map +1 -1
  384. package/dist/Search/Search.js +1 -2
  385. package/dist/Search/Search.js.map +1 -1
  386. package/dist/Search/Search.styles.js +5 -5
  387. package/dist/Search/Search.types.d.ts +2 -2
  388. package/dist/Search/Search.types.js.map +1 -1
  389. package/dist/Section/Section.d.ts +2 -2
  390. package/dist/Section/Section.js.map +1 -1
  391. package/dist/Section/Section.styles.js +6 -6
  392. package/dist/Section/Section.types.d.ts +2 -2
  393. package/dist/Section/Section.types.js.map +1 -1
  394. package/dist/SegmentedController/SegmentedController.d.ts +1 -1
  395. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  396. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  397. package/dist/SegmentedController/SegmentedController.types.d.ts +2 -2
  398. package/dist/SegmentedController/SegmentedController.types.js.map +1 -1
  399. package/dist/Select/Select.d.ts +2 -2
  400. package/dist/Select/Select.js.map +1 -1
  401. package/dist/Select/Select.styles.js +7 -7
  402. package/dist/Select/Select.types.d.ts +4 -4
  403. package/dist/Select/Select.types.js.map +1 -1
  404. package/dist/Select/index.d.ts +1 -1
  405. package/dist/Select/index.js.map +1 -1
  406. package/dist/Semantic/Semantic.d.ts +1 -1
  407. package/dist/Semantic/Semantic.js.map +1 -1
  408. package/dist/Semantic/Semantic.styles.d.ts +1 -1
  409. package/dist/Semantic/Semantic.styles.js +8 -8
  410. package/dist/Semantic/Semantic.styles.js.map +1 -1
  411. package/dist/Semantic/Semantic.types.d.ts +1 -1
  412. package/dist/Semantic/Semantic.types.js.map +1 -1
  413. package/dist/Sidebar/Sidebar.d.ts +1 -1
  414. package/dist/Sidebar/Sidebar.js.map +1 -1
  415. package/dist/Sidebar/Sidebar.styles.js +7 -7
  416. package/dist/Slider/Slider.d.ts +1 -1
  417. package/dist/Slider/Slider.js.map +1 -1
  418. package/dist/Slider/Slider.styles.js +5 -5
  419. package/dist/Slider/Slider.types.d.ts +1 -1
  420. package/dist/Slider/Slider.types.js.map +1 -1
  421. package/dist/Spinner/Spinner.d.ts +1 -1
  422. package/dist/Spinner/Spinner.js.map +1 -1
  423. package/dist/Spinner/Spinner.styles.d.ts +2 -2
  424. package/dist/Spinner/Spinner.styles.js +7 -7
  425. package/dist/Spinner/Spinner.styles.js.map +1 -1
  426. package/dist/Spinner/Spinner.types.d.ts +2 -2
  427. package/dist/Spinner/Spinner.types.js.map +1 -1
  428. package/dist/SuperSelect/SuperSelect.components.d.ts +2 -2
  429. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  430. package/dist/SuperSelect/SuperSelect.d.ts +1 -1
  431. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  432. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  433. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  434. package/dist/SuperSelect/SuperSelect.types.d.ts +5 -5
  435. package/dist/SuperSelect/SuperSelect.types.js +1 -1
  436. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  437. package/dist/SuperSelect/SuperSelect.utils.d.ts +1 -1
  438. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
  439. package/dist/SuperSelect/index.d.ts +3 -3
  440. package/dist/SuperSelect/index.js +2 -2
  441. package/dist/SuperSelect/index.js.map +1 -1
  442. package/dist/SuperSelect/presets/contactsPreset.d.ts +1 -1
  443. package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
  444. package/dist/SuperSelect/presets/filterPreset.d.ts +1 -1
  445. package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
  446. package/dist/SuperSelect/presets/index.d.ts +1 -1
  447. package/dist/SuperSelect/presets/index.js.map +1 -1
  448. package/dist/SuperSelect/presets/pillPreset.d.ts +1 -1
  449. package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
  450. package/dist/SuperSelect/useSuperSelect.d.ts +2 -2
  451. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  452. package/dist/Switch/Switch.d.ts +2 -2
  453. package/dist/Switch/Switch.js.map +1 -1
  454. package/dist/Switch/Switch.styles.js +4 -4
  455. package/dist/Switch/Switch.types.d.ts +1 -1
  456. package/dist/Switch/Switch.types.js.map +1 -1
  457. package/dist/Table/Table.d.ts +3 -3
  458. package/dist/Table/Table.js +4 -4
  459. package/dist/Table/Table.js.map +1 -1
  460. package/dist/Table/Table.styles.d.ts +1 -1
  461. package/dist/Table/Table.styles.js +28 -28
  462. package/dist/Table/Table.styles.js.map +1 -1
  463. package/dist/Table/Table.types.d.ts +5 -5
  464. package/dist/Table/Table.types.js.map +1 -1
  465. package/dist/TableShelf/TableShelf.d.ts +1 -1
  466. package/dist/TableShelf/TableShelf.js.map +1 -1
  467. package/dist/TableShelf/TableShelf.styles.js +5 -5
  468. package/dist/Tabs/Tabs.d.ts +2 -2
  469. package/dist/Tabs/Tabs.js.map +1 -1
  470. package/dist/Tabs/Tabs.styles.js +8 -8
  471. package/dist/Tabs/Tabs.types.d.ts +4 -4
  472. package/dist/Tabs/Tabs.types.js.map +1 -1
  473. package/dist/Tearsheet/Tearsheet.constants.d.ts +1 -1
  474. package/dist/Tearsheet/Tearsheet.constants.js.map +1 -1
  475. package/dist/Tearsheet/Tearsheet.d.ts +1 -1
  476. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  477. package/dist/Tearsheet/Tearsheet.styles.d.ts +1 -1
  478. package/dist/Tearsheet/Tearsheet.styles.js +6 -6
  479. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  480. package/dist/Tearsheet/Tearsheet.types.d.ts +1 -1
  481. package/dist/Tearsheet/Tearsheet.types.js.map +1 -1
  482. package/dist/Tearsheet/Tearsheet.util.d.ts +1 -1
  483. package/dist/Tearsheet/Tearsheet.util.js.map +1 -1
  484. package/dist/TextArea/TextArea.d.ts +2 -2
  485. package/dist/TextArea/TextArea.js.map +1 -1
  486. package/dist/TextArea/TextArea.styles.d.ts +1 -1
  487. package/dist/TextArea/TextArea.styles.js +1 -1
  488. package/dist/TextArea/TextArea.styles.js.map +1 -1
  489. package/dist/TextArea/TextArea.types.d.ts +1 -1
  490. package/dist/TextArea/TextArea.types.js.map +1 -1
  491. package/dist/TextEditor/TextEditor.d.ts +1 -1
  492. package/dist/TextEditor/TextEditor.js.map +1 -1
  493. package/dist/TextEditor/TextEditor.types.d.ts +3 -3
  494. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  495. package/dist/TextEditorOutput/TextEditorOutput.d.ts +2 -2
  496. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  497. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  498. package/dist/TextEditorOutput/TextEditorOutput.types.d.ts +2 -2
  499. package/dist/TextEditorOutput/TextEditorOutput.types.js.map +1 -1
  500. package/dist/Thumbnail/Thumbnail.d.ts +1 -1
  501. package/dist/Thumbnail/Thumbnail.hooks.d.ts +3 -3
  502. package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
  503. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  504. package/dist/Thumbnail/Thumbnail.styles.d.ts +2 -2
  505. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  506. package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
  507. package/dist/Thumbnail/Thumbnail.types.d.ts +5 -4
  508. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  509. package/dist/Thumbnail/Thumbnail.utils.d.ts +1 -1
  510. package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
  511. package/dist/Thumbnail/ThumbnailCaption.d.ts +1 -1
  512. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  513. package/dist/Thumbnail/ThumbnailPreview.d.ts +1 -1
  514. package/dist/Thumbnail/ThumbnailPreview.js.map +1 -1
  515. package/dist/ThumbnailGrid/ThumbnailGrid.d.ts +2 -2
  516. package/dist/ThumbnailGrid/ThumbnailGrid.js +1 -1
  517. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  518. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +9 -9
  519. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js.map +1 -1
  520. package/dist/ThumbnailGrid/ThumbnailGrid.types.d.ts +1 -1
  521. package/dist/ThumbnailGrid/ThumbnailGrid.types.js.map +1 -1
  522. package/dist/TieredDropdown/TieredDropdown.helpers.d.ts +1 -1
  523. package/dist/TieredDropdown/TieredDropdown.helpers.js.map +1 -1
  524. package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
  525. package/dist/TieredDropdown/TieredDropdown.types.d.ts +3 -3
  526. package/dist/TieredDropdown/TieredDropdown.types.js.map +1 -1
  527. package/dist/TieredSelect/LeafSelectionTieredSelect.d.ts +1 -1
  528. package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
  529. package/dist/TieredSelect/TierSelectionTieredSelect.d.ts +1 -1
  530. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  531. package/dist/TieredSelect/TieredSelect.d.ts +2 -2
  532. package/dist/TieredSelect/TieredSelect.js.map +1 -1
  533. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  534. package/dist/TieredSelect/TieredSelect.types.d.ts +3 -3
  535. package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
  536. package/dist/TieredSelect/TieredSelectMenu.d.ts +1 -1
  537. package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
  538. package/dist/Tile/Tile.d.ts +2 -2
  539. package/dist/Tile/Tile.js.map +1 -1
  540. package/dist/Tile/Tile.styles.d.ts +1 -1
  541. package/dist/Tile/Tile.styles.js +8 -8
  542. package/dist/Tile/Tile.styles.js.map +1 -1
  543. package/dist/Tile/Tile.types.d.ts +2 -2
  544. package/dist/Tile/Tile.types.js.map +1 -1
  545. package/dist/Title/Title.d.ts +2 -2
  546. package/dist/Title/Title.js.map +1 -1
  547. package/dist/Title/Title.styles.js +7 -7
  548. package/dist/Title/Title.types.d.ts +1 -1
  549. package/dist/Title/Title.types.js.map +1 -1
  550. package/dist/Toast/Toast.d.ts +2 -2
  551. package/dist/Toast/Toast.js.map +1 -1
  552. package/dist/Toast/Toast.styles.d.ts +1 -1
  553. package/dist/Toast/Toast.styles.js +3 -3
  554. package/dist/Toast/Toast.styles.js.map +1 -1
  555. package/dist/Toast/Toast.types.d.ts +1 -1
  556. package/dist/Toast/Toast.types.js.map +1 -1
  557. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  558. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  559. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  560. package/dist/ToggleButton/ToggleButton.types.d.ts +2 -2
  561. package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
  562. package/dist/Token/Token.d.ts +2 -2
  563. package/dist/Token/Token.js.map +1 -1
  564. package/dist/Token/Token.styles.js +3 -3
  565. package/dist/ToolHeader/ActionIcon.d.ts +1 -1
  566. package/dist/ToolHeader/ActionIcon.js.map +1 -1
  567. package/dist/ToolHeader/ActionIcon.types.d.ts +2 -2
  568. package/dist/ToolHeader/ActionIcon.types.js.map +1 -1
  569. package/dist/ToolHeader/ToolHeader.d.ts +2 -2
  570. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  571. package/dist/ToolHeader/ToolHeader.styles.d.ts +1 -1
  572. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  573. package/dist/ToolHeader/ToolHeader.styles.js.map +1 -1
  574. package/dist/ToolHeader/ToolHeader.types.d.ts +2 -2
  575. package/dist/ToolHeader/ToolHeader.types.js.map +1 -1
  576. package/dist/Tooltip/Tooltip.d.ts +2 -2
  577. package/dist/Tooltip/Tooltip.js.map +1 -1
  578. package/dist/Tooltip/Tooltip.styles.js +2 -2
  579. package/dist/Tooltip/Tooltip.types.d.ts +3 -3
  580. package/dist/Tooltip/Tooltip.types.js.map +1 -1
  581. package/dist/Tree/Tree.d.ts +1 -1
  582. package/dist/Tree/Tree.hooks.d.ts +1 -1
  583. package/dist/Tree/Tree.hooks.js.map +1 -1
  584. package/dist/Tree/Tree.js.map +1 -1
  585. package/dist/Tree/Tree.styles.js +9 -9
  586. package/dist/Tree/Tree.types.d.ts +6 -6
  587. package/dist/Tree/Tree.types.js.map +1 -1
  588. package/dist/Typeahead/Typeahead.d.ts +1 -1
  589. package/dist/Typeahead/Typeahead.js.map +1 -1
  590. package/dist/Typeahead/Typeahead.styles.js +3 -3
  591. package/dist/Typography/Typography.d.ts +2 -2
  592. package/dist/Typography/Typography.js.map +1 -1
  593. package/dist/Typography/Typography.styles.d.ts +2 -2
  594. package/dist/Typography/Typography.styles.js +1 -1
  595. package/dist/Typography/Typography.styles.js.map +1 -1
  596. package/dist/Typography/Typography.table.story.js +2 -2
  597. package/dist/Typography/Typography.types.d.ts +2 -2
  598. package/dist/Typography/Typography.types.js.map +1 -1
  599. package/dist/Typography/index.d.ts +1 -1
  600. package/dist/Typography/index.js.map +1 -1
  601. package/dist/_hooks/Anchor.d.ts +3 -2
  602. package/dist/_hooks/Anchor.js.map +1 -1
  603. package/dist/_hooks/BoundingRect.d.ts +1 -1
  604. package/dist/_hooks/BoundingRect.js.map +1 -1
  605. package/dist/_hooks/ClickOutside.d.ts +1 -1
  606. package/dist/_hooks/ClickOutside.js.map +1 -1
  607. package/dist/_hooks/DateTime/DateTime.d.ts +1 -1
  608. package/dist/_hooks/DateTime/DateTime.js.map +1 -1
  609. package/dist/_hooks/DelayedCallback.d.ts +1 -1
  610. package/dist/_hooks/DelayedCallback.js.map +1 -1
  611. package/dist/_hooks/DelayedToggle.d.ts +2 -2
  612. package/dist/_hooks/DelayedToggle.js.map +1 -1
  613. package/dist/_hooks/Event.d.ts +1 -1
  614. package/dist/_hooks/Event.js.map +1 -1
  615. package/dist/_hooks/Hotkey.d.ts +1 -1
  616. package/dist/_hooks/Hotkey.js.map +1 -1
  617. package/dist/_hooks/I18n.d.ts +1 -1
  618. package/dist/_hooks/I18n.js.map +1 -1
  619. package/dist/_hooks/OverflowObserver/OverflowObserver.d.ts +1 -1
  620. package/dist/_hooks/OverflowObserver/OverflowObserver.js.map +1 -1
  621. package/dist/_hooks/Resize.d.ts +1 -1
  622. package/dist/_hooks/Resize.js.map +1 -1
  623. package/dist/_hooks/Scroll.d.ts +1 -1
  624. package/dist/_hooks/Scroll.js.map +1 -1
  625. package/dist/_hooks/Trigger.d.ts +1 -1
  626. package/dist/_hooks/Trigger.js.map +1 -1
  627. package/dist/_hooks/useFileUploader.d.ts +1 -1
  628. package/dist/_hooks/useFileUploader.js.map +1 -1
  629. package/dist/_styles/arrows.d.ts +1 -1
  630. package/dist/_styles/arrows.js.map +1 -1
  631. package/dist/_styles/mixins.d.ts +1 -1
  632. package/dist/_styles/mixins.js.map +1 -1
  633. package/dist/_styles/shadows.d.ts +1 -1
  634. package/dist/_styles/shadows.js.map +1 -1
  635. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  636. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  637. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  638. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  639. package/dist/_typedoc/Box/Box.types.json +68 -68
  640. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  641. package/dist/_typedoc/Button/Button.types.json +11 -11
  642. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  643. package/dist/_typedoc/Card/Card.types.json +6 -6
  644. package/dist/_typedoc/Checkbox/Checkbox.types.json +7 -7
  645. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  646. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  647. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  648. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  649. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  650. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  651. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  652. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  653. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  654. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  655. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  656. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  657. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  658. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  659. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  660. package/dist/_typedoc/Form/Form.types.json +698 -698
  661. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  662. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  663. package/dist/_typedoc/Input/Input.types.json +2 -2
  664. package/dist/_typedoc/Link/Link.types.json +4 -4
  665. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  666. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  667. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  668. package/dist/_typedoc/Modal/Modal.types.json +41 -41
  669. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  670. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  671. package/dist/_typedoc/NumberInput/NumberInput.types.json +38 -38
  672. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +30 -30
  673. package/dist/_typedoc/PageLayout/PageLayout.types.json +22 -22
  674. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  675. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  676. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  677. package/dist/_typedoc/PillSelect/PillSelect.types.json +46 -46
  678. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  679. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  680. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  681. package/dist/_typedoc/Required/Required.types.json +5 -5
  682. package/dist/_typedoc/Search/Search.types.json +18 -18
  683. package/dist/_typedoc/Section/Section.types.json +14 -14
  684. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  685. package/dist/_typedoc/Select/Select.types.json +55 -55
  686. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  687. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  688. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  689. package/dist/_typedoc/Table/Table.types.json +96 -96
  690. package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
  691. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  692. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  693. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  694. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  695. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  696. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  697. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  698. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  699. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  700. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  701. package/dist/_typedoc/Token/Token.types.json +4 -4
  702. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  703. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  704. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  705. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  706. package/dist/_typedoc/Typography/Typography.types.json +8 -8
  707. package/dist/_typedoc/_utils/types.json +3 -3
  708. package/dist/_utils/CalendarHelpers.d.ts +1 -1
  709. package/dist/_utils/CalendarHelpers.js +1 -1
  710. package/dist/_utils/CalendarHelpers.js.map +1 -1
  711. package/dist/_utils/TinyMCE.d.ts +2 -2
  712. package/dist/_utils/TinyMCE.js.map +1 -1
  713. package/dist/_utils/dateTime.js.map +1 -1
  714. package/dist/_utils/getAnchorPosition.d.ts +2 -2
  715. package/dist/_utils/getAnchorPosition.js.map +1 -1
  716. package/dist/_utils/isReactElement.d.ts +1 -1
  717. package/dist/_utils/isReactElement.js.map +1 -1
  718. package/dist/_utils/mergeRefs.d.ts +1 -1
  719. package/dist/_utils/mergeRefs.js.map +1 -1
  720. package/dist/_utils/placement.d.ts +1 -1
  721. package/dist/_utils/placement.js.map +1 -1
  722. package/dist/_utils/propsTypedoc.d.ts +12 -12
  723. package/dist/_utils/propsTypedoc.js +1 -12
  724. package/dist/_utils/propsTypedoc.js.map +1 -1
  725. package/dist/_utils/slotify.d.ts +1 -1
  726. package/dist/_utils/slotify.js.map +1 -1
  727. package/dist/_utils/triggerListeners.d.ts +2 -2
  728. package/dist/_utils/triggerListeners.js.map +1 -1
  729. package/dist/_utils/types.d.ts +1 -1
  730. package/dist/_utils/types.js.map +1 -1
  731. package/package.json +2 -2
  732. package/.eslintrc.json +0 -47
  733. package/dist/Link/Link.coverage.stories.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"LeafSelectionTieredSelect.js","names":["React","OverlayTrigger","Select","isEventSource","useI18nContext","TieredSelectContext","TieredSelectMenu","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","LeafSelectionTieredSelect","forwardRef","_ref","ref","className","_ref$disabled","disabled","_ref$error","error","_ref$loading","loading","onKeyDown","_ref$options","options","_ref$value","value","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","afterHide","afterShow","beforeHide","beforeShow","block","getGroupId","getNextGroupId","getValueString","i18nScope","isLeaf","onChange","onClear","onNavigate","onSearch","tabIndex","I18n","tieredSelectMenuRef","useRef","tieredSelectButtonRef","clearRef","createRef","_React$useState","useState","_React$useState2","_slicedToArray","valueString","setValueString","_React$useState3","_React$useState4","currentTier","setCurrentTier","_React$useState5","_React$useState6","internalValue","setInternalValue","_React$useState7","_React$useState8","previousValue","setPreviousValue","useEffect","lastEntryInValue","length","internalOnChange","useCallback","selection","item","internalOnNavigate","nextGroupId","internalOnClear","event","internalOnSearch","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","current","el","lastValue","createElement","autoFocus","canFlip","_extends","menuRef","placement","trigger","Button","label","placeholder","t","scope"],"sources":["../../src/TieredSelect/LeafSelectionTieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { TieredSelectContext } from './TieredSelect'\nimport {\n Id,\n InternalTieredSelectProps,\n Tier,\n TierSelection,\n} from './TieredSelect.types'\nimport { TieredSelectMenu } from './TieredSelectMenu'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nexport const LeafSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function LeafSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value if not a leaf node\n // otherwise we want to show the parent of the last tier in value\n if (isLeaf && !isLeaf(lastEntryInValue)) {\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(getGroupId(lastEntryInValue))\n }\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getGroupId, getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getGroupId(selection.item))\n onChange(selection)\n },\n [getGroupId, onChange, getValueString]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n if (isLeaf && isLeaf(lastValue)) {\n setCurrentTier(getGroupId(lastValue))\n } else {\n setCurrentTier(getNextGroupId(lastValue))\n }\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getGroupId,\n getNextGroupId,\n isLeaf,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"LeafSelectionTieredSelect.js","names":["React","OverlayTrigger","Select","isEventSource","useI18nContext","TieredSelectContext","TieredSelectMenu","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","LeafSelectionTieredSelect","forwardRef","_ref","ref","className","_ref$disabled","disabled","_ref$error","error","_ref$loading","loading","onKeyDown","_ref$options","options","_ref$value","value","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","afterHide","afterShow","beforeHide","beforeShow","block","getGroupId","getNextGroupId","getValueString","i18nScope","isLeaf","onChange","onClear","onNavigate","onSearch","tabIndex","I18n","tieredSelectMenuRef","useRef","tieredSelectButtonRef","clearRef","createRef","_React$useState","useState","_React$useState2","_slicedToArray","valueString","setValueString","_React$useState3","_React$useState4","currentTier","setCurrentTier","_React$useState5","_React$useState6","internalValue","setInternalValue","_React$useState7","_React$useState8","previousValue","setPreviousValue","useEffect","lastEntryInValue","length","internalOnChange","useCallback","selection","item","internalOnNavigate","nextGroupId","internalOnClear","event","internalOnSearch","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","current","el","lastValue","createElement","autoFocus","canFlip","_extends","menuRef","placement","trigger","Button","label","placeholder","t","scope"],"sources":["../../src/TieredSelect/LeafSelectionTieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { TieredSelectContext } from './TieredSelect'\nimport type {\n Id,\n InternalTieredSelectProps,\n Tier,\n TierSelection,\n} from './TieredSelect.types'\nimport { TieredSelectMenu } from './TieredSelectMenu'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nexport const LeafSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function LeafSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value if not a leaf node\n // otherwise we want to show the parent of the last tier in value\n if (isLeaf && !isLeaf(lastEntryInValue)) {\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(getGroupId(lastEntryInValue))\n }\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getGroupId, getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getGroupId(selection.item))\n onChange(selection)\n },\n [getGroupId, onChange, getValueString]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n if (isLeaf && isLeaf(lastValue)) {\n setCurrentTier(getGroupId(lastValue))\n } else {\n setCurrentTier(getNextGroupId(lastValue))\n }\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getGroupId,\n getNextGroupId,\n isLeaf,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { InternalTieredSelectProps } from './TieredSelect.types';
2
+ import type { InternalTieredSelectProps } from './TieredSelect.types';
3
3
  export declare const TierSelectionTieredSelect: React.ForwardRefExoticComponent<InternalTieredSelectProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"TierSelectionTieredSelect.js","names":["ChevronRight","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","OverlayTrigger","useOverlayTriggerContext","Select","Spinner","Typography","isEventSource","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectArrowButton","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","ArrowButton","_ref","onClick","props","_objectWithoutProperties","_excluded","i18n","createElement","_extends","t","icon","event","preventDefault","size","tabIndex","variant","QuickCreateInput","forwardRef","_ref2","ref","autoFocus","onSubmit","placeholder","onKeyDown","currentTarget","value","flexGrow","justifyContent","padding","Options","_ref3","children","emptyMessage","_excluded2","Children","count","paddingLeft","color","intent","italic","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onNavigate","onSearch","onChange","_ref4$options","options","previousValue","_excluded3","_React$useContext","useContext","getGroupId","getId","getLabel","getNextGroupId","i18nScope","onQuickCreate","onScrollBottom","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","filteredOptions","useMemo","filter","tier","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","onNavigateForward","_menuRef$current3","newValue","concat","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","item","_objectSpread","showBreadcrumbs","menuEmptyMessage","scope","handleQuickCreate","onQuickCreateSubmit","RenderFooter","Footer","undefined","block","isTierSelected","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","alignItems","map","index","array","active","selected","TierSelectionTieredSelect","_ref5","className","_ref5$disabled","disabled","_ref5$error","error","_ref5$loading","_ref5$options","_ref5$value","_excluded4","_React$useContext2","afterHide","afterShow","beforeHide","beforeShow","getValueString","isLeaf","onClear","tieredSelectMenuRef","tieredSelectButtonRef","clearRef","createRef","_React$useState5","_React$useState6","valueString","setValueString","_React$useState7","_React$useState8","setCurrentTier","_React$useState9","_React$useState10","internalValue","setInternalValue","_React$useState11","_React$useState12","setPreviousValue","useEffect","internalOnChange","internalOnNavigate","nextGroupId","internalOnClear","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","el","lastValue","canFlip","placement","trigger"],"sources":["../../src/TieredSelect/TierSelectionTieredSelect.tsx"],"sourcesContent":["import { ChevronRight, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport { Breadcrumbs } from '../Breadcrumbs/Breadcrumbs'\nimport { Button } from '../Button/Button'\nimport { FlexList } from '../FlexList/FlexList'\nimport { Input } from '../Input/Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Typography } from '../Typography/Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectArrowButton,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport {\n ArrowButtonProps,\n Id,\n InternalTieredSelectProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n TierSelection,\n} from './TieredSelect.types'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\n\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nfunction ArrowButton({ onClick, ...props }: ArrowButtonProps) {\n const i18n = useI18nContext()\n return (\n <StyledTieredSelectArrowButton\n aria-label={i18n.t('core.tieredSelect.goToTier')}\n {...props}\n icon={<ChevronRight />}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick && onClick(event)\n }}\n size=\"sm\"\n tabIndex={-1}\n variant=\"tertiary\"\n />\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\nconst TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onNavigate,\n onSearch,\n onChange,\n options = empty,\n value,\n previousValue,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n onQuickCreate,\n onScrollBottom,\n } = React.useContext(TieredSelectContext)\n\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier) {\n const newValue = [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n const newValue = value.slice(0, Math.max(0, value.length - 1))\n const newTier = value[value.length - 1]\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n function onTierSelect(selection: Selection) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n }\n\n function showBreadcrumbs() {\n return value.length && searchIsEmpty\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter()}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer>\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer>\n <Button\n block={true}\n icon={<Plus size=\"md\" />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n size=\"sm\"\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value.map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => {\n return (\n <StyledTieredSelectOption\n item={tier}\n key={`${getId(tier)}-${index}`}\n selected={isTierSelected(tier)}\n >\n {getLabel(tier)}\n {(getNextGroupId(tier) || onQuickCreate) && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n </StyledTieredSelectOption>\n )\n })\n .concat(\n loadingMore && !loading\n ? [\n <StyledTieredSelectLoadingMore\n data-qa=\"tiered-select-loading-more\"\n key={'tiered-select-loading-more'}\n >\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>,\n ]\n : []\n )}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n\nexport const TierSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function TierSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getNextGroupId(selection.item))\n onChange(selection)\n },\n [getNextGroupId, getValueString, onChange]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n setCurrentTier(getNextGroupId(lastValue))\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getNextGroupId,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,IAAI,EAAEC,IAAI,QAAQ,0BAA0B;AACnE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,YAAY;AAChC,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SACEC,cAAc,EACdC,kCAAkC,QAC7B,kCAAkC;AAEzC,SACEC,YAAY,EACZC,cAAc,EACdC,wBAAwB,QACnB,kCAAkC;AACzC,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,cAAc,QAAQ,gBAAgB;AAE/C,SAASC,mBAAmB,EAAEC,uBAAuB,QAAQ,gBAAgB;AAC7E,SACEC,kBAAkB,EAClBC,6BAA6B,EAC7BC,6BAA6B,EAC7BC,sBAAsB,EACtBC,6BAA6B,EAC7BC,wBAAwB,EACxBC,yBAAyB,EACzBC,gCAAgC,QAC3B,uBAAuB;AAY9B,SAASC,QAAQA,CAACC,CAAsC,EAAE;EACxD,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,IAAID,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;IACzCD,CAAC,CAACE,eAAe,CAAC,CAAC;EACrB;AACF;AAEA,IAAMC,KAAY,GAAG,EAAE;AAEvB,IAAMC,QAAQ,GAAG;EACfC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;EAC1BC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK;AAC1B,CAAC;AAED,SAASC,WAAWA,CAAAC,IAAA,EAA0C;EAAA,IAAvCC,QAAO,GAAAD,IAAA,CAAPC,OAAO;IAAKC,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACtC,IAAMC,IAAI,GAAGzB,cAAc,CAAC,CAAC;EAC7B,oBACEf,KAAA,CAAAyC,aAAA,CAACtB,6BAA6B,EAAAuB,QAAA;IAC5B,cAAYF,IAAI,CAACG,CAAC,CAAC,4BAA4B;EAAE,GAC7CN,KAAK;IACTO,IAAI,eAAE5C,KAAA,CAAAyC,aAAA,CAAC5C,YAAY,MAAE,CAAE;IACvBuC,OAAO,EAAE,SAAAA,QAACS,KAAK,EAAK;MAClBA,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBD,KAAK,CAAChB,eAAe,CAAC,CAAC;MACvBO,QAAO,IAAIA,QAAO,CAACS,KAAK,CAAC;IAC3B,CAAE;IACFE,IAAI,EAAC,IAAI;IACTC,QAAQ,EAAE,CAAC,CAAE;IACbC,OAAO,EAAC;EAAU,EACnB,CAAC;AAEN;AAEA,IAAMC,gBAAgB,gBAAGlD,KAAK,CAACmD,UAAU,CAGvC,SAASD,gBAAgBA,CAAAE,KAAA,EAAuCC,GAAG,EAAE;EAAA,IAAzCC,SAAS,GAAAF,KAAA,CAATE,SAAS;IAAEC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IAAEC,WAAW,GAAAJ,KAAA,CAAXI,WAAW;EAC5D,SAASC,SAASA,CAAC9B,CAAwC,EAAE;IAC3D,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrB2B,QAAQ,CAAC5B,CAAC,CAAC+B,aAAa,CAACC,KAAK,CAAC;IACjC;EACF;EAEA,oBACE3D,KAAA,CAAAyC,aAAA,CAACxC,GAAG;IAAC2D,QAAQ,EAAC,GAAG;IAACC,cAAc,EAAC,QAAQ;IAACC,OAAO,EAAC;EAAI,gBACpD9D,KAAA,CAAAyC,aAAA,CAACpC,KAAK;IACJiD,SAAS,EAAEA,SAAU;IACrBG,SAAS,EAAEA,SAAU;IACrBD,WAAW,EAAEA,WAAY;IACzBH,GAAG,EAAEA;EAAI,CACV,CACE,CAAC;AAEV,CAAC,CAAC;AAEF,SAASU,OAAOA,CAAAC,KAAA,EAA6D;EAAA,IAA1DC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEC,YAAY,GAAAF,KAAA,CAAZE,YAAY;IAAK7B,KAAK,GAAAC,wBAAA,CAAA0B,KAAA,EAAAG,UAAA;EACjD,IAAInE,KAAK,CAACoE,QAAQ,CAACC,KAAK,CAACJ,QAAQ,CAAC,KAAK,CAAC,EAAE;IACxC,oBACEjE,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACyD,OAAO,qBACrB/D,KAAA,CAAAyC,aAAA,CAACxC,GAAG,EAAAyC,QAAA;MAAC4B,WAAW,EAAC;IAAI,GAAKjC,KAAK,gBAC7BrC,KAAA,CAAAyC,aAAA,CAAC5B,UAAU;MAAC0D,KAAK,EAAC,QAAQ;MAACC,MAAM,EAAC,OAAO;MAACC,MAAM;IAAA,GAC7CP,YACS,CACT,CACiB,CAAC;EAE7B;EAEA,oBAAOlE,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACyD,OAAO,QAAEE,QAAiC,CAAC;AACpE;AAEA,IAAMS,gBAAgB,gBAAG1E,KAAK,CAACmD,UAAU,CAGvC,SAASuB,gBAAgBA,CAAAC,KAAA,EAgBzBtB,GAAG,EACH;EAAA,IAfEY,QAAQ,GAAAU,KAAA,CAARV,QAAQ;IACRW,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACHC,YAAY,GAAAF,KAAA,CAApBG,MAAM;IACNC,OAAO,GAAAJ,KAAA,CAAPI,OAAO;IACPC,WAAW,GAAAL,KAAA,CAAXK,WAAW;IACXC,OAAO,GAAAN,KAAA,CAAPM,OAAO;IACPC,UAAU,GAAAP,KAAA,CAAVO,UAAU;IACVC,QAAQ,GAAAR,KAAA,CAARQ,QAAQ;IACRC,QAAQ,GAAAT,KAAA,CAARS,QAAQ;IAAAC,aAAA,GAAAV,KAAA,CACRW,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAGvD,KAAK,GAAAuD,aAAA;IACf1B,KAAK,GAAAgB,KAAA,CAALhB,KAAK;IACL4B,aAAa,GAAAZ,KAAA,CAAbY,aAAa;IACVlD,KAAK,GAAAC,wBAAA,CAAAqC,KAAA,EAAAa,UAAA;EAIV,IAAAC,iBAAA,GAQIzF,KAAK,CAAC0F,UAAU,CAAC1E,mBAAmB,CAAC;IAPvC2E,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IACVC,KAAK,GAAAH,iBAAA,CAALG,KAAK;IACLC,QAAQ,GAAAJ,iBAAA,CAARI,QAAQ;IACRC,cAAc,GAAAL,iBAAA,CAAdK,cAAc;IACdC,SAAS,GAAAN,iBAAA,CAATM,SAAS;IACTC,aAAa,GAAAP,iBAAA,CAAbO,aAAa;IACbC,cAAc,GAAAR,iBAAA,CAAdQ,cAAc;EAGhB,IAAMC,cAAc,GAAGlG,KAAK,CAACmG,MAAM,CAAmB,IAAI,CAAC;EAE3D,IAAAC,qBAAA,GAAiB1F,wBAAwB,CAAC,CAAC;IAAnC2F,IAAI,GAAAD,qBAAA,CAAJC,IAAI;EAEZ,IAAMC,IAAI,GAAGvF,cAAc,CAAC,CAAC;EAE7B,IAAAwF,eAAA,GAA8CvG,KAAK,CAACwG,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA5DI,eAAe,GAAAF,gBAAA;IAAEG,kBAAkB,GAAAH,gBAAA;EAE1C,IAAAI,gBAAA,GAAsC7G,KAAK,CAACwG,QAAQ,CAAC,EAAE,CAAC;IAAAM,gBAAA,GAAAJ,cAAA,CAAAG,gBAAA;IAAjDE,WAAW,GAAAD,gBAAA;IAAEE,cAAc,GAAAF,gBAAA;EAClC,IAAAG,qBAAA,GACE1G,kCAAkC,CAAC0E,OAAO,CAAC;IADrCiC,SAAS,GAAAD,qBAAA,CAATC,SAAS;IAAEC,0BAA0B,GAAAF,qBAAA,CAA1BE,0BAA0B;EAG7C,IAAMC,aAAa,GAAGL,WAAW,KAAK,EAAE;EAExC,IAAMM,gBAAgB,GAAG1D,KAAK,CAACA,KAAK,CAAC2D,MAAM,GAAG,CAAC,CAAC;EAEhD,IAAMC,gBAAgB,GAAGvH,KAAK,CAACwH,WAAW,CACxC,UAAU7F,CAAsC,EAAE;IAChDqF,cAAc,CAACrF,CAAC,CAACM,MAAM,CAAC0B,KAAK,CAAC;IAC9BwB,QAAQ,IAAIA,QAAQ,CAACxD,CAAC,CAAC;EACzB,CAAC,EACD,CAACwD,QAAQ,CACX,CAAC;;EAED;EACA,IAAMsC,eAAe,GAAGzH,KAAK,CAAC0H,OAAO,CAAC,YAAM;IAC1C,OAAON,aAAa,GAChB9B,OAAO,CAACqC,MAAM,CAAC,UAACC,IAAI,EAAK;MACvB,OAAOjC,UAAU,CAACiC,IAAI,CAAC,KAAKhD,WAAW;IACzC,CAAC,CAAC,GACFU,OAAO;EACb,CAAC,EAAE,CAACV,WAAW,EAAEe,UAAU,EAAEL,OAAO,EAAE8B,aAAa,CAAC,CAAC;EAErDnG,uBAAuB,CAAC;IACtB2D,WAAW,EAAXA,WAAW;IACXmC,WAAW,EAAXA,WAAW;IACX9B,OAAO,EAAPA,OAAO;IACPF,OAAO,EAAPA,OAAO;IACPC,WAAW,EAAXA;EACF,CAAC,CAAC;EAEF,IAAM6C,cAAc,GAAG7H,KAAK,CAACwH,WAAW,CACtC,YAAY;IAAA,IAAAM,gBAAA;IACV5C,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IACpB,CAAA4C,gBAAA,GAAA7C,OAAO,CAAC8C,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,cAAc,CAAC,CAAC;EACnC,CAAC,EACD,CAAC/C,OAAO,EAAEC,UAAU,CACtB,CAAC;EAED,IAAM+C,oBAAoB,GAAGjI,KAAK,CAACwH,WAAW,CAC5C,UAAUI,IAAU,EAAE;IAAA,IAAAM,iBAAA;IACpB,IAAMC,OAAO,GAAGxE,KAAK,CAACyE,OAAO,CAACR,IAAI,CAAC;IACnC1C,UAAU,CAACY,cAAc,CAAC8B,IAAI,CAAC,EAAEjE,KAAK,CAAC0E,KAAK,CAAC,CAAC,EAAEF,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAAD,iBAAA,GAAAjD,OAAO,CAAC8C,OAAO,cAAAG,iBAAA,uBAAfA,iBAAA,CAAiBF,cAAc,CAAC,CAAC;EACnC,CAAC,EACD,CAAClC,cAAc,EAAEb,OAAO,EAAEC,UAAU,EAAEvB,KAAK,CAC7C,CAAC;EAED,SAAS2E,iBAAiBA,CAACV,IAAU,EAAE;IACrC,IAAIR,aAAa,IAAI,CAACT,eAAe,IAAIiB,IAAI,EAAE;MAAA,IAAAW,iBAAA;MAC7C,IAAMC,QAAQ,MAAAC,MAAA,CAAAC,kBAAA,CAAO/E,KAAK,IAAEiE,IAAI,EAAC;MACjC1C,UAAU,CAACY,cAAc,CAAC8B,IAAI,CAAC,EAAEY,QAAQ,CAAC;MAC1C,CAAAD,iBAAA,GAAAtD,OAAO,CAAC8C,OAAO,cAAAQ,iBAAA,uBAAfA,iBAAA,CAAiBP,cAAc,CAAC,CAAC;IACnC;EACF;;EAEA;AACF;AACA;AACA;AACA;EACE,SAASW,kBAAkBA,CAAA,EAAG;IAC5B,IAAIhF,KAAK,CAAC2D,MAAM,KAAK,CAAC,IAAIF,aAAa,EAAE;MAAA,IAAAwB,iBAAA;MACvC,IAAMJ,QAAQ,GAAG7E,KAAK,CAAC0E,KAAK,CAAC,CAAC,EAAEQ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEnF,KAAK,CAAC2D,MAAM,GAAG,CAAC,CAAC,CAAC;MAC9D,IAAMa,OAAO,GAAGxE,KAAK,CAACA,KAAK,CAAC2D,MAAM,GAAG,CAAC,CAAC;MAEvC,CAACX,eAAe,IAAIzB,UAAU,CAACS,UAAU,CAACwC,OAAO,CAAC,EAAEK,QAAQ,CAAC;MAC7D,CAAAI,iBAAA,GAAA3D,OAAO,CAAC8C,OAAO,cAAAa,iBAAA,uBAAfA,iBAAA,CAAiBZ,cAAc,CAAC,CAAC;IACnC;EACF;EAEA,SAASvE,SAASA,CAAC9B,CAAsC,EAAE;IAAA,IAAAoH,iBAAA,EAAAC,qBAAA;IACzD,IAAMpB,IAAI,IAAAmB,iBAAA,GAAG9D,OAAO,CAAC8C,OAAO,cAAAgB,iBAAA,uBAAfA,iBAAA,CAAiBE,WAAW,CAAC,CAAC;IAC3C,IAAItH,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,YAAY,EAAE;MAC/C0G,iBAAiB,CAACV,IAAI,CAAC;MACvB;IACF;IAEA,IAAIjG,CAAC,CAACC,GAAG,KAAK,MAAM,IAAID,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;MAC7C+G,kBAAkB,CAAC,CAAC;MACpB;IACF;IAEA,CAAAK,qBAAA,GAAA7B,0BAA0B,CAAC1D,SAAS,cAAAuF,qBAAA,uBAApCA,qBAAA,CAAAE,IAAA,CAAA/B,0BAA0B,EAAaxF,CAAC,CAAC;EAC3C;EAEA,SAASwH,YAAYA,CAACC,SAAoB,EAAE;IAC1C,IAAMC,WAAW,GAAG1F,KAAK,CAAC2D,MAAM,GAC5B3B,UAAU,CAAC0B,gBAAgB,CAAC,KAAK1B,UAAU,CAACyD,SAAS,CAACE,IAAI,CAAC,GAC3D,KAAK;;IAET;IACA,IAAMd,QAAQ,GAAGa,WAAW,MAAAZ,MAAA,CAAAC,kBAAA,CACpB/E,KAAK,CAAC0E,KAAK,CAAC,CAAC,EAAE1E,KAAK,CAAC2D,MAAM,GAAG,CAAC,CAAC,IAAE8B,SAAS,CAACE,IAAI,QAAAb,MAAA,CAAAC,kBAAA,CAChD/E,KAAK,IAAEyF,SAAS,CAACE,IAAI,EAAC;IAE9BlE,QAAQ,CAAAmE,aAAA,CAAAA,aAAA,KAAMH,SAAS;MAAEzF,KAAK,EAAE6E;IAAQ,EAAE,CAAC;IAC3CzB,WAAW,IACTQ,gBAAgB,CAAC;MACftF,MAAM,EAAE;QAAE0B,KAAK,EAAE;MAAG;IACtB,CAAwC,CAAC;IAC3C0C,IAAI,CAAC+C,SAAS,CAACvG,KAAK,CAAC;EACvB;EAEA,SAAS2G,eAAeA,CAAA,EAAG;IACzB,OAAO7F,KAAK,CAAC2D,MAAM,IAAIF,aAAa;EACtC;EAEA,IAAMqC,gBAAgB,GAAGrC,aAAa,GAClCd,IAAI,CAAC3D,CAAC,CAAC,cAAc,EAAE;IAAE+G,KAAK,EAAE3D;EAAU,CAAC,CAAC,GAC5CO,IAAI,CAAC3D,CAAC,CAAC,oBAAoB,EAAE;IAAE+G,KAAK,EAAE3D;EAAU,CAAC,CAAC;EAEtD,IAAM4D,iBAAiB,GAAG3J,KAAK,CAACwH,WAAW,CACzC,UAAU7F,CAAyC,EAAE;IACnD;IACAA,CAAC,CAACE,eAAe,CAAC,CAAC;IACnB,IAAIF,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrBgF,kBAAkB,CAAC,IAAI,CAAC;IAC1B;EACF,CAAC,EACD,CAACA,kBAAkB,CACrB,CAAC;EAED,IAAMgD,mBAAmB,GAAG5J,KAAK,CAACwH,WAAW,CAC3C,YAAY;IACVxB,aAAa,IACXE,cAAc,CAAC6B,OAAO,IACtB/B,aAAa,CAACE,cAAc,CAAC6B,OAAO,CAACpE,KAAK,CAAC;IAC7CiD,kBAAkB,CAAC,KAAK,CAAC;EAC3B,CAAC,EACD,CAACZ,aAAa,EAAEE,cAAc,EAAEU,kBAAkB,CACpD,CAAC;EAED,IAAMiD,YAAY,GAAG7J,KAAK,CAACwH,WAAW,CAAC,YAAM;IAC3C,IAAI3C,YAAY,EAAE;MAChB;MACA,IAAI,OAAOA,YAAY,KAAK,UAAU,EAAE;QACtC,oBAAO7E,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACwJ,MAAM,QAAEjF,YAAY,CAAC,CAAyB,CAAC;MACxE;MAEA,oBAAO7E,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACwJ,MAAM,QAAEjF,YAAoC,CAAC;IACtE;IAEA,IAAImB,aAAa,KAAK+D,SAAS,EAAE;MAC/B;MACA,OAAO,IAAI;IACb;IAEA,IAAIpD,eAAe,EAAE;MACnB;MACA,oBACE3G,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACwJ,MAAM,qBACpB9J,KAAA,CAAAyC,aAAA,CAACrC,QAAQ;QAAC2C,IAAI,EAAC,IAAI;QAACc,cAAc,EAAC;MAAU,gBAC3C7D,KAAA,CAAAyC,aAAA,CAACtC,MAAM;QACLiC,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMwE,kBAAkB,CAAC,KAAK,CAAC;QAAA,CAAC;QACzC7D,IAAI,EAAC,IAAI;QACTE,OAAO,EAAC;MAAU,GAEjBqD,IAAI,CAAC3D,CAAC,CAAC,wBAAwB,EAAE;QAChC+G,KAAK,EAAE3D;MACT,CAAC,CACK,CAAC,eACT/F,KAAA,CAAAyC,aAAA,CAACtC,MAAM;QAACiC,OAAO,EAAEwH,mBAAoB;QAAC7G,IAAI,EAAC;MAAI,GAC5CuD,IAAI,CAAC3D,CAAC,CAAC,wBAAwB,EAAE;QAChC+G,KAAK,EAAE3D;MACT,CAAC,CACK,CACA,CACW,CAAC;IAE5B;IAEA,oBACE/F,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACwJ,MAAM,qBACpB9J,KAAA,CAAAyC,aAAA,CAACtC,MAAM;MACL6J,KAAK,EAAE,IAAK;MACZpH,IAAI,eAAE5C,KAAA,CAAAyC,aAAA,CAAC1C,IAAI;QAACgD,IAAI,EAAC;MAAI,CAAE,CAAE;MACzBX,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAMwE,kBAAkB,CAAC,IAAI,CAAC;MAAA,CAAC;MACxCnD,SAAS,EAAEkG,iBAAkB;MAC7B5G,IAAI,EAAC;IAAI,GAERuD,IAAI,CAAC3D,CAAC,CAAC,wBAAwB,EAAE;MAChC+G,KAAK,EAAE3D;IACT,CAAC,CACK,CACa,CAAC;EAE5B,CAAC,EAAE,CACDO,IAAI,EACJzB,YAAY,EACZ8E,iBAAiB,EACjB5D,SAAS,EACTY,eAAe,EACfX,aAAa,EACb4D,mBAAmB,CACpB,CAAC;EAEF,SAASK,cAAcA,CAACrC,IAAU,EAAE;IAClC,IAAIrC,aAAa,CAAC+B,MAAM,EAAE;MACxB,OAAO1B,KAAK,CAACgC,IAAI,CAAC,KAAKhC,KAAK,CAACL,aAAa,CAACA,aAAa,CAAC+B,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE;IACA,OAAO,KAAK;EACd;EAEA,oBACEtH,KAAA,CAAAyC,aAAA,CAACjB,yBAAyB;IAAC6B,GAAG,EAAEA,GAAI;IAAC6G,cAAc,EAAE;EAAE,gBACrDlK,KAAA,CAAAyC,aAAA,CAAChB,gCAAgC;IAC/B,WAAQ,uBAAuB;IAC/B,gBAAcsD,OAAQ;IACtBA,OAAO,EAAEA,OAAQ;IACjBoF,KAAK,EAAE7D,IAAI,CAAC3D,CAAC,CAAC,cAAc,EAAE;MAAE+G,KAAK,EAAE3D;IAAU,CAAC,CAAC,IAAI,EAAG;IAC1DhD,IAAI,EAAC;EAAI,gBAET/C,KAAA,CAAAyC,aAAA,CAACvB,kBAAkB,EAAAwB,QAAA;IACjBuD,cAAc,EAAEA,cAAe;IAC/BmE,QAAQ,EAAEjB,YAAa;IACvB9F,GAAG,EAAE4B;EAAQ,GACT5C,KAAK,EACL6E,SAAS;IACbmD,IAAI,EAAC;EAAM,iBAEXrK,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACgK,MAAM,QACnB,CAAC3D,eAAe,iBACf3G,KAAA,CAAAyC,aAAA,CAACnC,cAAc,CAACiK,MAAM,EAAA7H,QAAA;IACpB8H,YAAY,EAAC,OAAO;IACpBpF,QAAQ,EAAEmC,gBAAiB;IAC3B/D,WAAW,EAAE8C,IAAI,CAAC3D,CAAC,CAAC,mBAAmB,EAAE;MACvC+G,KAAK,EAAE3D;IACT,CAAC;EAAE,GACCoB,0BAA0B;IAC9B1D,SAAS,EAAEA;EAAU,EACtB,CACF,EACA+F,eAAe,CAAC,CAAC,gBAChBxJ,KAAA,CAAAyC,aAAA,CAACrB,6BAA6B;IAACqJ,eAAe,EAAE9D;EAAgB,gBAC9D3G,KAAA,CAAAyC,aAAA,CAACvC,WAAW,CAACwK,KAAK;IAACtI,OAAO,EAAEyF;EAAe,gBACzC7H,KAAA,CAAAyC,aAAA,CAACpB,sBAAsB;IACrBsJ,UAAU,EAAC,QAAQ;IACnB9G,cAAc,EAAC;EAAQ,gBAEvB7D,KAAA,CAAAyC,aAAA,CAAC3C,IAAI;IAAC,WAAQ;EAAoB,CAAE,CACd,CACP,CAAC,EACnB6D,KAAK,CAACiH,GAAG,CAAC,UAAChD,IAAI,EAAEiD,KAAK,EAAEC,KAAK,EAAK;IACjC,oBACE9K,KAAA,CAAAyC,aAAA,CAACvC,WAAW,CAACwK,KAAK;MAChBK,MAAM,EAAEF,KAAK,KAAKC,KAAK,CAACxD,MAAM,GAAG,CAAE;MACnC1F,GAAG,KAAA6G,MAAA,CAAK7C,KAAK,CAACgC,IAAI,CAAC,OAAAa,MAAA,CAAIoC,KAAK,CAAG;MAC/BzI,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAM6F,oBAAoB,CAACL,IAAI,CAAC;MAAA;IAAC,GAEzC/B,QAAQ,CAAC+B,IAAI,CACG,CAAC;EAExB,CAAC,CAC4B,CAAC,GAC9B,IACiB,CAAC,EACvB,CAACjB,eAAe,gBACf3G,KAAA,CAAAyC,aAAA,CAACsB,OAAO;IAACG,YAAY,EAAEuF;EAAiB,GACrChC,eAAe,CACbmD,GAAG,CAAC,UAAChD,IAAI,EAAEiD,KAAK,EAAK;IACpB,oBACE7K,KAAA,CAAAyC,aAAA,CAAClB,wBAAwB;MACvB+H,IAAI,EAAE1B,IAAK;MACXhG,GAAG,KAAA6G,MAAA,CAAK7C,KAAK,CAACgC,IAAI,CAAC,OAAAa,MAAA,CAAIoC,KAAK,CAAG;MAC/BG,QAAQ,EAAEf,cAAc,CAACrC,IAAI;IAAE,GAE9B/B,QAAQ,CAAC+B,IAAI,CAAC,EACd,CAAC9B,cAAc,CAAC8B,IAAI,CAAC,IAAI5B,aAAa,kBACrChG,KAAA,CAAAyC,aAAA,CAACxC,GAAG;MAACqE,WAAW,EAAC;IAAI,gBACnBtE,KAAA,CAAAyC,aAAA,CAACP,WAAW;MACV,WAAQ,qBAAqB;MAC7BE,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAMkG,iBAAiB,CAACV,IAAI,CAAC;MAAA;IAAC,CACxC,CACE,CAEiB,CAAC;EAE/B,CAAC,CAAC,CACDa,MAAM,CACLzD,WAAW,IAAI,CAACD,OAAO,GACnB,cACE/E,KAAA,CAAAyC,aAAA,CAACnB,6BAA6B;IAC5B,WAAQ,4BAA4B;IACpCM,GAAG,EAAE;EAA6B,gBAElC5B,KAAA,CAAAyC,aAAA,CAAC7B,OAAO;IAACmC,IAAI,EAAC;EAAI,CAAE,CACS,CAAC,CACjC,GACD,EACN,CACK,CAAC,gBAEV/C,KAAA,CAAAyC,aAAA,CAACS,gBAAgB;IACfI,SAAS,EAAEqD,eAAgB;IAC3BpD,QAAQ,EAAEqG,mBAAoB;IAC9BpG,WAAW,EAAE8C,IAAI,CAAC3D,CAAC,CAAC,wBAAwB,EAAE;MAC5C+G,KAAK,EAAE3D;IACT,CAAC,CAAE;IACH1C,GAAG,EAAE6C;EAAe,CACrB,CACF,eACDlG,KAAA,CAAAyC,aAAA,CAACoH,YAAY,MAAE,CAAC,eAChB7J,KAAA,CAAAyC,aAAA,CAACjC,YAAY;IAAC6F,IAAI,EAAEA;EAAK,CAAE,CACT,CACY,CACT,CAAC;AAEhC,CAAC,CAAC;AAEF,OAAO,IAAM4E,yBAAyB,gBAAGjL,KAAK,CAACmD,UAAU,CAGvD,SAAS8H,yBAAyBA,CAAAC,KAAA,EAWlC7H,GAAG,EACH;EAAA,IAVE8H,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAAC,cAAA,GAAAF,KAAA,CACTG,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,WAAA,GAAAJ,KAAA,CAChBK,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,aAAA,GAAAN,KAAA,CACbnG,OAAO;IAAPA,OAAO,GAAAyG,aAAA,cAAG,KAAK,GAAAA,aAAA;IACf/H,SAAS,GAAAyH,KAAA,CAATzH,SAAS;IAAAgI,aAAA,GAAAP,KAAA,CACT5F,OAAO;IAAPA,OAAO,GAAAmG,aAAA,cAAG3J,KAAK,GAAA2J,aAAA;IAAAC,WAAA,GAAAR,KAAA,CACfvH,KAAK;IAALA,KAAK,GAAA+H,WAAA,cAAG5J,KAAK,GAAA4J,WAAA;IACVrJ,KAAK,GAAAC,wBAAA,CAAA4I,KAAA,EAAAS,UAAA;EAIV,IAAAC,kBAAA,GAgBI5L,KAAK,CAAC0F,UAAU,CAAC1E,mBAAmB,CAAC;IAfvC6K,SAAS,GAAAD,kBAAA,CAATC,SAAS;IACTC,SAAS,GAAAF,kBAAA,CAATE,SAAS;IACTC,UAAU,GAAAH,kBAAA,CAAVG,UAAU;IACVC,WAAU,GAAAJ,kBAAA,CAAVI,UAAU;IACVhC,KAAK,GAAA4B,kBAAA,CAAL5B,KAAK;IACLnE,QAAQ,GAAA+F,kBAAA,CAAR/F,QAAQ;IACRC,cAAc,GAAA8F,kBAAA,CAAd9F,cAAc;IACdmG,cAAc,GAAAL,kBAAA,CAAdK,cAAc;IACdlG,SAAS,GAAA6F,kBAAA,CAAT7F,SAAS;IACTmG,MAAM,GAAAN,kBAAA,CAANM,MAAM;IACN9G,QAAQ,GAAAwG,kBAAA,CAARxG,QAAQ;IACR+G,OAAO,GAAAP,kBAAA,CAAPO,OAAO;IACPjH,UAAU,GAAA0G,kBAAA,CAAV1G,UAAU;IACVC,QAAQ,GAAAyG,kBAAA,CAARzG,QAAQ;IACRnC,QAAQ,GAAA4I,kBAAA,CAAR5I,QAAQ;EAEV,IAAMsD,IAAI,GAAGvF,cAAc,CAAC,CAAC;EAE7B,IAAMqL,mBAAmB,GAAGpM,KAAK,CAACmG,MAAM,CAAU,IAAI,CAAC;EACvD,IAAMkG,qBAAqB,GAAGrM,KAAK,CAACmG,MAAM,CAAiB,IAAI,CAAC;EAChE,IAAMmG,QAAQ,gBAAGtM,KAAK,CAACuM,SAAS,CAAoB,CAAC;EAErD,IAAAC,gBAAA,GAAsCxM,KAAK,CAACwG,QAAQ,CAAqB,EAAE,CAAC;IAAAiG,gBAAA,GAAA/F,cAAA,CAAA8F,gBAAA;IAArEE,WAAW,GAAAD,gBAAA;IAAEE,cAAc,GAAAF,gBAAA;EAClC,IAAAG,gBAAA,GAAsC5M,KAAK,CAACwG,QAAQ,CAAK,IAAI,CAAC;IAAAqG,gBAAA,GAAAnG,cAAA,CAAAkG,gBAAA;IAAvDhI,WAAW,GAAAiI,gBAAA;IAAEC,cAAc,GAAAD,gBAAA;;EAElC;EACA,IAAAE,gBAAA,GAA0C/M,KAAK,CAACwG,QAAQ,CAAS7C,KAAK,CAAC;IAAAqJ,iBAAA,GAAAtG,cAAA,CAAAqG,gBAAA;IAAhEE,aAAa,GAAAD,iBAAA;IAAEE,gBAAgB,GAAAF,iBAAA;EACtC;EACA,IAAAG,iBAAA,GAA0CnN,KAAK,CAACwG,QAAQ,CAAS7C,KAAK,CAAC;IAAAyJ,iBAAA,GAAA1G,cAAA,CAAAyG,iBAAA;IAAhE5H,aAAa,GAAA6H,iBAAA;IAAEC,gBAAgB,GAAAD,iBAAA;;EAEtC;EACA;EACApN,KAAK,CAACsN,SAAS,CACb,YAAY;IACV,IAAMjG,gBAAgB,GAAG1D,KAAK,CAACA,KAAK,CAAC2D,MAAM,GAAG,CAAC,CAAC;IAEhD,IAAI3D,KAAK,CAAC2D,MAAM,GAAG,CAAC,EAAE;MACpB4F,gBAAgB,CAACvJ,KAAK,CAAC;MACvB0J,gBAAgB,CAAC1J,KAAK,CAAC;MACvBgJ,cAAc,CAACV,cAAc,CAACtI,KAAK,CAAC,CAAC;MACrC;MACAmJ,cAAc,CAAChH,cAAc,CAACuB,gBAAgB,CAAC,CAAC;IAClD,CAAC,MAAM;MACLyF,cAAc,CAAC,IAAI,CAAC;MACpBI,gBAAgB,CAAC,EAAE,CAAC;MACpBG,gBAAgB,CAAC,EAAE,CAAC;MACpBV,cAAc,CAAC,EAAE,CAAC;IACpB;EACF,CAAC,EACD,CAACV,cAAc,EAAEnG,cAAc,EAAEoG,MAAM,EAAEvI,KAAK,CAChD,CAAC;EAED,IAAM4J,gBAAgB,GAAGvN,KAAK,CAACwH,WAAW,CACxC,UAAU4B,SAAwB,EAAE;IAClC8D,gBAAgB,CAAC9D,SAAS,CAACzF,KAAK,CAAC;IACjC0J,gBAAgB,CAACjE,SAAS,CAACzF,KAAK,CAAC;IACjCgJ,cAAc,CAACV,cAAc,CAAC7C,SAAS,CAACzF,KAAK,CAAC,CAAC;IAC/CmJ,cAAc,CAAChH,cAAc,CAACsD,SAAS,CAACE,IAAI,CAAC,CAAC;IAC9ClE,QAAQ,CAACgE,SAAS,CAAC;EACrB,CAAC,EACD,CAACtD,cAAc,EAAEmG,cAAc,EAAE7G,QAAQ,CAC3C,CAAC;EAED,IAAMoI,kBAAkB,GAAGxN,KAAK,CAACwH,WAAW,CAC1C,UAAUiG,WAAe,EAAE9J,KAAY,EAAE;IACvCuJ,gBAAgB,CAACvJ,KAAK,CAAC;IACvBmJ,cAAc,CAACW,WAAW,CAAC;IAC3BvI,UAAU,IAAIA,UAAU,CAACuI,WAAW,EAAE9J,KAAK,CAAC;EAC9C,CAAC,EACD,CAACuB,UAAU,CACb,CAAC;EAED,IAAMwI,eAAe,GAAG1N,KAAK,CAACwH,WAAW,CACvC,UAAU3E,KAA0C,EAAE;IACpD8J,cAAc,CAAC,EAAE,CAAC;IAClBO,gBAAgB,CAAC,EAAE,CAAC;IACpBG,gBAAgB,CAAC,EAAE,CAAC;IACpBG,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5BrB,OAAO,IAAIA,OAAO,CAACtJ,KAAK,CAAC;EAC3B,CAAC,EACD,CAAC2K,kBAAkB,EAAErB,OAAO,CAC9B,CAAC;EAED,IAAM5E,gBAAgB,GAAGvH,KAAK,CAACwH,WAAW,CACxC,UAAU3E,KAAU,EAAE;IACpBsC,QAAQ,IAAIA,QAAQ,CAACtC,KAAK,CAAC;EAC7B,CAAC,EACD,CAACsC,QAAQ,CACX,CAAC;EAED,IAAMwI,kBAAkB,GAAG3N,KAAK,CAACwH,WAAW,CAC1C,UAAU7F,CAAQ,EAAE;IAAA,IAAAiM,qBAAA;IAClB,IAAMC,WAAW,GACflM,CAAC,YAAYmM,aAAa,KAAKnM,CAAC,CAACC,GAAG,KAAK,QAAQ,IAAID,CAAC,CAACC,GAAG,KAAK,KAAK,CAAC;IAEvE,IAAMmM,cAAc,GAClBpM,CAAC,YAAYqM,UAAU,IACvB,CAAClN,aAAa,CAAC;MAAEiH,OAAO,EAAEqE,mBAAmB,aAAnBA,mBAAmB,wBAAAwB,qBAAA,GAAnBxB,mBAAmB,CAAErE,OAAO,cAAA6F,qBAAA,uBAA5BA,qBAAA,CAA8BK;IAAG,CAAC,EAAEtM,CAAC,CAAC;IAElE,IAAMuM,SAAS,GAAG3I,aAAa,CAACA,aAAa,CAAC+B,MAAM,GAAG,CAAC,CAAC;IAEzD,IAAIoF,WAAW,KAAKqB,cAAc,IAAIF,WAAW,CAAC,EAAE;MAClDX,gBAAgB,CAAC3H,aAAa,CAAC;MAC/BuH,cAAc,CAAChH,cAAc,CAACoI,SAAS,CAAC,CAAC;IAC3C;IACA,OAAOnC,UAAU,IAAIA,UAAU,CAACpK,CAAC,CAAC;EACpC,CAAC,EACD,CACEoK,UAAU,EACVjG,cAAc,EACdsG,mBAAmB,EACnB7G,aAAa,EACbmH,WAAW,CAEf,CAAC;EAED,oBACE1M,KAAA,CAAAyC,aAAA,CAAChC,cAAc;IACb6C,SAAS;IACTuI,SAAS,EAAEA,SAAU;IACrBC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAE4B,kBAAmB;IAC/B3B,UAAU,EAAE,SAAAA,WAACrK,CAAQ,EAAK;MACxB,OAAOqK,WAAU,IAAIrK,CAAC,CAACM,MAAM,KAAKqK,QAAQ,CAACvE,OAAO,IAAIiE,WAAU,CAACrK,CAAC,CAAC;IACrE,CAAE;IACFwM,OAAO,EAAE,IAAK;IACdpM,QAAQ,EAAEA,QAAS;IACnBC,OAAO,eACLhC,KAAA,CAAAyC,aAAA,CAACiC,gBAAgB,EAAAhC,QAAA;MACfkC,WAAW,EAAEA,WAAY;MACzBU,OAAO,EAAEA,OAAQ;MACjBP,OAAO,EAAEA,OAAQ;MACjBE,OAAO,EAAEmH,mBAAoB;MAC7BlH,UAAU,EAAEsI,kBAAmB;MAC/BrI,QAAQ,EAAEoC,gBAAiB;MAC3BnC,QAAQ,EAAEmI,gBAAiB;MAC3B5J,KAAK,EAAEsJ,aAAc;MACrB1H,aAAa,EAAEA;IAAc,GACzBlD,KAAK;MACToB,SAAS,EAAE/B;IAAS,EACrB,CACF;IACD0M,SAAS,EAAC,aAAa;IACvB/K,GAAG,EAAEA,GAAI;IACTgL,OAAO,EAAC;EAAO,gBAEfrO,KAAA,CAAAyC,aAAA,CAAC9B,MAAM,CAACR,MAAM;IACZ6J,KAAK,EAAEA,KAAM;IACbmB,SAAS,EAAEA,SAAU;IACrBmB,QAAQ,EAAEA,QAAS;IACnBjB,QAAQ,EAAEA,QAAS;IACnBE,KAAK,EAAEA,KAAM;IACbpB,KAAK,EAAEuC,WAAY;IACnB3H,OAAO,EAAEA,OAAQ;IACjBvB,WAAW,EAAE8C,IAAI,CAAC3D,CAAC,CAAC,aAAa,EAAE;MAAE+G,KAAK,EAAE3D;IAAU,CAAC,CAAE;IACzDoG,OAAO,EAAEuB,eAAgB;IACzBrK,GAAG,EAAEgJ,qBAAsB;IAC3BrJ,QAAQ,EAAEA;EAAS,GAElB0J,WAAW,IAAIpG,IAAI,CAAC3D,CAAC,CAAC,aAAa,EAAE;IAAE+G,KAAK,EAAE3D;EAAU,CAAC,CAC7C,CACD,CAAC;AAErB,CAAC,CAAC"}
1
+ {"version":3,"file":"TierSelectionTieredSelect.js","names":["ChevronRight","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","OverlayTrigger","useOverlayTriggerContext","Select","Spinner","Typography","isEventSource","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectArrowButton","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","ArrowButton","_ref","onClick","props","_objectWithoutProperties","_excluded","i18n","createElement","_extends","t","icon","event","preventDefault","size","tabIndex","variant","QuickCreateInput","forwardRef","_ref2","ref","autoFocus","onSubmit","placeholder","onKeyDown","currentTarget","value","flexGrow","justifyContent","padding","Options","_ref3","children","emptyMessage","_excluded2","Children","count","paddingLeft","color","intent","italic","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onNavigate","onSearch","onChange","_ref4$options","options","previousValue","_excluded3","_React$useContext","useContext","getGroupId","getId","getLabel","getNextGroupId","i18nScope","onQuickCreate","onScrollBottom","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","filteredOptions","useMemo","filter","tier","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","onNavigateForward","_menuRef$current3","newValue","concat","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","item","_objectSpread","showBreadcrumbs","menuEmptyMessage","scope","handleQuickCreate","onQuickCreateSubmit","RenderFooter","Footer","undefined","block","isTierSelected","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","alignItems","map","index","array","active","selected","TierSelectionTieredSelect","_ref5","className","_ref5$disabled","disabled","_ref5$error","error","_ref5$loading","_ref5$options","_ref5$value","_excluded4","_React$useContext2","afterHide","afterShow","beforeHide","beforeShow","getValueString","isLeaf","onClear","tieredSelectMenuRef","tieredSelectButtonRef","clearRef","createRef","_React$useState5","_React$useState6","valueString","setValueString","_React$useState7","_React$useState8","setCurrentTier","_React$useState9","_React$useState10","internalValue","setInternalValue","_React$useState11","_React$useState12","setPreviousValue","useEffect","internalOnChange","internalOnNavigate","nextGroupId","internalOnClear","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","el","lastValue","canFlip","placement","trigger"],"sources":["../../src/TieredSelect/TierSelectionTieredSelect.tsx"],"sourcesContent":["import { ChevronRight, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport { Breadcrumbs } from '../Breadcrumbs/Breadcrumbs'\nimport { Button } from '../Button/Button'\nimport { FlexList } from '../FlexList/FlexList'\nimport { Input } from '../Input/Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Typography } from '../Typography/Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectArrowButton,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n Id,\n InternalTieredSelectProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n TierSelection,\n} from './TieredSelect.types'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\n\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nfunction ArrowButton({ onClick, ...props }: ArrowButtonProps) {\n const i18n = useI18nContext()\n return (\n <StyledTieredSelectArrowButton\n aria-label={i18n.t('core.tieredSelect.goToTier')}\n {...props}\n icon={<ChevronRight />}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick && onClick(event)\n }}\n size=\"sm\"\n tabIndex={-1}\n variant=\"tertiary\"\n />\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\nconst TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onNavigate,\n onSearch,\n onChange,\n options = empty,\n value,\n previousValue,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n onQuickCreate,\n onScrollBottom,\n } = React.useContext(TieredSelectContext)\n\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier) {\n const newValue = [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n const newValue = value.slice(0, Math.max(0, value.length - 1))\n const newTier = value[value.length - 1]\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n function onTierSelect(selection: Selection) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n }\n\n function showBreadcrumbs() {\n return value.length && searchIsEmpty\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter()}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer>\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer>\n <Button\n block={true}\n icon={<Plus size=\"md\" />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n size=\"sm\"\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value.map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => {\n return (\n <StyledTieredSelectOption\n item={tier}\n key={`${getId(tier)}-${index}`}\n selected={isTierSelected(tier)}\n >\n {getLabel(tier)}\n {(getNextGroupId(tier) || onQuickCreate) && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n </StyledTieredSelectOption>\n )\n })\n .concat(\n loadingMore && !loading\n ? [\n <StyledTieredSelectLoadingMore\n data-qa=\"tiered-select-loading-more\"\n key={'tiered-select-loading-more'}\n >\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>,\n ]\n : []\n )}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n\nexport const TierSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function TierSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getNextGroupId(selection.item))\n onChange(selection)\n },\n [getNextGroupId, getValueString, onChange]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n setCurrentTier(getNextGroupId(lastValue))\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getNextGroupId,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { MenuRef } from '../MenuImperative/MenuImperative.types';
3
- import { Id, TieredSelectApi, TieredSelectProps } from './TieredSelect.types';
2
+ import type { MenuRef } from '../MenuImperative/MenuImperative.types';
3
+ import type { Id, TieredSelectApi, TieredSelectProps } from './TieredSelect.types';
4
4
  export declare const useHighlightItemEffects: ({ currentTier, searchValue, menuRef, loading, loadingMore, }: {
5
5
  currentTier: Id;
6
6
  searchValue: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TieredSelect.js","names":["React","LeafSelectionTieredSelect","TierSelectionTieredSelect","defaultGetGroupId","tier","groupId","defaultGetId","id","defaultGetLabel","label","defaultGetNextGroupId","nextGroupId","getFullPath","getLabel","arguments","length","undefined","getValueString","value","map","join","getLeafOnly","getValueStringFn","valueStringResolution","noop","always","useHighlightItemEffects","_ref","currentTier","searchValue","menuRef","loading","loadingMore","_React$useState","useState","_React$useState2","_slicedToArray","previousTier","setPreviousTier","useEffect","_React$useState3","_React$useState4","previousSearch","setPreviousSearch","currentMenuRef","current","highlightFirst","highlightLast","highlighted","TieredSelectContext","createContext","afterHide","afterShow","beforeHide","beforeShow","getGroupId","getId","getNextGroupId","i18nScope","onChange","TieredSelect","forwardRef","_ref2","ref","_ref2$afterHide","_ref2$afterShow","_ref2$beforeHide","_ref2$beforeShow","block","_ref2$getGroupId","_ref2$getId","_ref2$getLabel","_ref2$getNextGroupId","_ref2$getValueString","_ref2$i18nScope","_ref2$onChange","onClear","onNavigate","onQuickCreate","onScrollBottom","onSearch","_ref2$selectableTiers","selectableTiers","tabIndex","props","_objectWithoutProperties","_excluded","isLeaf","useCallback","createElement","Provider","_extends"],"sources":["../../src/TieredSelect/TieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { LeafSelectionTieredSelect } from './LeafSelectionTieredSelect'\nimport {\n GetValueStringFn,\n Id,\n Tier,\n TieredSelectApi,\n TieredSelectProps,\n} from './TieredSelect.types'\nimport { TierSelectionTieredSelect } from './TierSelectionTieredSelect'\n\nfunction defaultGetGroupId(tier: Tier) {\n return tier.groupId\n}\n\nfunction defaultGetId(tier: Tier) {\n return tier.id\n}\n\nfunction defaultGetLabel(tier: Tier) {\n return tier.label\n}\n\nfunction defaultGetNextGroupId(tier: Tier) {\n return tier.nextGroupId as Id\n}\n\nfunction getFullPath<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.map((tier) => getLabel!(tier)).join(' > ')\n }\n}\n\nfunction getLeafOnly<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.length ? getLabel(value[value.length - 1]) : ''\n }\n}\n\nfunction getValueStringFn(\n valueStringResolution: TieredSelectProps['getValueString'],\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n if (valueStringResolution === 'full-path') {\n return getFullPath(getLabel)\n }\n\n if (valueStringResolution === 'leaf-only') {\n return getLeafOnly(getLabel)\n }\n\n return valueStringResolution!\n}\n\nfunction noop() {}\n\nfunction always() {\n return true\n}\n\nexport const useHighlightItemEffects = ({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n}: {\n currentTier: Id\n searchValue: string\n menuRef: React.RefObject<MenuRef>\n loading: TieredSelectProps['loading']\n loadingMore: TieredSelectProps['loadingMore']\n}) => {\n const [previousTier, setPreviousTier] = React.useState<Id>()\n React.useEffect(() => {\n setPreviousTier(currentTier)\n }, [currentTier])\n\n const [previousSearch, setPreviousSearch] = React.useState<String>('')\n React.useEffect(() => {\n setPreviousSearch(searchValue)\n }, [searchValue])\n\n const currentMenuRef = menuRef.current\n React.useEffect(() => {\n if (previousSearch !== searchValue || previousTier !== currentTier) {\n currentMenuRef?.highlightFirst()\n }\n }, [currentMenuRef, currentTier, previousTier, searchValue, previousSearch])\n\n React.useEffect(() => {\n if (loadingMore) {\n currentMenuRef?.highlightLast(false)\n }\n }, [currentMenuRef, loadingMore])\n\n React.useEffect(() => {\n if (!loading && !currentMenuRef?.highlighted()) {\n currentMenuRef?.highlightFirst()\n }\n }, [currentMenuRef, loading])\n}\n\nexport const TieredSelectContext = React.createContext<TieredSelectApi>({\n afterHide: noop,\n afterShow: noop,\n beforeHide: always,\n beforeShow: always,\n getGroupId: defaultGetGroupId,\n getId: defaultGetId,\n getLabel: defaultGetLabel,\n getNextGroupId: defaultGetNextGroupId,\n getValueString: getFullPath(defaultGetLabel),\n i18nScope: 'core.tieredSelect',\n onChange: noop,\n})\n\n/**\n\n We use tiered selects to allow users to choose a single parent or child option\n that is nested within a tiered list. For example, choosing a location from\n within a list of tiered locations. We typically see these selects on forms.\n\n Other select components are group select, multi select, and select.\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-tieredselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/tiered-select)\n\n */\nexport const TieredSelect = React.forwardRef<HTMLDivElement, TieredSelectProps>(\n function TieredSelect(\n {\n afterHide = noop,\n afterShow = noop,\n beforeHide = always,\n beforeShow = always,\n block,\n getGroupId = defaultGetGroupId,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getNextGroupId = defaultGetNextGroupId,\n getValueString = getFullPath(getLabel),\n i18nScope = 'core.tieredSelect',\n onChange = noop,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n selectableTiers = true,\n tabIndex,\n ...props\n },\n ref\n ) {\n const isLeaf = React.useCallback(\n function (tier: Tier) {\n return !getNextGroupId(tier)\n },\n [getNextGroupId]\n )\n\n return (\n <TieredSelectContext.Provider\n value={{\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n getValueString: getValueStringFn(getValueString),\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n tabIndex,\n }}\n >\n {selectableTiers ? (\n <TierSelectionTieredSelect ref={ref} {...props} />\n ) : (\n <LeafSelectionTieredSelect ref={ref} {...props} />\n )}\n </TieredSelectContext.Provider>\n )\n }\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"TieredSelect.js","names":["React","LeafSelectionTieredSelect","TierSelectionTieredSelect","defaultGetGroupId","tier","groupId","defaultGetId","id","defaultGetLabel","label","defaultGetNextGroupId","nextGroupId","getFullPath","getLabel","arguments","length","undefined","getValueString","value","map","join","getLeafOnly","getValueStringFn","valueStringResolution","noop","always","useHighlightItemEffects","_ref","currentTier","searchValue","menuRef","loading","loadingMore","_React$useState","useState","_React$useState2","_slicedToArray","previousTier","setPreviousTier","useEffect","_React$useState3","_React$useState4","previousSearch","setPreviousSearch","currentMenuRef","current","highlightFirst","highlightLast","highlighted","TieredSelectContext","createContext","afterHide","afterShow","beforeHide","beforeShow","getGroupId","getId","getNextGroupId","i18nScope","onChange","TieredSelect","forwardRef","_ref2","ref","_ref2$afterHide","_ref2$afterShow","_ref2$beforeHide","_ref2$beforeShow","block","_ref2$getGroupId","_ref2$getId","_ref2$getLabel","_ref2$getNextGroupId","_ref2$getValueString","_ref2$i18nScope","_ref2$onChange","onClear","onNavigate","onQuickCreate","onScrollBottom","onSearch","_ref2$selectableTiers","selectableTiers","tabIndex","props","_objectWithoutProperties","_excluded","isLeaf","useCallback","createElement","Provider","_extends"],"sources":["../../src/TieredSelect/TieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { LeafSelectionTieredSelect } from './LeafSelectionTieredSelect'\nimport type {\n GetValueStringFn,\n Id,\n Tier,\n TieredSelectApi,\n TieredSelectProps,\n} from './TieredSelect.types'\nimport { TierSelectionTieredSelect } from './TierSelectionTieredSelect'\n\nfunction defaultGetGroupId(tier: Tier) {\n return tier.groupId\n}\n\nfunction defaultGetId(tier: Tier) {\n return tier.id\n}\n\nfunction defaultGetLabel(tier: Tier) {\n return tier.label\n}\n\nfunction defaultGetNextGroupId(tier: Tier) {\n return tier.nextGroupId as Id\n}\n\nfunction getFullPath<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.map((tier) => getLabel!(tier)).join(' > ')\n }\n}\n\nfunction getLeafOnly<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.length ? getLabel(value[value.length - 1]) : ''\n }\n}\n\nfunction getValueStringFn(\n valueStringResolution: TieredSelectProps['getValueString'],\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n if (valueStringResolution === 'full-path') {\n return getFullPath(getLabel)\n }\n\n if (valueStringResolution === 'leaf-only') {\n return getLeafOnly(getLabel)\n }\n\n return valueStringResolution!\n}\n\nfunction noop() {}\n\nfunction always() {\n return true\n}\n\nexport const useHighlightItemEffects = ({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n}: {\n currentTier: Id\n searchValue: string\n menuRef: React.RefObject<MenuRef>\n loading: TieredSelectProps['loading']\n loadingMore: TieredSelectProps['loadingMore']\n}) => {\n const [previousTier, setPreviousTier] = React.useState<Id>()\n React.useEffect(() => {\n setPreviousTier(currentTier)\n }, [currentTier])\n\n const [previousSearch, setPreviousSearch] = React.useState<String>('')\n React.useEffect(() => {\n setPreviousSearch(searchValue)\n }, [searchValue])\n\n const currentMenuRef = menuRef.current\n React.useEffect(() => {\n if (previousSearch !== searchValue || previousTier !== currentTier) {\n currentMenuRef?.highlightFirst()\n }\n }, [currentMenuRef, currentTier, previousTier, searchValue, previousSearch])\n\n React.useEffect(() => {\n if (loadingMore) {\n currentMenuRef?.highlightLast(false)\n }\n }, [currentMenuRef, loadingMore])\n\n React.useEffect(() => {\n if (!loading && !currentMenuRef?.highlighted()) {\n currentMenuRef?.highlightFirst()\n }\n }, [currentMenuRef, loading])\n}\n\nexport const TieredSelectContext = React.createContext<TieredSelectApi>({\n afterHide: noop,\n afterShow: noop,\n beforeHide: always,\n beforeShow: always,\n getGroupId: defaultGetGroupId,\n getId: defaultGetId,\n getLabel: defaultGetLabel,\n getNextGroupId: defaultGetNextGroupId,\n getValueString: getFullPath(defaultGetLabel),\n i18nScope: 'core.tieredSelect',\n onChange: noop,\n})\n\n/**\n\n We use tiered selects to allow users to choose a single parent or child option\n that is nested within a tiered list. For example, choosing a location from\n within a list of tiered locations. We typically see these selects on forms.\n\n Other select components are group select, multi select, and select.\n @since 10.19.0\n\n @see [Storybook](https://procore.github.io/core/core-react/latest/?path=/story/demos-tieredselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/tiered-select)\n\n */\nexport const TieredSelect = React.forwardRef<HTMLDivElement, TieredSelectProps>(\n function TieredSelect(\n {\n afterHide = noop,\n afterShow = noop,\n beforeHide = always,\n beforeShow = always,\n block,\n getGroupId = defaultGetGroupId,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getNextGroupId = defaultGetNextGroupId,\n getValueString = getFullPath(getLabel),\n i18nScope = 'core.tieredSelect',\n onChange = noop,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n selectableTiers = true,\n tabIndex,\n ...props\n },\n ref\n ) {\n const isLeaf = React.useCallback(\n function (tier: Tier) {\n return !getNextGroupId(tier)\n },\n [getNextGroupId]\n )\n\n return (\n <TieredSelectContext.Provider\n value={{\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n getValueString: getValueStringFn(getValueString),\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n tabIndex,\n }}\n >\n {selectableTiers ? (\n <TierSelectionTieredSelect ref={ref} {...props} />\n ) : (\n <LeafSelectionTieredSelect ref={ref} {...props} />\n )}\n </TieredSelectContext.Provider>\n )\n }\n)\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,yBAAyB,QAAQ,6BAA6B;AAQvE,SAASC,yBAAyB,QAAQ,6BAA6B;AAEvE,SAASC,iBAAiBA,CAACC,IAAU,EAAE;EACrC,OAAOA,IAAI,CAACC,OAAO;AACrB;AAEA,SAASC,YAAYA,CAACF,IAAU,EAAE;EAChC,OAAOA,IAAI,CAACG,EAAE;AAChB;AAEA,SAASC,eAAeA,CAACJ,IAAU,EAAE;EACnC,OAAOA,IAAI,CAACK,KAAK;AACnB;AAEA,SAASC,qBAAqBA,CAACN,IAAU,EAAE;EACzC,OAAOA,IAAI,CAACO,WAAW;AACzB;AAEA,SAASC,WAAWA,CAAA,EAEA;EAAA,IADlBC,QAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGN,eAAe;EAEzD,OAAO,SAASS,cAAcA,CAACC,KAAU,EAAE;IACzC,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACf,IAAI;MAAA,OAAKS,QAAQ,CAAET,IAAI,CAAC;IAAA,EAAC,CAACgB,IAAI,CAAC,KAAK,CAAC;EACzD,CAAC;AACH;AAEA,SAASC,WAAWA,CAAA,EAEA;EAAA,IADlBR,QAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGN,eAAe;EAEzD,OAAO,SAASS,cAAcA,CAACC,KAAU,EAAE;IACzC,OAAOA,KAAK,CAACH,MAAM,GAAGF,QAAQ,CAACK,KAAK,CAACA,KAAK,CAACH,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;EAC9D,CAAC;AACH;AAEA,SAASO,gBAAgBA,CACvBC,qBAA0D,EAExC;EAAA,IADlBV,QAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGN,eAAe;EAEzD,IAAIe,qBAAqB,KAAK,WAAW,EAAE;IACzC,OAAOX,WAAW,CAACC,QAAQ,CAAC;EAC9B;EAEA,IAAIU,qBAAqB,KAAK,WAAW,EAAE;IACzC,OAAOF,WAAW,CAACR,QAAQ,CAAC;EAC9B;EAEA,OAAOU,qBAAqB;AAC9B;AAEA,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,SAASC,MAAMA,CAAA,EAAG;EAChB,OAAO,IAAI;AACb;AAEA,OAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAAC,IAAA,EAY9B;EAAA,IAXJC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,WAAW,GAAAL,IAAA,CAAXK,WAAW;EAQX,IAAAC,eAAA,GAAwCjC,KAAK,CAACkC,QAAQ,CAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAArDI,YAAY,GAAAF,gBAAA;IAAEG,eAAe,GAAAH,gBAAA;EACpCnC,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpBD,eAAe,CAACV,WAAW,CAAC;EAC9B,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAAY,gBAAA,GAA4CxC,KAAK,CAACkC,QAAQ,CAAS,EAAE,CAAC;IAAAO,gBAAA,GAAAL,cAAA,CAAAI,gBAAA;IAA/DE,cAAc,GAAAD,gBAAA;IAAEE,iBAAiB,GAAAF,gBAAA;EACxCzC,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpBI,iBAAiB,CAACd,WAAW,CAAC;EAChC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAMe,cAAc,GAAGd,OAAO,CAACe,OAAO;EACtC7C,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpB,IAAIG,cAAc,KAAKb,WAAW,IAAIQ,YAAY,KAAKT,WAAW,EAAE;MAClEgB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,cAAc,CAAC,CAAC;IAClC;EACF,CAAC,EAAE,CAACF,cAAc,EAAEhB,WAAW,EAAES,YAAY,EAAER,WAAW,EAAEa,cAAc,CAAC,CAAC;EAE5E1C,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpB,IAAIP,WAAW,EAAE;MACfY,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEG,aAAa,CAAC,KAAK,CAAC;IACtC;EACF,CAAC,EAAE,CAACH,cAAc,EAAEZ,WAAW,CAAC,CAAC;EAEjChC,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpB,IAAI,CAACR,OAAO,IAAI,EAACa,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEI,WAAW,CAAC,CAAC,GAAE;MAC9CJ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,cAAc,CAAC,CAAC;IAClC;EACF,CAAC,EAAE,CAACF,cAAc,EAAEb,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,OAAO,IAAMkB,mBAAmB,gBAAGjD,KAAK,CAACkD,aAAa,CAAkB;EACtEC,SAAS,EAAE3B,IAAI;EACf4B,SAAS,EAAE5B,IAAI;EACf6B,UAAU,EAAE5B,MAAM;EAClB6B,UAAU,EAAE7B,MAAM;EAClB8B,UAAU,EAAEpD,iBAAiB;EAC7BqD,KAAK,EAAElD,YAAY;EACnBO,QAAQ,EAAEL,eAAe;EACzBiD,cAAc,EAAE/C,qBAAqB;EACrCO,cAAc,EAAEL,WAAW,CAACJ,eAAe,CAAC;EAC5CkD,SAAS,EAAE,mBAAmB;EAC9BC,QAAQ,EAAEnC;AACZ,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMoC,YAAY,gBAAG5D,KAAK,CAAC6D,UAAU,CAC1C,SAASD,YAAYA,CAAAE,KAAA,EAuBnBC,GAAG,EACH;EAAA,IAAAC,eAAA,GAAAF,KAAA,CAtBEX,SAAS;IAATA,SAAS,GAAAa,eAAA,cAAGxC,IAAI,GAAAwC,eAAA;IAAAC,eAAA,GAAAH,KAAA,CAChBV,SAAS;IAATA,SAAS,GAAAa,eAAA,cAAGzC,IAAI,GAAAyC,eAAA;IAAAC,gBAAA,GAAAJ,KAAA,CAChBT,UAAU;IAAVA,UAAU,GAAAa,gBAAA,cAAGzC,MAAM,GAAAyC,gBAAA;IAAAC,gBAAA,GAAAL,KAAA,CACnBR,UAAU;IAAVA,UAAU,GAAAa,gBAAA,cAAG1C,MAAM,GAAA0C,gBAAA;IACnBC,KAAK,GAAAN,KAAA,CAALM,KAAK;IAAAC,gBAAA,GAAAP,KAAA,CACLP,UAAU;IAAVA,UAAU,GAAAc,gBAAA,cAAGlE,iBAAiB,GAAAkE,gBAAA;IAAAC,WAAA,GAAAR,KAAA,CAC9BN,KAAK;IAALA,KAAK,GAAAc,WAAA,cAAGhE,YAAY,GAAAgE,WAAA;IAAAC,cAAA,GAAAT,KAAA,CACpBjD,QAAQ;IAARA,QAAQ,GAAA0D,cAAA,cAAG/D,eAAe,GAAA+D,cAAA;IAAAC,oBAAA,GAAAV,KAAA,CAC1BL,cAAc;IAAdA,cAAc,GAAAe,oBAAA,cAAG9D,qBAAqB,GAAA8D,oBAAA;IAAAC,oBAAA,GAAAX,KAAA,CACtC7C,cAAc;IAAdA,cAAc,GAAAwD,oBAAA,cAAG7D,WAAW,CAACC,QAAQ,CAAC,GAAA4D,oBAAA;IAAAC,eAAA,GAAAZ,KAAA,CACtCJ,SAAS;IAATA,SAAS,GAAAgB,eAAA,cAAG,mBAAmB,GAAAA,eAAA;IAAAC,cAAA,GAAAb,KAAA,CAC/BH,QAAQ;IAARA,QAAQ,GAAAgB,cAAA,cAAGnD,IAAI,GAAAmD,cAAA;IACfC,OAAO,GAAAd,KAAA,CAAPc,OAAO;IACPC,UAAU,GAAAf,KAAA,CAAVe,UAAU;IACVC,aAAa,GAAAhB,KAAA,CAAbgB,aAAa;IACbC,cAAc,GAAAjB,KAAA,CAAdiB,cAAc;IACdC,QAAQ,GAAAlB,KAAA,CAARkB,QAAQ;IAAAC,qBAAA,GAAAnB,KAAA,CACRoB,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IACtBE,QAAQ,GAAArB,KAAA,CAARqB,QAAQ;IACLC,KAAK,GAAAC,wBAAA,CAAAvB,KAAA,EAAAwB,SAAA;EAIV,IAAMC,MAAM,GAAGvF,KAAK,CAACwF,WAAW,CAC9B,UAAUpF,IAAU,EAAE;IACpB,OAAO,CAACqD,cAAc,CAACrD,IAAI,CAAC;EAC9B,CAAC,EACD,CAACqD,cAAc,CACjB,CAAC;EAED,oBACEzD,KAAA,CAAAyF,aAAA,CAACxC,mBAAmB,CAACyC,QAAQ;IAC3BxE,KAAK,EAAE;MACLiC,SAAS,EAATA,SAAS;MACTC,SAAS,EAATA,SAAS;MACTC,UAAU,EAAVA,UAAU;MACVC,UAAU,EAAVA,UAAU;MACVc,KAAK,EAALA,KAAK;MACLb,UAAU,EAAVA,UAAU;MACVC,KAAK,EAALA,KAAK;MACL3C,QAAQ,EAARA,QAAQ;MACR4C,cAAc,EAAdA,cAAc;MACdxC,cAAc,EAAEK,gBAAgB,CAACL,cAAc,CAAC;MAChDyC,SAAS,EAATA,SAAS;MACT6B,MAAM,EAANA,MAAM;MACN5B,QAAQ,EAARA,QAAQ;MACRiB,OAAO,EAAPA,OAAO;MACPC,UAAU,EAAVA,UAAU;MACVC,aAAa,EAAbA,aAAa;MACbC,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRG,QAAQ,EAARA;IACF;EAAE,GAEDD,eAAe,gBACdlF,KAAA,CAAAyF,aAAA,CAACvF,yBAAyB,EAAAyF,QAAA;IAAC5B,GAAG,EAAEA;EAAI,GAAKqB,KAAK,CAAG,CAAC,gBAElDpF,KAAA,CAAAyF,aAAA,CAACxF,yBAAyB,EAAA0F,QAAA;IAAC5B,GAAG,EAAEA;EAAI,GAAKqB,KAAK,CAAG,CAEvB,CAAC;AAEnC,CACF,CAAC"}
@@ -9,19 +9,19 @@ import { colors } from '../_styles/colors';
9
9
  import { spacing } from '../_styles/spacing';
10
10
  export var StyledTieredSelect = /*#__PURE__*/styled(MenuImperative).withConfig({
11
11
  displayName: "StyledTieredSelect",
12
- componentId: "core-11_24_1__sc-e1ql06-0"
12
+ componentId: "core-11_24_3__sc-e1ql06-0"
13
13
  })(["align-items:stretch;max-height:40vh;"]);
14
14
  export var StyledTieredSelectIcon = /*#__PURE__*/styled(Flex).withConfig({
15
15
  displayName: "StyledTieredSelectIcon",
16
- componentId: "core-11_24_1__sc-e1ql06-1"
16
+ componentId: "core-11_24_3__sc-e1ql06-1"
17
17
  })(["height:24px;width:24px;"]);
18
18
  export var StyledTieredSelectArrowButton = /*#__PURE__*/styled(Button).withConfig({
19
19
  displayName: "StyledTieredSelectArrowButton",
20
- componentId: "core-11_24_1__sc-e1ql06-2"
20
+ componentId: "core-11_24_3__sc-e1ql06-2"
21
21
  })(["border:1px solid transparent;"]);
22
22
  export var StyledTieredSelectBreadcrumbs = /*#__PURE__*/styled(Breadcrumbs).withConfig({
23
23
  displayName: "StyledTieredSelectBreadcrumbs",
24
- componentId: "core-11_24_1__sc-e1ql06-3"
24
+ componentId: "core-11_24_3__sc-e1ql06-3"
25
25
  })(["background-color:", ";flex-wrap:wrap;margin-top:", "px;max-height:68px;overflow-y:auto;padding:", "px ", "px;", ""], colors.gray96, spacing.sm, spacing.xs, spacing.md, function (_ref) {
26
26
  var $nonInteractive = _ref.$nonInteractive;
27
27
  if ($nonInteractive) {
@@ -30,22 +30,22 @@ export var StyledTieredSelectBreadcrumbs = /*#__PURE__*/styled(Breadcrumbs).with
30
30
  });
31
31
  export var StyledTieredSelectHome = /*#__PURE__*/styled(Flex).withConfig({
32
32
  displayName: "StyledTieredSelectHome",
33
- componentId: "core-11_24_1__sc-e1ql06-4"
33
+ componentId: "core-11_24_3__sc-e1ql06-4"
34
34
  })(["height:20px;"]);
35
35
  export var StyledTieredSelectOption = /*#__PURE__*/styled(MenuImperative.Item).withConfig({
36
36
  displayName: "StyledTieredSelectOption",
37
- componentId: "core-11_24_1__sc-e1ql06-5"
37
+ componentId: "core-11_24_3__sc-e1ql06-5"
38
38
  })(["align-items:center;display:flex;justify-content:space-between;padding:2px ", "px;"], spacing.lg);
39
39
  export var StyledTieredSelectLoadingMore = /*#__PURE__*/styled(Flex).withConfig({
40
40
  displayName: "StyledTieredSelectLoadingMore",
41
- componentId: "core-11_24_1__sc-e1ql06-6"
41
+ componentId: "core-11_24_3__sc-e1ql06-6"
42
42
  })(["align-items:center;justify-content:center;padding:", "px ", "px 0px ", "px;"], spacing.xs, spacing.lg, spacing.lg);
43
43
  export var StyledTieredSelectOverlay = /*#__PURE__*/styled(Card).withConfig({
44
44
  displayName: "StyledTieredSelectOverlay",
45
- componentId: "core-11_24_1__sc-e1ql06-7"
45
+ componentId: "core-11_24_3__sc-e1ql06-7"
46
46
  })(["max-width:248px;min-width:inherit;"]);
47
47
  export var StyledTieredSelectSpinnerOverlay = /*#__PURE__*/styled(Spinner).withConfig({
48
48
  displayName: "StyledTieredSelectSpinnerOverlay",
49
- componentId: "core-11_24_1__sc-e1ql06-8"
49
+ componentId: "core-11_24_3__sc-e1ql06-8"
50
50
  })(["min-height:auto;"]);
51
51
  //# sourceMappingURL=TieredSelect.styles.js.map
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
- import { MenuRef, Selection } from '../MenuImperative/MenuImperative.types';
3
- import { SelectProps } from '../Select/Select.types';
1
+ import type React from 'react';
2
+ import type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types';
3
+ import type { SelectProps } from '../Select/Select.types';
4
4
  export declare type GetValueStringFn = (value: any[]) => string | undefined;
5
5
  export declare type GetValueString = 'full-path' | 'leaf-only' | GetValueStringFn;
6
6
  export declare type Div = React.ComponentPropsWithoutRef<'div'>;
@@ -1 +1 @@
1
- {"version":3,"file":"TieredSelect.types.js","names":[],"sources":["../../src/TieredSelect/TieredSelect.types.ts"],"sourcesContent":["import React from 'react'\nimport { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport { SelectProps } from '../Select/Select.types'\n\nexport type GetValueStringFn = (value: any[]) => string | undefined\n\nexport type GetValueString = 'full-path' | 'leaf-only' | GetValueStringFn\n\nexport type Div = React.ComponentPropsWithoutRef<'div'>\n\nexport type Id = number | string | null | undefined\n\n// all keys are optional since data shape can custom\nexport interface Tier {\n /**\n * @since 10.19.0\n */\n id?: Id\n /**\n * @since 10.19.0\n */\n label?: string\n /**\n * @since 10.19.0\n */\n nextGroupId?: Id\n /**\n * @since 10.19.0\n */\n groupId?: Id\n}\n\nexport interface TierSelection extends Selection {\n /**\n * @since 10.19.0\n */\n value: any[]\n}\n\nexport interface InternalTieredSelectProps\n extends Omit<Div, 'onSelect' | 'onChange'> {\n /**\n * @since 10.19.0\n */\n block?: SelectProps['block']\n /**\n * @since 10.19.0\n */\n disabled?: SelectProps['disabled']\n /**\n * @since 10.19.0\n */\n error?: SelectProps['error']\n /**\n * @since 10.19.0\n */\n loading?: SelectProps['loading']\n /**\n * @since 10.19.0\n */\n options?: any[]\n /**\n * @since 10.19.0\n */\n value?: any[]\n}\n\nexport interface TieredSelectApi {\n /**\n * @since 10.19.0\n */\n afterHide: SelectProps['afterHide']\n /**\n * @since 10.19.0\n */\n afterShow: SelectProps['afterShow']\n /**\n * @since 10.19.0\n */\n beforeHide: SelectProps['beforeHide']\n /**\n * @since 10.19.0\n */\n beforeShow: SelectProps['beforeShow']\n /**\n * @since 10.19.0\n */\n block?: boolean\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => Id'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.GroupId'}</CodeBlock>\n * @since 10.19.0\n */\n getGroupId: (tier: any) => Id\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => Id'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.Id'}</CodeBlock>\n * @since 10.19.0\n */\n getId: (tier: any) => Id\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => string'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.Label'}</CodeBlock>\n * @since 10.19.0\n */\n getLabel: (tier: any) => string | undefined\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => Id'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.NextGroupId'}</CodeBlock>\n * @since 10.19.0\n */\n getNextGroupId: (tier: any) => Id\n\n /**\n * Predefined strings or a callback for using a custom <Code>value</Code>{' '}\n * string\n * <CodeBlock>{'(value: any[]) => string | undefined'}</CodeBlock>\n * Defaults to{' '}\n * <CodeBlock>\n * {\n * '(value: any[]) => value.map((tier) => getLabel!(tier)).join(\" > \")'\n * }\n * </CodeBlock>\n * @since 10.19.0\n */\n getValueString: GetValueStringFn\n\n /**\n * The i18n key to use for the tiered select's configurable strings.\n * Defaults to using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope: string\n /**\n * @since 10.19.0\n */\n isTierDisabled?: (tier: any) => boolean | string | undefined\n /**\n * @since 10.19.0\n */\n isLeaf?: (tier: any) => boolean\n\n /**\n * Used to display a loading indicator as the last item of the list. Can\n * be used with <Code>onScrollBottom</Code> or <Code>onSearch</Code>{' '}\n * (empty <Code>options</Code> during search async call) to indicate the\n * loading of new items.\n * @since 10.19.0\n */\n loadingMore?: boolean\n\n /**\n * <div>\n * Callback for selecting an item from the tiered select. Returns the{' '}\n * <Code>Selection</Code> object from the <Code>Menu</Code> api, along\n * with the updated <Code>value</Code>\n * </div>\n * <CodeBlock>\n * {'(Selection: { event, item, group }, value) =>'}\n * </CodeBlock>\n * @since 10.19.0\n */\n onChange: (selection: TierSelection) => void\n\n /**\n * Callback for when the x icon is pressed.\n * <CodeBlock>{'(event) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onClear?: SelectProps['onClear']\n\n /**\n * Callback for when navigation occurs. Triggered by the left and right\n * arrow keys, or clicking a navigable item. Returns the id of the next\n * group that will be navigated to, and the updated path.\n * <CodeBlock>\n * {'(nextGroupId: string | number | undefined, path: any[]) => '}\n * </CodeBlock>\n * @since 10.19.0\n */\n onNavigate?: (nextGroupId: Id, value: any[]) => void\n\n /**\n * Pass this callback when a quick create experience is desired. Called\n * when the \"create\" button in quick create mode is clicked. Returns the\n * value of the quick create input.\n * <CodeBlock>{'(string) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onQuickCreate?: (name: string) => void\n\n /**\n * Called when the selection menu is scrolled to the bottom. Can be\n * combined with <Code>loadingMore</Code>\n * for an async infinite scrolling menu.\n * <CodeBlock>{'(event) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onScrollBottom?: SelectProps['onScrollBottom']\n\n /**\n * Called when searching the TieredSelect. Behavior must be controlled by\n * implementor\n * <CodeBlock>{'(event) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onSearch?: SelectProps['onSearch']\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\nexport interface TieredSelectProps\n extends Partial<Omit<TieredSelectApi, 'getValueString'>>,\n Omit<Div, 'onSelect' | 'onChange'> {\n /**\n * @since 10.19.0\n */\n block?: SelectProps['block']\n /**\n * @since 10.19.0\n */\n disabled?: SelectProps['disabled']\n /**\n * @since 10.19.0\n */\n error?: SelectProps['error']\n /**\n * Prop to define a custom footer for the tiered select. Accepts a `React.ReactNode`. Takes precedence over quick create footer.\n *\n * Example:\n * ```tsx\n * <TieredSelect\n * ...\n * footer={<div>Custom Footer</div>}\n * ...\n * />\n * ```\n *\n * @default undefined\n * @since 11.4.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n getValueString?: GetValueString\n /**\n * @since 10.19.0\n */\n loading?: SelectProps['loading']\n /**\n * Flat array of tier objects, this array is used as data for the component\n * @since 10.19.0\n */\n options?: any[]\n\n /**\n * If true, any tier is selectable. If false, only leaf nodes are selectable\n * @default true\n * @since 10.19.0\n */\n selectableTiers?: boolean\n\n /**\n * Flat array of tier objects that represents the selected value\n * @since 10.19.0\n */\n value?: any[]\n}\n\nexport interface TieredSelectMenuProps\n extends Omit<Div, 'onSelect' | 'onChange' | 'onDragEnd'>,\n Pick<TieredSelectProps, 'footer' | 'loading' | 'loadingMore' | 'options'> {\n /**\n * @since 10.19.0\n */\n currentTier: Id\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 10.19.0\n */\n onChange: (selection: TierSelection) => void\n /**\n * @since 10.19.0\n */\n onNavigate: (nextGroupId: Id, value: any[]) => void\n /**\n * @since 10.19.0\n */\n onSearch: (e: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n previousValue: any[]\n /**\n * @since 10.19.0\n */\n value: any[]\n}\n\nexport interface ArrowButtonProps {\n /**\n * @since 10.19.0\n */\n onClick?: (event: React.SyntheticEvent) => void\n}\n\nexport interface QuickCreateInputProps {\n /**\n * @since 10.19.0\n */\n autoFocus: boolean\n /**\n * @since 10.19.0\n */\n onSubmit: (name: string) => void\n /**\n * @since 10.19.0\n */\n placeholder: string\n}\n\nexport interface OptionsProps {\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n /**\n * @since 10.19.0\n */\n emptyMessage?: string\n}\n"],"mappings":""}
1
+ {"version":3,"file":"TieredSelect.types.js","names":[],"sources":["../../src/TieredSelect/TieredSelect.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport type { SelectProps } from '../Select/Select.types'\n\nexport type GetValueStringFn = (value: any[]) => string | undefined\n\nexport type GetValueString = 'full-path' | 'leaf-only' | GetValueStringFn\n\nexport type Div = React.ComponentPropsWithoutRef<'div'>\n\nexport type Id = number | string | null | undefined\n\n// all keys are optional since data shape can custom\nexport interface Tier {\n /**\n * @since 10.19.0\n */\n id?: Id\n /**\n * @since 10.19.0\n */\n label?: string\n /**\n * @since 10.19.0\n */\n nextGroupId?: Id\n /**\n * @since 10.19.0\n */\n groupId?: Id\n}\n\nexport interface TierSelection extends Selection {\n /**\n * @since 10.19.0\n */\n value: any[]\n}\n\nexport interface InternalTieredSelectProps\n extends Omit<Div, 'onSelect' | 'onChange'> {\n /**\n * @since 10.19.0\n */\n block?: SelectProps['block']\n /**\n * @since 10.19.0\n */\n disabled?: SelectProps['disabled']\n /**\n * @since 10.19.0\n */\n error?: SelectProps['error']\n /**\n * @since 10.19.0\n */\n loading?: SelectProps['loading']\n /**\n * @since 10.19.0\n */\n options?: any[]\n /**\n * @since 10.19.0\n */\n value?: any[]\n}\n\nexport interface TieredSelectApi {\n /**\n * @since 10.19.0\n */\n afterHide: SelectProps['afterHide']\n /**\n * @since 10.19.0\n */\n afterShow: SelectProps['afterShow']\n /**\n * @since 10.19.0\n */\n beforeHide: SelectProps['beforeHide']\n /**\n * @since 10.19.0\n */\n beforeShow: SelectProps['beforeShow']\n /**\n * @since 10.19.0\n */\n block?: boolean\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => Id'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.GroupId'}</CodeBlock>\n * @since 10.19.0\n */\n getGroupId: (tier: any) => Id\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => Id'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.Id'}</CodeBlock>\n * @since 10.19.0\n */\n getId: (tier: any) => Id\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => string'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.Label'}</CodeBlock>\n * @since 10.19.0\n */\n getLabel: (tier: any) => string | undefined\n\n /**\n * Callback for using a custom <Code>tier</Code> shape\n * <CodeBlock>{'(tier: any) => Id'}</CodeBlock>\n * Defaults to <CodeBlock>{'(tier: any) => tier.NextGroupId'}</CodeBlock>\n * @since 10.19.0\n */\n getNextGroupId: (tier: any) => Id\n\n /**\n * Predefined strings or a callback for using a custom <Code>value</Code>{' '}\n * string\n * <CodeBlock>{'(value: any[]) => string | undefined'}</CodeBlock>\n * Defaults to{' '}\n * <CodeBlock>\n * {\n * '(value: any[]) => value.map((tier) => getLabel!(tier)).join(\" > \")'\n * }\n * </CodeBlock>\n * @since 10.19.0\n */\n getValueString: GetValueStringFn\n\n /**\n * The i18n key to use for the tiered select's configurable strings.\n * Defaults to using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope: string\n /**\n * @since 10.19.0\n */\n isTierDisabled?: (tier: any) => boolean | string | undefined\n /**\n * @since 10.19.0\n */\n isLeaf?: (tier: any) => boolean\n\n /**\n * Used to display a loading indicator as the last item of the list. Can\n * be used with <Code>onScrollBottom</Code> or <Code>onSearch</Code>{' '}\n * (empty <Code>options</Code> during search async call) to indicate the\n * loading of new items.\n * @since 10.19.0\n */\n loadingMore?: boolean\n\n /**\n * <div>\n * Callback for selecting an item from the tiered select. Returns the{' '}\n * <Code>Selection</Code> object from the <Code>Menu</Code> api, along\n * with the updated <Code>value</Code>\n * </div>\n * <CodeBlock>\n * {'(Selection: { event, item, group }, value) =>'}\n * </CodeBlock>\n * @since 10.19.0\n */\n onChange: (selection: TierSelection) => void\n\n /**\n * Callback for when the x icon is pressed.\n * <CodeBlock>{'(event) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onClear?: SelectProps['onClear']\n\n /**\n * Callback for when navigation occurs. Triggered by the left and right\n * arrow keys, or clicking a navigable item. Returns the id of the next\n * group that will be navigated to, and the updated path.\n * <CodeBlock>\n * {'(nextGroupId: string | number | undefined, path: any[]) => '}\n * </CodeBlock>\n * @since 10.19.0\n */\n onNavigate?: (nextGroupId: Id, value: any[]) => void\n\n /**\n * Pass this callback when a quick create experience is desired. Called\n * when the \"create\" button in quick create mode is clicked. Returns the\n * value of the quick create input.\n * <CodeBlock>{'(string) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onQuickCreate?: (name: string) => void\n\n /**\n * Called when the selection menu is scrolled to the bottom. Can be\n * combined with <Code>loadingMore</Code>\n * for an async infinite scrolling menu.\n * <CodeBlock>{'(event) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onScrollBottom?: SelectProps['onScrollBottom']\n\n /**\n * Called when searching the TieredSelect. Behavior must be controlled by\n * implementor\n * <CodeBlock>{'(event) =>'}</CodeBlock>\n * @since 10.19.0\n */\n onSearch?: SelectProps['onSearch']\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\nexport interface TieredSelectProps\n extends Partial<Omit<TieredSelectApi, 'getValueString'>>,\n Omit<Div, 'onSelect' | 'onChange'> {\n /**\n * @since 10.19.0\n */\n block?: SelectProps['block']\n /**\n * @since 10.19.0\n */\n disabled?: SelectProps['disabled']\n /**\n * @since 10.19.0\n */\n error?: SelectProps['error']\n /**\n * Prop to define a custom footer for the tiered select. Accepts a `React.ReactNode`. Takes precedence over quick create footer.\n *\n * Example:\n * ```tsx\n * <TieredSelect\n * ...\n * footer={<div>Custom Footer</div>}\n * ...\n * />\n * ```\n *\n * @default undefined\n * @since 11.4.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n getValueString?: GetValueString\n /**\n * @since 10.19.0\n */\n loading?: SelectProps['loading']\n /**\n * Flat array of tier objects, this array is used as data for the component\n * @since 10.19.0\n */\n options?: any[]\n\n /**\n * If true, any tier is selectable. If false, only leaf nodes are selectable\n * @default true\n * @since 10.19.0\n */\n selectableTiers?: boolean\n\n /**\n * Flat array of tier objects that represents the selected value\n * @since 10.19.0\n */\n value?: any[]\n}\n\nexport interface TieredSelectMenuProps\n extends Omit<Div, 'onSelect' | 'onChange' | 'onDragEnd'>,\n Pick<TieredSelectProps, 'footer' | 'loading' | 'loadingMore' | 'options'> {\n /**\n * @since 10.19.0\n */\n currentTier: Id\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 10.19.0\n */\n onChange: (selection: TierSelection) => void\n /**\n * @since 10.19.0\n */\n onNavigate: (nextGroupId: Id, value: any[]) => void\n /**\n * @since 10.19.0\n */\n onSearch: (e: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n previousValue: any[]\n /**\n * @since 10.19.0\n */\n value: any[]\n}\n\nexport interface ArrowButtonProps {\n /**\n * @since 10.19.0\n */\n onClick?: (event: React.SyntheticEvent) => void\n}\n\nexport interface QuickCreateInputProps {\n /**\n * @since 10.19.0\n */\n autoFocus: boolean\n /**\n * @since 10.19.0\n */\n onSubmit: (name: string) => void\n /**\n * @since 10.19.0\n */\n placeholder: string\n}\n\nexport interface OptionsProps {\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n /**\n * @since 10.19.0\n */\n emptyMessage?: string\n}\n"],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { TieredSelectMenuProps } from './TieredSelect.types';
2
+ import type { TieredSelectMenuProps } from './TieredSelect.types';
3
3
  export declare const TieredSelectMenu: React.ForwardRefExoticComponent<TieredSelectMenuProps & React.RefAttributes<HTMLDivElement>>;