@procore/core-react 12.17.5 → 12.17.7

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 (465) hide show
  1. package/babel.config.js +4 -1
  2. package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
  3. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  4. package/dist/AnchorNavigation/AnchorNavigationProvider.js +5 -5
  5. package/dist/AnchorNavigation/AnchorNavigationProvider.js.map +1 -1
  6. package/dist/Avatar/Avatar.js +10 -11
  7. package/dist/Avatar/Avatar.js.map +1 -1
  8. package/dist/Avatar/Avatar.styles.js +5 -5
  9. package/dist/AvatarStack/AvatarStack.js +14 -14
  10. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  11. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  12. package/dist/Badge/Badge.js +1 -1
  13. package/dist/Badge/Badge.styles.js +2 -2
  14. package/dist/Banner/Banner.js +44 -14
  15. package/dist/Banner/Banner.js.map +1 -1
  16. package/dist/Banner/Banner.styles.d.ts +1 -1
  17. package/dist/Banner/Banner.styles.js +15 -15
  18. package/dist/Banner/Banner.styles.js.map +1 -1
  19. package/dist/Box/Box.js +3 -3
  20. package/dist/Box/Box.styles.js +1 -1
  21. package/dist/Breadcrumbs/Breadcrumbs.js +9 -9
  22. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  23. package/dist/Button/Button.js +7 -7
  24. package/dist/Button/Button.js.map +1 -1
  25. package/dist/Button/Button.styles.d.ts +1 -0
  26. package/dist/Button/Button.styles.js +7 -7
  27. package/dist/Button/Button.styles.js.map +1 -1
  28. package/dist/Button/Button.types.d.ts +4 -0
  29. package/dist/Button/Button.types.js.map +1 -1
  30. package/dist/Calendar/Calendar.js +4 -4
  31. package/dist/Calendar/Calendar.js.map +1 -1
  32. package/dist/Calendar/Calendar.styles.js +8 -8
  33. package/dist/Card/Card.js +3 -3
  34. package/dist/Card/Card.styles.js +1 -1
  35. package/dist/Checkbox/Checkbox.js +9 -9
  36. package/dist/Checkbox/Checkbox.styles.js +6 -6
  37. package/dist/Checkbox/CheckboxTooltip.js +2 -2
  38. package/dist/CheckboxGroup/CheckboxGroup.js +8 -8
  39. package/dist/ClickOutside/ClickOutside.js +3 -3
  40. package/dist/ContactItem/ContactItem.js +3 -3
  41. package/dist/ContactItem/ContactItem.styles.js +5 -5
  42. package/dist/Content/Content.styles.js +2 -2
  43. package/dist/DateInput/DateInput.js +11 -11
  44. package/dist/DateInput/DateInput.js.map +1 -1
  45. package/dist/DateInput/DateInput.styles.js +10 -10
  46. package/dist/DateSelect/DateSelect.js +8 -8
  47. package/dist/DateSelect/DateSelect.js.map +1 -1
  48. package/dist/DetailPage/DetailPage.js +3 -3
  49. package/dist/DetailPage/DetailPage.styles.js +7 -7
  50. package/dist/DetailPage/examples/TableExample.js +5 -5
  51. package/dist/DetailPageTemplate/DetailPageTemplate.js +3 -3
  52. package/dist/Dropdown/Dropdown.js +8 -8
  53. package/dist/Dropdown/Dropdown.styles.js +3 -3
  54. package/dist/DropdownFlyout/DropdownFlyout.helpers.js +14 -14
  55. package/dist/DropdownFlyout/DropdownFlyout.js +8 -8
  56. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  57. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  58. package/dist/Dropzone/Dropzone.hooks.js +17 -18
  59. package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
  60. package/dist/Dropzone/Dropzone.js +19 -21
  61. package/dist/Dropzone/Dropzone.js.map +1 -1
  62. package/dist/Dropzone/Dropzone.styles.js +9 -9
  63. package/dist/EmptyState/EmptyState.js +3 -3
  64. package/dist/EmptyState/EmptyState.styles.js +6 -6
  65. package/dist/Field/Field.js +3 -3
  66. package/dist/Field/Field.styles.js +3 -3
  67. package/dist/FileList/FileList.js +3 -3
  68. package/dist/FileList/FileList.styles.js +4 -4
  69. package/dist/FileSelect/FileExplorer/FileExplorer.js +3 -3
  70. package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
  71. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  72. package/dist/FileSelect/FileExplorer/FileExplorerModal.js +3 -3
  73. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js +5 -5
  74. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
  75. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  76. package/dist/FileSelect/FileExplorer/useSidebarNavigation.js +8 -8
  77. package/dist/FileSelect/FileSelect.js +21 -21
  78. package/dist/FileSelect/FileSelect.js.map +1 -1
  79. package/dist/FileSelect/FileSelect.styles.js +2 -2
  80. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js +5 -5
  81. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
  82. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  83. package/dist/FileSelect/FileTokenList/FileTokenList.js +8 -8
  84. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  85. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  86. package/dist/FileSelect/GridSource/GridSource.js +20 -20
  87. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  88. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  89. package/dist/FileSelect/LocalSource/LocalSource.js +19 -19
  90. package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
  91. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  92. package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js +11 -11
  93. package/dist/FileSelect/SourceItem/SourceItem.js +3 -3
  94. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  95. package/dist/FileSelect/ThumbnailList/ThumbnailList.js +8 -8
  96. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  97. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  98. package/dist/FileSelect/TreeSource/TreeSource.js +21 -21
  99. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  100. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  101. package/dist/FileSelect/storyHelpers.js +4 -4
  102. package/dist/FileSelect/storyHelpers.js.map +1 -1
  103. package/dist/FileToken/FileToken.js +8 -8
  104. package/dist/FileToken/FileToken.styles.js +4 -4
  105. package/dist/FilterToken/FilterToken.js +25 -35
  106. package/dist/FilterToken/FilterToken.js.map +1 -1
  107. package/dist/FilterToken/FilterToken.styles.d.ts +5 -0
  108. package/dist/FilterToken/FilterToken.styles.js +18 -2
  109. package/dist/FilterToken/FilterToken.styles.js.map +1 -1
  110. package/dist/Flex/Flex.js +3 -3
  111. package/dist/FlexList/FlexList.js +3 -3
  112. package/dist/FlexList/FlexList.styles.js +1 -1
  113. package/dist/Form/Form.js +22 -18
  114. package/dist/Form/Form.js.map +1 -1
  115. package/dist/Form/Form.styles.js +14 -14
  116. package/dist/Form/FormFieldTooltip.js +1 -1
  117. package/dist/Form/StyledFormikForm.styles.js +2 -2
  118. package/dist/Form/stories/util.js +9 -9
  119. package/dist/Form/stories/util.js.map +1 -1
  120. package/dist/GhostPlaceholder/GhostPlaceholder.js +3 -3
  121. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  122. package/dist/Grid/Grid.js +3 -3
  123. package/dist/Grid/Grid.styles.js +3 -3
  124. package/dist/Grid/Grid.utils.js +5 -5
  125. package/dist/GroupSelect/GroupSelect.js +17 -17
  126. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  127. package/dist/Input/Input.js +3 -3
  128. package/dist/Input/Input.styles.js +1 -1
  129. package/dist/Link/Link.js +3 -3
  130. package/dist/Link/Link.styles.js +1 -1
  131. package/dist/ListPage/ListPage.js +3 -3
  132. package/dist/ListPage/ListPage.styles.js +8 -8
  133. package/dist/Loader/Loader.js +3 -3
  134. package/dist/Loader/Loader.styles.js +2 -2
  135. package/dist/Menu/Menu.js +15 -15
  136. package/dist/Menu/Menu.js.map +1 -1
  137. package/dist/MenuImperative/MenuImperative.js +15 -15
  138. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  139. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  140. package/dist/MenuImperative/sensors.js +8 -8
  141. package/dist/MenuImperative/sensors.js.map +1 -1
  142. package/dist/Modal/ChildRegistry.context.js +11 -11
  143. package/dist/Modal/Modal.js +8 -8
  144. package/dist/Modal/Modal.js.map +1 -1
  145. package/dist/Modal/Modal.styles.js +13 -13
  146. package/dist/Modal/Modal.types.d.ts +3 -1
  147. package/dist/Modal/Modal.types.js.map +1 -1
  148. package/dist/Modal/storyHelpers.js +7 -7
  149. package/dist/MultiSelect/MultiSelect.js +17 -17
  150. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  151. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  152. package/dist/NextMenu/NextMenu.js +14 -14
  153. package/dist/NextMenu/NextMenu.js.map +1 -1
  154. package/dist/NextMenu/NextMenu.styles.js +3 -3
  155. package/dist/NextMenu/NextMenuItem.js +3 -3
  156. package/dist/NextMenu/sampleData.js +7 -6
  157. package/dist/NextMenu/sampleData.js.map +1 -1
  158. package/dist/NextTile/NextTile.js +9 -9
  159. package/dist/Notation/Notation.js +4 -4
  160. package/dist/NumberInput/NumberInput.hooks.js +5 -5
  161. package/dist/NumberInput/NumberInput.js +14 -14
  162. package/dist/NumberInput/NumberInput.js.map +1 -1
  163. package/dist/NumberInput/NumberInput.styles.js +7 -7
  164. package/dist/NumberInput/NumberInput.utils.js +11 -11
  165. package/dist/Overlay/Overlay.js.map +1 -1
  166. package/dist/Overlay/OverlayArrow.js +4 -4
  167. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  168. package/dist/OverlayTrigger/OverlayTrigger.js +15 -15
  169. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  170. package/dist/OverlayTrigger/a11yPresets.js +6 -6
  171. package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
  172. package/dist/PageFooterTemplate/PageFooterTemplate.js +3 -3
  173. package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  174. package/dist/PageHeaderTemplate/PageHeaderTemplate.js +3 -3
  175. package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  176. package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js +5 -5
  177. package/dist/PageLayout/PageLayout.js +15 -15
  178. package/dist/PageLayout/PageLayout.js.map +1 -1
  179. package/dist/PageLayout/PageLayout.styles.js +16 -16
  180. package/dist/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  181. package/dist/PageTemplate/PageTemplate.js +3 -3
  182. package/dist/PageTemplate/PageTemplate.styles.js +3 -3
  183. package/dist/PageTemplate/PageTemplateCard.js +3 -3
  184. package/dist/Pagination/Pagination.js +3 -3
  185. package/dist/Pagination/Pagination.js.map +1 -1
  186. package/dist/Pagination/Pagination.styles.js +5 -5
  187. package/dist/Pagination/PaginationSelect.js +3 -3
  188. package/dist/Panel/Panel.js +8 -8
  189. package/dist/Panel/Panel.js.map +1 -1
  190. package/dist/Panel/Panel.styles.js +11 -11
  191. package/dist/Pill/Pill.js +3 -3
  192. package/dist/Pill/Pill.styles.js +2 -2
  193. package/dist/PillSelect/PillSelect.js +8 -8
  194. package/dist/PillSelect/PillSelect.styles.js +4 -4
  195. package/dist/Popover/Popover.js +9 -9
  196. package/dist/Popover/Popover.styles.js +2 -2
  197. package/dist/Portal/Portal.js +3 -3
  198. package/dist/Portal/Portal.styles.js +1 -1
  199. package/dist/ProgressBar/ProgressBar.d.ts +2 -0
  200. package/dist/ProgressBar/ProgressBar.js +10 -8
  201. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  202. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  203. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  204. package/dist/RadioButton/RadioButton.js +3 -3
  205. package/dist/RadioButton/RadioButton.styles.js +3 -3
  206. package/dist/Required/Required.js +3 -3
  207. package/dist/Required/Required.styles.js +3 -3
  208. package/dist/Search/Search.hooks.js +5 -5
  209. package/dist/Search/Search.js +3 -3
  210. package/dist/Search/Search.js.map +1 -1
  211. package/dist/Search/Search.styles.js +5 -5
  212. package/dist/Section/Section.js +15 -16
  213. package/dist/Section/Section.js.map +1 -1
  214. package/dist/Section/Section.styles.js +7 -7
  215. package/dist/Section/Section.styles.js.map +1 -1
  216. package/dist/SegmentedController/SegmentedController.js +14 -14
  217. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  218. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  219. package/dist/Select/Select.js +8 -8
  220. package/dist/Select/Select.js.map +1 -1
  221. package/dist/Select/Select.styles.js +7 -7
  222. package/dist/Semantic/Semantic.js +3 -3
  223. package/dist/Semantic/Semantic.styles.js +9 -9
  224. package/dist/SettingsPage/SettingsPage.js +3 -3
  225. package/dist/SettingsPageTemplate/SettingsPageTemplate.js +3 -3
  226. package/dist/Slider/Slider.js +8 -8
  227. package/dist/Slider/Slider.js.map +1 -1
  228. package/dist/Slider/Slider.styles.js +5 -5
  229. package/dist/Spinner/Spinner.js +3 -3
  230. package/dist/Spinner/Spinner.styles.js +7 -7
  231. package/dist/SplitViewCard/SplitViewCard.context.js +5 -5
  232. package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
  233. package/dist/SplitViewCard/SplitViewCard.js +8 -8
  234. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  235. package/dist/SuperSelect/SuperSelect.components.js +8 -8
  236. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  237. package/dist/SuperSelect/SuperSelect.js +7 -7
  238. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  239. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  240. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  241. package/dist/SuperSelect/SuperSelect.utils.js +15 -16
  242. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
  243. package/dist/SuperSelect/presets/contactsPreset.js +3 -3
  244. package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
  245. package/dist/SuperSelect/presets/filterPreset.js +1 -1
  246. package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
  247. package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
  248. package/dist/SuperSelect/useSuperSelect.js +14 -14
  249. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  250. package/dist/Switch/Switch.js +3 -3
  251. package/dist/Switch/Switch.styles.js +4 -4
  252. package/dist/Table/Table.js +9 -9
  253. package/dist/Table/Table.js.map +1 -1
  254. package/dist/Table/Table.styles.js +28 -28
  255. package/dist/TableShelf/TableShelf.js +3 -3
  256. package/dist/TableShelf/TableShelf.styles.js +5 -5
  257. package/dist/Tabs/Tabs.js +17 -17
  258. package/dist/Tabs/Tabs.js.map +1 -1
  259. package/dist/Tabs/Tabs.styles.js +15 -15
  260. package/dist/Tearsheet/Tearsheet.js +11 -11
  261. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  262. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  263. package/dist/TextArea/TextArea.js +3 -3
  264. package/dist/TextArea/TextArea.styles.js +1 -1
  265. package/dist/TextEditor/TextEditor.js +17 -17
  266. package/dist/TextEditorOutput/TextEditorOutput.js +9 -9
  267. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  268. package/dist/Thumbnail/Thumbnail.hooks.d.ts +8 -0
  269. package/dist/Thumbnail/Thumbnail.hooks.js +8 -8
  270. package/dist/Thumbnail/Thumbnail.js +9 -9
  271. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  272. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  273. package/dist/Thumbnail/Thumbnail.utils.js +11 -12
  274. package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
  275. package/dist/Thumbnail/ThumbnailCaption.js +3 -3
  276. package/dist/Thumbnail/ThumbnailDocumentIcon.js +7 -8
  277. package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
  278. package/dist/Thumbnail/ThumbnailPreview.js +5 -5
  279. package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js +5 -5
  280. package/dist/ThumbnailGrid/ThumbnailGrid.js +17 -17
  281. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  282. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  283. package/dist/TieredDropdown/TieredDropdown.js +14 -14
  284. package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
  285. package/dist/TieredDropdown/useSearch.js +5 -5
  286. package/dist/TieredSelect/LeafSelectionTieredSelect.js +8 -8
  287. package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
  288. package/dist/TieredSelect/TierSelectionTieredSelect.js +17 -17
  289. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  290. package/dist/TieredSelect/TieredSelect.js +8 -8
  291. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  292. package/dist/TieredSelect/TieredSelectMenu.js +17 -17
  293. package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
  294. package/dist/Tile/Tile.js +3 -3
  295. package/dist/Tile/Tile.js.map +1 -1
  296. package/dist/Tile/Tile.styles.js +8 -8
  297. package/dist/Title/Title.js +3 -3
  298. package/dist/Title/Title.styles.js +7 -7
  299. package/dist/Toast/Toast.js +4 -4
  300. package/dist/Toast/Toast.styles.js +3 -3
  301. package/dist/ToggleButton/ToggleButton.js +3 -3
  302. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  303. package/dist/Token/Token.js +4 -4
  304. package/dist/Token/Token.styles.js +3 -3
  305. package/dist/ToolHeader/ActionIcon.js +3 -3
  306. package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
  307. package/dist/ToolHeader/ToolHeader.js +9 -9
  308. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  309. package/dist/ToolLandingPage/ToolLandingPage.js +3 -3
  310. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  311. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js +3 -3
  312. package/dist/Tooltip/Tooltip.js +8 -8
  313. package/dist/Tooltip/Tooltip.styles.js +2 -2
  314. package/dist/Tree/Tree.hooks.js +14 -14
  315. package/dist/Tree/Tree.hooks.js.map +1 -1
  316. package/dist/Tree/Tree.js +14 -14
  317. package/dist/Tree/Tree.js.map +1 -1
  318. package/dist/Tree/Tree.styles.js +9 -9
  319. package/dist/Tree/Tree.styles.js.map +1 -1
  320. package/dist/Typeahead/Typeahead.js +9 -9
  321. package/dist/Typeahead/Typeahead.styles.js +3 -3
  322. package/dist/Typography/Typography.js +3 -3
  323. package/dist/Typography/Typography.styles.js +1 -1
  324. package/dist/Typography/Typography.table.story.js +2 -2
  325. package/dist/_hooks/Anchor.js +19 -16
  326. package/dist/_hooks/Anchor.js.map +1 -1
  327. package/dist/_hooks/Buffer.js +8 -7
  328. package/dist/_hooks/Buffer.js.map +1 -1
  329. package/dist/_hooks/ClickOutside.js +2 -1
  330. package/dist/_hooks/ClickOutside.js.map +1 -1
  331. package/dist/_hooks/DateTime/DateTime.js +17 -17
  332. package/dist/_hooks/DelayedCallback.js +1 -1
  333. package/dist/_hooks/DelayedToggle.js +7 -2
  334. package/dist/_hooks/DelayedToggle.js.map +1 -1
  335. package/dist/_hooks/Deprecation.js +1 -0
  336. package/dist/_hooks/Deprecation.js.map +1 -1
  337. package/dist/_hooks/EventListener.js +5 -5
  338. package/dist/_hooks/FocusScopeOverride.js +6 -6
  339. package/dist/_hooks/FocusScopeOverride.js.map +1 -1
  340. package/dist/_hooks/Hotkey.js +2 -2
  341. package/dist/_hooks/Hotkey.js.map +1 -1
  342. package/dist/_hooks/I18n.js +13 -13
  343. package/dist/_hooks/InjectedScript.js +8 -7
  344. package/dist/_hooks/InjectedScript.js.map +1 -1
  345. package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js +5 -5
  346. package/dist/_hooks/ListNavigation.js +9 -7
  347. package/dist/_hooks/ListNavigation.js.map +1 -1
  348. package/dist/_hooks/OverflowObserver/OverflowObserver.js +6 -6
  349. package/dist/_hooks/ResizeObserver.js +5 -5
  350. package/dist/_hooks/TextEntry.js +5 -2
  351. package/dist/_hooks/TextEntry.js.map +1 -1
  352. package/dist/_hooks/Timer.js +1 -0
  353. package/dist/_hooks/Timer.js.map +1 -1
  354. package/dist/_hooks/Trigger.js +19 -13
  355. package/dist/_hooks/Trigger.js.map +1 -1
  356. package/dist/_hooks/Visibility.js +9 -7
  357. package/dist/_hooks/Visibility.js.map +1 -1
  358. package/dist/_hooks/ZIndex.js +7 -7
  359. package/dist/_hooks/getI18nProviderLocale.js +2 -1
  360. package/dist/_hooks/getI18nProviderLocale.js.map +1 -1
  361. package/dist/_hooks/useCurrentMedia.js +5 -5
  362. package/dist/_hooks/useFileUploader.js +15 -15
  363. package/dist/_hooks/useFileUploader.js.map +1 -1
  364. package/dist/_hooks/useFocusWithin.js +5 -5
  365. package/dist/_hooks/useMediaLessThan.js +5 -5
  366. package/dist/_hooks/useSet.js +5 -5
  367. package/dist/_styles/colors.js +6 -6
  368. package/dist/_styles/spacing.d.ts +27 -0
  369. package/dist/_styles/spacing.js +27 -0
  370. package/dist/_styles/spacing.js.map +1 -1
  371. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  372. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  373. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  374. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  375. package/dist/_typedoc/Box/Box.types.json +68 -68
  376. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  377. package/dist/_typedoc/Button/Button.types.json +24 -16
  378. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  379. package/dist/_typedoc/Card/Card.types.json +6 -6
  380. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  381. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  382. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  383. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  384. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  385. package/dist/_typedoc/Dropdown/Dropdown.types.json +43 -39
  386. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  387. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  388. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  389. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  390. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  391. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  392. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  393. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  394. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  395. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  396. package/dist/_typedoc/Form/Form.types.json +745 -745
  397. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  398. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  399. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  400. package/dist/_typedoc/Input/Input.types.json +2 -2
  401. package/dist/_typedoc/Link/Link.types.json +4 -4
  402. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  403. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  404. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  405. package/dist/_typedoc/Modal/Modal.types.json +50 -50
  406. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  407. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  408. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  409. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  410. package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
  411. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  412. package/dist/_typedoc/Panel/Panel.types.json +34 -30
  413. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  414. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  415. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  416. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  417. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  418. package/dist/_typedoc/Required/Required.types.json +5 -5
  419. package/dist/_typedoc/Search/Search.types.json +19 -19
  420. package/dist/_typedoc/Section/Section.types.json +15 -15
  421. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  422. package/dist/_typedoc/Select/Select.types.json +60 -60
  423. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  424. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  425. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  426. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
  427. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  428. package/dist/_typedoc/Table/Table.types.json +101 -101
  429. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  430. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  431. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  432. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  433. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +6 -6
  434. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  435. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +48 -44
  436. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  437. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  438. package/dist/_typedoc/Title/Title.types.json +1 -1
  439. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  440. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  441. package/dist/_typedoc/Token/Token.types.json +4 -4
  442. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  443. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  444. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  445. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  446. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  447. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  448. package/dist/_typedoc/_utils/types.json +3 -3
  449. package/dist/_typedoc/deprecations.json +1 -1
  450. package/dist/_utils/TinyMCE.js +4 -4
  451. package/dist/_utils/TinyMCE.js.map +1 -1
  452. package/dist/_utils/closeWithConfirm.js +5 -5
  453. package/dist/_utils/closeWithConfirm.js.map +1 -1
  454. package/dist/_utils/dateTime.js +6 -6
  455. package/dist/_utils/dateTime.js.map +1 -1
  456. package/dist/_utils/getAnchorPosition.js +11 -11
  457. package/dist/_utils/getAnchorPosition.js.map +1 -1
  458. package/dist/_utils/partition.js +5 -5
  459. package/dist/_utils/runInQueue.js +4 -4
  460. package/dist/_utils/runInQueue.js.map +1 -1
  461. package/dist/_utils/slotify.js +7 -7
  462. package/dist/_utils/triggerListeners.js +6 -6
  463. package/package.json +5 -4
  464. package/tsconfig.prod.json +2 -1
  465. package/tsconfig.test.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailGrid.js","names":["useFocusWithin","React","InfiniteLoader","Spinner","Tooltip","useI18nContext","mergeRefs","useGridNavigation","StyledCheckbox","StyledGroupCell","StyledGroupTitle","StyledSpinnerWrapper","StyledThumbnail","StyledThumbnailGrid","StyledVariableSizeGrid","noop","asyncNoop","Promise","resolve","titleHeight","titleTopPadding","thumbnailHeight","thumbnailWidh","defaultColumnsCount","gutterSize","columnWidth","gridLeftPadding","defaultGridWidth","defaultGridHeight","getId","item","id","getGridRows","_ref","items","groups","title","_ref$isFetching","isFetching","groupTitleFallback","_ref$columnsCount","columnsCount","splitToRows","reduce","acc","index","rowIndex","Math","floor","row","push","splitToGroupedRows","groupedRows","groupedThumbnails","_item$groupId","groupId","String","group","get","set","Map","map","_ref2","forEach","groupRows","length","_groups$find","groupTitleRow","find","_ref3","unshift","concat","_toConsumableArray","setGridTitle","rows","setLoadingIndicator","gridRows","gridRowsWithOptionalTitle","gridRowsWithOptionalLoadingIndicator","filterByGroupId","GroupCell","_ref4","children","style","props","_objectWithoutProperties","_excluded","createElement","_extends","_objectSpread","left","top","width","ThumbnailCell","_ref5","className","_excluded2","GridOuterContainer","forwardRef","ref","tabIndex","GridInnerContainer","_ref6","_excluded3","paddingLeft","ThumbnailGrid","_ref7","_ref7$selected","selected","_ref7$title","_ref7$gridWidth","gridWidth","_ref7$gridHeight","gridHeight","_ref7$onSelect","onSelect","_ref7$onDeselect","onDeselect","_ref7$disableSelectio","disableSelection","value","tooltip","_ref7$isFetching","_ref7$loadMoreItems","loadMoreItems","qa","_ref7$allowSelectAll","allowSelectAll","_ref7$onSelectAll","onSelectAll","_ref7$onDeselectAll","onDeselectAll","_ref7$onSelectAllGrou","onSelectAllGroup","_ref7$onDeselectAllGr","onDeselectAllGroup","_excluded4","gridContainerRef","useRef","I18n","gridContainer","current","gridRef","_React$useState","useState","_React$useState2","_slicedToArray","gridContainerWidth","setGridContainerWidth","_React$useState3","_React$useState4","setColumnsCount","gridInstance","_useFocusWithin","onFocusWithin","e","setIsGridFocused","onBlurWithin","focusWithinProps","useEffect","handleResize","offsetWidth","containerWidth","currentColumnsCount","window","addEventListener","removeEventListener","useMemo","t","isTitleRow","rowCells","isFetchingRow","isNonNavigableRow","rowHeights","titleRow","titleRowIsNotFirstGridRow","rowPadding","nonNavigableRowIndices","filter","_ref8","_ref9","navigationIndicesRows","cell","findIndex","getNumberOfNonNavigableRowsBefore","useCallback","getThumbnailNavigationIndex","cellIndex","thumbnailNavigationIndexToRowIndexMap","mappedRowCells","_","navIndex","_React$useState5","_React$useState6","isGridFocused","navigation","indicesRows","isThumbnailSelected","thumbnail","some","_ref10","toggle","itemsIds","selectedIds","isFullySelected","every","includes","isPartiallySelected","isGroupFullySelected","currentGroupItems","selectedGroupItems","isGroupPartiallySelected","onSelectAllChange","stopPropagation","onSelectAllGroupChange","onMouseDown","preventDefault","updateNavigationPosition","key","nativeEvent","shiftKey","down","up","right","onKeyDown","newPosition","scrollToItem","setIndicesRows","resetAfterRowIndex","grid","itemCount","isItemLoaded","threshold","_ref11","onItemsRendered","infiniteLoaderRef","height","rowCount","rowHeight","columnCount","innerElementType","overscanRowCount","_ref12","visibleRowStartIndex","visibleRowStopIndex","overscanRowStopIndex","overscanRowStartIndex","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","overflow","_ref13","_qa$thumbnail","columnIndex","cellData","isGlobalTitle","dataQa","onChangeCallback","isChecked","isIndeterminate","onChange","checked","indeterminate","weight","color","thumbnailNavigationIndex","isNavigationTarget","isFocused","isSelected","isDisabled","trigger","overlay","showKeys","call","focused","disabled","caption","name","src","label","hasCaptionPlaceholder","role","onClick","_ref14","_dataset","target","isCaptionTooltipClick","dataset","captionTooltip","setIndex","focus"],"sources":["../../src/ThumbnailGrid/ThumbnailGrid.tsx"],"sourcesContent":["import { useFocusWithin } from '@react-aria/interactions'\nimport React from 'react'\nimport type { GridChildComponentProps, VariableSizeGrid } from 'react-window'\nimport InfiniteLoader from 'react-window-infinite-loader'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes } from '../_utils/types'\nimport { useGridNavigation } from './ThumbnailGrid.hooks'\nimport {\n StyledCheckbox,\n StyledGroupCell,\n StyledGroupTitle,\n StyledSpinnerWrapper,\n StyledThumbnail,\n StyledThumbnailGrid,\n StyledVariableSizeGrid,\n} from './ThumbnailGrid.styles'\nimport type {\n GridCellData,\n ThumbnailGridGroup,\n ThumbnailGridGroupTitle,\n ThumbnailGridItem,\n ThumbnailGridProps,\n} from './ThumbnailGrid.types'\n\nfunction noop() {}\n\nconst asyncNoop = () => Promise.resolve()\n\nconst titleHeight = 20\nconst titleTopPadding = 24\nconst thumbnailHeight = 138\nconst thumbnailWidh = 104\nconst defaultColumnsCount = 5\nconst gutterSize = 12\nconst columnWidth = thumbnailWidh + gutterSize\nconst gridLeftPadding = 24\nconst defaultGridWidth = gridLeftPadding + columnWidth * defaultColumnsCount\nconst defaultGridHeight = (thumbnailHeight + gutterSize) * 3\nconst getId = (item: ThumbnailGridItem) => item.id\n\nconst getGridRows = ({\n items,\n groups,\n title,\n isFetching = false,\n groupTitleFallback,\n columnsCount = defaultColumnsCount,\n}: {\n items: ThumbnailGridItem[]\n groups?: ThumbnailGridGroup[]\n title?: string\n isFetching: boolean\n groupTitleFallback: string\n columnsCount: number\n}) => {\n const splitToRows = (items: GridCellData[]) =>\n items.reduce((acc: GridCellData[][], item: GridCellData, index: number) => {\n const rowIndex = Math.floor(index / columnsCount)\n const row = (acc[rowIndex] = acc[rowIndex] || [])\n row.push(item)\n return acc\n }, [] as GridCellData[][])\n\n const splitToGroupedRows = (\n items: ThumbnailGridItem[],\n groups: ThumbnailGridGroup[]\n ) => {\n let groupedRows: GridCellData[][] = []\n\n const groupedThumbnails = items.reduce((acc, item) => {\n const groupId = item.groupId ?? String(item.groupId)\n const group = acc.get(groupId)\n if (group) {\n group.push(item)\n } else {\n acc.set(groupId, [item])\n }\n return acc\n }, new Map<string | number, GridCellData[]>(groups.map(({ id }) => [id, []])))\n\n groupedThumbnails.forEach((group, groupId) => {\n const groupRows = splitToRows(group)\n\n if (groupRows.length) {\n const groupTitleRow = [\n {\n title:\n groups.find(({ id }) => groupId === id)?.title ||\n groupTitleFallback,\n groupId,\n } as ThumbnailGridGroupTitle,\n ]\n groupRows.unshift(groupTitleRow)\n }\n\n groupedRows = [...groupedRows, ...groupRows]\n })\n\n return groupedRows\n }\n\n const setGridTitle = (rows: GridCellData[][]) => {\n if (title) {\n rows.unshift([{ title: title }])\n }\n return rows\n }\n\n const setLoadingIndicator = (rows: GridCellData[][]) => {\n if (isFetching) {\n rows.push([{ isFetching }])\n }\n return rows\n }\n\n const gridRows = groups\n ? splitToGroupedRows(items, groups)\n : splitToRows(items)\n\n const gridRowsWithOptionalTitle = setGridTitle(gridRows)\n const gridRowsWithOptionalLoadingIndicator = setLoadingIndicator(\n gridRowsWithOptionalTitle\n )\n\n return gridRowsWithOptionalLoadingIndicator\n}\n\nconst filterByGroupId = (item: ThumbnailGridItem, groupId: string) => {\n return String(item.groupId) === groupId\n}\n\nconst GroupCell = ({\n children,\n style,\n columnsCount,\n ...props\n}: DivAttributes & { columnsCount: number }) => {\n return (\n <StyledGroupCell\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n width: columnWidth * columnsCount,\n }}\n {...props}\n >\n {children}\n </StyledGroupCell>\n )\n}\n\nconst ThumbnailCell = ({\n children,\n className,\n style,\n ...props\n}: DivAttributes) => {\n return (\n <div\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n }}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// See https://github.com/bvaughn/react-window/issues/130\nconst GridOuterContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n (props, ref) => <div ref={ref} tabIndex={-1} {...props} />\n)\n\nconst GridInnerContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ style, ...props }, ref) => (\n <div\n ref={ref}\n tabIndex={-1}\n style={{\n ...style,\n paddingLeft: gridLeftPadding,\n width: (style?.width as number) + gridLeftPadding,\n }}\n {...props}\n />\n )\n)\n\nexport const ThumbnailGrid = React.forwardRef<\n HTMLDivElement,\n Omit<DivAttributes, 'onSelect'> & ThumbnailGridProps\n>(\n (\n {\n items,\n selected = [],\n groups,\n title = '',\n gridWidth = defaultGridWidth,\n gridHeight = defaultGridHeight,\n onSelect = noop,\n onDeselect = noop,\n disableSelection = {\n value: false,\n tooltip: '',\n },\n isFetching = false,\n loadMoreItems = asyncNoop,\n qa,\n allowSelectAll = false,\n onSelectAll = noop,\n onDeselectAll = noop,\n onSelectAllGroup = noop,\n onDeselectAllGroup = noop,\n ...props\n },\n forwardRef\n ) => {\n const gridContainerRef = React.useRef<HTMLDivElement>(null)\n const I18n = useI18nContext()\n const gridContainer = gridContainerRef.current\n const gridRef = React.useRef<VariableSizeGrid | null>(null)\n const [gridContainerWidth, setGridContainerWidth] =\n React.useState<number>(gridWidth)\n const [columnsCount, setColumnsCount] =\n React.useState<number>(defaultColumnsCount)\n const gridInstance = gridRef.current\n let { focusWithinProps } = useFocusWithin({\n onFocusWithin: (e) => setIsGridFocused(true),\n onBlurWithin: (e) => setIsGridFocused(false),\n })\n\n React.useEffect(() => {\n const handleResize = () => {\n if (gridContainer?.offsetWidth) {\n const containerWidth = gridContainer.offsetWidth - gridLeftPadding\n const currentColumnsCount = Math.floor(containerWidth / columnWidth)\n setGridContainerWidth(containerWidth)\n setColumnsCount(currentColumnsCount || 1)\n }\n }\n\n handleResize() // Initial resize calculation\n\n window.addEventListener('resize', handleResize)\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [gridContainer])\n\n const rows = React.useMemo(\n () =>\n getGridRows({\n items,\n groups,\n isFetching,\n title,\n columnsCount,\n groupTitleFallback: I18n.t(\n 'core.fileExplorer.ungroupedThumbnailGridGroup'\n ),\n }),\n [items, groups, title, isFetching, columnsCount]\n )\n\n const isTitleRow = (rowCells: GridCellData[]): boolean =>\n 'title' in rowCells[0]\n\n const isFetchingRow = (rowCells: GridCellData[]): boolean =>\n 'isFetching' in rowCells[0]\n\n const isNonNavigableRow = (rowCells: GridCellData[]) =>\n isTitleRow(rowCells) || isFetchingRow(rowCells)\n\n const rowHeights = React.useMemo(() => {\n return rows.map((rowCells, index) => {\n const titleRow = isTitleRow(rowCells)\n const titleRowIsNotFirstGridRow = titleRow && index > 0\n const rowPadding =\n (titleRowIsNotFirstGridRow ? titleTopPadding : 0) + gutterSize\n\n if (titleRow) {\n return titleHeight + rowPadding\n } else {\n return thumbnailHeight + rowPadding\n }\n })\n }, [rows])\n\n const nonNavigableRowIndices = React.useMemo(\n () =>\n rows\n .map((rowCells, index) => ({\n index,\n isNonNavigableRow: isNonNavigableRow(rowCells),\n }))\n .filter(({ isNonNavigableRow }) => isNonNavigableRow)\n .map(({ index }) => index),\n [rows]\n )\n\n const navigationIndicesRows = React.useMemo(\n () =>\n rows\n .filter((rowCells) => !isNonNavigableRow(rowCells))\n .map((rowCells) =>\n rowCells.map((cell) =>\n items.findIndex(\n (item) => item.id === (cell as ThumbnailGridItem).id\n )\n )\n ),\n [rows, items]\n )\n\n const getNumberOfNonNavigableRowsBefore = React.useCallback(\n (rowIndex: number) =>\n nonNavigableRowIndices.filter((index) => rowIndex > index).length,\n [nonNavigableRowIndices]\n )\n\n const getThumbnailNavigationIndex = React.useCallback(\n (rowIndex: number, cellIndex: number) => {\n return navigationIndicesRows[\n rowIndex - getNumberOfNonNavigableRowsBefore(rowIndex)\n ][cellIndex]\n },\n [navigationIndicesRows, getNumberOfNonNavigableRowsBefore]\n )\n\n const thumbnailNavigationIndexToRowIndexMap = React.useMemo(\n () =>\n rows.reduce((acc, rowCells, rowIndex) => {\n if (isNonNavigableRow(rowCells)) return acc\n\n const mappedRowCells = rowCells.reduce((acc, _, cellIndex) => {\n const navIndex = String(\n getThumbnailNavigationIndex(rowIndex, cellIndex)\n )\n acc[navIndex] = rowIndex\n return acc\n }, {} as Record<string, number>)\n\n return { ...acc, ...mappedRowCells }\n }, {} as Record<string, number>),\n [rows, getThumbnailNavigationIndex]\n )\n\n const [isGridFocused, setIsGridFocused] = React.useState(false)\n\n const navigation = useGridNavigation({\n indicesRows: navigationIndicesRows,\n })\n\n const isThumbnailSelected = (thumbnail: ThumbnailGridItem) =>\n selected.some(({ id }) => thumbnail.id === id)\n\n const toggle = (thumbnail: ThumbnailGridItem) => {\n if (isThumbnailSelected(thumbnail)) {\n onDeselect(thumbnail)\n } else if (!disableSelection.value) {\n onSelect(thumbnail)\n }\n }\n\n const itemsIds = React.useMemo(() => items.map(getId), [items])\n const selectedIds = React.useMemo(() => selected.map(getId), [selected])\n\n const isFullySelected = React.useMemo(() => {\n return (\n itemsIds.length > 0 && itemsIds.every((id) => selectedIds.includes(id))\n )\n }, [selected, items])\n\n const isPartiallySelected = React.useMemo(() => {\n return (\n selectedIds.length > 0 &&\n !isFullySelected &&\n itemsIds.some((id) => selectedIds.includes(id))\n )\n }, [selected, isFullySelected])\n\n const isGroupFullySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n currentGroupItems.length > 0 &&\n currentGroupItems\n .map(getId)\n .every((id) => selectedGroupItems.map(getId).includes(id))\n )\n }\n\n const isGroupPartiallySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n selectedGroupItems.length > 0 &&\n !isGroupFullySelected(groupId) &&\n selectedGroupItems\n .map(getId)\n .some((id) => currentGroupItems.map(getId).includes(id))\n )\n }\n\n const onSelectAllChange = (e: React.FormEvent<HTMLInputElement>) => {\n e.stopPropagation()\n if (!isFullySelected) {\n onSelectAll?.()\n } else {\n onDeselectAll?.()\n }\n }\n\n const onSelectAllGroupChange = (\n e: React.FormEvent<HTMLInputElement>,\n groupId: string\n ) => {\n e.stopPropagation()\n if (!isGroupFullySelected(groupId)) {\n onSelectAllGroup?.(groupId)\n } else {\n onDeselectAllGroup?.(groupId)\n }\n }\n\n const onMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n }\n\n const updateNavigationPosition = (\n e: React.KeyboardEvent<HTMLDivElement>\n ): number => {\n if (e.key === 'Tab' && e.nativeEvent.shiftKey) {\n e.preventDefault()\n return navigation.left(e)\n }\n switch (e.key) {\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n return navigation.down(e)\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n return navigation.up(e)\n case 'ArrowLeft':\n case 'Left':\n e.preventDefault()\n return navigation.left(e)\n case 'Tab':\n case 'ArrowRight':\n case 'Right':\n e.preventDefault()\n return navigation.right(e)\n default:\n return -1\n }\n }\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isGridFocused) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n toggle(items[navigation.index])\n } else {\n const newPosition = updateNavigationPosition(e)\n\n if (newPosition !== -1) {\n gridInstance?.scrollToItem({\n rowIndex: thumbnailNavigationIndexToRowIndexMap[newPosition],\n })\n }\n }\n }\n\n React.useEffect(() => {\n navigation.setIndicesRows(navigationIndicesRows)\n }, [navigationIndicesRows, navigation])\n\n React.useEffect(() => {\n // VariableSizeGrid caches offsets and measurements for each row index for performance purposes.\n // Method below clears cached data and triggers recalucation when a new value of search filter recomposites grid structure.\n gridInstance?.resetAfterRowIndex(0)\n }, [items, gridInstance])\n\n return (\n <StyledThumbnailGrid\n {...props}\n {...focusWithinProps}\n ref={mergeRefs(forwardRef, gridContainerRef)}\n data-qa={qa?.grid}\n tabIndex={0}\n onMouseDown={onMouseDown}\n >\n <InfiniteLoader\n loadMoreItems={isFetching ? asyncNoop : loadMoreItems}\n itemCount={rows.length}\n isItemLoaded={(index) => index < rows.length - 1}\n threshold={0}\n >\n {({ onItemsRendered, ref: infiniteLoaderRef }) => (\n <StyledVariableSizeGrid\n width={gridContainerWidth}\n height={gridHeight}\n rowCount={rows.length}\n rowHeight={(index) => rowHeights[index]}\n columnCount={columnsCount}\n columnWidth={() => columnWidth}\n innerElementType={GridInnerContainer}\n overscanRowCount={2}\n onItemsRendered={({\n visibleRowStartIndex,\n visibleRowStopIndex,\n overscanRowStopIndex,\n overscanRowStartIndex,\n }) => {\n onItemsRendered({\n overscanStartIndex: overscanRowStartIndex,\n overscanStopIndex: overscanRowStopIndex,\n visibleStartIndex: visibleRowStartIndex,\n visibleStopIndex: visibleRowStopIndex,\n })\n }}\n ref={mergeRefs(gridRef, infiniteLoaderRef)}\n style={{ overflow: 'hidden' }}\n >\n {({ columnIndex, rowIndex, style }: GridChildComponentProps) => {\n const cellData = rows[rowIndex][columnIndex]\n\n if (!cellData) return null\n\n if ('title' in cellData) {\n const isGlobalTitle = rowIndex === 0\n const groupId = String(cellData?.groupId)\n const dataQa = isGlobalTitle\n ? 'global-select-all'\n : `group-${groupId}-select-all`\n\n const onChangeCallback = isGlobalTitle\n ? onSelectAllChange\n : (e: React.FormEvent<HTMLInputElement>) =>\n onSelectAllGroupChange(e, groupId)\n const isChecked = isGlobalTitle\n ? isFullySelected || isPartiallySelected\n : isGroupPartiallySelected(groupId) ||\n isGroupFullySelected(groupId)\n const isIndeterminate = isGlobalTitle\n ? isPartiallySelected\n : isGroupPartiallySelected(groupId)\n\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n {allowSelectAll ? (\n <StyledCheckbox\n data-qa={dataQa}\n onChange={onChangeCallback}\n checked={isChecked}\n indeterminate={isIndeterminate}\n >\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n </StyledCheckbox>\n ) : (\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n )}\n </GroupCell>\n )\n }\n if ('isFetching' in cellData) {\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n <StyledSpinnerWrapper>\n <Spinner />\n </StyledSpinnerWrapper>\n </GroupCell>\n )\n }\n\n const thumbnailNavigationIndex = getThumbnailNavigationIndex(\n rowIndex,\n columnIndex\n )\n const isNavigationTarget =\n navigation.index === thumbnailNavigationIndex\n const isFocused = isGridFocused && isNavigationTarget\n const isSelected = isThumbnailSelected(cellData)\n const isDisabled = disableSelection.value && !isSelected\n\n return (\n <ThumbnailCell style={style}>\n <Tooltip\n key={cellData.id}\n trigger={isDisabled ? 'hover' : 'none'}\n overlay={disableSelection.tooltip}\n showKeys={[]}\n >\n <StyledThumbnail\n data-thumbnail\n data-qa={qa?.thumbnail?.(cellData.id)}\n focused={isFocused}\n selected={isSelected}\n disabled={isDisabled}\n caption={cellData.name}\n src={cellData.src}\n label={cellData.label}\n hasCaptionPlaceholder\n role={'checkbox'}\n value={String(thumbnailNavigationIndex)}\n onKeyDown={onKeyDown}\n onChange={() => {\n toggle(cellData)\n }}\n onClick={({ target }: React.MouseEvent) => {\n const isCaptionTooltipClick = (target as HTMLElement)\n .dataset?.captionTooltip\n\n if (isCaptionTooltipClick) return\n\n navigation.setIndex(thumbnailNavigationIndex)\n toggle(cellData)\n gridContainer?.focus()\n }}\n />\n </Tooltip>\n </ThumbnailCell>\n )\n }}\n </StyledVariableSizeGrid>\n )}\n </InfiniteLoader>\n </StyledThumbnailGrid>\n )\n }\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThumbnailGrid.js","names":["useFocusWithin","React","InfiniteLoader","Spinner","Tooltip","useI18nContext","mergeRefs","useGridNavigation","StyledCheckbox","StyledGroupCell","StyledGroupTitle","StyledSpinnerWrapper","StyledThumbnail","StyledThumbnailGrid","StyledVariableSizeGrid","noop","asyncNoop","Promise","resolve","titleHeight","titleTopPadding","thumbnailHeight","thumbnailWidh","defaultColumnsCount","gutterSize","columnWidth","gridLeftPadding","defaultGridWidth","defaultGridHeight","getId","item","id","getGridRows","_ref","items","groups","title","_ref$isFetching","isFetching","groupTitleFallback","_ref$columnsCount","columnsCount","splitToRows","reduce","acc","index","rowIndex","Math","floor","row","push","splitToGroupedRows","groupedRows","groupedThumbnails","_item$groupId","groupId","String","group","get","set","Map","map","_ref2","forEach","groupRows","length","_groups$find","groupTitleRow","find","_ref3","unshift","concat","_toConsumableArray","setGridTitle","rows","setLoadingIndicator","gridRows","gridRowsWithOptionalTitle","gridRowsWithOptionalLoadingIndicator","filterByGroupId","GroupCell","_ref4","children","style","props","_objectWithoutProperties","_excluded","createElement","_extends","_objectSpread","left","top","width","ThumbnailCell","_ref5","className","_excluded2","GridOuterContainer","forwardRef","ref","tabIndex","GridInnerContainer","_ref6","_excluded3","paddingLeft","ThumbnailGrid","_ref7","_ref7$selected","selected","_ref7$title","_ref7$gridWidth","gridWidth","_ref7$gridHeight","gridHeight","_ref7$onSelect","onSelect","_ref7$onDeselect","onDeselect","_ref7$disableSelectio","disableSelection","value","tooltip","_ref7$isFetching","_ref7$loadMoreItems","loadMoreItems","qa","_ref7$allowSelectAll","allowSelectAll","_ref7$onSelectAll","onSelectAll","_ref7$onDeselectAll","onDeselectAll","_ref7$onSelectAllGrou","onSelectAllGroup","_ref7$onDeselectAllGr","onDeselectAllGroup","_excluded4","gridContainerRef","useRef","I18n","gridContainer","current","gridRef","_React$useState","useState","_React$useState2","_slicedToArray","gridContainerWidth","setGridContainerWidth","_React$useState3","_React$useState4","setColumnsCount","gridInstance","_useFocusWithin","onFocusWithin","e","setIsGridFocused","onBlurWithin","focusWithinProps","useEffect","handleResize","offsetWidth","containerWidth","currentColumnsCount","window","addEventListener","removeEventListener","useMemo","t","isTitleRow","rowCells","isFetchingRow","isNonNavigableRow","rowHeights","titleRow","titleRowIsNotFirstGridRow","rowPadding","nonNavigableRowIndices","filter","_ref8","_ref9","navigationIndicesRows","cell","findIndex","getNumberOfNonNavigableRowsBefore","useCallback","getThumbnailNavigationIndex","cellIndex","thumbnailNavigationIndexToRowIndexMap","mappedRowCells","_","navIndex","_React$useState5","_React$useState6","isGridFocused","navigation","indicesRows","isThumbnailSelected","thumbnail","some","_ref10","toggle","itemsIds","selectedIds","isFullySelected","every","includes","isPartiallySelected","isGroupFullySelected","currentGroupItems","selectedGroupItems","isGroupPartiallySelected","onSelectAllChange","stopPropagation","onSelectAllGroupChange","onMouseDown","preventDefault","updateNavigationPosition","key","nativeEvent","shiftKey","down","up","right","onKeyDown","newPosition","scrollToItem","setIndicesRows","resetAfterRowIndex","grid","itemCount","isItemLoaded","threshold","_ref11","onItemsRendered","infiniteLoaderRef","height","rowCount","rowHeight","columnCount","innerElementType","overscanRowCount","_ref12","visibleRowStartIndex","visibleRowStopIndex","overscanRowStopIndex","overscanRowStartIndex","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","overflow","_ref13","_qa$thumbnail","columnIndex","cellData","isGlobalTitle","dataQa","onChangeCallback","isChecked","isIndeterminate","onChange","checked","indeterminate","weight","color","thumbnailNavigationIndex","isNavigationTarget","isFocused","isSelected","isDisabled","trigger","overlay","showKeys","call","focused","disabled","caption","name","src","label","hasCaptionPlaceholder","role","onClick","_ref14","_dataset","target","isCaptionTooltipClick","dataset","captionTooltip","setIndex","focus"],"sources":["../../src/ThumbnailGrid/ThumbnailGrid.tsx"],"sourcesContent":["import { useFocusWithin } from '@react-aria/interactions'\nimport React from 'react'\nimport type { GridChildComponentProps, VariableSizeGrid } from 'react-window'\nimport InfiniteLoader from 'react-window-infinite-loader'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes } from '../_utils/types'\nimport { useGridNavigation } from './ThumbnailGrid.hooks'\nimport {\n StyledCheckbox,\n StyledGroupCell,\n StyledGroupTitle,\n StyledSpinnerWrapper,\n StyledThumbnail,\n StyledThumbnailGrid,\n StyledVariableSizeGrid,\n} from './ThumbnailGrid.styles'\nimport type {\n GridCellData,\n ThumbnailGridGroup,\n ThumbnailGridGroupTitle,\n ThumbnailGridItem,\n ThumbnailGridProps,\n} from './ThumbnailGrid.types'\n\nfunction noop() {}\n\nconst asyncNoop = () => Promise.resolve()\n\nconst titleHeight = 20\nconst titleTopPadding = 24\nconst thumbnailHeight = 138\nconst thumbnailWidh = 104\nconst defaultColumnsCount = 5\nconst gutterSize = 12\nconst columnWidth = thumbnailWidh + gutterSize\nconst gridLeftPadding = 24\nconst defaultGridWidth = gridLeftPadding + columnWidth * defaultColumnsCount\nconst defaultGridHeight = (thumbnailHeight + gutterSize) * 3\nconst getId = (item: ThumbnailGridItem) => item.id\n\nconst getGridRows = ({\n items,\n groups,\n title,\n isFetching = false,\n groupTitleFallback,\n columnsCount = defaultColumnsCount,\n}: {\n items: ThumbnailGridItem[]\n groups?: ThumbnailGridGroup[]\n title?: string\n isFetching: boolean\n groupTitleFallback: string\n columnsCount: number\n}) => {\n const splitToRows = (items: GridCellData[]) =>\n items.reduce((acc: GridCellData[][], item: GridCellData, index: number) => {\n const rowIndex = Math.floor(index / columnsCount)\n const row = (acc[rowIndex] = acc[rowIndex] || [])\n row.push(item)\n return acc\n }, [] as GridCellData[][])\n\n const splitToGroupedRows = (\n items: ThumbnailGridItem[],\n groups: ThumbnailGridGroup[]\n ) => {\n let groupedRows: GridCellData[][] = []\n\n const groupedThumbnails = items.reduce((acc, item) => {\n const groupId = item.groupId ?? String(item.groupId)\n const group = acc.get(groupId)\n if (group) {\n group.push(item)\n } else {\n acc.set(groupId, [item])\n }\n return acc\n }, new Map<string | number, GridCellData[]>(groups.map(({ id }) => [id, []])))\n\n groupedThumbnails.forEach((group, groupId) => {\n const groupRows = splitToRows(group)\n\n if (groupRows.length) {\n const groupTitleRow = [\n {\n title:\n groups.find(({ id }) => groupId === id)?.title ||\n groupTitleFallback,\n groupId,\n } as ThumbnailGridGroupTitle,\n ]\n groupRows.unshift(groupTitleRow)\n }\n\n groupedRows = [...groupedRows, ...groupRows]\n })\n\n return groupedRows\n }\n\n const setGridTitle = (rows: GridCellData[][]) => {\n if (title) {\n rows.unshift([{ title: title }])\n }\n return rows\n }\n\n const setLoadingIndicator = (rows: GridCellData[][]) => {\n if (isFetching) {\n rows.push([{ isFetching }])\n }\n return rows\n }\n\n const gridRows = groups\n ? splitToGroupedRows(items, groups)\n : splitToRows(items)\n\n const gridRowsWithOptionalTitle = setGridTitle(gridRows)\n const gridRowsWithOptionalLoadingIndicator = setLoadingIndicator(\n gridRowsWithOptionalTitle\n )\n\n return gridRowsWithOptionalLoadingIndicator\n}\n\nconst filterByGroupId = (item: ThumbnailGridItem, groupId: string) => {\n return String(item.groupId) === groupId\n}\n\nconst GroupCell = ({\n children,\n style,\n columnsCount,\n ...props\n}: DivAttributes & { columnsCount: number }) => {\n return (\n <StyledGroupCell\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n width: columnWidth * columnsCount,\n }}\n {...props}\n >\n {children}\n </StyledGroupCell>\n )\n}\n\nconst ThumbnailCell = ({\n children,\n className,\n style,\n ...props\n}: DivAttributes) => {\n return (\n <div\n style={{\n ...style,\n left: (style?.left as number) + gridLeftPadding,\n top: (style?.top as number) + gutterSize,\n }}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// See https://github.com/bvaughn/react-window/issues/130\nconst GridOuterContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n (props, ref) => <div ref={ref} tabIndex={-1} {...props} />\n)\n\nconst GridInnerContainer = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ style, ...props }, ref) => (\n <div\n ref={ref}\n tabIndex={-1}\n style={{\n ...style,\n paddingLeft: gridLeftPadding,\n width: (style?.width as number) + gridLeftPadding,\n }}\n {...props}\n />\n )\n)\n\nexport const ThumbnailGrid = React.forwardRef<\n HTMLDivElement,\n Omit<DivAttributes, 'onSelect'> & ThumbnailGridProps\n>(\n (\n {\n items,\n selected = [],\n groups,\n title = '',\n gridWidth = defaultGridWidth,\n gridHeight = defaultGridHeight,\n onSelect = noop,\n onDeselect = noop,\n disableSelection = {\n value: false,\n tooltip: '',\n },\n isFetching = false,\n loadMoreItems = asyncNoop,\n qa,\n allowSelectAll = false,\n onSelectAll = noop,\n onDeselectAll = noop,\n onSelectAllGroup = noop,\n onDeselectAllGroup = noop,\n ...props\n },\n forwardRef\n ) => {\n const gridContainerRef = React.useRef<HTMLDivElement>(null)\n const I18n = useI18nContext()\n const gridContainer = gridContainerRef.current\n const gridRef = React.useRef<VariableSizeGrid | null>(null)\n const [gridContainerWidth, setGridContainerWidth] =\n React.useState<number>(gridWidth)\n const [columnsCount, setColumnsCount] =\n React.useState<number>(defaultColumnsCount)\n const gridInstance = gridRef.current\n let { focusWithinProps } = useFocusWithin({\n onFocusWithin: (e) => setIsGridFocused(true),\n onBlurWithin: (e) => setIsGridFocused(false),\n })\n\n React.useEffect(() => {\n const handleResize = () => {\n if (gridContainer?.offsetWidth) {\n const containerWidth = gridContainer.offsetWidth - gridLeftPadding\n const currentColumnsCount = Math.floor(containerWidth / columnWidth)\n setGridContainerWidth(containerWidth)\n setColumnsCount(currentColumnsCount || 1)\n }\n }\n\n handleResize() // Initial resize calculation\n\n window.addEventListener('resize', handleResize)\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [gridContainer])\n\n const rows = React.useMemo(\n () =>\n getGridRows({\n items,\n groups,\n isFetching,\n title,\n columnsCount,\n groupTitleFallback: I18n.t(\n 'core.fileExplorer.ungroupedThumbnailGridGroup'\n ),\n }),\n [items, groups, title, isFetching, columnsCount]\n )\n\n const isTitleRow = (rowCells: GridCellData[]): boolean =>\n 'title' in rowCells[0]\n\n const isFetchingRow = (rowCells: GridCellData[]): boolean =>\n 'isFetching' in rowCells[0]\n\n const isNonNavigableRow = (rowCells: GridCellData[]) =>\n isTitleRow(rowCells) || isFetchingRow(rowCells)\n\n const rowHeights = React.useMemo(() => {\n return rows.map((rowCells, index) => {\n const titleRow = isTitleRow(rowCells)\n const titleRowIsNotFirstGridRow = titleRow && index > 0\n const rowPadding =\n (titleRowIsNotFirstGridRow ? titleTopPadding : 0) + gutterSize\n\n if (titleRow) {\n return titleHeight + rowPadding\n } else {\n return thumbnailHeight + rowPadding\n }\n })\n }, [rows])\n\n const nonNavigableRowIndices = React.useMemo(\n () =>\n rows\n .map((rowCells, index) => ({\n index,\n isNonNavigableRow: isNonNavigableRow(rowCells),\n }))\n .filter(({ isNonNavigableRow }) => isNonNavigableRow)\n .map(({ index }) => index),\n [rows]\n )\n\n const navigationIndicesRows = React.useMemo(\n () =>\n rows\n .filter((rowCells) => !isNonNavigableRow(rowCells))\n .map((rowCells) =>\n rowCells.map((cell) =>\n items.findIndex(\n (item) => item.id === (cell as ThumbnailGridItem).id\n )\n )\n ),\n [rows, items]\n )\n\n const getNumberOfNonNavigableRowsBefore = React.useCallback(\n (rowIndex: number) =>\n nonNavigableRowIndices.filter((index) => rowIndex > index).length,\n [nonNavigableRowIndices]\n )\n\n const getThumbnailNavigationIndex = React.useCallback(\n (rowIndex: number, cellIndex: number) => {\n return navigationIndicesRows[\n rowIndex - getNumberOfNonNavigableRowsBefore(rowIndex)\n ][cellIndex]\n },\n [navigationIndicesRows, getNumberOfNonNavigableRowsBefore]\n )\n\n const thumbnailNavigationIndexToRowIndexMap = React.useMemo(\n () =>\n rows.reduce((acc, rowCells, rowIndex) => {\n if (isNonNavigableRow(rowCells)) return acc\n\n const mappedRowCells = rowCells.reduce((acc, _, cellIndex) => {\n const navIndex = String(\n getThumbnailNavigationIndex(rowIndex, cellIndex)\n )\n acc[navIndex] = rowIndex\n return acc\n }, {} as Record<string, number>)\n\n return { ...acc, ...mappedRowCells }\n }, {} as Record<string, number>),\n [rows, getThumbnailNavigationIndex]\n )\n\n const [isGridFocused, setIsGridFocused] = React.useState(false)\n\n const navigation = useGridNavigation({\n indicesRows: navigationIndicesRows,\n })\n\n const isThumbnailSelected = (thumbnail: ThumbnailGridItem) =>\n selected.some(({ id }) => thumbnail.id === id)\n\n const toggle = (thumbnail: ThumbnailGridItem) => {\n if (isThumbnailSelected(thumbnail)) {\n onDeselect(thumbnail)\n } else if (!disableSelection.value) {\n onSelect(thumbnail)\n }\n }\n\n const itemsIds = React.useMemo(() => items.map(getId), [items])\n const selectedIds = React.useMemo(() => selected.map(getId), [selected])\n\n const isFullySelected = React.useMemo(() => {\n return (\n itemsIds.length > 0 && itemsIds.every((id) => selectedIds.includes(id))\n )\n }, [selected, items])\n\n const isPartiallySelected = React.useMemo(() => {\n return (\n selectedIds.length > 0 &&\n !isFullySelected &&\n itemsIds.some((id) => selectedIds.includes(id))\n )\n }, [selected, isFullySelected])\n\n const isGroupFullySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n currentGroupItems.length > 0 &&\n currentGroupItems\n .map(getId)\n .every((id) => selectedGroupItems.map(getId).includes(id))\n )\n }\n\n const isGroupPartiallySelected = (groupId: string) => {\n const currentGroupItems = items.filter((item) =>\n filterByGroupId(item, groupId)\n )\n const selectedGroupItems = selected.filter((item) =>\n filterByGroupId(item, groupId)\n )\n\n return (\n selectedGroupItems.length > 0 &&\n !isGroupFullySelected(groupId) &&\n selectedGroupItems\n .map(getId)\n .some((id) => currentGroupItems.map(getId).includes(id))\n )\n }\n\n const onSelectAllChange = (e: React.FormEvent<HTMLInputElement>) => {\n e.stopPropagation()\n if (!isFullySelected) {\n onSelectAll?.()\n } else {\n onDeselectAll?.()\n }\n }\n\n const onSelectAllGroupChange = (\n e: React.FormEvent<HTMLInputElement>,\n groupId: string\n ) => {\n e.stopPropagation()\n if (!isGroupFullySelected(groupId)) {\n onSelectAllGroup?.(groupId)\n } else {\n onDeselectAllGroup?.(groupId)\n }\n }\n\n const onMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault()\n }\n\n const updateNavigationPosition = (\n e: React.KeyboardEvent<HTMLDivElement>\n ): number => {\n if (e.key === 'Tab' && e.nativeEvent.shiftKey) {\n e.preventDefault()\n return navigation.left(e)\n }\n switch (e.key) {\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n return navigation.down(e)\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n return navigation.up(e)\n case 'ArrowLeft':\n case 'Left':\n e.preventDefault()\n return navigation.left(e)\n case 'Tab':\n case 'ArrowRight':\n case 'Right':\n e.preventDefault()\n return navigation.right(e)\n default:\n return -1\n }\n }\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isGridFocused) return\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n toggle(items[navigation.index])\n } else {\n const newPosition = updateNavigationPosition(e)\n\n if (newPosition !== -1) {\n gridInstance?.scrollToItem({\n rowIndex: thumbnailNavigationIndexToRowIndexMap[newPosition],\n })\n }\n }\n }\n\n React.useEffect(() => {\n navigation.setIndicesRows(navigationIndicesRows)\n }, [navigationIndicesRows, navigation])\n\n React.useEffect(() => {\n // VariableSizeGrid caches offsets and measurements for each row index for performance purposes.\n // Method below clears cached data and triggers recalucation when a new value of search filter recomposites grid structure.\n gridInstance?.resetAfterRowIndex(0)\n }, [items, gridInstance])\n\n return (\n <StyledThumbnailGrid\n {...props}\n {...focusWithinProps}\n ref={mergeRefs(forwardRef, gridContainerRef)}\n data-qa={qa?.grid}\n tabIndex={0}\n onMouseDown={onMouseDown}\n >\n <InfiniteLoader\n loadMoreItems={isFetching ? asyncNoop : loadMoreItems}\n itemCount={rows.length}\n isItemLoaded={(index) => index < rows.length - 1}\n threshold={0}\n >\n {({ onItemsRendered, ref: infiniteLoaderRef }) => (\n <StyledVariableSizeGrid\n width={gridContainerWidth}\n height={gridHeight}\n rowCount={rows.length}\n rowHeight={(index) => rowHeights[index]}\n columnCount={columnsCount}\n columnWidth={() => columnWidth}\n innerElementType={GridInnerContainer}\n overscanRowCount={2}\n onItemsRendered={({\n visibleRowStartIndex,\n visibleRowStopIndex,\n overscanRowStopIndex,\n overscanRowStartIndex,\n }) => {\n onItemsRendered({\n overscanStartIndex: overscanRowStartIndex,\n overscanStopIndex: overscanRowStopIndex,\n visibleStartIndex: visibleRowStartIndex,\n visibleStopIndex: visibleRowStopIndex,\n })\n }}\n ref={mergeRefs(gridRef, infiniteLoaderRef)}\n style={{ overflow: 'hidden' }}\n >\n {({ columnIndex, rowIndex, style }: GridChildComponentProps) => {\n const cellData = rows[rowIndex][columnIndex]\n\n if (!cellData) return null\n\n if ('title' in cellData) {\n const isGlobalTitle = rowIndex === 0\n const groupId = String(cellData?.groupId)\n const dataQa = isGlobalTitle\n ? 'global-select-all'\n : `group-${groupId}-select-all`\n\n const onChangeCallback = isGlobalTitle\n ? onSelectAllChange\n : (e: React.FormEvent<HTMLInputElement>) =>\n onSelectAllGroupChange(e, groupId)\n const isChecked = isGlobalTitle\n ? isFullySelected || isPartiallySelected\n : isGroupPartiallySelected(groupId) ||\n isGroupFullySelected(groupId)\n const isIndeterminate = isGlobalTitle\n ? isPartiallySelected\n : isGroupPartiallySelected(groupId)\n\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n {allowSelectAll ? (\n <StyledCheckbox\n data-qa={dataQa}\n onChange={onChangeCallback}\n checked={isChecked}\n indeterminate={isIndeterminate}\n >\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n </StyledCheckbox>\n ) : (\n <StyledGroupTitle weight=\"bold\" color=\"gray15\">\n {cellData.title}\n </StyledGroupTitle>\n )}\n </GroupCell>\n )\n }\n if ('isFetching' in cellData) {\n return (\n <GroupCell style={style} columnsCount={columnsCount}>\n <StyledSpinnerWrapper>\n <Spinner />\n </StyledSpinnerWrapper>\n </GroupCell>\n )\n }\n\n const thumbnailNavigationIndex = getThumbnailNavigationIndex(\n rowIndex,\n columnIndex\n )\n const isNavigationTarget =\n navigation.index === thumbnailNavigationIndex\n const isFocused = isGridFocused && isNavigationTarget\n const isSelected = isThumbnailSelected(cellData)\n const isDisabled = disableSelection.value && !isSelected\n\n return (\n <ThumbnailCell style={style}>\n <Tooltip\n key={cellData.id}\n trigger={isDisabled ? 'hover' : 'none'}\n overlay={disableSelection.tooltip}\n showKeys={[]}\n >\n <StyledThumbnail\n data-thumbnail\n data-qa={qa?.thumbnail?.(cellData.id)}\n focused={isFocused}\n selected={isSelected}\n disabled={isDisabled}\n caption={cellData.name}\n src={cellData.src}\n label={cellData.label}\n hasCaptionPlaceholder\n role={'checkbox'}\n value={String(thumbnailNavigationIndex)}\n onKeyDown={onKeyDown}\n onChange={() => {\n toggle(cellData)\n }}\n onClick={({ target }: React.MouseEvent) => {\n const isCaptionTooltipClick = (target as HTMLElement)\n .dataset?.captionTooltip\n\n if (isCaptionTooltipClick) return\n\n navigation.setIndex(thumbnailNavigationIndex)\n toggle(cellData)\n gridContainer?.focus()\n }}\n />\n </Tooltip>\n </ThumbnailCell>\n )\n }}\n </StyledVariableSizeGrid>\n )}\n </InfiniteLoader>\n </StyledThumbnailGrid>\n )\n }\n)\n"],"mappings":"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"}
