@procore/core-react 12.34.1 → 12.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/BadgePill/BadgePill.styles.js +4 -4
  7. package/dist/Banner/Banner.styles.js +10 -10
  8. package/dist/Box/Box.styles.js +1 -1
  9. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  10. package/dist/Button/Button.styles.js +5 -5
  11. package/dist/Calendar/Calendar.d.ts +2 -2
  12. package/dist/Calendar/Calendar.js.map +1 -1
  13. package/dist/Calendar/Calendar.styles.d.ts +6 -3
  14. package/dist/Calendar/Calendar.styles.js +15 -9
  15. package/dist/Calendar/Calendar.styles.js.map +1 -1
  16. package/dist/Calendar/Calendar.types.d.ts +1 -31
  17. package/dist/Calendar/Calendar.types.js.map +1 -1
  18. package/dist/Card/Card.styles.js +1 -1
  19. package/dist/Checkbox/Checkbox.styles.js +6 -6
  20. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  21. package/dist/ContactItem/ContactItem.styles.js +5 -5
  22. package/dist/ContactItem/ContactItem.types.d.ts +2 -0
  23. package/dist/ContactItem/ContactItem.types.js.map +1 -1
  24. package/dist/Content/Content.styles.js +2 -2
  25. package/dist/DateInput/DateInput.js +58 -53
  26. package/dist/DateInput/DateInput.js.map +1 -1
  27. package/dist/DateInput/DateInput.styles.js +9 -9
  28. package/dist/DateInput/DateInput.styles.js.map +1 -1
  29. package/dist/DetailPage/DetailPage.styles.js +7 -7
  30. package/dist/Dropdown/Dropdown.styles.js +3 -3
  31. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  32. package/dist/Dropzone/Dropzone.js +1 -1
  33. package/dist/Dropzone/Dropzone.styles.js +9 -9
  34. package/dist/EmptyState/EmptyState.styles.js +6 -6
  35. package/dist/Field/Field.styles.js +3 -3
  36. package/dist/FileList/FileList.styles.js +4 -4
  37. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  38. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  39. package/dist/FileSelect/FileSelect.styles.js +2 -2
  40. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  41. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  42. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  43. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  44. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  45. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  46. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  47. package/dist/FileToken/FileToken.styles.js +4 -4
  48. package/dist/FilterToken/FilterToken.styles.js +5 -5
  49. package/dist/FlexList/FlexList.styles.js +1 -1
  50. package/dist/Form/Form.styles.js +14 -14
  51. package/dist/Form/StyledFormikForm.styles.js +2 -2
  52. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  53. package/dist/Grid/Grid.styles.js +2 -2
  54. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  55. package/dist/Input/Input.styles.js +2 -2
  56. package/dist/Input/Input.styles.js.map +1 -1
  57. package/dist/Link/Link.styles.js +1 -1
  58. package/dist/ListPage/ListPage.styles.js +8 -8
  59. package/dist/Loader/Loader.styles.js +2 -2
  60. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  61. package/dist/Modal/Modal.styles.js +13 -13
  62. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  63. package/dist/NextMenu/NextMenu.styles.js +3 -3
  64. package/dist/Notation/Notation.js +1 -1
  65. package/dist/NumberInput/NumberInput.styles.js +9 -9
  66. package/dist/NumberInput/NumberInput.styles.js.map +1 -1
  67. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  68. package/dist/OverlayTrigger/OverlayTrigger.js +16 -0
  69. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  70. package/dist/PageLayout/PageLayout.styles.js +16 -16
  71. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  72. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  73. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  74. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  75. package/dist/Pagination/Pagination.styles.js +6 -6
  76. package/dist/Pagination/Pagination.styles.js.map +1 -1
  77. package/dist/Pagination/Pagination.types.d.ts +4 -0
  78. package/dist/Pagination/Pagination.types.js.map +1 -1
  79. package/dist/Pagination/PaginationSelect.js +59 -3
  80. package/dist/Pagination/PaginationSelect.js.map +1 -1
  81. package/dist/Panel/Panel.js +6 -2
  82. package/dist/Panel/Panel.js.map +1 -1
  83. package/dist/Panel/Panel.styles.js +11 -11
  84. package/dist/Pill/Pill.styles.js +3 -3
  85. package/dist/PillSelect/PillSelect.styles.js +4 -4
  86. package/dist/Popover/Popover.styles.js +2 -2
  87. package/dist/Portal/Portal.js +4 -1
  88. package/dist/Portal/Portal.js.map +1 -1
  89. package/dist/Portal/Portal.styles.js +1 -1
  90. package/dist/Portal/Portal.types.d.ts +1 -1
  91. package/dist/Portal/Portal.types.js.map +1 -1
  92. package/dist/Portal/PortalProvider.d.ts +5 -0
  93. package/dist/Portal/PortalProvider.js +14 -0
  94. package/dist/Portal/PortalProvider.js.map +1 -0
  95. package/dist/Portal/PortalProvider.types.d.ts +4 -0
  96. package/dist/Portal/PortalProvider.types.js +2 -0
  97. package/dist/Portal/PortalProvider.types.js.map +1 -0
  98. package/dist/Portal/index.d.ts +2 -0
  99. package/dist/Portal/index.js +1 -0
  100. package/dist/Portal/index.js.map +1 -1
  101. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  102. package/dist/RadioButton/RadioButton.styles.js +4 -4
  103. package/dist/RadioButton/RadioButton.styles.js.map +1 -1
  104. package/dist/Required/Required.styles.js +3 -3
  105. package/dist/Search/Search.styles.js +5 -5
  106. package/dist/Section/Section.styles.js +7 -7
  107. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  108. package/dist/Select/Select.js +1 -0
  109. package/dist/Select/Select.js.map +1 -1
  110. package/dist/Select/Select.styles.js +10 -10
  111. package/dist/Select/Select.styles.js.map +1 -1
  112. package/dist/Semantic/Semantic.styles.js +9 -9
  113. package/dist/Slider/Slider.js +3 -1
  114. package/dist/Slider/Slider.js.map +1 -1
  115. package/dist/Slider/Slider.styles.js +5 -5
  116. package/dist/Spinner/Spinner.styles.js +7 -7
  117. package/dist/SplitViewCard/SplitViewCard.context.js +10 -2
  118. package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
  119. package/dist/SplitViewCard/SplitViewCard.js +4 -2
  120. package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
  121. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  122. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
  123. package/dist/SuperSelect/SuperSelect.components.js +3 -3
  124. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  125. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  126. package/dist/SuperSelect/SuperSelect.styles.js +41 -41
  127. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  128. package/dist/SuperSelect/useSuperSelect.js +11 -11
  129. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  130. package/dist/Switch/Switch.styles.js +4 -4
  131. package/dist/Table/Table.d.ts +2 -2
  132. package/dist/Table/Table.js +58 -18
  133. package/dist/Table/Table.js.map +1 -1
  134. package/dist/Table/Table.styles.d.ts +3 -1
  135. package/dist/Table/Table.styles.js +34 -33
  136. package/dist/Table/Table.styles.js.map +1 -1
  137. package/dist/Table/Table.types.d.ts +5 -0
  138. package/dist/Table/Table.types.js.map +1 -1
  139. package/dist/TableShelf/TableShelf.styles.js +5 -5
  140. package/dist/Tabs/Tabs.styles.js +15 -15
  141. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  142. package/dist/TextArea/TextArea.js +1 -0
  143. package/dist/TextArea/TextArea.js.map +1 -1
  144. package/dist/TextArea/TextArea.styles.js +1 -1
  145. package/dist/TextEditor/TextEditor.d.ts +1 -1
  146. package/dist/TextEditor/TextEditor.js +67 -12
  147. package/dist/TextEditor/TextEditor.js.map +1 -1
  148. package/dist/TextEditor/TextEditor.types.d.ts +17 -0
  149. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  150. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  151. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  152. package/dist/Thumbnail/ThumbnailDocumentIcon.d.ts +3 -1
  153. package/dist/Thumbnail/ThumbnailDocumentIcon.js +61 -21
  154. package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
  155. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  156. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  157. package/dist/Tile/Tile.styles.js +8 -8
  158. package/dist/Title/Title.styles.js +7 -7
  159. package/dist/Toast/Toast.js +1 -1
  160. package/dist/Toast/Toast.js.map +1 -1
  161. package/dist/Toast/Toast.styles.js +3 -3
  162. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  163. package/dist/Token/Token.styles.js +3 -3
  164. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  165. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  166. package/dist/Tooltip/Tooltip.styles.js +2 -2
  167. package/dist/Tree/Tree.hooks.js +11 -6
  168. package/dist/Tree/Tree.hooks.js.map +1 -1
  169. package/dist/Tree/Tree.js +142 -49
  170. package/dist/Tree/Tree.js.map +1 -1
  171. package/dist/Tree/Tree.styles.d.ts +5 -0
  172. package/dist/Tree/Tree.styles.js +17 -9
  173. package/dist/Tree/Tree.styles.js.map +1 -1
  174. package/dist/Tree/Tree.types.d.ts +21 -1
  175. package/dist/Tree/Tree.types.js.map +1 -1
  176. package/dist/Typeahead/Typeahead.styles.js +3 -3
  177. package/dist/Typography/Typography.styles.js +1 -1
  178. package/dist/Typography/Typography.table.story.js +2 -2
  179. package/dist/_hooks/I18n.d.ts +200 -11
  180. package/dist/_locales/de-DE.json +11 -3
  181. package/dist/_locales/en-AU.json +10 -2
  182. package/dist/_locales/en-CA.json +10 -2
  183. package/dist/_locales/en-GB.json +10 -2
  184. package/dist/_locales/en.json +6 -0
  185. package/dist/_locales/es-ES.json +12 -4
  186. package/dist/_locales/es.json +15 -7
  187. package/dist/_locales/fr-CA.json +11 -3
  188. package/dist/_locales/fr-FR.json +12 -4
  189. package/dist/_locales/is-IS.json +11 -3
  190. package/dist/_locales/it-IT.json +56 -48
  191. package/dist/_locales/ja-JP.json +12 -4
  192. package/dist/_locales/pl-PL.json +10 -2
  193. package/dist/_locales/pseudo.json +6 -0
  194. package/dist/_locales/pt-BR.json +11 -3
  195. package/dist/_locales/pt-PT.json +190 -182
  196. package/dist/_locales/th-TH.json +13 -5
  197. package/dist/_locales/zh-SG.json +10 -2
  198. package/dist/_locales/zh-TW.json +16 -8
  199. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  200. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  201. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  202. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  203. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  204. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  205. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  206. package/dist/_typedoc/Box/Box.types.json +68 -68
  207. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  208. package/dist/_typedoc/Button/Button.types.json +13 -13
  209. package/dist/_typedoc/Calendar/Calendar.types.json +89 -89
  210. package/dist/_typedoc/Card/Card.types.json +6 -6
  211. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  212. package/dist/_typedoc/ContactItem/ContactItem.types.json +12 -10
  213. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  214. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  215. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  216. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  217. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  218. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  219. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  220. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  221. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  222. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  223. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  224. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  225. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  226. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  227. package/dist/_typedoc/Form/Form.types.json +794 -754
  228. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  229. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  230. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  231. package/dist/_typedoc/Input/Input.types.json +2 -2
  232. package/dist/_typedoc/Link/Link.types.json +1 -1
  233. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  234. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  235. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
  236. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  237. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  238. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  239. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  240. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  241. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +34 -34
  242. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  243. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  244. package/dist/_typedoc/Panel/Panel.types.json +30 -30
  245. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  246. package/dist/_typedoc/PillSelect/PillSelect.types.json +51 -51
  247. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  248. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  249. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  250. package/dist/_typedoc/Required/Required.types.json +5 -5
  251. package/dist/_typedoc/Search/Search.types.json +18 -18
  252. package/dist/_typedoc/Section/Section.types.json +15 -15
  253. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  254. package/dist/_typedoc/Select/Select.types.json +64 -64
  255. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  256. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  257. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  258. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  259. package/dist/_typedoc/Table/Table.types.json +113 -103
  260. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  261. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  262. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  263. package/dist/_typedoc/TextEditor/TextEditor.types.json +29 -9
  264. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  265. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  266. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  267. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  268. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  269. package/dist/_typedoc/Title/Title.types.json +1 -1
  270. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  271. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  272. package/dist/_typedoc/Token/Token.types.json +7 -7
  273. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  274. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  275. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  276. package/dist/_typedoc/Tree/Tree.types.json +111 -86
  277. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  278. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  279. package/dist/_typedoc/_utils/types.json +3 -3
  280. package/dist/_typedoc/deprecations.json +1 -1
  281. package/dist/_utils/a11y.d.ts +1 -0
  282. package/dist/_utils/a11y.js +8 -0
  283. package/dist/_utils/a11y.js.map +1 -0
  284. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.hooks.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","isArray","React","useListNavigation","useSet","isRootNode","useTree","_ref","rootNodes","expanded","selected","selectionLimit","onSelect","multiple","autoExpandParent","getChildren","getParentId","onCollapse","onExpand","getNodes","useCallback","nodes","node","concat","reduce","useMemo","map","el","flat","getNodeById","nodeId","find","item","id","_useSet","isLoading","has","startLoading","add","stopLoading","remove","handleChange","selectedNodes","_useSet2","initialValue","Set","onChange","selectedIds","collection","isSelected","addSelected","removeSelected","setSelected","setCollection","toggleSingleSelected","toggleSelected","size","toggleSelection","handleSelection","useEffect","filter","includes","forEach","handleExpand","_ref2","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","finish","stop","_x","handleCollapse","getExpandedIds","nodeIds","currentNode","parentId","rootNode","expandedIds","_useSet3","onAdd","onRemove","addExpanded","isExpanded","toggleExpanded","toggle","setExpanded","listNavigation","circular","initialIndex","getSelectableItems","visibleNodes","visibleItems","items","getChildrenNodes","level","children","_objectSpread","acc","curr","nodesTree","highlight","index","findIndex","visibleNode","set","setSize","isHighlighted","highlightedNode","handleExpansion","isFileLimitReached"],"sources":["../../src/Tree/Tree.hooks.ts"],"sourcesContent":["import React from 'react'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { useSet } from '../_hooks/useSet'\nimport { isRootNode } from './Tree'\nimport type { LevelWise, Node, UseTreeProps } from './Tree.types'\n\nexport function useTree<T extends Node = Node>({\n rootNodes,\n expanded,\n selected,\n selectionLimit,\n onSelect,\n multiple,\n autoExpandParent,\n getChildren,\n getParentId,\n onCollapse,\n onExpand,\n}: UseTreeProps<T>) {\n type VisibleNode = T & LevelWise\n type TreeNode = VisibleNode & {\n items?: (TreeNode | VisibleNode)[]\n }\n\n const getNodes = React.useCallback(\n (nodes: T[], node: T): T[] => {\n return [...nodes, node, ...getChildren(node).reduce(getNodes, [])]\n },\n [getChildren]\n )\n\n const nodes = React.useMemo(() => {\n return rootNodes.map((el: T) => getNodes([], el)).flat()\n }, [rootNodes, getNodes])\n\n const getNodeById = React.useCallback(\n (nodeId: T['id']): T =>\n nodes.find((item: T) => {\n return item.id === nodeId\n }) as T,\n [nodes]\n )\n\n const {\n has: isLoading,\n add: startLoading,\n remove: stopLoading,\n } = useSet<T['id']>()\n\n const handleChange = React.useCallback(\n (selectedNodes: Set<T['id']>) =>\n onSelect(Array.from(selectedNodes).map(getNodeById)),\n [getNodeById, onSelect]\n )\n\n const {\n collection: selectedIds,\n has: isSelected,\n add: addSelected,\n remove: removeSelected,\n setCollection: setSelected,\n } = useSet<T['id']>({\n initialValue: new Set(selected),\n onChange: handleChange,\n })\n\n const toggleSingleSelected = React.useCallback(\n (nodeId: T['id']) => {\n setSelected(new Set([nodeId]))\n },\n [setSelected]\n )\n\n const toggleSelected = React.useCallback(\n (nodeId: T['id']) => {\n if (!isSelected(nodeId)) {\n if (selectedIds.size < selectionLimit) {\n addSelected(nodeId)\n }\n } else {\n removeSelected(nodeId)\n }\n },\n [addSelected, isSelected, removeSelected, selectedIds.size, selectionLimit]\n )\n\n const toggleSelection = React.useMemo(\n () => (multiple ? toggleSelected : toggleSingleSelected),\n [multiple, toggleSelected, toggleSingleSelected]\n )\n\n const handleSelection = React.useCallback(\n (node: T) => toggleSelection(node.id),\n [toggleSelection]\n )\n\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(() => {\n Array.from(selectedIds)\n .filter((id) => !selected.includes(id))\n .forEach(removeSelected)\n selected.filter((id) => !isSelected(id)).forEach(addSelected)\n }, [selected])\n /* eslint-enable react-hooks/exhaustive-deps */\n\n const handleExpand = React.useCallback(\n async (nodeId: T['id']) => {\n try {\n startLoading(nodeId)\n await onExpand(getNodeById(nodeId))\n } finally {\n stopLoading(nodeId)\n }\n },\n [getNodeById, onExpand, startLoading, stopLoading]\n )\n\n const handleCollapse = React.useCallback(\n (nodeId: T['id']) => onCollapse(getNodeById(nodeId)),\n [getNodeById, onCollapse]\n )\n\n const getExpandedIds: (nodeIds: T['id'][], currentNode: T) => T['id'][] =\n React.useCallback(\n (nodeIds, currentNode) => {\n const parentId = getParentId(currentNode)\n if (\n rootNodes.find((rootNode) => parentId === rootNode.id) ||\n isRootNode(parentId)\n ) {\n return [...nodeIds, currentNode.id, parentId]\n } else {\n return getExpandedIds(\n [...nodeIds, currentNode.id],\n getNodeById(parentId)\n )\n }\n },\n [getNodeById, getParentId, rootNodes]\n )\n\n const expandedIds = React.useMemo(() => {\n if (autoExpandParent) {\n return nodes\n .filter((node) =>\n expanded.concat(Array.from(selectedIds)).includes(node.id)\n )\n .reduce(getExpandedIds, [])\n }\n return expanded\n }, [autoExpandParent, expanded, getExpandedIds, nodes, selectedIds])\n\n const {\n add: addExpanded,\n has: isExpanded,\n toggle: toggleExpanded,\n setCollection: setExpanded,\n } = useSet<T['id']>({\n initialValue: new Set(expandedIds),\n onAdd: handleExpand,\n onRemove: handleCollapse,\n })\n\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(() => {\n expandedIds.filter((id) => !isExpanded(id)).forEach(addExpanded)\n }, [expandedIds])\n /* eslint-enable react-hooks/exhaustive-deps */\n\n const listNavigation = useListNavigation({\n circular: false,\n initialIndex: 0,\n size: 0,\n })\n\n const getSelectableItems = React.useCallback(\n (visibleNodes: TreeNode[], node: TreeNode): TreeNode[] => {\n const visibleItems =\n isExpanded(node.id) && !isLoading(node.id) && node.items\n ? node.items.reduce(getSelectableItems, [])\n : []\n return [...visibleNodes, node, ...visibleItems]\n },\n [isExpanded, isLoading]\n )\n\n const getChildrenNodes = React.useCallback(\n (nodes: TreeNode[], node: T, level: number): TreeNode[] => {\n const children = getChildren(node)\n\n if (children.length > 0) {\n return [\n ...nodes,\n {\n ...node,\n level,\n items: children.reduce(\n (acc, curr) => getChildrenNodes(acc, curr, level + 1),\n [] as TreeNode[]\n ),\n },\n ]\n } else {\n return [...nodes, { ...node, level }]\n }\n },\n [getChildren]\n )\n\n const nodesTree = React.useMemo(\n () =>\n Array.isArray(rootNodes)\n ? rootNodes.map((el: T) => getChildrenNodes([], el, 0)).flat()\n : [],\n [rootNodes, getChildrenNodes]\n )\n\n const visibleNodes = React.useMemo(\n () => nodesTree.reduce(getSelectableItems, []),\n [getSelectableItems, nodesTree]\n )\n\n const highlight = React.useCallback(\n (node: T) => {\n const index = visibleNodes.findIndex(\n (visibleNode: T) => visibleNode.id === node.id\n )\n if (index !== -1) {\n listNavigation.set(index)\n }\n },\n [listNavigation, visibleNodes]\n )\n\n React.useEffect(() => {\n listNavigation.setSize(visibleNodes.length)\n }, [listNavigation, visibleNodes.length])\n\n const isHighlighted = React.useCallback(\n (node: T) =>\n visibleNodes[listNavigation.index] &&\n visibleNodes[listNavigation.index].id === node.id,\n [listNavigation.index, visibleNodes]\n )\n\n const highlightedNode = React.useMemo(() => {\n return visibleNodes[listNavigation.index]\n }, [listNavigation.index, visibleNodes])\n\n return {\n nodes: visibleNodes,\n isExpanded: React.useCallback(\n (node: T) => isExpanded(node.id),\n [isExpanded]\n ),\n isSelected: React.useCallback(\n (node: T) => isSelected(node.id),\n [isSelected]\n ),\n isLoading: React.useCallback((node: T) => isLoading(node.id), [isLoading]),\n highlightedNode,\n isHighlighted,\n highlight,\n handleSelection,\n handleExpansion: React.useCallback(\n (node: T) => toggleExpanded(node.id),\n [toggleExpanded]\n ),\n setSelected,\n setExpanded,\n isFileLimitReached: selectedIds.size >= selectionLimit,\n listNavigation,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tree.hooks.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_OverloadYield","k","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","isArray","React","useListNavigation","useSet","isRootNode","useTree","_ref","rootNodes","expanded","selected","selectionLimit","onSelect","multiple","autoExpandParent","getChildren","getParentId","onCollapse","onExpand","getNodes","useCallback","nodes","node","concat","reduce","useMemo","map","el","flat","getNodeById","nodeId","find","item","id","_useSet","isLoading","has","startLoading","add","stopLoading","remove","handleChange","selectedNodes","_useSet2","initialValue","Set","onChange","selectedIds","collection","isSelected","addSelected","removeSelected","setSelected","setCollection","toggleSingleSelected","toggleSelected","size","toggleSelection","handleSelection","useEffect","filter","includes","forEach","handleExpand","_ref2","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","finish","stop","_x","handleCollapse","getExpandedIds","nodeIds","currentNode","parentId","rootNode","expandedIds","_useSet3","onAdd","onRemove","addExpanded","isExpanded","toggleExpanded","toggle","setExpanded","listNavigation","circular","initialIndex","getSelectableItems","visibleNodes","visibleItems","items","getChildrenNodes","level","posInSet","setSize","children","childSetSize","_objectSpread","acc","curr","index","nodesTree","highlight","findIndex","visibleNode","set","isHighlighted","highlightedNode","handleExpansion","isFileLimitReached"],"sources":["../../src/Tree/Tree.hooks.ts"],"sourcesContent":["import React from 'react'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { useSet } from '../_hooks/useSet'\nimport { isRootNode } from './Tree'\nimport type { LevelWise, Node, UseTreeProps } from './Tree.types'\n\nexport function useTree<T extends Node = Node>({\n rootNodes,\n expanded,\n selected,\n selectionLimit,\n onSelect,\n multiple,\n autoExpandParent,\n getChildren,\n getParentId,\n onCollapse,\n onExpand,\n}: UseTreeProps<T>) {\n type VisibleNode = T & LevelWise\n type TreeNode = VisibleNode & {\n items?: (TreeNode | VisibleNode)[]\n }\n\n const getNodes = React.useCallback(\n (nodes: T[], node: T): T[] => {\n return [...nodes, node, ...getChildren(node).reduce(getNodes, [])]\n },\n [getChildren]\n )\n\n const nodes = React.useMemo(() => {\n return rootNodes.map((el: T) => getNodes([], el)).flat()\n }, [rootNodes, getNodes])\n\n const getNodeById = React.useCallback(\n (nodeId: T['id']): T =>\n nodes.find((item: T) => {\n return item.id === nodeId\n }) as T,\n [nodes]\n )\n\n const {\n has: isLoading,\n add: startLoading,\n remove: stopLoading,\n } = useSet<T['id']>()\n\n const handleChange = React.useCallback(\n (selectedNodes: Set<T['id']>) =>\n onSelect(Array.from(selectedNodes).map(getNodeById)),\n [getNodeById, onSelect]\n )\n\n const {\n collection: selectedIds,\n has: isSelected,\n add: addSelected,\n remove: removeSelected,\n setCollection: setSelected,\n } = useSet<T['id']>({\n initialValue: new Set(selected),\n onChange: handleChange,\n })\n\n const toggleSingleSelected = React.useCallback(\n (nodeId: T['id']) => {\n setSelected(new Set([nodeId]))\n },\n [setSelected]\n )\n\n const toggleSelected = React.useCallback(\n (nodeId: T['id']) => {\n if (!isSelected(nodeId)) {\n if (selectedIds.size < selectionLimit) {\n addSelected(nodeId)\n }\n } else {\n removeSelected(nodeId)\n }\n },\n [addSelected, isSelected, removeSelected, selectedIds.size, selectionLimit]\n )\n\n const toggleSelection = React.useMemo(\n () => (multiple ? toggleSelected : toggleSingleSelected),\n [multiple, toggleSelected, toggleSingleSelected]\n )\n\n const handleSelection = React.useCallback(\n (node: T) => toggleSelection(node.id),\n [toggleSelection]\n )\n\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(() => {\n Array.from(selectedIds)\n .filter((id) => !selected.includes(id))\n .forEach(removeSelected)\n selected.filter((id) => !isSelected(id)).forEach(addSelected)\n }, [selected])\n /* eslint-enable react-hooks/exhaustive-deps */\n\n const handleExpand = React.useCallback(\n async (nodeId: T['id']) => {\n try {\n startLoading(nodeId)\n await onExpand(getNodeById(nodeId))\n } finally {\n stopLoading(nodeId)\n }\n },\n [getNodeById, onExpand, startLoading, stopLoading]\n )\n\n const handleCollapse = React.useCallback(\n (nodeId: T['id']) => onCollapse(getNodeById(nodeId)),\n [getNodeById, onCollapse]\n )\n\n const getExpandedIds: (nodeIds: T['id'][], currentNode: T) => T['id'][] =\n React.useCallback(\n (nodeIds, currentNode) => {\n const parentId = getParentId(currentNode)\n if (\n rootNodes.find((rootNode) => parentId === rootNode.id) ||\n isRootNode(parentId)\n ) {\n return [...nodeIds, currentNode.id, parentId]\n } else {\n return getExpandedIds(\n [...nodeIds, currentNode.id],\n getNodeById(parentId)\n )\n }\n },\n [getNodeById, getParentId, rootNodes]\n )\n\n const expandedIds = React.useMemo(() => {\n if (autoExpandParent) {\n return nodes\n .filter((node) =>\n expanded.concat(Array.from(selectedIds)).includes(node.id)\n )\n .reduce(getExpandedIds, [])\n }\n return expanded\n }, [autoExpandParent, expanded, getExpandedIds, nodes, selectedIds])\n\n const {\n add: addExpanded,\n has: isExpanded,\n toggle: toggleExpanded,\n setCollection: setExpanded,\n } = useSet<T['id']>({\n initialValue: new Set(expandedIds),\n onAdd: handleExpand,\n onRemove: handleCollapse,\n })\n\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(() => {\n expandedIds.filter((id) => !isExpanded(id)).forEach(addExpanded)\n }, [expandedIds])\n /* eslint-enable react-hooks/exhaustive-deps */\n\n const listNavigation = useListNavigation({\n circular: false,\n initialIndex: 0,\n size: 0,\n })\n\n const getSelectableItems = React.useCallback(\n (visibleNodes: TreeNode[], node: TreeNode): TreeNode[] => {\n const visibleItems =\n isExpanded(node.id) && !isLoading(node.id) && node.items\n ? node.items.reduce(getSelectableItems, [])\n : []\n return [...visibleNodes, node, ...visibleItems]\n },\n [isExpanded, isLoading]\n )\n\n const getChildrenNodes = React.useCallback(\n (\n nodes: TreeNode[],\n node: T,\n level: number,\n posInSet: number,\n setSize: number\n ): TreeNode[] => {\n const children = getChildren(node)\n\n if (children.length > 0) {\n const childSetSize = children.length\n return [\n ...nodes,\n {\n ...node,\n level,\n setSize,\n posInSet,\n items: children.reduce(\n (acc, curr, index) =>\n getChildrenNodes(acc, curr, level + 1, index + 1, childSetSize),\n [] as TreeNode[]\n ),\n },\n ]\n } else {\n return [...nodes, { ...node, level, setSize, posInSet }]\n }\n },\n [getChildren]\n )\n\n const nodesTree = React.useMemo(\n () =>\n Array.isArray(rootNodes)\n ? rootNodes\n .map((el: T, index: number) =>\n getChildrenNodes([], el, 0, index + 1, rootNodes.length)\n )\n .flat()\n : [],\n [rootNodes, getChildrenNodes]\n )\n\n const visibleNodes = React.useMemo(\n () => nodesTree.reduce(getSelectableItems, []),\n [getSelectableItems, nodesTree]\n )\n\n const highlight = React.useCallback(\n (node: T) => {\n const index = visibleNodes.findIndex(\n (visibleNode: T) => visibleNode.id === node.id\n )\n if (index !== -1) {\n listNavigation.set(index)\n }\n },\n [listNavigation, visibleNodes]\n )\n\n React.useEffect(() => {\n listNavigation.setSize(visibleNodes.length)\n }, [listNavigation, visibleNodes.length])\n\n const isHighlighted = React.useCallback(\n (node: T) =>\n visibleNodes[listNavigation.index] &&\n visibleNodes[listNavigation.index].id === node.id,\n [listNavigation.index, visibleNodes]\n )\n\n const highlightedNode = React.useMemo(() => {\n return visibleNodes[listNavigation.index]\n }, [listNavigation.index, visibleNodes])\n\n return {\n nodes: visibleNodes,\n isExpanded: React.useCallback(\n (node: T) => isExpanded(node.id),\n [isExpanded]\n ),\n isSelected: React.useCallback(\n (node: T) => isSelected(node.id),\n [isSelected]\n ),\n isLoading: React.useCallback((node: T) => isLoading(node.id), [isLoading]),\n highlightedNode,\n isHighlighted,\n highlight,\n handleSelection,\n handleExpansion: React.useCallback(\n (node: T) => toggleExpanded(node.id),\n [toggleExpanded]\n ),\n setSelected,\n setExpanded,\n isFileLimitReached: selectedIds.size >= selectionLimit,\n listNavigation,\n }\n}\n"],"mappings":"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"}
package/dist/Tree/Tree.js CHANGED
@@ -9,7 +9,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
9
9
  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; }
10
10
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
11
11
  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); }
