@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.
- package/CHANGELOG.md +53 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.d.ts +2 -2
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/Calendar.styles.d.ts +6 -3
- package/dist/Calendar/Calendar.styles.js +15 -9
- package/dist/Calendar/Calendar.styles.js.map +1 -1
- package/dist/Calendar/Calendar.types.d.ts +1 -31
- package/dist/Calendar/Calendar.types.js.map +1 -1
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +1 -1
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/ContactItem/ContactItem.types.d.ts +2 -0
- package/dist/ContactItem/ContactItem.types.js.map +1 -1
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +58 -53
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +9 -9
- package/dist/DateInput/DateInput.styles.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +2 -2
- package/dist/Input/Input.styles.js.map +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +9 -9
- package/dist/NumberInput/NumberInput.styles.js.map +1 -1
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js +16 -0
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +6 -6
- package/dist/Pagination/Pagination.styles.js.map +1 -1
- package/dist/Pagination/Pagination.types.d.ts +4 -0
- package/dist/Pagination/Pagination.types.js.map +1 -1
- package/dist/Pagination/PaginationSelect.js +59 -3
- package/dist/Pagination/PaginationSelect.js.map +1 -1
- package/dist/Panel/Panel.js +6 -2
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.js +4 -1
- package/dist/Portal/Portal.js.map +1 -1
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/Portal/Portal.types.d.ts +1 -1
- package/dist/Portal/Portal.types.js.map +1 -1
- package/dist/Portal/PortalProvider.d.ts +5 -0
- package/dist/Portal/PortalProvider.js +14 -0
- package/dist/Portal/PortalProvider.js.map +1 -0
- package/dist/Portal/PortalProvider.types.d.ts +4 -0
- package/dist/Portal/PortalProvider.types.js +2 -0
- package/dist/Portal/PortalProvider.types.js.map +1 -0
- package/dist/Portal/index.d.ts +2 -0
- package/dist/Portal/index.js +1 -0
- package/dist/Portal/index.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +4 -4
- package/dist/RadioButton/RadioButton.styles.js.map +1 -1
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +1 -0
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +10 -10
- package/dist/Select/Select.styles.js.map +1 -1
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.js +3 -1
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.context.js +10 -2
- package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.js +4 -2
- package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.components.js +3 -3
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +41 -41
- package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.js +11 -11
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.d.ts +2 -2
- package/dist/Table/Table.js +58 -18
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.d.ts +3 -1
- package/dist/Table/Table.styles.js +34 -33
- package/dist/Table/Table.styles.js.map +1 -1
- package/dist/Table/Table.types.d.ts +5 -0
- package/dist/Table/Table.types.js.map +1 -1
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.js +1 -0
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditor/TextEditor.d.ts +1 -1
- package/dist/TextEditor/TextEditor.js +67 -12
- package/dist/TextEditor/TextEditor.js.map +1 -1
- package/dist/TextEditor/TextEditor.types.d.ts +17 -0
- package/dist/TextEditor/TextEditor.types.js.map +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/Thumbnail/ThumbnailDocumentIcon.d.ts +3 -1
- package/dist/Thumbnail/ThumbnailDocumentIcon.js +61 -21
- package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.js +1 -1
- package/dist/Toast/Toast.js.map +1 -1
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.hooks.js +11 -6
- package/dist/Tree/Tree.hooks.js.map +1 -1
- package/dist/Tree/Tree.js +142 -49
- package/dist/Tree/Tree.js.map +1 -1
- package/dist/Tree/Tree.styles.d.ts +5 -0
- package/dist/Tree/Tree.styles.js +17 -9
- package/dist/Tree/Tree.styles.js.map +1 -1
- package/dist/Tree/Tree.types.d.ts +21 -1
- package/dist/Tree/Tree.types.js.map +1 -1
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/I18n.d.ts +200 -11
- package/dist/_locales/de-DE.json +11 -3
- package/dist/_locales/en-AU.json +10 -2
- package/dist/_locales/en-CA.json +10 -2
- package/dist/_locales/en-GB.json +10 -2
- package/dist/_locales/en.json +6 -0
- package/dist/_locales/es-ES.json +12 -4
- package/dist/_locales/es.json +15 -7
- package/dist/_locales/fr-CA.json +11 -3
- package/dist/_locales/fr-FR.json +12 -4
- package/dist/_locales/is-IS.json +11 -3
- package/dist/_locales/it-IT.json +56 -48
- package/dist/_locales/ja-JP.json +12 -4
- package/dist/_locales/pl-PL.json +10 -2
- package/dist/_locales/pseudo.json +6 -0
- package/dist/_locales/pt-BR.json +11 -3
- package/dist/_locales/pt-PT.json +190 -182
- package/dist/_locales/th-TH.json +13 -5
- package/dist/_locales/zh-SG.json +10 -2
- package/dist/_locales/zh-TW.json +16 -8
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +13 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +13 -13
- package/dist/_typedoc/Calendar/Calendar.types.json +89 -89
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +12 -10
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
- package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
- package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +794 -754
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +1 -1
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
- package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +34 -34
- package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +30 -30
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +51 -51
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +18 -18
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +64 -64
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
- package/dist/_typedoc/Table/Table.types.json +113 -103
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +29 -9
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +111 -86
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/dist/_utils/a11y.d.ts +1 -0
- package/dist/_utils/a11y.js +8 -0
- package/dist/_utils/a11y.js.map +1 -0
- 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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
}
|
|
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:
|
|
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
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
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
|
|
501
|
-
var
|
|
502
|
-
|
|
503
|
-
|
|
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(
|
|
513
|
-
var 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(
|
|
537
|
-
var children =
|
|
538
|
-
isFocused =
|
|
539
|
-
isFileLimitReached =
|
|
540
|
-
isSelectable =
|
|
541
|
-
isSelected =
|
|
542
|
-
nodeType =
|
|
543
|
-
selectionLimit =
|
|
544
|
-
shouldShowTooltip =
|
|
545
|
-
isMouseOver =
|
|
546
|
-
fileName =
|
|
547
|
-
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(
|
|
583
|
-
var children =
|
|
584
|
-
isHighlighted =
|
|
585
|
-
isSelected =
|
|
586
|
-
isSelectable =
|
|
587
|
-
isExpandable =
|
|
588
|
-
isFileLimitReached =
|
|
589
|
-
level =
|
|
590
|
-
props = _objectWithoutProperties(
|
|
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,
|