@@ -7,31 +7,31 @@ import { getEllipsis } from '../_styles/mixins';
7
7
  import { spacing } from '../_styles/spacing';
8
8
  export var StyledCheckbox = /*#__PURE__*/styled(Checkbox).withConfig({
9
9
  displayName: "StyledCheckbox",
10
- componentId: "core-12_17_5__sc-1inrbm9-0"
10
+ componentId: "core-12_17_7__sc-1inrbm9-0"
11
11
  })(["input{z-index:2;}"]);
12
12
  export var StyledGroupCell = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledGroupCell",
14
- componentId: "core-12_17_5__sc-1inrbm9-1"
14
+ componentId: "core-12_17_7__sc-1inrbm9-1"
15
15
  })(["display:flex;align-items:flex-end;padding-bottom:", "px;"], spacing.md);
16
16
  export var StyledThumbnail = /*#__PURE__*/styled(Thumbnail).withConfig({
17
17
  displayName: "StyledThumbnail",
18
- componentId: "core-12_17_5__sc-1inrbm9-2"
18
+ componentId: "core-12_17_7__sc-1inrbm9-2"
19
19
  })(["display:inline-flex;&:focus{outline:none;}"]);
20
20
  // VariableSizeGrid has provided width and height as inline style, so to make it flexible and support responsive !important was added