12
- 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); }
13
12
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
14
13
  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."); }
15
14
  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; } }
@@ -18,9 +17,12 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
18
17
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
18
  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; }
20
19
  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; }
21
- import { File, Folder } from '@procore/core-icons/dist';
20
+ 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); }
21
+ import { ChevronRight, File, Folder } from '@procore/core-icons/dist';
22
22
  import React from 'react';
23
23
  import { areEqual, FixedSizeList } from 'react-window';
24
+ import styled from 'styled-components';
25
+ import { Button } from '../Button/Button';
24
26
  import { Spinner } from '../Spinner/Spinner';
25
27
  import { Tooltip } from '../Tooltip';
26
28
  import { useI18nContext } from '../_hooks/I18n';
@@ -31,7 +33,7 @@ import { useVisibility } from '../_hooks/Visibility';
31
33
  import { parseFilename } from '../_utils/filename';
32
34
  import { mergeRefs } from '../_utils/mergeRefs';
33
35
  import { useTree } from './Tree.hooks';
34
- import { StyledChevron, StyledChevronContainer, StyledFilenameCaption, StyledIconContainer, StyledTree, StyledTreeRowContainer, StyledTreeRowContent, StyledTreeRowWrapper } from './Tree.styles';
36
+ import { StyledChevronPlaceholder, StyledFilenameCaption, StyledIconContainer, StyledTree, StyledTreeRowContainer, StyledTreeRowContent, StyledTreeRowWrapper } from './Tree.styles';
35
37
  var spacing = 32;
