@procore/core-react 12.14.0 → 12.16.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/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/Banner/Banner.js +3 -3
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.d.ts +3 -3
- package/dist/Banner/Banner.styles.js +16 -16
- package/dist/Banner/Banner.styles.js.map +1 -1
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +5 -2
- package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +8 -8
- 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/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +1 -1
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.d.ts +1 -1
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DateInput/DateInput.styles.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/DetailPageTemplate/DetailPageTemplate.d.ts +11 -0
- package/dist/DetailPageTemplate/DetailPageTemplate.js +38 -0
- package/dist/DetailPageTemplate/DetailPageTemplate.js.map +1 -0
- package/dist/DetailPageTemplate/DetailPageTemplate.types.d.ts +13 -0
- package/dist/DetailPageTemplate/DetailPageTemplate.types.js +2 -0
- package/dist/DetailPageTemplate/DetailPageTemplate.types.js.map +1 -0
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/Dropdown/Dropdown.types.d.ts +5 -11
- package/dist/Dropdown/Dropdown.types.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.js +6 -2
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +12 -14
- package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +3 -2
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/Dropzone/Dropzone.types.d.ts +22 -20
- package/dist/Dropzone/Dropzone.types.js.map +1 -1
- 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.js +3 -3
- package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.styles.d.ts +3 -3
- package/dist/FileSelect/GridSource/GridSource.styles.js +12 -12
- package/dist/FileSelect/GridSource/GridSource.styles.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.types.d.ts +14 -23
- package/dist/FileSelect/GridSource/GridSource.types.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/LocalSource/LocalSource.types.d.ts +43 -47
- package/dist/FileSelect/LocalSource/LocalSource.types.js.map +1 -1
- 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/FileSelect/TreeSource/TreeSource.types.d.ts +3 -1
- package/dist/FileSelect/TreeSource/TreeSource.types.js.map +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.js +2 -2
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js +12 -7
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/Form.types.d.ts +55 -67
- package/dist/Form/Form.types.js.map +1 -1
- 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 +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +4 -4
- package/dist/Loader/Loader.styles.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.js +8 -5
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/Modal/Modal.js +2 -2
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.d.ts +2 -2
- package/dist/Modal/Modal.styles.js +18 -18
- package/dist/Modal/Modal.styles.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/MultiSelect/MultiSelect.types.d.ts +22 -15
- package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.js +2 -2
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/NumberInput/NumberInput.styles.d.ts +2 -2
- package/dist/NumberInput/NumberInput.styles.js +11 -11
- package/dist/NumberInput/NumberInput.styles.js.map +1 -1
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +2 -2
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js.map +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.js +70 -23
- package/dist/PageHeaderTemplate/PageHeaderTemplate.js.map +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.d.ts +2 -0
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +11 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js.map +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.d.ts +11 -0
- package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js +88 -0
- package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js.map +1 -0
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageLayout/PageLayout.utils.d.ts +2 -0
- package/dist/PageLayout/PageLayout.utils.js +6 -0
- package/dist/PageLayout/PageLayout.utils.js.map +1 -1
- package/dist/PageTemplate/PageTemplate.js +6 -2
- package/dist/PageTemplate/PageTemplate.js.map +1 -1
- package/dist/PageTemplate/PageTemplate.styles.d.ts +5 -0
- package/dist/PageTemplate/PageTemplate.styles.js +24 -0
- package/dist/PageTemplate/PageTemplate.styles.js.map +1 -0
- package/dist/PageTemplate/PageTemplate.types.d.ts +1 -0
- package/dist/PageTemplate/PageTemplate.types.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +2 -2
- package/dist/Pill/Pill.types.d.ts +3 -1
- package/dist/Pill/Pill.types.js.map +1 -1
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Search/Search.types.d.ts +4 -2
- package/dist/Search/Search.types.js.map +1 -1
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +6 -3
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +9 -8
- package/dist/Select/Select.styles.js.map +1 -1
- package/dist/Select/Select.types.d.ts +9 -1
- package/dist/Select/Select.types.js.map +1 -1
- package/dist/Semantic/Semantic.d.ts +3 -7
- package/dist/Semantic/Semantic.js +14 -2
- package/dist/Semantic/Semantic.js.map +1 -1
- package/dist/Semantic/Semantic.styles.d.ts +3 -3
- package/dist/Semantic/Semantic.styles.js +11 -11
- package/dist/Semantic/Semantic.styles.js.map +1 -1
- package/dist/Semantic/Semantic.types.d.ts +5 -0
- package/dist/Semantic/Semantic.types.js.map +1 -1
- package/dist/SettingsPageTemplate/SettingsPageTemplate.d.ts +7 -0
- package/dist/SettingsPageTemplate/SettingsPageTemplate.js +34 -0
- package/dist/SettingsPageTemplate/SettingsPageTemplate.js.map +1 -0
- package/dist/SettingsPageTemplate/SettingsPageTemplate.types.d.ts +9 -0
- package/dist/SettingsPageTemplate/SettingsPageTemplate.types.js +2 -0
- package/dist/SettingsPageTemplate/SettingsPageTemplate.types.js.map +1 -0
- package/dist/Slider/Slider.js +2 -2
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/Slider.styles.d.ts +2 -2
- package/dist/Slider/Slider.styles.js +9 -9
- package/dist/Slider/Slider.styles.js.map +1 -1
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/Spinner/Spinner.types.d.ts +2 -5
- package/dist/Spinner/Spinner.types.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.js +7 -7
- package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditor/TextEditor.types.d.ts +12 -9
- package/dist/TextEditor/TextEditor.types.js.map +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.js +25 -10
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/Thumbnail/Thumbnail.types.d.ts +2 -3
- package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +2 -2
- package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/TieredSelect/TieredSelect.types.d.ts +64 -40
- package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Tile/Tile.types.d.ts +1 -1
- package/dist/Tile/Tile.types.js.map +1 -1
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/ToggleButton/ToggleButton.types.d.ts +1 -1
- package/dist/ToggleButton/ToggleButton.types.js.map +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/ToolLandingPageTemplate/ToolLandingPageTemplate.d.ts +5 -0
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js +44 -0
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js.map +1 -0
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.types.d.ts +7 -0
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.types.js +2 -0
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.types.js.map +1 -0
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.js +3 -3
- package/dist/Tree/Tree.js.map +1 -1
- package/dist/Tree/Tree.styles.d.ts +9 -3
- package/dist/Tree/Tree.styles.js +23 -15
- package/dist/Tree/Tree.styles.js.map +1 -1
- package/dist/Tree/Tree.types.d.ts +40 -19
- package/dist/Tree/Tree.types.js.map +1 -1
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.js +1 -1
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/Typography/Typography.styles.d.ts +2 -1
- package/dist/Typography/Typography.styles.js +3 -3
- package/dist/Typography/Typography.styles.js.map +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/useCurrentMedia.d.ts +36 -0
- package/dist/_hooks/useCurrentMedia.js +73 -0
- package/dist/_hooks/useCurrentMedia.js.map +1 -0
- package/dist/_locales/en-AU.json +56 -56
- package/dist/_locales/en-CA.json +56 -56
- package/dist/_locales/en-GB.json +55 -55
- package/dist/_locales/es.json +2 -2
- package/dist/_locales/ja-JP.json +5 -5
- package/dist/_locales/pt-BR.json +1 -1
- package/dist/_locales/th-TH.json +1 -1
- 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 +12 -12
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- 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 +39 -39
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +35 -35
- package/dist/_typedoc/Dropzone/Dropzone.types.json +53 -53
- package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +42 -42
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +30 -30
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +27 -27
- 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 +1015 -975
- 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 +54 -54
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +4 -4
- 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 +74 -74
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +35 -35
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
- package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +28 -28
- package/dist/_typedoc/Pill/Pill.types.json +4 -4
- package/dist/_typedoc/PillSelect/PillSelect.types.json +58 -48
- package/dist/_typedoc/Popover/Popover.types.json +14 -14
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
- 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 +22 -22
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
- package/dist/_typedoc/Select/Select.types.json +78 -58
- 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 +11 -11
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +112 -102
- package/dist/_typedoc/Tabs/Tabs.types.json +19 -19
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +13 -13
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +23 -23
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +56 -56
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +44 -44
- package/dist/_typedoc/Tile/Tile.types.json +32 -32
- 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 +6 -6
- package/dist/_typedoc/Token/Token.types.json +4 -4
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +110 -110
- 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/package.json +2 -2
|
@@ -6,10 +6,10 @@ import { getShadow } from '../_styles/shadows';
|
|
|
6
6
|
import { spacing } from '../_styles/spacing';
|
|
7
7
|
export var StyledTooltip = /*#__PURE__*/styled.span.withConfig({
|
|
8
8
|
displayName: "StyledTooltip",
|
|
9
|
-
componentId: "core-
|
|
9
|
+
componentId: "core-12_16_0__sc-1fawsi4-0"
|
|
10
10
|
})(["", " color:", ";max-width:200px;padding:", "px ", "px;position:relative;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;"], getTypographyIntent('small'), colors.white, spacing.sm, spacing.md);
|
|
11
11
|
export var StyledContainer = /*#__PURE__*/styled.span.withConfig({
|
|
12
12
|
displayName: "StyledContainer",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_16_0__sc-1fawsi4-1"
|
|
14
14
|
})(["display:inline-flex;background-color:", ";border-radius:", "px;", " & + [data-overlay-arrow]{background:", ";}"], colors.gray15, borderRadius.md, getShadow(3, 'bottom'), colors.gray15);
|
|
15
15
|
//# sourceMappingURL=Tooltip.styles.js.map
|
package/dist/Tree/Tree.js
CHANGED
|
@@ -581,9 +581,9 @@ var TreeRowContainer = function TreeRowContainer(_ref10) {
|
|
|
581
581
|
level = _ref10.level,
|
|
582
582
|
props = _objectWithoutProperties(_ref10, _excluded5);
|
|
583
583
|
return /*#__PURE__*/React.createElement(StyledTreeRowContainer, _extends({
|
|
584
|
-
isSelectable: isSelectable && (isFileLimitReached && isSelected || !isFileLimitReached) || isExpandable,
|
|
585
|
-
isHighlighted: isHighlighted,
|
|
586
|
-
isSelected: isSelected,
|
|
584
|
+
$isSelectable: isSelectable && (isFileLimitReached && isSelected || !isFileLimitReached) || isExpandable,
|
|
585
|
+
$isHighlighted: isHighlighted,
|
|
586
|
+
$isSelected: isSelected,
|
|
587
587
|
style: {
|
|
588
588
|
paddingLeft: getPadding(level)
|
|
589
589
|
}
|
package/dist/Tree/Tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.js","names":["File","Folder","React","areEqual","FixedSizeList","Spinner","Tooltip","useI18nContext","useIntersectionObserver","useResizeObserver","useTimer","useVisibility","parseFilename","mergeRefs","useTree","StyledChevron","StyledChevronContainer","StyledFilenameCaption","StyledIconContainer","StyledTree","StyledTreeRowContainer","StyledTreeRowContent","StyledTreeRowWrapper","spacing","rootSpacing","defaultRowHeight","rowRightPadding","scrollbarWidth","getPadding","level","intersectionThresholds","Array","from","length","map","_","index","tooltipDelay","UNSAFE_treeRootNodeId","defaultIsExpandable","node","defaultGetType","defaultIsSelectable","type","defaultGetParentId","parentId","defaultGetLabel","name","noop","isRootNode","rootValues","undefined","includes","Tree","forwardRef","_ref","ref","options","_ref$expanded","expanded","_ref$selected","selected","_ref$selectionLimit","selectionLimit","Infinity","getRoot_","getRoot","getChildren_","getChildren","getIconBase","getIcon","_ref$getLabel","getLabel","_ref$getParentId","getParentId","getParentId_","_ref$getType","getType","_ref$isExpandable","isExpandable","_ref$isSelectable","isSelectable","_ref$multiple","multiple","_ref$onSelect","onSelect","_ref$onCollapse","onCollapse","_ref$onExpand","onExpand","Promise","resolve","rowRendererBase","rowRenderer","_ref$maxVisibleNodes","maxVisibleNodes","visibleHeight","_ref$autoExpandParent","autoExpandParent","innerElementType","outerElementType","onKeyDown","children","props","_objectWithoutProperties","_excluded","rowHeight","wrapperRef","useRef","listRef","listInnerRef","listOuterRefRef","_React$useState","useState","_React$useState2","_slicedToArray","contentMaxWidth","setContentMaxWidth","useMemo","defaultGetRoot","useCallback","nodes","filter","rootNodes","roots","isArray","useEffect","console","warn","_React$useState3","_React$useState4","isTreeFocused","setIsTreeFocused","_React$useState5","width","height","_React$useState6","containerSize","setContainerSize","handleContainerResize","entries","_ref2","target","clientHeight","clientWidth","setResizeObserverTarget","defaultGetChildren","childNode","id","_useTree","isExpanded","isSelected","isLoading","highlightedNode","isNodeHighlighted","isHighlighted","highlight","handleSelection","handleExpansion","_setExpanded","setExpanded","_setSelected","setSelected","isFileLimitReached","listNavigation","Set","useImperativeHandle","rootEl","current","toggleSelected","toggleExpanded","defaultGetIcon","isFolder","createElement","handleAccessibility","e","key","preventDefault","increment","decrement","_listRef$current","scrollToItem","defaultRowRenderer","TreeRow","_listInnerRef$current","rowContentSizes","childNodes","forEach","child","rowContent","querySelector","_dataset$padding","leftPadding","dataset","padding","push","scrollWidth","parseInt","maxSizeRowContent","Math","max","apply","itemData","treeContainer","error","_extends","tabIndex","onFocus","onBlur","className","min","innerRef","outerRef","itemCount","itemSize","TreeNode","memo","_ref3","_ref3$data","data","_excluded2","style","_React$useState7","_React$useState8","isMouseOver","setMouseOver","timer","_useVisibility","shouldShowTooltip","isVisible","showTooltip","show","hideTooltip","hide","setTimer","onMouseEnter","onMouseLeave","cancel","_objectSpread","_ref4","_excluded3","expanderRef","nodeType","rowLabel","onClick","event","_expanderRef$current","contains","onMouseDown","focus","TreeRowContainer","TreeRowChevron","TreeRowIcon","icon","TreeRowTooltip","fileName","TreeRowName","value","IconContainer","_ref5","_excluded4","$isSelected","_ref6","$isExpanded","_ref7","marginLeft","marginRight","size","_ref8","getSelectionLimitMessage","count","getUnsupportedFileTypeMessage","_parseFilename","extension","isFilename","concat","fileType","toUpperCase","_ref9","isFocused","I18n","rowRef","isUserInteracting","isTooltipVisible","isFile","_React$useState9","_React$useState10","isCropped","setCropped","registerRowEl","entry","rootBounds","left","boundingClientRect","root","rootMargin","threshold","selectionLimitMessage","unsupportedFileTypeMessage","message","trigger","overlay","t","placement","_ref10","_excluded5","paddingLeft"],"sources":["../../src/Tree/Tree.tsx"],"sourcesContent":["import { File, Folder } from '@procore/core-icons/dist'\nimport type { FunctionComponent, PropsWithChildren } from 'react'\nimport React from 'react'\nimport { areEqual, FixedSizeList } from 'react-window'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useIntersectionObserver } from '../_hooks/IntersectionObserver'\nimport { useResizeObserver } from '../_hooks/ResizeObserver'\nimport { useTimer } from '../_hooks/Timer'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { parseFilename } from '../_utils/filename'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useTree } from './Tree.hooks'\nimport {\n StyledChevron,\n StyledChevronContainer,\n StyledFilenameCaption,\n StyledIconContainer,\n StyledTree,\n StyledTreeRowContainer,\n StyledTreeRowContent,\n StyledTreeRowWrapper,\n} from './Tree.styles'\nimport type {\n CustomDataType,\n IconContainerProps,\n Node,\n TreeDefaultNode,\n TreeNodeId,\n TreeNodeProps,\n TreeProps,\n TreeRef,\n TreeRowContainerProps,\n TreeRowProps,\n TreeRowTooltipProps,\n} from './Tree.types'\n\nconst spacing = 32\nconst rootSpacing = 24\nconst defaultRowHeight = 36\n\n// Selected nodes have a bold text, and browsers occasionally miscalculate scrollWidth by one pixel down.\n// That situations might cause an issue when we get a second horizontal scrollbar.\n// This padding serves as compensation to prevent the described issue.\nconst rowRightPadding = 12\n// For most of browsers it usually varies between 12px and 20px.\n// To avoid tricky cross-browser calculations of scrollbar width. The maximum width is used.\nconst scrollbarWidth = 20\n\nfunction getPadding(level: number) {\n return rootSpacing + level * spacing\n}\n\nconst intersectionThresholds = Array.from({ length: 101 }).map(\n (_, index) => index / 100\n)\n\nconst tooltipDelay = 300\n\n// TODO refactor this to not be upper snake case\nexport const UNSAFE_treeRootNodeId = 'ROOT_ID'\n\nconst defaultIsExpandable: NonNullable<TreeProps['isExpandable']> = (\n node: TreeDefaultNode\n) => defaultGetType(node) === 'branch'\nconst defaultIsSelectable: NonNullable<TreeProps['isSelectable']> = (\n node: TreeDefaultNode\n) => node.type === 'leaf'\nconst defaultGetType: NonNullable<TreeProps['getType']> = (\n node: TreeDefaultNode\n) => node.type\nconst defaultGetParentId: NonNullable<TreeProps['getParentId']> = (\n node: TreeDefaultNode\n) => node.parentId\nconst defaultGetLabel: NonNullable<TreeProps['getLabel']> = (\n node: TreeDefaultNode\n) => node.name\nfunction noop() {}\n\nexport function isRootNode(parentId: TreeNodeId): boolean {\n const rootValues = [UNSAFE_treeRootNodeId, null, undefined] as TreeNodeId[]\n return rootValues.includes(parentId)\n}\n\n/**\n\n The tree allows users to navigate between folder / file directories,\n and optionally select those files.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tree--demo)\n\n @see [Design Guidelines](https://design.procore.com/tree)\n\n */\nexport const Tree = React.forwardRef(\n <T extends Node = Node, P extends CustomDataType<T> = Array<T>>(\n {\n options,\n expanded = [],\n selected = [],\n selectionLimit = Infinity,\n getRoot: getRoot_,\n getChildren: getChildren_,\n getIcon: getIconBase,\n getLabel = defaultGetLabel,\n getParentId: getParentId_ = defaultGetParentId,\n getType = defaultGetType,\n isExpandable = defaultIsExpandable,\n isSelectable = defaultIsSelectable,\n multiple = true,\n onSelect = noop,\n onCollapse = noop,\n onExpand = () => Promise.resolve(),\n rowRenderer: rowRendererBase,\n maxVisibleNodes = Infinity,\n visibleHeight,\n autoExpandParent = true,\n innerElementType,\n outerElementType,\n onKeyDown,\n children,\n ...props\n }: TreeProps<T, P>,\n ref: React.Ref<TreeRef<T>>\n ) => {\n const rowHeight = defaultRowHeight\n const wrapperRef = React.useRef<HTMLDivElement | null>(null)\n const listRef = React.useRef<FixedSizeList>(null)\n const listInnerRef = React.useRef<HTMLDivElement>(null)\n const listOuterRefRef = React.useRef<HTMLDivElement>(null)\n const [contentMaxWidth, setContentMaxWidth] = React.useState(0)\n\n const getParentId = React.useMemo(() => getParentId_, [])\n\n const defaultGetRoot = React.useCallback(\n (nodes: P): T | T[] =>\n nodes.filter((node: T) => {\n return isRootNode(getParentId(node))\n }),\n [getParentId]\n )\n\n const getRoot = React.useMemo(\n () => getRoot_ || defaultGetRoot,\n [defaultGetRoot]\n )\n\n const rootNodes = React.useMemo(() => {\n const roots = getRoot(options)\n return Array.isArray(roots) ? roots : [roots]\n }, [getRoot, options])\n\n React.useEffect(() => {\n if (!rootNodes.length) {\n console.warn(\n 'Tree must have at least one root node. Look up `Tree#getParentId` for details.'\n )\n }\n }, [rootNodes])\n\n const [isTreeFocused, setIsTreeFocused] = React.useState(false)\n const [containerSize, setContainerSize] = React.useState({\n width: 0,\n height: 0,\n })\n\n const handleContainerResize = React.useCallback(\n (entries: ResizeObserverEntry[]) => {\n if (entries[0]) {\n const { clientHeight: height, clientWidth: width } = entries[0]\n .target as HTMLElement\n setContainerSize({ width, height })\n }\n },\n [setContainerSize]\n )\n\n const setResizeObserverTarget = useResizeObserver(handleContainerResize)\n\n const defaultGetChildren = React.useCallback(\n (node: T) =>\n Array.isArray(options)\n ? options.filter((childNode: T) => getParentId(childNode) === node.id)\n : ([] as T[]),\n [getParentId, options]\n )\n\n const getChildren = getChildren_ || defaultGetChildren\n\n const {\n nodes,\n isExpanded,\n isSelected,\n isLoading,\n highlightedNode,\n isHighlighted: isNodeHighlighted,\n highlight,\n handleSelection,\n handleExpansion,\n setExpanded: _setExpanded,\n setSelected: _setSelected,\n isFileLimitReached,\n listNavigation,\n } = useTree<T>({\n rootNodes,\n expanded,\n selected,\n selectionLimit,\n multiple,\n autoExpandParent,\n onSelect,\n onCollapse,\n onExpand,\n getChildren,\n getParentId,\n })\n\n const setSelected = React.useCallback(\n (selected: T | T[]) => {\n const nodes = Array.isArray(selected) ? selected : [selected]\n\n _setSelected(new Set(nodes.map((node) => node.id)))\n },\n [_setSelected]\n )\n\n const setExpanded = React.useCallback(\n (expanded: T | T[]) => {\n const nodes = Array.isArray(expanded) ? expanded : [expanded]\n\n _setExpanded(new Set(nodes.map((node) => node.id)))\n },\n [_setExpanded]\n )\n\n React.useImperativeHandle(ref, () => ({\n rootEl: wrapperRef.current,\n setSelected,\n setExpanded,\n toggleSelected: (node: T) => handleSelection(node),\n toggleExpanded: (node: T) => handleExpansion(node),\n }))\n\n const defaultGetIcon = React.useCallback(\n (node: T): React.ReactNode => {\n const isFolder = getType(node) === 'branch'\n return isFolder ? <Folder /> : <File />\n },\n [getType]\n )\n\n const getIcon = getIconBase || defaultGetIcon\n\n const isHighlighted = React.useCallback(\n (node: T) => isTreeFocused && isNodeHighlighted(node),\n [isNodeHighlighted, isTreeFocused]\n )\n\n const handleAccessibility = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e)\n const { key } = e\n\n switch (key) {\n case 'Enter':\n e.preventDefault()\n isSelectable(highlightedNode) && handleSelection(highlightedNode)\n break\n case 'Space Bar':\n case ' ':\n e.preventDefault()\n isExpandable(highlightedNode) && handleExpansion(highlightedNode)\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n listNavigation.increment()\n break\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n listNavigation.decrement()\n break\n }\n }\n\n React.useEffect(() => {\n if (isTreeFocused) {\n listRef.current?.scrollToItem(listNavigation.index)\n }\n }, [isTreeFocused, listNavigation.index])\n\n const defaultRowRenderer = React.useCallback(\n (props: TreeRowProps) => <TreeRow {...props} />,\n []\n )\n\n React.useEffect(() => {\n const rowContentSizes: number[] = []\n\n const childNodes = Array.from(listInnerRef.current?.childNodes || [])\n childNodes.forEach((child) => {\n const rowContent = (child as HTMLElement).querySelector(\n '[data-row-content]'\n )\n\n if (rowContent) {\n const leftPadding = (child as HTMLElement).dataset.padding ?? '0'\n rowContentSizes.push(\n rowContent.scrollWidth + parseInt(leftPadding, 10) + rowRightPadding\n )\n }\n })\n\n const maxSizeRowContent = Math.max(...rowContentSizes) + scrollbarWidth\n setContentMaxWidth(maxSizeRowContent)\n })\n\n const rowRenderer = rowRendererBase || defaultRowRenderer\n\n const itemData = React.useMemo(\n () => ({\n nodes,\n getIcon,\n getLabel,\n getType,\n isExpandable,\n isSelectable,\n isExpanded,\n isSelected,\n isLoading,\n highlight,\n isHighlighted,\n handleSelection,\n handleExpansion,\n rowRenderer,\n isFileLimitReached,\n selectionLimit,\n isTreeFocused,\n treeContainer: wrapperRef.current as HTMLDivElement,\n }),\n [\n getIcon,\n getLabel,\n getType,\n handleExpansion,\n handleSelection,\n highlight,\n isExpandable,\n isExpanded,\n isFileLimitReached,\n isHighlighted,\n isLoading,\n isSelectable,\n isSelected,\n isTreeFocused,\n nodes,\n rowRenderer,\n selectionLimit,\n ]\n )\n\n if (!rootNodes) {\n console.error('Tree must have a valid root node')\n return null\n }\n\n return (\n <StyledTree\n {...props}\n ref={mergeRefs(wrapperRef, setResizeObserverTarget)}\n tabIndex={0}\n onFocus={() => setIsTreeFocused(true)}\n onBlur={() => setIsTreeFocused(false)}\n onKeyDown={handleAccessibility}\n >\n <FixedSizeList\n className=\"size-list\"\n ref={listRef}\n height={\n visibleHeight ||\n Math.min(nodes.length * rowHeight, rowHeight * maxVisibleNodes)\n }\n innerRef={listInnerRef}\n outerRef={listOuterRefRef}\n itemCount={nodes.length}\n itemSize={rowHeight}\n innerElementType={innerElementType}\n outerElementType={outerElementType}\n itemData={itemData}\n width={Math.max(contentMaxWidth, containerSize.width)}\n >\n {TreeNode}\n </FixedSizeList>\n </StyledTree>\n )\n }\n)\n\nconst TreeNode: React.FC<TreeNodeProps> = React.memo(\n ({\n data: { nodes, rowRenderer, highlight, isTreeFocused, ...props },\n index,\n style,\n }) => {\n const node = nodes[index]\n\n const isHighlighted = props.isHighlighted(node)\n const [isMouseOver, setMouseOver] = React.useState(false)\n\n const timer = useTimer({})\n const {\n isVisible: shouldShowTooltip,\n show: showTooltip,\n hide: hideTooltip,\n } = useVisibility({})\n\n React.useEffect(() => {\n if (isHighlighted && !shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n\n return () => {\n if (isTreeFocused && !isHighlighted && shouldShowTooltip) {\n hideTooltip()\n }\n }\n })\n\n const onMouseEnter = () => {\n setMouseOver(true)\n if (!shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n highlight(node)\n }\n\n const onMouseLeave = () => {\n setMouseOver(false)\n timer.cancel()\n hideTooltip()\n }\n\n return (\n <StyledTreeRowWrapper\n tabIndex={-1}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={style}\n data-padding={getPadding(node.level)}\n >\n {rowRenderer({\n node,\n shouldShowTooltip,\n isMouseOver,\n ...props,\n })}\n </StyledTreeRowWrapper>\n )\n },\n areEqual\n)\n\nconst TreeRow: React.FC<TreeRowProps> = ({\n node,\n getIcon,\n getLabel,\n handleExpansion,\n handleSelection,\n selectionLimit,\n isFileLimitReached,\n shouldShowTooltip,\n isMouseOver,\n treeContainer,\n ...props\n}) => {\n const expanderRef = React.useRef<HTMLDivElement>(null)\n const isSelected = props.isSelected(node)\n const isSelectable = props.isSelectable(node)\n const isExpandable = props.isExpandable(node)\n const isExpanded = props.isExpanded(node)\n const isLoading = props.isLoading(node)\n const isHighlighted = props.isHighlighted(node)\n const nodeType = props.getType(node)\n const rowLabel = getLabel(node)\n\n const onClick = React.useCallback(\n (event: React.MouseEvent) => {\n if (isSelectable && isExpandable) {\n // @ts-ignore\n expanderRef?.current?.contains(event.target)\n ? handleExpansion(node)\n : handleSelection(node)\n } else if (isSelectable) {\n handleSelection(node)\n } else if (isExpandable) {\n handleExpansion(node)\n }\n },\n [handleExpansion, handleSelection, isExpandable, isSelectable, node]\n )\n\n const onMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n treeContainer.focus()\n },\n [treeContainer]\n )\n\n return (\n <TreeRowContainer\n level={node.level}\n onClick={onClick}\n onMouseDown={onMouseDown}\n isSelected={isSelected}\n isSelectable={isSelectable}\n isExpandable={isExpandable}\n isHighlighted={isHighlighted}\n isFileLimitReached={isFileLimitReached}\n data-qa=\"core-tree-row-container\"\n >\n {\n // WARNING!\n // Be aware that this data attribute is used for calculations, changing this data attribute will break its operability.\n }\n <StyledTreeRowContent data-row-content>\n <TreeRowChevron\n ref={expanderRef}\n isExpandable={isExpandable}\n isExpanded={isExpanded}\n />\n <TreeRowIcon\n isLoading={isLoading}\n isSelected={isSelected}\n icon={getIcon(node)}\n />\n <TreeRowTooltip\n isSelected={isSelected}\n isSelectable={isSelectable}\n isHighlighted={isHighlighted}\n selectionLimit={selectionLimit}\n isFileLimitReached={isFileLimitReached}\n shouldShowTooltip={shouldShowTooltip}\n isMouseOver={isMouseOver}\n fileName={rowLabel}\n nodeType={nodeType}\n treeContainer={treeContainer}\n >\n <TreeRowName value={rowLabel} />\n </TreeRowTooltip>\n </StyledTreeRowContent>\n </TreeRowContainer>\n )\n}\n\nconst IconContainer: React.FC<IconContainerProps> = ({\n children,\n isSelected,\n ...props\n}) => (\n <StyledIconContainer $isSelected={isSelected} {...props}>\n {children}\n </StyledIconContainer>\n)\n\nconst TreeRowChevron = React.forwardRef<\n HTMLDivElement,\n {\n isExpanded: boolean\n isExpandable: boolean\n }\n>(({ isExpanded, isExpandable }, ref) => {\n return (\n <StyledChevronContainer ref={ref}>\n {isExpandable ? <StyledChevron $isExpanded={isExpanded} /> : null}\n </StyledChevronContainer>\n )\n})\n\nconst TreeRowIcon: React.FC<{\n isSelected: boolean\n isLoading: boolean\n icon: React.ReactNode\n}> = ({ isSelected, isLoading, icon }) => (\n <IconContainer isSelected={isSelected} marginLeft=\"sm\" marginRight=\"sm\">\n {isLoading ? <Spinner size=\"sm\" /> : icon}\n </IconContainer>\n)\n\nconst TreeRowName: React.FC<{ value: string }> = ({ value }) => (\n <StyledFilenameCaption>{value}</StyledFilenameCaption>\n)\n\nconst getSelectionLimitMessage = (selectionLimit: number) => ({\n key: 'selectionLimit',\n options: {\n count: selectionLimit,\n },\n})\n\nconst getUnsupportedFileTypeMessage = (fileName: string) => {\n const { extension, isFilename } = parseFilename(fileName)\n const key = isFilename ? 'specific' : 'unspecific'\n\n return {\n key: `unsupportedFileType.${key}`,\n options: {\n fileType: `.${extension.toUpperCase()}`,\n },\n }\n}\n\nconst TreeRowTooltip: FunctionComponent<\n PropsWithChildren<TreeRowTooltipProps>\n> = ({\n children,\n isHighlighted: isFocused,\n isFileLimitReached,\n isSelectable,\n isSelected,\n nodeType,\n selectionLimit,\n shouldShowTooltip,\n isMouseOver,\n fileName,\n treeContainer,\n}) => {\n const I18n = useI18nContext()\n const rowRef = React.useRef<HTMLDivElement>(null)\n const isUserInteracting = isFocused || isMouseOver\n const isTooltipVisible = isUserInteracting && shouldShowTooltip && !isSelected\n const isFile = nodeType === 'leaf'\n const [isCropped, setCropped] = React.useState(false)\n\n const registerRowEl = useIntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (\n entry.rootBounds &&\n entry.rootBounds.left - entry.boundingClientRect.left >= 0\n ) {\n setCropped(true)\n return\n }\n setCropped(false)\n })\n },\n {\n root: treeContainer,\n rootMargin: '0px',\n threshold: intersectionThresholds,\n }\n )\n\n const selectionLimitMessage = getSelectionLimitMessage(selectionLimit)\n const unsupportedFileTypeMessage = getUnsupportedFileTypeMessage(fileName)\n\n const message = isSelectable\n ? isFileLimitReached && selectionLimitMessage\n : isFile && unsupportedFileTypeMessage\n\n const trigger = isTooltipVisible && !isCropped && message ? 'always' : 'none'\n\n return (\n <Tooltip\n trigger={trigger}\n overlay={\n message ? I18n.t(`core.tree.${message.key}`, message.options) : null\n }\n placement=\"top-left\"\n >\n <div ref={mergeRefs(rowRef, registerRowEl)}>{children}</div>\n </Tooltip>\n )\n}\n\nconst TreeRowContainer: React.FC<TreeRowContainerProps> = ({\n children,\n isHighlighted,\n isSelected,\n isSelectable,\n isExpandable,\n isFileLimitReached,\n level,\n ...props\n}) => {\n return (\n <StyledTreeRowContainer\n isSelectable={\n (isSelectable &&\n ((isFileLimitReached && isSelected) || !isFileLimitReached)) ||\n isExpandable\n }\n isHighlighted={isHighlighted}\n isSelected={isSelected}\n style={{ paddingLeft: getPadding(level) }}\n {...props}\n >\n {children}\n </StyledTreeRowContainer>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tree.js","names":["File","Folder","React","areEqual","FixedSizeList","Spinner","Tooltip","useI18nContext","useIntersectionObserver","useResizeObserver","useTimer","useVisibility","parseFilename","mergeRefs","useTree","StyledChevron","StyledChevronContainer","StyledFilenameCaption","StyledIconContainer","StyledTree","StyledTreeRowContainer","StyledTreeRowContent","StyledTreeRowWrapper","spacing","rootSpacing","defaultRowHeight","rowRightPadding","scrollbarWidth","getPadding","level","intersectionThresholds","Array","from","length","map","_","index","tooltipDelay","UNSAFE_treeRootNodeId","defaultIsExpandable","node","defaultGetType","defaultIsSelectable","type","defaultGetParentId","parentId","defaultGetLabel","name","noop","isRootNode","rootValues","undefined","includes","Tree","forwardRef","_ref","ref","options","_ref$expanded","expanded","_ref$selected","selected","_ref$selectionLimit","selectionLimit","Infinity","getRoot_","getRoot","getChildren_","getChildren","getIconBase","getIcon","_ref$getLabel","getLabel","_ref$getParentId","getParentId","getParentId_","_ref$getType","getType","_ref$isExpandable","isExpandable","_ref$isSelectable","isSelectable","_ref$multiple","multiple","_ref$onSelect","onSelect","_ref$onCollapse","onCollapse","_ref$onExpand","onExpand","Promise","resolve","rowRendererBase","rowRenderer","_ref$maxVisibleNodes","maxVisibleNodes","visibleHeight","_ref$autoExpandParent","autoExpandParent","innerElementType","outerElementType","onKeyDown","children","props","_objectWithoutProperties","_excluded","rowHeight","wrapperRef","useRef","listRef","listInnerRef","listOuterRefRef","_React$useState","useState","_React$useState2","_slicedToArray","contentMaxWidth","setContentMaxWidth","useMemo","defaultGetRoot","useCallback","nodes","filter","rootNodes","roots","isArray","useEffect","console","warn","_React$useState3","_React$useState4","isTreeFocused","setIsTreeFocused","_React$useState5","width","height","_React$useState6","containerSize","setContainerSize","handleContainerResize","entries","_ref2","target","clientHeight","clientWidth","setResizeObserverTarget","defaultGetChildren","childNode","id","_useTree","isExpanded","isSelected","isLoading","highlightedNode","isNodeHighlighted","isHighlighted","highlight","handleSelection","handleExpansion","_setExpanded","setExpanded","_setSelected","setSelected","isFileLimitReached","listNavigation","Set","useImperativeHandle","rootEl","current","toggleSelected","toggleExpanded","defaultGetIcon","isFolder","createElement","handleAccessibility","e","key","preventDefault","increment","decrement","_listRef$current","scrollToItem","defaultRowRenderer","TreeRow","_listInnerRef$current","rowContentSizes","childNodes","forEach","child","rowContent","querySelector","_dataset$padding","leftPadding","dataset","padding","push","scrollWidth","parseInt","maxSizeRowContent","Math","max","apply","itemData","treeContainer","error","_extends","tabIndex","onFocus","onBlur","className","min","innerRef","outerRef","itemCount","itemSize","TreeNode","memo","_ref3","_ref3$data","data","_excluded2","style","_React$useState7","_React$useState8","isMouseOver","setMouseOver","timer","_useVisibility","shouldShowTooltip","isVisible","showTooltip","show","hideTooltip","hide","setTimer","onMouseEnter","onMouseLeave","cancel","_objectSpread","_ref4","_excluded3","expanderRef","nodeType","rowLabel","onClick","event","_expanderRef$current","contains","onMouseDown","focus","TreeRowContainer","TreeRowChevron","TreeRowIcon","icon","TreeRowTooltip","fileName","TreeRowName","value","IconContainer","_ref5","_excluded4","$isSelected","_ref6","$isExpanded","_ref7","marginLeft","marginRight","size","_ref8","getSelectionLimitMessage","count","getUnsupportedFileTypeMessage","_parseFilename","extension","isFilename","concat","fileType","toUpperCase","_ref9","isFocused","I18n","rowRef","isUserInteracting","isTooltipVisible","isFile","_React$useState9","_React$useState10","isCropped","setCropped","registerRowEl","entry","rootBounds","left","boundingClientRect","root","rootMargin","threshold","selectionLimitMessage","unsupportedFileTypeMessage","message","trigger","overlay","t","placement","_ref10","_excluded5","$isSelectable","$isHighlighted","paddingLeft"],"sources":["../../src/Tree/Tree.tsx"],"sourcesContent":["import { File, Folder } from '@procore/core-icons/dist'\nimport type { FunctionComponent, PropsWithChildren } from 'react'\nimport React from 'react'\nimport { areEqual, FixedSizeList } from 'react-window'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useIntersectionObserver } from '../_hooks/IntersectionObserver'\nimport { useResizeObserver } from '../_hooks/ResizeObserver'\nimport { useTimer } from '../_hooks/Timer'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { parseFilename } from '../_utils/filename'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useTree } from './Tree.hooks'\nimport {\n StyledChevron,\n StyledChevronContainer,\n StyledFilenameCaption,\n StyledIconContainer,\n StyledTree,\n StyledTreeRowContainer,\n StyledTreeRowContent,\n StyledTreeRowWrapper,\n} from './Tree.styles'\nimport type {\n CustomDataType,\n IconContainerProps,\n Node,\n TreeDefaultNode,\n TreeNodeId,\n TreeNodeProps,\n TreeProps,\n TreeRef,\n TreeRowContainerProps,\n TreeRowProps,\n TreeRowTooltipProps,\n} from './Tree.types'\n\nconst spacing = 32\nconst rootSpacing = 24\nconst defaultRowHeight = 36\n\n// Selected nodes have a bold text, and browsers occasionally miscalculate scrollWidth by one pixel down.\n// That situations might cause an issue when we get a second horizontal scrollbar.\n// This padding serves as compensation to prevent the described issue.\nconst rowRightPadding = 12\n// For most of browsers it usually varies between 12px and 20px.\n// To avoid tricky cross-browser calculations of scrollbar width. The maximum width is used.\nconst scrollbarWidth = 20\n\nfunction getPadding(level: number) {\n return rootSpacing + level * spacing\n}\n\nconst intersectionThresholds = Array.from({ length: 101 }).map(\n (_, index) => index / 100\n)\n\nconst tooltipDelay = 300\n\n// TODO refactor this to not be upper snake case\nexport const UNSAFE_treeRootNodeId = 'ROOT_ID'\n\nconst defaultIsExpandable: NonNullable<TreeProps['isExpandable']> = (\n node: TreeDefaultNode\n) => defaultGetType(node) === 'branch'\nconst defaultIsSelectable: NonNullable<TreeProps['isSelectable']> = (\n node: TreeDefaultNode\n) => node.type === 'leaf'\nconst defaultGetType: NonNullable<TreeProps['getType']> = (\n node: TreeDefaultNode\n) => node.type\nconst defaultGetParentId: NonNullable<TreeProps['getParentId']> = (\n node: TreeDefaultNode\n) => node.parentId\nconst defaultGetLabel: NonNullable<TreeProps['getLabel']> = (\n node: TreeDefaultNode\n) => node.name\nfunction noop() {}\n\nexport function isRootNode(parentId: TreeNodeId): boolean {\n const rootValues = [UNSAFE_treeRootNodeId, null, undefined] as TreeNodeId[]\n return rootValues.includes(parentId)\n}\n\n/**\n\n The tree allows users to navigate between folder / file directories,\n and optionally select those files.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tree--demo)\n\n @see [Design Guidelines](https://design.procore.com/tree)\n\n */\nexport const Tree = React.forwardRef(\n <T extends Node = Node, P extends CustomDataType<T> = Array<T>>(\n {\n options,\n expanded = [],\n selected = [],\n selectionLimit = Infinity,\n getRoot: getRoot_,\n getChildren: getChildren_,\n getIcon: getIconBase,\n getLabel = defaultGetLabel,\n getParentId: getParentId_ = defaultGetParentId,\n getType = defaultGetType,\n isExpandable = defaultIsExpandable,\n isSelectable = defaultIsSelectable,\n multiple = true,\n onSelect = noop,\n onCollapse = noop,\n onExpand = () => Promise.resolve(),\n rowRenderer: rowRendererBase,\n maxVisibleNodes = Infinity,\n visibleHeight,\n autoExpandParent = true,\n innerElementType,\n outerElementType,\n onKeyDown,\n children,\n ...props\n }: TreeProps<T, P>,\n ref: React.Ref<TreeRef<T>>\n ) => {\n const rowHeight = defaultRowHeight\n const wrapperRef = React.useRef<HTMLDivElement | null>(null)\n const listRef = React.useRef<FixedSizeList>(null)\n const listInnerRef = React.useRef<HTMLDivElement>(null)\n const listOuterRefRef = React.useRef<HTMLDivElement>(null)\n const [contentMaxWidth, setContentMaxWidth] = React.useState(0)\n\n const getParentId = React.useMemo(() => getParentId_, [])\n\n const defaultGetRoot = React.useCallback(\n (nodes: P): T | T[] =>\n nodes.filter((node: T) => {\n return isRootNode(getParentId(node))\n }),\n [getParentId]\n )\n\n const getRoot = React.useMemo(\n () => getRoot_ || defaultGetRoot,\n [defaultGetRoot]\n )\n\n const rootNodes = React.useMemo(() => {\n const roots = getRoot(options)\n return Array.isArray(roots) ? roots : [roots]\n }, [getRoot, options])\n\n React.useEffect(() => {\n if (!rootNodes.length) {\n console.warn(\n 'Tree must have at least one root node. Look up `Tree#getParentId` for details.'\n )\n }\n }, [rootNodes])\n\n const [isTreeFocused, setIsTreeFocused] = React.useState(false)\n const [containerSize, setContainerSize] = React.useState({\n width: 0,\n height: 0,\n })\n\n const handleContainerResize = React.useCallback(\n (entries: ResizeObserverEntry[]) => {\n if (entries[0]) {\n const { clientHeight: height, clientWidth: width } = entries[0]\n .target as HTMLElement\n setContainerSize({ width, height })\n }\n },\n [setContainerSize]\n )\n\n const setResizeObserverTarget = useResizeObserver(handleContainerResize)\n\n const defaultGetChildren = React.useCallback(\n (node: T) =>\n Array.isArray(options)\n ? options.filter((childNode: T) => getParentId(childNode) === node.id)\n : ([] as T[]),\n [getParentId, options]\n )\n\n const getChildren = getChildren_ || defaultGetChildren\n\n const {\n nodes,\n isExpanded,\n isSelected,\n isLoading,\n highlightedNode,\n isHighlighted: isNodeHighlighted,\n highlight,\n handleSelection,\n handleExpansion,\n setExpanded: _setExpanded,\n setSelected: _setSelected,\n isFileLimitReached,\n listNavigation,\n } = useTree<T>({\n rootNodes,\n expanded,\n selected,\n selectionLimit,\n multiple,\n autoExpandParent,\n onSelect,\n onCollapse,\n onExpand,\n getChildren,\n getParentId,\n })\n\n const setSelected = React.useCallback(\n (selected: T | T[]) => {\n const nodes = Array.isArray(selected) ? selected : [selected]\n\n _setSelected(new Set(nodes.map((node) => node.id)))\n },\n [_setSelected]\n )\n\n const setExpanded = React.useCallback(\n (expanded: T | T[]) => {\n const nodes = Array.isArray(expanded) ? expanded : [expanded]\n\n _setExpanded(new Set(nodes.map((node) => node.id)))\n },\n [_setExpanded]\n )\n\n React.useImperativeHandle(ref, () => ({\n rootEl: wrapperRef.current,\n setSelected,\n setExpanded,\n toggleSelected: (node: T) => handleSelection(node),\n toggleExpanded: (node: T) => handleExpansion(node),\n }))\n\n const defaultGetIcon = React.useCallback(\n (node: T): React.ReactNode => {\n const isFolder = getType(node) === 'branch'\n return isFolder ? <Folder /> : <File />\n },\n [getType]\n )\n\n const getIcon = getIconBase || defaultGetIcon\n\n const isHighlighted = React.useCallback(\n (node: T) => isTreeFocused && isNodeHighlighted(node),\n [isNodeHighlighted, isTreeFocused]\n )\n\n const handleAccessibility = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e)\n const { key } = e\n\n switch (key) {\n case 'Enter':\n e.preventDefault()\n isSelectable(highlightedNode) && handleSelection(highlightedNode)\n break\n case 'Space Bar':\n case ' ':\n e.preventDefault()\n isExpandable(highlightedNode) && handleExpansion(highlightedNode)\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n listNavigation.increment()\n break\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n listNavigation.decrement()\n break\n }\n }\n\n React.useEffect(() => {\n if (isTreeFocused) {\n listRef.current?.scrollToItem(listNavigation.index)\n }\n }, [isTreeFocused, listNavigation.index])\n\n const defaultRowRenderer = React.useCallback(\n (props: TreeRowProps) => <TreeRow {...props} />,\n []\n )\n\n React.useEffect(() => {\n const rowContentSizes: number[] = []\n\n const childNodes = Array.from(listInnerRef.current?.childNodes || [])\n childNodes.forEach((child) => {\n const rowContent = (child as HTMLElement).querySelector(\n '[data-row-content]'\n )\n\n if (rowContent) {\n const leftPadding = (child as HTMLElement).dataset.padding ?? '0'\n rowContentSizes.push(\n rowContent.scrollWidth + parseInt(leftPadding, 10) + rowRightPadding\n )\n }\n })\n\n const maxSizeRowContent = Math.max(...rowContentSizes) + scrollbarWidth\n setContentMaxWidth(maxSizeRowContent)\n })\n\n const rowRenderer = rowRendererBase || defaultRowRenderer\n\n const itemData = React.useMemo(\n () => ({\n nodes,\n getIcon,\n getLabel,\n getType,\n isExpandable,\n isSelectable,\n isExpanded,\n isSelected,\n isLoading,\n highlight,\n isHighlighted,\n handleSelection,\n handleExpansion,\n rowRenderer,\n isFileLimitReached,\n selectionLimit,\n isTreeFocused,\n treeContainer: wrapperRef.current as HTMLDivElement,\n }),\n [\n getIcon,\n getLabel,\n getType,\n handleExpansion,\n handleSelection,\n highlight,\n isExpandable,\n isExpanded,\n isFileLimitReached,\n isHighlighted,\n isLoading,\n isSelectable,\n isSelected,\n isTreeFocused,\n nodes,\n rowRenderer,\n selectionLimit,\n ]\n )\n\n if (!rootNodes) {\n console.error('Tree must have a valid root node')\n return null\n }\n\n return (\n <StyledTree\n {...props}\n ref={mergeRefs(wrapperRef, setResizeObserverTarget)}\n tabIndex={0}\n onFocus={() => setIsTreeFocused(true)}\n onBlur={() => setIsTreeFocused(false)}\n onKeyDown={handleAccessibility}\n >\n <FixedSizeList\n className=\"size-list\"\n ref={listRef}\n height={\n visibleHeight ||\n Math.min(nodes.length * rowHeight, rowHeight * maxVisibleNodes)\n }\n innerRef={listInnerRef}\n outerRef={listOuterRefRef}\n itemCount={nodes.length}\n itemSize={rowHeight}\n innerElementType={innerElementType}\n outerElementType={outerElementType}\n itemData={itemData}\n width={Math.max(contentMaxWidth, containerSize.width)}\n >\n {TreeNode}\n </FixedSizeList>\n </StyledTree>\n )\n }\n)\n\nconst TreeNode: React.FC<TreeNodeProps> = React.memo(\n ({\n data: { nodes, rowRenderer, highlight, isTreeFocused, ...props },\n index,\n style,\n }) => {\n const node = nodes[index]\n\n const isHighlighted = props.isHighlighted(node)\n const [isMouseOver, setMouseOver] = React.useState(false)\n\n const timer = useTimer({})\n const {\n isVisible: shouldShowTooltip,\n show: showTooltip,\n hide: hideTooltip,\n } = useVisibility({})\n\n React.useEffect(() => {\n if (isHighlighted && !shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n\n return () => {\n if (isTreeFocused && !isHighlighted && shouldShowTooltip) {\n hideTooltip()\n }\n }\n })\n\n const onMouseEnter = () => {\n setMouseOver(true)\n if (!shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n highlight(node)\n }\n\n const onMouseLeave = () => {\n setMouseOver(false)\n timer.cancel()\n hideTooltip()\n }\n\n return (\n <StyledTreeRowWrapper\n tabIndex={-1}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={style}\n data-padding={getPadding(node.level)}\n >\n {rowRenderer({\n node,\n shouldShowTooltip,\n isMouseOver,\n ...props,\n })}\n </StyledTreeRowWrapper>\n )\n },\n areEqual\n)\n\nconst TreeRow: React.FC<TreeRowProps> = ({\n node,\n getIcon,\n getLabel,\n handleExpansion,\n handleSelection,\n selectionLimit,\n isFileLimitReached,\n shouldShowTooltip,\n isMouseOver,\n treeContainer,\n ...props\n}) => {\n const expanderRef = React.useRef<HTMLDivElement>(null)\n const isSelected = props.isSelected(node)\n const isSelectable = props.isSelectable(node)\n const isExpandable = props.isExpandable(node)\n const isExpanded = props.isExpanded(node)\n const isLoading = props.isLoading(node)\n const isHighlighted = props.isHighlighted(node)\n const nodeType = props.getType(node)\n const rowLabel = getLabel(node)\n\n const onClick = React.useCallback(\n (event: React.MouseEvent) => {\n if (isSelectable && isExpandable) {\n // @ts-ignore\n expanderRef?.current?.contains(event.target)\n ? handleExpansion(node)\n : handleSelection(node)\n } else if (isSelectable) {\n handleSelection(node)\n } else if (isExpandable) {\n handleExpansion(node)\n }\n },\n [handleExpansion, handleSelection, isExpandable, isSelectable, node]\n )\n\n const onMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n treeContainer.focus()\n },\n [treeContainer]\n )\n\n return (\n <TreeRowContainer\n level={node.level}\n onClick={onClick}\n onMouseDown={onMouseDown}\n isSelected={isSelected}\n isSelectable={isSelectable}\n isExpandable={isExpandable}\n isHighlighted={isHighlighted}\n isFileLimitReached={isFileLimitReached}\n data-qa=\"core-tree-row-container\"\n >\n {\n // WARNING!\n // Be aware that this data attribute is used for calculations, changing this data attribute will break its operability.\n }\n <StyledTreeRowContent data-row-content>\n <TreeRowChevron\n ref={expanderRef}\n isExpandable={isExpandable}\n isExpanded={isExpanded}\n />\n <TreeRowIcon\n isLoading={isLoading}\n isSelected={isSelected}\n icon={getIcon(node)}\n />\n <TreeRowTooltip\n isSelected={isSelected}\n isSelectable={isSelectable}\n isHighlighted={isHighlighted}\n selectionLimit={selectionLimit}\n isFileLimitReached={isFileLimitReached}\n shouldShowTooltip={shouldShowTooltip}\n isMouseOver={isMouseOver}\n fileName={rowLabel}\n nodeType={nodeType}\n treeContainer={treeContainer}\n >\n <TreeRowName value={rowLabel} />\n </TreeRowTooltip>\n </StyledTreeRowContent>\n </TreeRowContainer>\n )\n}\n\nconst IconContainer: React.FC<IconContainerProps> = ({\n children,\n isSelected,\n ...props\n}) => (\n <StyledIconContainer $isSelected={isSelected} {...props}>\n {children}\n </StyledIconContainer>\n)\n\nconst TreeRowChevron = React.forwardRef<\n HTMLDivElement,\n {\n isExpanded: boolean\n isExpandable: boolean\n }\n>(({ isExpanded, isExpandable }, ref) => {\n return (\n <StyledChevronContainer ref={ref}>\n {isExpandable ? <StyledChevron $isExpanded={isExpanded} /> : null}\n </StyledChevronContainer>\n )\n})\n\nconst TreeRowIcon: React.FC<{\n isSelected: boolean\n isLoading: boolean\n icon: React.ReactNode\n}> = ({ isSelected, isLoading, icon }) => (\n <IconContainer isSelected={isSelected} marginLeft=\"sm\" marginRight=\"sm\">\n {isLoading ? <Spinner size=\"sm\" /> : icon}\n </IconContainer>\n)\n\nconst TreeRowName: React.FC<{ value: string }> = ({ value }) => (\n <StyledFilenameCaption>{value}</StyledFilenameCaption>\n)\n\nconst getSelectionLimitMessage = (selectionLimit: number) => ({\n key: 'selectionLimit',\n options: {\n count: selectionLimit,\n },\n})\n\nconst getUnsupportedFileTypeMessage = (fileName: string) => {\n const { extension, isFilename } = parseFilename(fileName)\n const key = isFilename ? 'specific' : 'unspecific'\n\n return {\n key: `unsupportedFileType.${key}`,\n options: {\n fileType: `.${extension.toUpperCase()}`,\n },\n }\n}\n\nconst TreeRowTooltip: FunctionComponent<\n PropsWithChildren<TreeRowTooltipProps>\n> = ({\n children,\n isHighlighted: isFocused,\n isFileLimitReached,\n isSelectable,\n isSelected,\n nodeType,\n selectionLimit,\n shouldShowTooltip,\n isMouseOver,\n fileName,\n treeContainer,\n}) => {\n const I18n = useI18nContext()\n const rowRef = React.useRef<HTMLDivElement>(null)\n const isUserInteracting = isFocused || isMouseOver\n const isTooltipVisible = isUserInteracting && shouldShowTooltip && !isSelected\n const isFile = nodeType === 'leaf'\n const [isCropped, setCropped] = React.useState(false)\n\n const registerRowEl = useIntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (\n entry.rootBounds &&\n entry.rootBounds.left - entry.boundingClientRect.left >= 0\n ) {\n setCropped(true)\n return\n }\n setCropped(false)\n })\n },\n {\n root: treeContainer,\n rootMargin: '0px',\n threshold: intersectionThresholds,\n }\n )\n\n const selectionLimitMessage = getSelectionLimitMessage(selectionLimit)\n const unsupportedFileTypeMessage = getUnsupportedFileTypeMessage(fileName)\n\n const message = isSelectable\n ? isFileLimitReached && selectionLimitMessage\n : isFile && unsupportedFileTypeMessage\n\n const trigger = isTooltipVisible && !isCropped && message ? 'always' : 'none'\n\n return (\n <Tooltip\n trigger={trigger}\n overlay={\n message ? I18n.t(`core.tree.${message.key}`, message.options) : null\n }\n placement=\"top-left\"\n >\n <div ref={mergeRefs(rowRef, registerRowEl)}>{children}</div>\n </Tooltip>\n )\n}\n\nconst TreeRowContainer: React.FC<TreeRowContainerProps> = ({\n children,\n isHighlighted,\n isSelected,\n isSelectable,\n isExpandable,\n isFileLimitReached,\n level,\n ...props\n}) => {\n return (\n <StyledTreeRowContainer\n $isSelectable={\n (isSelectable &&\n ((isFileLimitReached && isSelected) || !isFileLimitReached)) ||\n isExpandable\n }\n $isHighlighted={isHighlighted}\n $isSelected={isSelected}\n style={{ paddingLeft: getPadding(level) }}\n {...props}\n >\n {children}\n </StyledTreeRowContainer>\n )\n}\n"],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
export declare const StyledFilenameCaption: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("..").SpanAttributes & import("..").TypographyProps & import("react").RefAttributes<HTMLSpanElement>>, any, {}, never>;
|
|
3
3
|
export declare const StyledTree: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
4
|
export declare const StyledTreeRowContainer: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("..").SpanAttributes & import("..").TypographyProps & import("react").RefAttributes<HTMLSpanElement>>, any, {
|
|
5
|
-
isHighlighted
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
/** @deprecated Use $isHighlighted instead */
|
|
6
|
+
isHighlighted?: boolean | undefined;
|
|
7
|
+
$isHighlighted?: boolean | undefined;
|
|
8
|
+
/** @deprecated Use $isSelectable instead */
|
|
9
|
+
isSelectable?: boolean | undefined;
|
|
10
|
+
$isSelectable?: boolean | undefined;
|
|
11
|
+
/** @deprecated Use $isSelected instead */
|
|
12
|
+
isSelected?: boolean | undefined;
|
|
13
|
+
$isSelected?: boolean | undefined;
|
|
8
14
|
}, never>;
|
|
9
15
|
export declare const StyledTreeRowContent: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
10
16
|
export declare const StyledTreeRowWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
package/dist/Tree/Tree.styles.js
CHANGED
|
@@ -5,52 +5,60 @@ import { Typography } from '../Typography/Typography';
|
|
|
5
5
|
import { colors } from '../_styles/colors';
|
|
6
6
|
export var StyledFilenameCaption = /*#__PURE__*/styled(Typography).withConfig({
|
|
7
7
|
displayName: "StyledFilenameCaption",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_16_0__sc-2d45b5-0"
|
|
9
9
|
})(["display:flex;width:100%;"]);
|
|
10
10
|
export var StyledTree = /*#__PURE__*/styled.div.withConfig({
|
|
11
11
|
displayName: "StyledTree",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_16_0__sc-2d45b5-1"
|
|
13
13
|
})(["width:100%;height:100%;min-height:36px;outline:none;overflow:auto;"]);
|
|
14
14
|
export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
|
|
15
|
+
shouldForwardProp: function shouldForwardProp(prop) {
|
|
16
|
+
return !['isHighlighted', 'isSelectable', 'isSelected'].includes(prop);
|
|
17
|
+
}
|
|
18
|
+
}).withConfig({
|
|
15
19
|
displayName: "StyledTreeRowContainer",
|
|
16
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_16_0__sc-2d45b5-2"
|
|
17
21
|
})(["display:flex;align-items:center;height:36px;background:transparent;box-shadow:inset 4px 0px 0px transparent;cursor:default;outline:none;", " &:hover{background:", ";}", " ", ""], function (_ref) {
|
|
18
|
-
var isSelectable = _ref.isSelectable
|
|
19
|
-
|
|
22
|
+
var isSelectable = _ref.isSelectable,
|
|
23
|
+
$isSelectable = _ref.$isSelectable;
|
|
24
|
+
return isSelectable || $isSelectable ? 'cursor: pointer;' : '';
|
|
20
25
|
}, colors.gray98, function (_ref2) {
|
|
21
|
-
var isHighlighted = _ref2.isHighlighted
|
|
22
|
-
|
|
26
|
+
var isHighlighted = _ref2.isHighlighted,
|
|
27
|
+
$isHighlighted = _ref2.$isHighlighted;
|
|
28
|
+
return isHighlighted || $isHighlighted ? "background: ".concat(colors.gray98, ";") : '';
|
|
23
29
|
}, function (_ref3) {
|
|
24
30
|
var isSelected = _ref3.isSelected,
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
$isSelected = _ref3.$isSelected,
|
|
32
|
+
isHighlighted = _ref3.isHighlighted,
|
|
33
|
+
$isHighlighted = _ref3.$isHighlighted;
|
|
34
|
+
return (isSelected || $isSelected) && "\n background: ".concat(colors.blue96, ";\n box-shadow: inset 4px 0px 0px ").concat(colors.blue50, ";\n\n ").concat(StyledFilenameCaption, " {\n color: ").concat(colors.blue40, ";\n font-weight: 600;\n }\n\n &:hover {\n background-color: ").concat(colors.blue94, ";\n ").concat(StyledFilenameCaption, " {\n color: ").concat(colors.blue45, ";\n }\n }\n\n ").concat((isHighlighted || $isHighlighted) && "\n background-color: ".concat(colors.blue94, ";\n ").concat(StyledFilenameCaption, " {\n color: ").concat(colors.blue45, ";\n }\n "), "\n ");
|
|
27
35
|
});
|
|
28
36
|
export var StyledTreeRowContent = /*#__PURE__*/styled.div.withConfig({
|
|
29
37
|
displayName: "StyledTreeRowContent",
|
|
30
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_16_0__sc-2d45b5-3"
|
|
31
39
|
})(["display:flex;align-items:center;"]);
|
|
32
40
|
export var StyledTreeRowWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
33
41
|
displayName: "StyledTreeRowWrapper",
|
|
34
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_16_0__sc-2d45b5-4"
|
|
35
43
|
})(["outline:none;"]);
|
|
36
44
|
var StyledIconBase = /*#__PURE__*/styled(Box).withConfig({
|
|
37
45
|
displayName: "StyledIconBase",
|
|
38
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_16_0__sc-2d45b5-5"
|
|
39
47
|
})(["display:flex;justify-content:center;align-items:center;width:24px;height:24px;min-width:24px;min-height:24px;"]);
|
|
40
48
|
export var StyledChevronContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
|
|
41
49
|
displayName: "StyledChevronContainer",
|
|
42
|
-
componentId: "core-
|
|
50
|
+
componentId: "core-12_16_0__sc-2d45b5-6"
|
|
43
51
|
})([""]);
|
|
44
52
|
export var StyledIconContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
|
|
45
53
|
displayName: "StyledIconContainer",
|
|
46
|
-
componentId: "core-
|
|
54
|
+
componentId: "core-12_16_0__sc-2d45b5-7"
|
|
47
55
|
})(["color:", ";"], function (_ref4) {
|
|
48
56
|
var $isSelected = _ref4.$isSelected;
|
|
49
57
|
return $isSelected ? colors.blue45 : colors.gray40;
|
|
50
58
|
});
|
|
51
59
|
export var StyledChevron = /*#__PURE__*/styled(ChevronRight).withConfig({
|
|
52
60
|
displayName: "StyledChevron",
|
|
53
|
-
componentId: "core-
|
|
61
|
+
componentId: "core-12_16_0__sc-2d45b5-8"
|
|
54
62
|
})(["transform:rotate(", "deg);transition:transform 150ms ease-out;"], function (_ref5) {
|
|
55
63
|
var $isExpanded = _ref5.$isExpanded;
|
|
56
64
|
return $isExpanded ? 90 : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.styles.js","names":["ChevronRight","styled","Box","Typography","colors","StyledFilenameCaption","withConfig","displayName","componentId","StyledTree","div","StyledTreeRowContainer","_ref","isSelectable","gray98","_ref2","isHighlighted","concat","_ref3","isSelected","blue96","blue50","blue40","blue94","blue45","StyledTreeRowContent","StyledTreeRowWrapper","StyledIconBase","StyledChevronContainer","StyledIconContainer","_ref4","
|
|
1
|
+
{"version":3,"file":"Tree.styles.js","names":["ChevronRight","styled","Box","Typography","colors","StyledFilenameCaption","withConfig","displayName","componentId","StyledTree","div","StyledTreeRowContainer","shouldForwardProp","prop","includes","_ref","isSelectable","$isSelectable","gray98","_ref2","isHighlighted","$isHighlighted","concat","_ref3","isSelected","$isSelected","blue96","blue50","blue40","blue94","blue45","StyledTreeRowContent","StyledTreeRowWrapper","StyledIconBase","StyledChevronContainer","StyledIconContainer","_ref4","gray40","StyledChevron","_ref5","$isExpanded"],"sources":["../../src/Tree/Tree.styles.ts"],"sourcesContent":["import { ChevronRight } from '@procore/core-icons'\nimport styled from 'styled-components'\nimport { Box } from '../Box/Box'\nimport { Typography } from '../Typography/Typography'\nimport { colors } from '../_styles/colors'\n\nexport const StyledFilenameCaption = styled(Typography)`\n display: flex;\n width: 100%;\n`\n\nexport const StyledTree = styled.div`\n width: 100%;\n height: 100%;\n min-height: 36px;\n outline: none;\n overflow: auto;\n`\n\nexport const StyledTreeRowContainer = styled(Typography).withConfig({\n shouldForwardProp: (prop) =>\n !['isHighlighted', 'isSelectable', 'isSelected'].includes(prop),\n})<{\n /** @deprecated Use $isHighlighted instead */\n isHighlighted?: boolean\n $isHighlighted?: boolean\n /** @deprecated Use $isSelectable instead */\n isSelectable?: boolean\n $isSelectable?: boolean\n /** @deprecated Use $isSelected instead */\n isSelected?: boolean\n $isSelected?: boolean\n}>`\n display: flex;\n align-items: center;\n height: 36px;\n background: transparent;\n box-shadow: inset 4px 0px 0px transparent;\n cursor: default;\n outline: none;\n\n ${({ isSelectable, $isSelectable }) =>\n isSelectable || $isSelectable ? 'cursor: pointer;' : ''}\n\n &:hover {\n background: ${colors.gray98};\n }\n\n ${({ isHighlighted, $isHighlighted }) =>\n isHighlighted || $isHighlighted ? `background: ${colors.gray98};` : ''}\n\n ${({ isSelected, $isSelected, isHighlighted, $isHighlighted }) =>\n (isSelected || $isSelected) &&\n `\n background: ${colors.blue96};\n box-shadow: inset 4px 0px 0px ${colors.blue50};\n\n ${StyledFilenameCaption} {\n color: ${colors.blue40};\n font-weight: 600;\n }\n\n &:hover {\n background-color: ${colors.blue94};\n ${StyledFilenameCaption} {\n color: ${colors.blue45};\n }\n }\n\n ${\n (isHighlighted || $isHighlighted) &&\n `\n background-color: ${colors.blue94};\n ${StyledFilenameCaption} {\n color: ${colors.blue45};\n }\n `\n }\n `}\n`\n\nexport const StyledTreeRowContent = styled.div`\n display: flex;\n align-items: center;\n`\n\nexport const StyledTreeRowWrapper = styled.div`\n outline: none;\n`\n\nconst StyledIconBase = styled(Box)`\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: 24px;\n height: 24px;\n min-width: 24px;\n min-height: 24px;\n`\n\nexport const StyledChevronContainer = styled(StyledIconBase)``\n\nexport const StyledIconContainer = styled(StyledIconBase)<{\n $isSelected?: boolean\n}>`\n color: ${({ $isSelected }) => ($isSelected ? colors.blue45 : colors.gray40)};\n`\n\nexport const StyledChevron = styled(ChevronRight)<{\n $isExpanded?: boolean\n}>`\n transform: rotate(${({ $isExpanded }) => ($isExpanded ? 90 : 0)}deg);\n transition: transform 150ms ease-out;\n`\n"],"mappings":"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"}
|
|
@@ -241,7 +241,9 @@ export interface TreeProps<T extends Node = Node, P extends CustomDataType<T> =
|
|
|
241
241
|
selectionLimit?: number;
|
|
242
242
|
/**
|
|
243
243
|
* Function should return a single root node or an array of root nodes
|
|
244
|
-
*
|
|
244
|
+
* ```
|
|
245
|
+
* (): Node | Node[]
|
|
246
|
+
* ```
|
|
245
247
|
* @since 10.19.0
|
|
246
248
|
* @deprecated To be removed in future release. `getParentId` should be used to determine root nodes instead.
|
|
247
249
|
* @deprecatedSince 11.9.0
|
|
@@ -249,28 +251,34 @@ export interface TreeProps<T extends Node = Node, P extends CustomDataType<T> =
|
|
|
249
251
|
getRoot?(data: P): T | T[];
|
|
250
252
|
/**
|
|
251
253
|
* Should return an array of children nodes.
|
|
252
|
-
*
|
|
254
|
+
* ```
|
|
255
|
+
* (node: Node): Node[]
|
|
256
|
+
* ```
|
|
253
257
|
* @since 10.19.0
|
|
254
258
|
*/
|
|
255
259
|
getChildren?(node: T): T[];
|
|
256
260
|
/**
|
|
257
|
-
* This function will be executed on each node. Should return
|
|
258
|
-
*
|
|
259
|
-
*
|
|
261
|
+
* This function will be executed on each node. Should return `Icon` component
|
|
262
|
+
* ```
|
|
263
|
+
* (node: Node): React.ReactNode
|
|
264
|
+
* ```
|
|
260
265
|
* @since 10.19.0
|
|
261
266
|
*/
|
|
262
267
|
getIcon?(node: T): React.ReactNode;
|
|
263
268
|
/**
|
|
264
|
-
* This function will be executed on each node. Should return
|
|
265
|
-
*
|
|
266
|
-
*
|
|
269
|
+
* This function will be executed on each node. Should return `label` for row
|
|
270
|
+
* ```
|
|
271
|
+
* (node: Node): string
|
|
272
|
+
* ```
|
|
267
273
|
* @since 10.19.0
|
|
268
274
|
*/
|
|
269
275
|
getLabel?(node: T): string;
|
|
270
276
|
/**
|
|
271
277
|
* This function can be used to override the default parent detection mechanism.
|
|
272
|
-
* If not defined,
|
|
273
|
-
*
|
|
278
|
+
* If not defined, `Node['parentId']` is used to get a given node's parent.
|
|
279
|
+
* ```
|
|
280
|
+
* (node: Node): TreeNodeId
|
|
281
|
+
* ```
|
|
274
282
|
* @since 10.19.0
|
|
275
283
|
* @deprecated Returning `UNSAFE_treeRootNodeId` to determine a root node is deprecated.
|
|
276
284
|
* Return `null` or `undefined` intead.
|
|
@@ -278,21 +286,26 @@ export interface TreeProps<T extends Node = Node, P extends CustomDataType<T> =
|
|
|
278
286
|
*/
|
|
279
287
|
getParentId?(node: T): TreeNodeId;
|
|
280
288
|
/**
|
|
281
|
-
* This function will be executed on each node. Should return
|
|
282
|
-
*
|
|
283
|
-
*
|
|
289
|
+
* This function will be executed on each node. Should return `'branch'` or `'leaf'`
|
|
290
|
+
* ```
|
|
291
|
+
* (node: Node): NodeType
|
|
292
|
+
* ```
|
|
284
293
|
* @since 10.19.0
|
|
285
294
|
*/
|
|
286
295
|
getType?(node: T): NodeType;
|
|
287
296
|
/**
|
|
288
297
|
* Function of whether to enable tree node expansion/collapsing.
|
|
289
|
-
*
|
|
298
|
+
* ```
|
|
299
|
+
* (node: Node): boolean
|
|
300
|
+
* ```
|
|
290
301
|
* @since 10.19.0
|
|
291
302
|
*/
|
|
292
303
|
isExpandable?(node: T): boolean;
|
|
293
304
|
/**
|
|
294
305
|
* Function of whether to enable tree node selection.
|
|
295
|
-
*
|
|
306
|
+
* ```
|
|
307
|
+
* (node: Node): boolean
|
|
308
|
+
* ```
|
|
296
309
|
* @since 10.19.0
|
|
297
310
|
*/
|
|
298
311
|
isSelectable?(node: T): boolean;
|
|
@@ -321,25 +334,33 @@ export interface TreeProps<T extends Node = Node, P extends CustomDataType<T> =
|
|
|
321
334
|
autoExpandParent?: boolean;
|
|
322
335
|
/**
|
|
323
336
|
* Callback return currently selected array of nodes.
|
|
324
|
-
*
|
|
337
|
+
* ```
|
|
338
|
+
* (nodes: Node[]): void
|
|
339
|
+
* ```
|
|
325
340
|
* @since 10.19.0
|
|
326
341
|
*/
|
|
327
342
|
onSelect?(nodes: T[]): void;
|
|
328
343
|
/**
|
|
329
344
|
* Triggers when current node collapse
|
|
330
|
-
*
|
|
345
|
+
* ```
|
|
346
|
+
* (node: Node): void
|
|
347
|
+
* ```
|
|
331
348
|
* @since 10.19.0
|
|
332
349
|
*/
|
|
333
350
|
onCollapse?(node: T): void;
|
|
334
351
|
/**
|
|
335
352
|
* Triggers when current node expand
|
|
336
|
-
*
|
|
353
|
+
* ```
|
|
354
|
+
* (node: Node): Promise<void>
|
|
355
|
+
* ```
|
|
337
356
|
* @since 10.19.0
|
|
338
357
|
*/
|
|
339
358
|
onExpand?(node: T): Promise<any>;
|
|
340
359
|
/**
|
|
341
360
|
* Callback for rendering tree nodes
|
|
342
|
-
*
|
|
361
|
+
* ```
|
|
362
|
+
* (props: TreeRowProps): React.ReactNode
|
|
363
|
+
* ```
|
|
343
364
|
* @since 10.19.0
|
|
344
365
|
*/
|
|
345
366
|
rowRenderer?(props: TreeRowProps<T>): React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.types.js","names":[],"sources":["../../src/Tree/Tree.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { FixedSizeListProps, ListChildComponentProps } from 'react-window'\nimport type { BoxProps } from '../Box/Box.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { DivAttributes } from '../_utils/types'\nimport type { UNSAFE_treeRootNodeId } from './Tree'\n\ntype NodeType = 'branch' | 'leaf'\n\nexport type TreeNodeId =\n | number\n | string\n | null\n | undefined\n | typeof UNSAFE_treeRootNodeId\n\nexport interface Node {\n /**\n * @since 10.19.0\n */\n id: TreeNodeId\n}\nexport interface TreeDefaultNode extends Node {\n /**\n * @since 10.19.0\n */\n name: string\n /**\n * @since 10.19.0\n */\n parentId: TreeNodeId\n /**\n * @since 10.19.0\n */\n type: NodeType\n}\n\nexport interface LevelWise {\n /**\n * @since 10.19.0\n */\n level: number\n}\n\nexport interface UseTreeProps<T extends Node = Node> {\n rootNodes: T[]\n /**\n * @since 10.19.0\n */\n expanded: T['id'][]\n /**\n * @since 10.19.0\n */\n selected: T['id'][]\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n getChildren(node: T): T[]\n /**\n * @since 10.19.0\n */\n getParentId(node: T): TreeNodeId\n /**\n * @since 10.19.0\n */\n autoExpandParent: boolean\n /**\n * @since 10.19.0\n */\n multiple: boolean\n /**\n * @since 10.19.0\n */\n onSelect(nodes: T[]): void\n /**\n * @since 10.19.0\n */\n onCollapse(node: T): void\n /**\n * @since 10.19.0\n */\n onExpand(node: T): Promise<any>\n}\n\nexport interface TreeNodeAPI<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n nodes: (T & LevelWise)[]\n /**\n * @since 10.19.0\n */\n getIcon(props: T): React.ReactNode\n /**\n * @since 10.19.0\n */\n getLabel(props: T): string\n /**\n * @since 10.19.0\n */\n getType(node: T): NodeType\n /**\n * @since 10.19.0\n */\n isExpandable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelectable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelected(node: T): boolean\n /**\n * @since 10.19.0\n */\n isLoading(node: T): boolean\n /**\n * @since 10.19.0\n */\n isExpanded(node: T): boolean\n /**\n * @since 10.19.0\n */\n highlight(node: T): void\n /**\n * @since 10.19.0\n */\n isHighlighted(node: T): boolean\n /**\n * @since 10.19.0\n */\n handleSelection(node: T): void\n /**\n * @since 10.19.0\n */\n handleExpansion(node: T): void\n /**\n * @since 10.19.0\n */\n rowRenderer(props: TreeRowProps<T>): React.ReactNode\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n isTreeFocused: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface CustomDataType<T> {\n /**\n * @since 10.19.0\n */\n [key: string]: any\n}\n\nexport interface TreeRef<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n setSelected: (selected: T | T[]) => void\n /**\n * @since 10.19.0\n */\n setExpanded: (expanded: T | T[]) => void\n /**\n * @since 10.19.0\n */\n toggleSelected: (node: T) => void\n /**\n * @since 10.19.0\n */\n toggleExpanded: (node: T) => void\n /**\n * @since 10.19.0\n */\n rootEl: HTMLElement | null\n}\n\nexport interface TreeNodeProps extends ListChildComponentProps {\n /**\n * @since 10.19.0\n */\n data: TreeNodeAPI\n}\n\nexport interface TreeRowOverlayProps {\n /**\n * @since 10.19.0\n */\n overlayRef: OverlayProps['overlayRef']\n /**\n * @since 10.19.0\n */\n targetRef: OverlayProps['targetRef']\n /**\n * @since 10.19.0\n */\n message: { key: string; options?: object }\n}\n\nexport interface TreeRowProps<T extends Node = Node>\n extends Omit<\n TreeNodeAPI,\n 'rowRenderer' | 'nodes' | 'highlight' | 'isTreeFocused'\n > {\n /**\n * @since 10.19.0\n */\n node: T & LevelWise\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeProps<\n T extends Node = Node,\n P extends CustomDataType<T> = Array<T>\n> extends Omit<DivAttributes, 'onSelect'>,\n Partial<Pick<FixedSizeListProps, 'innerElementType' | 'outerElementType'>> {\n /**\n * @since 10.19.0\n */\n options: P\n /**\n * Array of keys of the expanded nodes\n * @since 10.19.0\n */\n expanded?: T['id'][]\n\n /**\n * Array of keys of the selected nodes\n * @since 10.19.0\n */\n selected?: T['id'][]\n\n /**\n * Number of nodes that can be selected\n * @default Infinity\n * @since 10.19.0\n */\n selectionLimit?: number\n\n /**\n * Function should return a single root node or an array of root nodes\n *
|
|
1
|
+
{"version":3,"file":"Tree.types.js","names":[],"sources":["../../src/Tree/Tree.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { FixedSizeListProps, ListChildComponentProps } from 'react-window'\nimport type { BoxProps } from '../Box/Box.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { DivAttributes } from '../_utils/types'\nimport type { UNSAFE_treeRootNodeId } from './Tree'\n\ntype NodeType = 'branch' | 'leaf'\n\nexport type TreeNodeId =\n | number\n | string\n | null\n | undefined\n | typeof UNSAFE_treeRootNodeId\n\nexport interface Node {\n /**\n * @since 10.19.0\n */\n id: TreeNodeId\n}\nexport interface TreeDefaultNode extends Node {\n /**\n * @since 10.19.0\n */\n name: string\n /**\n * @since 10.19.0\n */\n parentId: TreeNodeId\n /**\n * @since 10.19.0\n */\n type: NodeType\n}\n\nexport interface LevelWise {\n /**\n * @since 10.19.0\n */\n level: number\n}\n\nexport interface UseTreeProps<T extends Node = Node> {\n rootNodes: T[]\n /**\n * @since 10.19.0\n */\n expanded: T['id'][]\n /**\n * @since 10.19.0\n */\n selected: T['id'][]\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n getChildren(node: T): T[]\n /**\n * @since 10.19.0\n */\n getParentId(node: T): TreeNodeId\n /**\n * @since 10.19.0\n */\n autoExpandParent: boolean\n /**\n * @since 10.19.0\n */\n multiple: boolean\n /**\n * @since 10.19.0\n */\n onSelect(nodes: T[]): void\n /**\n * @since 10.19.0\n */\n onCollapse(node: T): void\n /**\n * @since 10.19.0\n */\n onExpand(node: T): Promise<any>\n}\n\nexport interface TreeNodeAPI<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n nodes: (T & LevelWise)[]\n /**\n * @since 10.19.0\n */\n getIcon(props: T): React.ReactNode\n /**\n * @since 10.19.0\n */\n getLabel(props: T): string\n /**\n * @since 10.19.0\n */\n getType(node: T): NodeType\n /**\n * @since 10.19.0\n */\n isExpandable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelectable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelected(node: T): boolean\n /**\n * @since 10.19.0\n */\n isLoading(node: T): boolean\n /**\n * @since 10.19.0\n */\n isExpanded(node: T): boolean\n /**\n * @since 10.19.0\n */\n highlight(node: T): void\n /**\n * @since 10.19.0\n */\n isHighlighted(node: T): boolean\n /**\n * @since 10.19.0\n */\n handleSelection(node: T): void\n /**\n * @since 10.19.0\n */\n handleExpansion(node: T): void\n /**\n * @since 10.19.0\n */\n rowRenderer(props: TreeRowProps<T>): React.ReactNode\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n isTreeFocused: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface CustomDataType<T> {\n /**\n * @since 10.19.0\n */\n [key: string]: any\n}\n\nexport interface TreeRef<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n setSelected: (selected: T | T[]) => void\n /**\n * @since 10.19.0\n */\n setExpanded: (expanded: T | T[]) => void\n /**\n * @since 10.19.0\n */\n toggleSelected: (node: T) => void\n /**\n * @since 10.19.0\n */\n toggleExpanded: (node: T) => void\n /**\n * @since 10.19.0\n */\n rootEl: HTMLElement | null\n}\n\nexport interface TreeNodeProps extends ListChildComponentProps {\n /**\n * @since 10.19.0\n */\n data: TreeNodeAPI\n}\n\nexport interface TreeRowOverlayProps {\n /**\n * @since 10.19.0\n */\n overlayRef: OverlayProps['overlayRef']\n /**\n * @since 10.19.0\n */\n targetRef: OverlayProps['targetRef']\n /**\n * @since 10.19.0\n */\n message: { key: string; options?: object }\n}\n\nexport interface TreeRowProps<T extends Node = Node>\n extends Omit<\n TreeNodeAPI,\n 'rowRenderer' | 'nodes' | 'highlight' | 'isTreeFocused'\n > {\n /**\n * @since 10.19.0\n */\n node: T & LevelWise\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeProps<\n T extends Node = Node,\n P extends CustomDataType<T> = Array<T>\n> extends Omit<DivAttributes, 'onSelect'>,\n Partial<Pick<FixedSizeListProps, 'innerElementType' | 'outerElementType'>> {\n /**\n * @since 10.19.0\n */\n options: P\n /**\n * Array of keys of the expanded nodes\n * @since 10.19.0\n */\n expanded?: T['id'][]\n\n /**\n * Array of keys of the selected nodes\n * @since 10.19.0\n */\n selected?: T['id'][]\n\n /**\n * Number of nodes that can be selected\n * @default Infinity\n * @since 10.19.0\n */\n selectionLimit?: number\n\n /**\n * Function should return a single root node or an array of root nodes\n * ```\n * (): Node | Node[]\n * ```\n * @since 10.19.0\n * @deprecated To be removed in future release. `getParentId` should be used to determine root nodes instead.\n * @deprecatedSince 11.9.0\n */\n getRoot?(data: P): T | T[]\n\n /**\n * Should return an array of children nodes.\n * ```\n * (node: Node): Node[]\n * ```\n * @since 10.19.0\n */\n getChildren?(node: T): T[]\n\n /**\n * This function will be executed on each node. Should return `Icon` component\n * ```\n * (node: Node): React.ReactNode\n * ```\n * @since 10.19.0\n */\n getIcon?(node: T): React.ReactNode\n\n /**\n * This function will be executed on each node. Should return `label` for row\n * ```\n * (node: Node): string\n * ```\n * @since 10.19.0\n */\n getLabel?(node: T): string\n\n /**\n * This function can be used to override the default parent detection mechanism.\n * If not defined, `Node['parentId']` is used to get a given node's parent.\n * ```\n * (node: Node): TreeNodeId\n * ```\n * @since 10.19.0\n * @deprecated Returning `UNSAFE_treeRootNodeId` to determine a root node is deprecated.\n * Return `null` or `undefined` intead.\n * @deprecatedSince 11.9.0\n */\n getParentId?(node: T): TreeNodeId\n\n /**\n * This function will be executed on each node. Should return `'branch'` or `'leaf'`\n * ```\n * (node: Node): NodeType\n * ```\n * @since 10.19.0\n */\n getType?(node: T): NodeType\n\n /**\n * Function of whether to enable tree node expansion/collapsing.\n * ```\n * (node: Node): boolean\n * ```\n * @since 10.19.0\n */\n isExpandable?(node: T): boolean\n\n /**\n * Function of whether to enable tree node selection.\n * ```\n * (node: Node): boolean\n * ```\n * @since 10.19.0\n */\n isSelectable?(node: T): boolean\n\n /**\n * Allows selection of multiple nodes\n * @default true\n * @since 10.19.0\n */\n multiple?: boolean\n\n /**\n * Number of visible nodes. Helps fix performance bottlenecks in large dataset\n * @default Infinity\n * @since 10.19.0\n */\n maxVisibleNodes?: number\n\n /**\n * Height of the list. Helps fix performance bottlenecks in large dataset.\n * @since 10.19.0\n */\n visibleHeight?: number\n\n /**\n * Whether to expand parent node when a child node is expanded or selected\n * @default true\n * @since 10.19.0\n */\n autoExpandParent?: boolean\n\n /**\n * Callback return currently selected array of nodes.\n * ```\n * (nodes: Node[]): void\n * ```\n * @since 10.19.0\n */\n onSelect?(nodes: T[]): void\n\n /**\n * Triggers when current node collapse\n * ```\n * (node: Node): void\n * ```\n * @since 10.19.0\n */\n onCollapse?(node: T): void\n\n /**\n * Triggers when current node expand\n * ```\n * (node: Node): Promise<void>\n * ```\n * @since 10.19.0\n */\n onExpand?(node: T): Promise<any>\n\n /**\n * Callback for rendering tree nodes\n * ```\n * (props: TreeRowProps): React.ReactNode\n * ```\n * @since 10.19.0\n */\n rowRenderer?(props: TreeRowProps<T>): React.ReactNode\n}\n\nexport interface IconContainerProps extends BoxProps {\n /**\n * @since 10.19.0\n */\n isSelected?: boolean\n}\n\nexport interface TreeRowTooltipProps {\n /**\n * @since 10.19.0\n */\n isHighlighted: boolean\n /**\n * @since 10.19.0\n */\n isSelected: boolean\n /**\n * @since 10.19.0\n */\n isSelectable: boolean\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n fileName: string\n /**\n * @since 10.19.0\n */\n nodeType: NodeType\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeRowContainerProps extends Omit<DivAttributes, 'color'> {\n /**\n * @since 10.19.0\n */\n isHighlighted: boolean\n /**\n * @since 10.19.0\n */\n isSelected: boolean\n /**\n * @since 10.19.0\n */\n isSelectable: boolean\n /**\n * @since 10.19.0\n */\n isExpandable: boolean\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n level: number\n}\n"],"mappings":""}
|
|
@@ -5,11 +5,11 @@ import { spacing } from '../_styles/spacing';
|
|
|
5
5
|
var inputHeight = 36;
|
|
6
6
|
export var StyledInput = /*#__PURE__*/styled.input.withConfig({
|
|
7
7
|
displayName: "StyledInput",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_16_0__sc-gpc39h-0"
|
|
9
9
|
})(["", " padding-right:", "px;"], getSearchInputStyles(), spacing.xxl);
|
|
10
10
|
export var StyledIcon = /*#__PURE__*/styled.div.withConfig({
|
|
11
11
|
displayName: "StyledIcon",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_16_0__sc-gpc39h-1"
|
|
13
13
|
})(["align-items:center;color:", ";display:flex;height:", "px;justify-content:center;pointer-events:", ";position:absolute;right:0;top:0;width:", "px;"], function (p) {
|
|
14
14
|
return p.disabled ? colors.gray70 : colors.gray45;
|
|
15
15
|
}, inputHeight, function (p) {
|
|
@@ -17,6 +17,6 @@ export var StyledIcon = /*#__PURE__*/styled.div.withConfig({
|
|
|
17
17
|
}, inputHeight);
|
|
18
18
|
export var StyledTypeahead = /*#__PURE__*/styled.div.withConfig({
|
|
19
19
|
displayName: "StyledTypeahead",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_16_0__sc-gpc39h-2"
|
|
21
21
|
})(["position:relative;width:100%;"]);
|
|
22
22
|
//# sourceMappingURL=Typeahead.styles.js.map
|
|
@@ -18,7 +18,7 @@ export var Typography = /*#__PURE__*/React.forwardRef(function Typography(_ref,
|
|
|
18
18
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
19
19
|
return /*#__PURE__*/React.createElement(StyledTypography, _extends({
|
|
20
20
|
$color: color,
|
|
21
|
-
breakWord: breakWord
|
|
21
|
+
$breakWord: breakWord
|
|
22
22
|
}, props, {
|
|
23
23
|
ref: ref
|
|
24
24
|
}), children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography.js","names":["React","StyledTypography","Typography","forwardRef","_ref","ref","children","color","breakWord","props","_objectWithoutProperties","_excluded","createElement","_extends","$color","displayName"],"sources":["../../src/Typography/Typography.tsx"],"sourcesContent":["import React from 'react'\nimport type { SpanAttributes } from '../_utils/types'\nimport { StyledTypography } from './Typography.styles'\nimport type { TypographyProps } from './Typography.types'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-typography--demo)\n\n */\nexport const Typography = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(function Typography({ children, color, breakWord, ...props }, ref) {\n return (\n <StyledTypography
|
|
1
|
+
{"version":3,"file":"Typography.js","names":["React","StyledTypography","Typography","forwardRef","_ref","ref","children","color","breakWord","props","_objectWithoutProperties","_excluded","createElement","_extends","$color","$breakWord","displayName"],"sources":["../../src/Typography/Typography.tsx"],"sourcesContent":["import React from 'react'\nimport type { SpanAttributes } from '../_utils/types'\nimport { StyledTypography } from './Typography.styles'\nimport type { TypographyProps } from './Typography.types'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-typography--demo)\n\n */\nexport const Typography = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(function Typography({ children, color, breakWord, ...props }, ref) {\n return (\n <StyledTypography\n $color={color}\n $breakWord={breakWord}\n {...props}\n ref={ref}\n >\n {children}\n </StyledTypography>\n )\n})\n\nTypography.displayName = 'Typography'\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,qBAAqB;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,gBAAGF,KAAK,CAACG,UAAU,CAGxC,SAASD,UAAUA,CAAAE,IAAA,EAA2CC,GAAG,EAAE;EAAA,IAA7CC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IAAKC,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAC1D,oBACEX,KAAA,CAAAY,aAAA,CAACX,gBAAgB,EAAAY,QAAA;IACfC,MAAM,EAAEP,KAAM;IACdQ,UAAU,EAAEP;EAAU,GAClBC,KAAK;IACTJ,GAAG,EAAEA;EAAI,IAERC,QACe,CAAC;AAEvB,CAAC,CAAC;AAEFJ,UAAU,CAACc,WAAW,GAAG,YAAY"}
|