21
21
  export var StyledVariableSizeGrid = /*#__PURE__*/styled(VariableSizeGrid).withConfig({
22
22
  displayName: "StyledVariableSizeGrid",
23
- componentId: "core-12_17_5__sc-1inrbm9-3"
23
+ componentId: "core-12_17_7__sc-1inrbm9-3"
24
24
  })(["height:100% !important;& > div{width:100% !important;}"]);
25
25
  export var StyledGroupTitle = /*#__PURE__*/styled(Typography).withConfig({
26
26
  displayName: "StyledGroupTitle",
27
- componentId: "core-12_17_5__sc-1inrbm9-4"
27
+ componentId: "core-12_17_7__sc-1inrbm9-4"
28
28
  })(["", ""], getEllipsis);
29
29
  export var StyledSpinnerWrapper = /*#__PURE__*/styled.div.withConfig({
30
30
  displayName: "StyledSpinnerWrapper",
31
- componentId: "core-12_17_5__sc-1inrbm9-5"
31
+ componentId: "core-12_17_7__sc-1inrbm9-5"
32
32
  })(["display:flex;justify-content:center;align-items:center;width:100%;height:100%;"]);
33
33
  export var StyledThumbnailGrid = /*#__PURE__*/styled.div.withConfig({
34
34
  displayName: "StyledThumbnailGrid",
35
- componentId: "core-12_17_5__sc-1inrbm9-6"
35
+ componentId: "core-12_17_7__sc-1inrbm9-6"
36
36
  })(["display:flex;flex-wrap:wrap;outline:none;"]);