36
38
  var rootSpacing = 24;
37
39
  var defaultRowHeight = 36;
@@ -51,7 +53,22 @@ var intersectionThresholds = Array.from({
51
53
  }).map(function (_, index) {
52
54
  return index / 100;
53
55
  });
56
+ var TreeInnerElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
57
+ return /*#__PURE__*/React.createElement("div", _extends({
58
+ role: "presentation",
59
+ ref: ref
60
+ }, props));
61
+ });
62
+ var TreeOuterElement = /*#__PURE__*/React.forwardRef(function (props, ref) {
63
+ return /*#__PURE__*/React.createElement("div", _extends({
64
+ role: "presentation",
65
+ ref: ref
66
+ }, props));
67
+ });
54
68
  var tooltipDelay = 300;
69
+ function getTreeItemId(nodeId) {
70
+ return "treeitem-".concat(nodeId);
71
+ }
55
72
 
56
73
  // TODO refactor this to not be upper snake case
57
74
  export var UNSAFE_treeRootNodeId = 'ROOT_ID';
@@ -268,6 +285,45 @@ export var Tree = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
268
285
  e.preventDefault();
269
286
  isExpandable(highlightedNode) && handleExpansion(highlightedNode);
270
287
  break;
288
+ case 'Tab':
289
+ if (e.shiftKey) {
290
+ if (listNavigation.index > 0) {
291
+ e.preventDefault();
292
+ listNavigation.decrement();
293
+ }
294
+ } else {
295
+ if (listNavigation.index < nodes.length - 1) {
296
+ e.preventDefault();
297
+ listNavigation.increment();
298
+ }
299
+ }
300
+ break;
301
+ case 'ArrowLeft':
302
+ case 'Left':
303
+ e.preventDefault();
304
+ if (isExpandable(highlightedNode) && isExpanded(highlightedNode)) {
305
+ handleExpansion(highlightedNode);
306
+ } else {
307
+ var parentId = getParentId(highlightedNode);
308
+ if (!isRootNode(parentId)) {
309
+ var parentNode = nodes.find(function (node) {
310
+ return node.id === parentId;
311
+ });
312
+ if (parentNode) {
313
+ highlight(parentNode);
314
+ }
315
+ }
316
+ }
317
+ break;
318
+ case 'ArrowRight':
319
+ case 'Right':
320
+ e.preventDefault();
321
+ if (isExpandable(highlightedNode) && !isExpanded(highlightedNode)) {
322
+ handleExpansion(highlightedNode);
323
+ } else if (isExpandable(highlightedNode) && isExpanded(highlightedNode)) {
324
+ listNavigation.increment();
325
+ }
326
+ break;
271
327
  case 'ArrowDown':
272
328
  case 'Down':
273
329
  e.preventDefault();
@@ -333,6 +389,9 @@ export var Tree = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
333
389
  }
334
390
  return /*#__PURE__*/React.createElement(StyledTree, _extends({}, props, {
335
391
  ref: mergeRefs(wrapperRef, setResizeObserverTarget),
392
+ role: "tree",
393
+ "aria-multiselectable": multiple,
394
+ "aria-activedescendant": highlightedNode ? getTreeItemId(highlightedNode.id) : undefined,
336
395
  tabIndex: 0,
337
396
  onFocus: function onFocus() {
338
397
  return setIsTreeFocused(true);
@@ -349,8 +408,8 @@ export var Tree = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
349
408
  outerRef: listOuterRefRef,
350
409
  itemCount: nodes.length,
351
410
  itemSize: rowHeight,
352
- innerElementType: innerElementType,
353
- outerElementType: outerElementType,
411
+ innerElementType: innerElementType !== null && innerElementType !== void 0 ? innerElementType : TreeInnerElement,
412
+ outerElementType: outerElementType !== null && outerElementType !== void 0 ? outerElementType : TreeOuterElement,
354
413
  itemData: itemData,
355
414
  width: Math.max(contentMaxWidth, containerSize.width)
356
415
  }, TreeNode));
@@ -397,8 +456,18 @@ var TreeNode = /*#__PURE__*/React.memo(function (_ref3) {
397
456
  timer.cancel();
398
457
  hideTooltip();
399
458
  };
459
+ var nodeIsExpandable = props.isExpandable(node);
460
+ var nodeIsSelectable = props.isSelectable(node);
461
+ var nodeIsExpanded = props.isExpanded(node);
462
+ var nodeIsSelected = props.isSelected(node);
400
463
  return /*#__PURE__*/React.createElement(StyledTreeRowWrapper, {
401
- tabIndex: -1,
464
+ id: getTreeItemId(node.id),
465
+ role: "treeitem",
466
+ "aria-level": node.level + 1,
467
+ "aria-setsize": node.setSize,
468
+ "aria-posinset": node.posInSet,
469
+ "aria-expanded": nodeIsExpandable ? nodeIsExpanded : undefined,
470
+ "aria-selected": nodeIsSelectable ? nodeIsSelected : undefined,
402
471
  onMouseEnter: onMouseEnter,
403
472
  onMouseLeave: onMouseLeave,
404
473
  style: style,
@@ -421,7 +490,7 @@ var TreeRow = function TreeRow(_ref4) {
421
490
  isMouseOver = _ref4.isMouseOver,
422
491
  treeContainer = _ref4.treeContainer,
423
492
  props = _objectWithoutProperties(_ref4, _excluded3);
424
- var expanderRef = React.useRef(null);
493
+ var chevronButtonRef = React.useRef(null);
425
494
  var isSelected = props.isSelected(node);
426
495
  var isSelectable = props.isSelectable(node);
427
496
  var isExpandable = props.isExpandable(node);
@@ -430,12 +499,17 @@ var TreeRow = function TreeRow(_ref4) {
430
499
  var isHighlighted = props.isHighlighted(node);
431
500
  var nodeType = props.getType(node);
432
501
  var rowLabel = getLabel(node);
502
+ var onChevronClick = React.useCallback(function (event) {
503
+ event.stopPropagation();
504
+ handleExpansion(node);
505
+ }, [handleExpansion, node]);
433
506
  var onClick = React.useCallback(function (event) {
434
- if (isSelectable && isExpandable) {
435
- var _expanderRef$current;
436
- // @ts-ignore
437
- expanderRef !== null && expanderRef !== void 0 && (_expanderRef$current = expanderRef.current) !== null && _expanderRef$current !== void 0 && _expanderRef$current.contains(event.target) ? handleExpansion(node) : handleSelection(node);
438
- } else if (isSelectable) {
507
+ var _chevronButtonRef$cur;
508
+ // Chevron button handles its own event
509
+ if ((_chevronButtonRef$cur = chevronButtonRef.current) !== null && _chevronButtonRef$cur !== void 0 && _chevronButtonRef$cur.contains(event.target)) {
510
+ return;
511
+ }
512
+ if (isSelectable) {
439
513
  handleSelection(node);
440
514
  } else if (isExpandable) {
441
515
  handleExpansion(node);
@@ -458,9 +532,10 @@ var TreeRow = function TreeRow(_ref4) {
458
532
  }, /*#__PURE__*/React.createElement(StyledTreeRowContent, {
459
533
  "data-row-content": true
460
534
  }, /*#__PURE__*/React.createElement(TreeRowChevron, {
461
- ref: expanderRef,
535
+ ref: chevronButtonRef,
462
536
  isExpandable: isExpandable,
463
- isExpanded: isExpanded
537
+ isExpanded: isExpanded,
538
+ onClick: onChevronClick
464
539
  }), /*#__PURE__*/React.createElement(TreeRowIcon, {
465
540
  isLoading: isLoading,
466
541
  isSelected: isSelected,
@@ -488,19 +563,37 @@ var IconContainer = function IconContainer(_ref5) {
488
563
  $isSelected: isSelected
489
564
  }, props), children);
490
565
  };
491
- var TreeRowChevron = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
492
- var isExpanded = _ref6.isExpanded,
493
- isExpandable = _ref6.isExpandable;
494
- return /*#__PURE__*/React.createElement(StyledChevronContainer, {
495
- ref: ref
496
- }, isExpandable ? /*#__PURE__*/React.createElement(StyledChevron, {
497
- $isExpanded: isExpanded
498
- }) : null);
566
+ var StyledChevronIcon = /*#__PURE__*/styled(ChevronRight).withConfig({
567
+ displayName: "StyledChevronIcon",
568
+ componentId: "core-12_36_0__sc-f25ekl-0"
569
+ })(["transform:rotate(", "deg);transition:transform 150ms ease-out;"], function (_ref6) {
570
+ var $isExpanded = _ref6.$isExpanded;
571
+ return $isExpanded ? 90 : 0;
499
572
  });
500
- var TreeRowIcon = function TreeRowIcon(_ref7) {
501
- var isSelected = _ref7.isSelected,
502
- isLoading = _ref7.isLoading,
503
- icon = _ref7.icon;
573
+ var TreeRowChevron = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
574
+ var isExpanded = _ref7.isExpanded,
575
+ isExpandable = _ref7.isExpandable,
576
+ onClick = _ref7.onClick;
577
+ var I18n = useI18nContext();
578
+ if (!isExpandable) {
579
+ return /*#__PURE__*/React.createElement(StyledChevronPlaceholder, null);
580
+ }
581
+ return /*#__PURE__*/React.createElement(Button, {
582
+ ref: ref,
583
+ variant: "tertiary",
584
+ size: "sm",
585
+ icon: /*#__PURE__*/React.createElement(StyledChevronIcon, {
586
+ $isExpanded: isExpanded
587
+ }),
588
+ onClick: onClick,
589
+ tabIndex: -1,
590
+ "aria-label": I18n.t(isExpanded ? 'core.tree.collapse' : 'core.tree.expand')
591
+ });
592
+ });
593
+ var TreeRowIcon = function TreeRowIcon(_ref8) {
594
+ var isSelected = _ref8.isSelected,
595
+ isLoading = _ref8.isLoading,
596
+ icon = _ref8.icon;
504
597
  return /*#__PURE__*/React.createElement(IconContainer, {
505
598
  isSelected: isSelected,
506
599
  marginLeft: "sm",
@@ -509,8 +602,8 @@ var TreeRowIcon = function TreeRowIcon(_ref7) {
509
602
  size: "sm"
510
603
  }) : icon);
511
604
  };
512
- var TreeRowName = function TreeRowName(_ref8) {
513
- var value = _ref8.value;
605
+ var TreeRowName = function TreeRowName(_ref9) {
606
+ var value = _ref9.value;
514
607
  return /*#__PURE__*/React.createElement(StyledFilenameCaption, null, value);
515
608
  };
516
609
  var getSelectionLimitMessage = function getSelectionLimitMessage(selectionLimit) {
@@ -533,18 +626,18 @@ var getUnsupportedFileTypeMessage = function getUnsupportedFileTypeMessage(fileN
533
626
  }
534
627
  };
535
628
  };
536
- var TreeRowTooltip = function TreeRowTooltip(_ref9) {
537
- var children = _ref9.children,
538
- isFocused = _ref9.isHighlighted,
539
- isFileLimitReached = _ref9.isFileLimitReached,
540
- isSelectable = _ref9.isSelectable,
541
- isSelected = _ref9.isSelected,
542
- nodeType = _ref9.nodeType,
543
- selectionLimit = _ref9.selectionLimit,
544
- shouldShowTooltip = _ref9.shouldShowTooltip,
545
- isMouseOver = _ref9.isMouseOver,
546
- fileName = _ref9.fileName,
547
- treeContainer = _ref9.treeContainer;
629
+ var TreeRowTooltip = function TreeRowTooltip(_ref0) {
630
+ var children = _ref0.children,
631
+ isFocused = _ref0.isHighlighted,
632
+ isFileLimitReached = _ref0.isFileLimitReached,
633
+ isSelectable = _ref0.isSelectable,
634
+ isSelected = _ref0.isSelected,
635
+ nodeType = _ref0.nodeType,
636
+ selectionLimit = _ref0.selectionLimit,
637
+ shouldShowTooltip = _ref0.shouldShowTooltip,
638
+ isMouseOver = _ref0.isMouseOver,
639
+ fileName = _ref0.fileName,
640
+ treeContainer = _ref0.treeContainer;
548
641
  var I18n = useI18nContext();
549
642
  var rowRef = React.useRef(null);
550
643
  var isUserInteracting = isFocused || isMouseOver;
@@ -579,15 +672,15 @@ var TreeRowTooltip = function TreeRowTooltip(_ref9) {
579
672
  ref: mergeRefs(rowRef, registerRowEl)
580
673
  }, children));
581
674
  };
582
- var TreeRowContainer = function TreeRowContainer(_ref0) {
583
- var children = _ref0.children,
584
- isHighlighted = _ref0.isHighlighted,
585
- isSelected = _ref0.isSelected,
586
- isSelectable = _ref0.isSelectable,
587
- isExpandable = _ref0.isExpandable,
588
- isFileLimitReached = _ref0.isFileLimitReached,
589
- level = _ref0.level,
590
- props = _objectWithoutProperties(_ref0, _excluded5);
675
+ var TreeRowContainer = function TreeRowContainer(_ref1) {
676
+ var children = _ref1.children,
677
+ isHighlighted = _ref1.isHighlighted,
678
+ isSelected = _ref1.isSelected,
679
+ isSelectable = _ref1.isSelectable,
680
+ isExpandable = _ref1.isExpandable,
681
+ isFileLimitReached = _ref1.isFileLimitReached,
682
+ level = _ref1.level,
683
+ props = _objectWithoutProperties(_ref1, _excluded5);
591
684
  return /*#__PURE__*/React.createElement(StyledTreeRowContainer, _extends({
592
685
  $isSelectable: isSelectable && (isFileLimitReached && isSelected || !isFileLimitReached) || isExpandable,
593
686
  $isHighlighted: isHighlighted,