37
37
  //# sourceMappingURL=ThumbnailGrid.styles.js.map
@@ -1,20 +1,20 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
2
  var _excluded = ["className", "disabled", "loading", "onKeyDown", "options", "value", "style"],
3
3
  _excluded2 = ["afterHide", "afterShow", "beforeHide", "beforeShow", "block", "getGroupId", "getId", "getLabel", "getNextGroupId", "i18nScope", "isTierDisabled", "onSelect", "onNavigate", "onScrollBottom", "onSearch", "tabIndex"];
4
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
5
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
6
6
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
10
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
17
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
17
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
18
18
  import React from 'react';
19
19
  import { Button } from '../Button/Button';
20
20
  import { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger';
@@ -1 +1 @@
1
- {"version":3,"file":"TieredDropdown.js","names":["React","Button","OverlayTrigger","TieredSelectContext","TieredSelectMenu","always","defaultGetGroupId","defaultGetId","defaultGetLabel","defaultGetNextGroupId","defaultIsTierDisabled","empty","findPath","getPathKey","hideKeys","noop","useSearch","TieredDropdownInternal","forwardRef","_ref","ref","className","_ref$disabled","disabled","_ref$loading","loading","onKeyDown","_ref$options","options","_ref$value","value","style","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","afterHide","afterShow","beforeHide","beforeShow","block","getLabel","getGroupId","getNextGroupId","isLeaf","onChange","onNavigate","onSearch","tabIndex","searchablePaths","useMemo","paths","optionsByNextGroupId","reduce","map","option","nextGroupId","_objectSpread","_defineProperty","forEach","item","path","pathKey","push","label","node","_useSearch","items","keysToSearch","searchTerm","filteredItems","setSearch","menuOptions","length","tieredSelectMenuRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","currentTier","setCurrentTier","_React$useState3","_React$useState4","internalValue","setInternalValue","internalOnNavigate","useCallback","internalOnSearch","event","undefined","target","internalOnChange","selection","internalAfterHide","useEffect","lastEntryInValue","createElement","e","canFlip","overlay","_extends","menuRef","previousValue","placement","trigger","icon","iconRight","size","variant","children","TieredDropdown","_ref2","_ref2$afterHide","_ref2$afterShow","_ref2$beforeHide","_ref2$beforeShow","_ref2$getGroupId","_ref2$getId","getId","_ref2$getLabel","_ref2$getNextGroupId","_ref2$i18nScope","i18nScope","_ref2$isTierDisabled","isTierDisabled","_ref2$onSelect","onSelect","onScrollBottom","_excluded2","tier","Provider","getValueString"],"sources":["../../src/TieredDropdown/TieredDropdown.tsx"],"sourcesContent":["import React from 'react'\nimport { Button } from '../Button/Button'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { TieredSelectContext } from '../TieredSelect/TieredSelect'\nimport type {\n Id,\n Tier,\n TieredSelectMenuProps,\n} from '../TieredSelect/TieredSelect.types'\nimport { TieredSelectMenu } from '../TieredSelect/TieredSelectMenu'\nimport {\n always,\n defaultGetGroupId,\n defaultGetId,\n defaultGetLabel,\n defaultGetNextGroupId,\n defaultIsTierDisabled,\n empty,\n findPath,\n getPathKey,\n hideKeys,\n noop,\n} from './TieredDropdown.helpers'\nimport type {\n InternalTieredDropdownProps,\n SearchablePath,\n TieredDropdownProps,\n} from './TieredDropdown.types'\nimport { useSearch } from './useSearch'\n\nconst TieredDropdownInternal = React.forwardRef<\n HTMLDivElement,\n InternalTieredDropdownProps\n>(function TieredDropdownInternal(\n {\n className,\n disabled = false,\n loading = false,\n onKeyDown,\n options = empty,\n value = empty,\n style,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getGroupId,\n getNextGroupId,\n isLeaf,\n onChange,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n\n const searchablePaths = React.useMemo<SearchablePath[]>(() => {\n if (onSearch) {\n return []\n }\n\n const paths: SearchablePath[] = []\n\n const optionsByNextGroupId = options.reduce((map, option) => {\n const nextGroupId = getNextGroupId(option)\n if (nextGroupId) {\n return {\n ...map,\n [nextGroupId]: option,\n }\n }\n return map\n }, {})\n\n options.forEach((item) => {\n if (!getNextGroupId(item)) {\n const path = findPath(optionsByNextGroupId, item, getGroupId)\n\n const pathKey = getPathKey(path, getLabel)\n paths.push({\n path,\n pathKey,\n label: pathKey,\n node: item,\n })\n }\n })\n\n return paths\n }, [getGroupId, getLabel, getNextGroupId, onSearch, options])\n\n const { searchTerm, filteredItems, setSearch } = useSearch({\n items: searchablePaths,\n keysToSearch: ['pathKey'],\n })\n\n const menuOptions = React.useMemo(() => {\n return searchTerm?.length > 0 ? filteredItems : options\n }, [filteredItems, options, searchTerm])\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate?.(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n if (onSearch === undefined) {\n setSearch(event.target.value || '')\n } else {\n onSearch(event)\n }\n },\n [onSearch, setSearch]\n )\n\n /**\n * Emulates on select\n */\n const internalOnChange = React.useCallback<TieredSelectMenuProps['onChange']>(\n (selection) => {\n if (searchTerm?.length > 0) {\n onChange?.({\n ...selection,\n value: (selection.item as SearchablePath).path,\n item: (selection.item as SearchablePath).node,\n })\n } else {\n onChange?.(selection)\n }\n },\n [onChange, searchTerm]\n )\n\n /**\n * Used to reset state after selection\n */\n const internalAfterHide = React.useCallback(() => {\n setCurrentTier(null)\n setInternalValue([])\n afterHide && afterHide()\n }, [afterHide])\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 if (value?.length > 0) {\n const lastEntryInValue = value[value.length - 1]\n setInternalValue(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) || null)\n }\n } else {\n setCurrentTier(null)\n setInternalValue([])\n }\n },\n [getGroupId, getNextGroupId, isLeaf, value]\n )\n\n return (\n <OverlayTrigger\n afterHide={internalAfterHide}\n afterShow={afterShow}\n beforeHide={beforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n disabled ? null : (\n <TieredSelectMenu\n currentTier={currentTier}\n options={menuOptions}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={[]}\n {...props}\n />\n )\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Button\n data-qa={props['data-qa']}\n block={block}\n className={className}\n disabled={disabled}\n icon={props.icon}\n iconRight={props.iconRight}\n loading={loading}\n size={props.size}\n style={style}\n tabIndex={tabIndex}\n variant={props.variant}\n >\n {props.children}\n </Button>\n </OverlayTrigger>\n )\n})\n\nexport const TieredDropdown = React.forwardRef<\n HTMLDivElement,\n TieredDropdownProps\n>(function TieredDropdown(\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 i18nScope = 'core.tieredDropdown',\n isTierDisabled = defaultIsTierDisabled,\n onSelect = noop,\n onNavigate,\n onScrollBottom,\n onSearch,\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: () => '',\n i18nScope,\n isTierDisabled,\n isLeaf,\n onChange: onSelect,\n onNavigate,\n onScrollBottom,\n onSearch,\n tabIndex,\n }}\n >\n <TieredDropdownInternal ref={ref} {...props} value={[]} />\n </TieredSelectContext.Provider>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"TieredDropdown.js","names":["React","Button","OverlayTrigger","TieredSelectContext","TieredSelectMenu","always","defaultGetGroupId","defaultGetId","defaultGetLabel","defaultGetNextGroupId","defaultIsTierDisabled","empty","findPath","getPathKey","hideKeys","noop","useSearch","TieredDropdownInternal","forwardRef","_ref","ref","className","_ref$disabled","disabled","_ref$loading","loading","onKeyDown","_ref$options","options","_ref$value","value","style","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","afterHide","afterShow","beforeHide","beforeShow","block","getLabel","getGroupId","getNextGroupId","isLeaf","onChange","onNavigate","onSearch","tabIndex","searchablePaths","useMemo","paths","optionsByNextGroupId","reduce","map","option","nextGroupId","_objectSpread","_defineProperty","forEach","item","path","pathKey","push","label","node","_useSearch","items","keysToSearch","searchTerm","filteredItems","setSearch","menuOptions","length","tieredSelectMenuRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","currentTier","setCurrentTier","_React$useState3","_React$useState4","internalValue","setInternalValue","internalOnNavigate","useCallback","internalOnSearch","event","undefined","target","internalOnChange","selection","internalAfterHide","useEffect","lastEntryInValue","createElement","e","canFlip","overlay","_extends","menuRef","previousValue","placement","trigger","icon","iconRight","size","variant","children","TieredDropdown","_ref2","_ref2$afterHide","_ref2$afterShow","_ref2$beforeHide","_ref2$beforeShow","_ref2$getGroupId","_ref2$getId","getId","_ref2$getLabel","_ref2$getNextGroupId","_ref2$i18nScope","i18nScope","_ref2$isTierDisabled","isTierDisabled","_ref2$onSelect","onSelect","onScrollBottom","_excluded2","tier","Provider","getValueString"],"sources":["../../src/TieredDropdown/TieredDropdown.tsx"],"sourcesContent":["import React from 'react'\nimport { Button } from '../Button/Button'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { TieredSelectContext } from '../TieredSelect/TieredSelect'\nimport type {\n Id,\n Tier,\n TieredSelectMenuProps,\n} from '../TieredSelect/TieredSelect.types'\nimport { TieredSelectMenu } from '../TieredSelect/TieredSelectMenu'\nimport {\n always,\n defaultGetGroupId,\n defaultGetId,\n defaultGetLabel,\n defaultGetNextGroupId,\n defaultIsTierDisabled,\n empty,\n findPath,\n getPathKey,\n hideKeys,\n noop,\n} from './TieredDropdown.helpers'\nimport type {\n InternalTieredDropdownProps,\n SearchablePath,\n TieredDropdownProps,\n} from './TieredDropdown.types'\nimport { useSearch } from './useSearch'\n\nconst TieredDropdownInternal = React.forwardRef<\n HTMLDivElement,\n InternalTieredDropdownProps\n>(function TieredDropdownInternal(\n {\n className,\n disabled = false,\n loading = false,\n onKeyDown,\n options = empty,\n value = empty,\n style,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getGroupId,\n getNextGroupId,\n isLeaf,\n onChange,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n\n const searchablePaths = React.useMemo<SearchablePath[]>(() => {\n if (onSearch) {\n return []\n }\n\n const paths: SearchablePath[] = []\n\n const optionsByNextGroupId = options.reduce((map, option) => {\n const nextGroupId = getNextGroupId(option)\n if (nextGroupId) {\n return {\n ...map,\n [nextGroupId]: option,\n }\n }\n return map\n }, {})\n\n options.forEach((item) => {\n if (!getNextGroupId(item)) {\n const path = findPath(optionsByNextGroupId, item, getGroupId)\n\n const pathKey = getPathKey(path, getLabel)\n paths.push({\n path,\n pathKey,\n label: pathKey,\n node: item,\n })\n }\n })\n\n return paths\n }, [getGroupId, getLabel, getNextGroupId, onSearch, options])\n\n const { searchTerm, filteredItems, setSearch } = useSearch({\n items: searchablePaths,\n keysToSearch: ['pathKey'],\n })\n\n const menuOptions = React.useMemo(() => {\n return searchTerm?.length > 0 ? filteredItems : options\n }, [filteredItems, options, searchTerm])\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate?.(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n if (onSearch === undefined) {\n setSearch(event.target.value || '')\n } else {\n onSearch(event)\n }\n },\n [onSearch, setSearch]\n )\n\n /**\n * Emulates on select\n */\n const internalOnChange = React.useCallback<TieredSelectMenuProps['onChange']>(\n (selection) => {\n if (searchTerm?.length > 0) {\n onChange?.({\n ...selection,\n value: (selection.item as SearchablePath).path,\n item: (selection.item as SearchablePath).node,\n })\n } else {\n onChange?.(selection)\n }\n },\n [onChange, searchTerm]\n )\n\n /**\n * Used to reset state after selection\n */\n const internalAfterHide = React.useCallback(() => {\n setCurrentTier(null)\n setInternalValue([])\n afterHide && afterHide()\n }, [afterHide])\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 if (value?.length > 0) {\n const lastEntryInValue = value[value.length - 1]\n setInternalValue(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) || null)\n }\n } else {\n setCurrentTier(null)\n setInternalValue([])\n }\n },\n [getGroupId, getNextGroupId, isLeaf, value]\n )\n\n return (\n <OverlayTrigger\n afterHide={internalAfterHide}\n afterShow={afterShow}\n beforeHide={beforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n disabled ? null : (\n <TieredSelectMenu\n currentTier={currentTier}\n options={menuOptions}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={[]}\n {...props}\n />\n )\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Button\n data-qa={props['data-qa']}\n block={block}\n className={className}\n disabled={disabled}\n icon={props.icon}\n iconRight={props.iconRight}\n loading={loading}\n size={props.size}\n style={style}\n tabIndex={tabIndex}\n variant={props.variant}\n >\n {props.children}\n </Button>\n </OverlayTrigger>\n )\n})\n\nexport const TieredDropdown = React.forwardRef<\n HTMLDivElement,\n TieredDropdownProps\n>(function TieredDropdown(\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 i18nScope = 'core.tieredDropdown',\n isTierDisabled = defaultIsTierDisabled,\n onSelect = noop,\n onNavigate,\n onScrollBottom,\n onSearch,\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: () => '',\n i18nScope,\n isTierDisabled,\n isLeaf,\n onChange: onSelect,\n onNavigate,\n onScrollBottom,\n onSearch,\n tabIndex,\n }}\n >\n <TieredDropdownInternal ref={ref} {...props} value={[]} />\n </TieredSelectContext.Provider>\n )\n})\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
2
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
7
  import { useCallback, useMemo, useState } from 'react';
8
8
 
9
9
  // eslint-disable-next-line no-useless-escape
@@ -1,13 +1,13 @@
1
1
  var _excluded = ["className", "disabled", "error", "loading", "onKeyDown", "options", "value"];
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
8
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
6
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
9
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
10
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
11
11
  import React from 'react';
12
12
  import { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger';
13
13
  import { Select } from '../Select/Select';
@@ -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 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
+ {"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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"}