@procore/core-react 12.17.6 → 12.17.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.js +4 -1
- package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/AnchorNavigation/AnchorNavigationProvider.js.map +1 -1
- package/dist/Avatar/Avatar.js +1 -2
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/Banner/Banner.js +36 -6
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.d.ts +1 -1
- package/dist/Banner/Banner.styles.js +15 -15
- package/dist/Banner/Banner.styles.js.map +1 -1
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Button.styles.d.ts +1 -0
- package/dist/Button/Button.styles.js +7 -7
- package/dist/Button/Button.styles.js.map +1 -1
- package/dist/Button/Button.types.d.ts +4 -0
- package/dist/Button/Button.types.js.map +1 -1
- package/dist/Calendar/Calendar.js.map +1 -1
- 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.map +1 -1
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.hooks.js +1 -2
- package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +7 -9
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileSelect/storyHelpers.js.map +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.js +22 -32
- package/dist/FilterToken/FilterToken.js.map +1 -1
- package/dist/FilterToken/FilterToken.styles.d.ts +5 -0
- package/dist/FilterToken/FilterToken.styles.js +18 -2
- package/dist/FilterToken/FilterToken.styles.js.map +1 -1
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/Form/stories/util.js.map +1 -1
- 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 +2 -2
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/Overlay.js.map +1 -1
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageLayout/PageLayout.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +2 -2
- 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.d.ts +2 -0
- package/dist/ProgressBar/ProgressBar.js +2 -0
- package/dist/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.js.map +1 -1
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.js +1 -2
- package/dist/Section/Section.js.map +1 -1
- package/dist/Section/Section.styles.js +7 -7
- package/dist/Section/Section.styles.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- package/dist/SuperSelect/SuperSelect.utils.js +1 -2
- package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
- package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
- package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
- package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/Thumbnail/Thumbnail.utils.js +2 -3
- package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
- package/dist/Thumbnail/ThumbnailDocumentIcon.js +2 -3
- package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
- package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/Tile.styles.js +8 -8
- 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/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.js.map +1 -1
- package/dist/Tree/Tree.styles.js +9 -9
- package/dist/Tree/Tree.styles.js.map +1 -1
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/FocusScopeOverride.js.map +1 -1
- package/dist/_hooks/Hotkey.js.map +1 -1
- package/dist/_hooks/TextEntry.js.map +1 -1
- package/dist/_hooks/Timer.js.map +1 -1
- package/dist/_hooks/Trigger.js.map +1 -1
- package/dist/_hooks/useFileUploader.js.map +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 +24 -16
- 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 +43 -39
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
- package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
- 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 +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +741 -741
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +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 +31 -31
- 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 +29 -29
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +34 -30
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- 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 +19 -19
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +60 -60
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +101 -101
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +48 -44
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +30 -30
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +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 +86 -86
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/dist/_utils/TinyMCE.js.map +1 -1
- package/dist/_utils/closeWithConfirm.js.map +1 -1
- package/dist/_utils/dateTime.js.map +1 -1
- package/dist/_utils/getAnchorPosition.js.map +1 -1
- package/package.json +2 -1
- package/tsconfig.prod.json +2 -1
- package/tsconfig.test.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeafSelectionTieredSelect.js","names":["React","OverlayTrigger","Select","isEventSource","useI18nContext","TieredSelectContext","TieredSelectMenu","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","LeafSelectionTieredSelect","forwardRef","_ref","ref","className","_ref$disabled","disabled","_ref$error","error","_ref$loading","loading","onKeyDown","_ref$options","options","_ref$value","value","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","afterHide","afterShow","beforeHide","beforeShow","block","getGroupId","getNextGroupId","getValueString","i18nScope","isLeaf","onChange","onClear","onNavigate","onSearch","tabIndex","I18n","tieredSelectMenuRef","useRef","tieredSelectButtonRef","clearRef","createRef","_React$useState","useState","_React$useState2","_slicedToArray","valueString","setValueString","_React$useState3","_React$useState4","currentTier","setCurrentTier","_React$useState5","_React$useState6","internalValue","setInternalValue","_React$useState7","_React$useState8","previousValue","setPreviousValue","useEffect","lastEntryInValue","length","internalOnChange","useCallback","selection","item","internalOnNavigate","nextGroupId","internalOnClear","event","internalOnSearch","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","current","el","lastValue","createElement","autoFocus","canFlip","_extends","menuRef","placement","trigger","Button","label","placeholder","t","scope"],"sources":["../../src/TieredSelect/LeafSelectionTieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { TieredSelectContext } from './TieredSelect'\nimport type {\n Id,\n InternalTieredSelectProps,\n Tier,\n TierSelection,\n} from './TieredSelect.types'\nimport { TieredSelectMenu } from './TieredSelectMenu'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nexport const LeafSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function LeafSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value if not a leaf node\n // otherwise we want to show the parent of the last tier in value\n if (isLeaf && !isLeaf(lastEntryInValue)) {\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(getGroupId(lastEntryInValue))\n }\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getGroupId, getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getGroupId(selection.item))\n onChange(selection)\n },\n [getGroupId, onChange, getValueString]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n if (isLeaf && isLeaf(lastValue)) {\n setCurrentTier(getGroupId(lastValue))\n } else {\n setCurrentTier(getNextGroupId(lastValue))\n }\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getGroupId,\n getNextGroupId,\n isLeaf,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LeafSelectionTieredSelect.js","names":["React","OverlayTrigger","Select","isEventSource","useI18nContext","TieredSelectContext","TieredSelectMenu","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","LeafSelectionTieredSelect","forwardRef","_ref","ref","className","_ref$disabled","disabled","_ref$error","error","_ref$loading","loading","onKeyDown","_ref$options","options","_ref$value","value","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","afterHide","afterShow","beforeHide","beforeShow","block","getGroupId","getNextGroupId","getValueString","i18nScope","isLeaf","onChange","onClear","onNavigate","onSearch","tabIndex","I18n","tieredSelectMenuRef","useRef","tieredSelectButtonRef","clearRef","createRef","_React$useState","useState","_React$useState2","_slicedToArray","valueString","setValueString","_React$useState3","_React$useState4","currentTier","setCurrentTier","_React$useState5","_React$useState6","internalValue","setInternalValue","_React$useState7","_React$useState8","previousValue","setPreviousValue","useEffect","lastEntryInValue","length","internalOnChange","useCallback","selection","item","internalOnNavigate","nextGroupId","internalOnClear","event","internalOnSearch","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","current","el","lastValue","createElement","autoFocus","canFlip","_extends","menuRef","placement","trigger","Button","label","placeholder","t","scope"],"sources":["../../src/TieredSelect/LeafSelectionTieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { OverlayTrigger } from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { TieredSelectContext } from './TieredSelect'\nimport type {\n Id,\n InternalTieredSelectProps,\n Tier,\n TierSelection,\n} from './TieredSelect.types'\nimport { TieredSelectMenu } from './TieredSelectMenu'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nexport const LeafSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function LeafSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value if not a leaf node\n // otherwise we want to show the parent of the last tier in value\n if (isLeaf && !isLeaf(lastEntryInValue)) {\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(getGroupId(lastEntryInValue))\n }\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getGroupId, getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getGroupId(selection.item))\n onChange(selection)\n },\n [getGroupId, onChange, getValueString]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n if (isLeaf && isLeaf(lastValue)) {\n setCurrentTier(getGroupId(lastValue))\n } else {\n setCurrentTier(getNextGroupId(lastValue))\n }\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getGroupId,\n getNextGroupId,\n isLeaf,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TierSelectionTieredSelect.js","names":["ChevronRight","Help","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","OverlayTrigger","useOverlayTriggerContext","Select","Spinner","Tooltip","Typography","isEventSource","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectArrowButton","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectIcon","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","ArrowButton","_ref","onClick","props","_objectWithoutProperties","_excluded","i18n","createElement","_extends","t","icon","event","preventDefault","size","tabIndex","variant","ItemTooltipIcon","alignItems","justifyContent","QuickCreateInput","forwardRef","_ref2","ref","autoFocus","onSubmit","placeholder","onKeyDown","currentTarget","value","flexGrow","padding","Options","_ref3","children","emptyMessage","_excluded2","Children","count","paddingLeft","color","intent","italic","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onNavigate","onSearch","onChange","_ref4$options","options","previousValue","_excluded3","_React$useContext","useContext","getGroupId","getId","getLabel","getNextGroupId","i18nScope","onQuickCreate","onScrollBottom","isTierDisabled","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","filteredOptions","useMemo","filter","tier","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","onNavigateForward","_menuRef$current3","newValue","concat","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","item","_objectSpread","showBreadcrumbs","menuEmptyMessage","scope","handleQuickCreate","onQuickCreateSubmit","RenderFooter","Footer","undefined","block","isTierSelected","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","map","index","array","active","_isTierDisabled","tooltip","isDisabled","Boolean","showNextTierArrow","menuItem","selected","disabled","trigger","placement","TierSelectionTieredSelect","_ref5","className","_ref5$disabled","_ref5$error","error","_ref5$loading","_ref5$options","_ref5$value","_excluded4","_React$useContext2","afterHide","afterShow","beforeHide","beforeShow","getValueString","isLeaf","onClear","tieredSelectMenuRef","tieredSelectButtonRef","clearRef","createRef","_React$useState5","_React$useState6","valueString","setValueString","_React$useState7","_React$useState8","setCurrentTier","_React$useState9","_React$useState10","internalValue","setInternalValue","_React$useState11","_React$useState12","setPreviousValue","useEffect","internalOnChange","internalOnNavigate","nextGroupId","internalOnClear","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","el","lastValue","canFlip"],"sources":["../../src/TieredSelect/TierSelectionTieredSelect.tsx"],"sourcesContent":["import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport { Breadcrumbs } from '../Breadcrumbs/Breadcrumbs'\nimport { Button } from '../Button/Button'\nimport { FlexList } from '../FlexList/FlexList'\nimport { Input } from '../Input/Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { Typography } from '../Typography/Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectArrowButton,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectIcon,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n Id,\n InternalTieredSelectProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n TierSelection,\n} from './TieredSelect.types'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\n\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nfunction ArrowButton({ onClick, ...props }: ArrowButtonProps) {\n const i18n = useI18nContext()\n return (\n <StyledTieredSelectArrowButton\n aria-label={i18n.t('core.tieredSelect.goToTier')}\n {...props}\n icon={<ChevronRight />}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick && onClick(event)\n }}\n size=\"sm\"\n tabIndex={-1}\n variant=\"tertiary\"\n />\n )\n}\n\nfunction ItemTooltipIcon() {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <Help />\n </StyledTieredSelectIcon>\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\nconst TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onNavigate,\n onSearch,\n onChange,\n options = empty,\n value,\n previousValue,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n onQuickCreate,\n onScrollBottom,\n isTierDisabled,\n } = React.useContext(TieredSelectContext)\n\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier) {\n const newValue = [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n const newValue = value.slice(0, Math.max(0, value.length - 1))\n const newTier = value[value.length - 1]\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n function onTierSelect(selection: Selection) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n }\n\n function showBreadcrumbs() {\n return value.length && searchIsEmpty\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter()}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer>\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer>\n <Button\n block={true}\n icon={<Plus size=\"md\" />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n size=\"sm\"\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value.map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => {\n const tooltip = isTierDisabled?.(tier) ?? false\n const isDisabled = Boolean(tooltip)\n const showNextTierArrow =\n !tooltip &&\n (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate))\n const overlay = typeof tooltip === 'string' ? tooltip : null\n const menuItem = (\n <StyledTieredSelectOption\n item={tier}\n key={`${getId(tier)}-${index}`}\n selected={isTierSelected(tier)}\n disabled={isDisabled}\n >\n {getLabel(tier)}\n {showNextTierArrow && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n {tooltip && (\n <Box paddingLeft=\"sm\">\n <ItemTooltipIcon />\n </Box>\n )}\n </StyledTieredSelectOption>\n )\n if (isDisabled && overlay) {\n return (\n <Tooltip\n key={`${getId(tier)}-${index}-tooltip`}\n overlay={overlay}\n trigger={'hover'}\n placement=\"right\"\n >\n {menuItem}\n </Tooltip>\n )\n }\n\n return menuItem\n })\n .concat(\n loadingMore && !loading\n ? [\n <StyledTieredSelectLoadingMore\n data-qa=\"tiered-select-loading-more\"\n key={'tiered-select-loading-more'}\n >\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>,\n ]\n : []\n )}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n\nexport const TierSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function TierSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getNextGroupId(selection.item))\n onChange(selection)\n },\n [getNextGroupId, getValueString, onChange]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n setCurrentTier(getNextGroupId(lastValue))\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getNextGroupId,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TierSelectionTieredSelect.js","names":["ChevronRight","Help","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","OverlayTrigger","useOverlayTriggerContext","Select","Spinner","Tooltip","Typography","isEventSource","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectArrowButton","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectIcon","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","ArrowButton","_ref","onClick","props","_objectWithoutProperties","_excluded","i18n","createElement","_extends","t","icon","event","preventDefault","size","tabIndex","variant","ItemTooltipIcon","alignItems","justifyContent","QuickCreateInput","forwardRef","_ref2","ref","autoFocus","onSubmit","placeholder","onKeyDown","currentTarget","value","flexGrow","padding","Options","_ref3","children","emptyMessage","_excluded2","Children","count","paddingLeft","color","intent","italic","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onNavigate","onSearch","onChange","_ref4$options","options","previousValue","_excluded3","_React$useContext","useContext","getGroupId","getId","getLabel","getNextGroupId","i18nScope","onQuickCreate","onScrollBottom","isTierDisabled","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","filteredOptions","useMemo","filter","tier","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","onNavigateForward","_menuRef$current3","newValue","concat","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","item","_objectSpread","showBreadcrumbs","menuEmptyMessage","scope","handleQuickCreate","onQuickCreateSubmit","RenderFooter","Footer","undefined","block","isTierSelected","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","map","index","array","active","_isTierDisabled","tooltip","isDisabled","Boolean","showNextTierArrow","menuItem","selected","disabled","trigger","placement","TierSelectionTieredSelect","_ref5","className","_ref5$disabled","_ref5$error","error","_ref5$loading","_ref5$options","_ref5$value","_excluded4","_React$useContext2","afterHide","afterShow","beforeHide","beforeShow","getValueString","isLeaf","onClear","tieredSelectMenuRef","tieredSelectButtonRef","clearRef","createRef","_React$useState5","_React$useState6","valueString","setValueString","_React$useState7","_React$useState8","setCurrentTier","_React$useState9","_React$useState10","internalValue","setInternalValue","_React$useState11","_React$useState12","setPreviousValue","useEffect","internalOnChange","internalOnNavigate","nextGroupId","internalOnClear","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","el","lastValue","canFlip"],"sources":["../../src/TieredSelect/TierSelectionTieredSelect.tsx"],"sourcesContent":["import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport { Breadcrumbs } from '../Breadcrumbs/Breadcrumbs'\nimport { Button } from '../Button/Button'\nimport { FlexList } from '../FlexList/FlexList'\nimport { Input } from '../Input/Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select/Select'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { Typography } from '../Typography/Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectArrowButton,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectIcon,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n Id,\n InternalTieredSelectProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n TierSelection,\n} from './TieredSelect.types'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\n\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nfunction ArrowButton({ onClick, ...props }: ArrowButtonProps) {\n const i18n = useI18nContext()\n return (\n <StyledTieredSelectArrowButton\n aria-label={i18n.t('core.tieredSelect.goToTier')}\n {...props}\n icon={<ChevronRight />}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick && onClick(event)\n }}\n size=\"sm\"\n tabIndex={-1}\n variant=\"tertiary\"\n />\n )\n}\n\nfunction ItemTooltipIcon() {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <Help />\n </StyledTieredSelectIcon>\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\nconst TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onNavigate,\n onSearch,\n onChange,\n options = empty,\n value,\n previousValue,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n onQuickCreate,\n onScrollBottom,\n isTierDisabled,\n } = React.useContext(TieredSelectContext)\n\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier) {\n const newValue = [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n const newValue = value.slice(0, Math.max(0, value.length - 1))\n const newTier = value[value.length - 1]\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n function onTierSelect(selection: Selection) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n }\n\n function showBreadcrumbs() {\n return value.length && searchIsEmpty\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter()}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer>\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer>\n <Button\n block={true}\n icon={<Plus size=\"md\" />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n size=\"sm\"\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value.map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => {\n const tooltip = isTierDisabled?.(tier) ?? false\n const isDisabled = Boolean(tooltip)\n const showNextTierArrow =\n !tooltip &&\n (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate))\n const overlay = typeof tooltip === 'string' ? tooltip : null\n const menuItem = (\n <StyledTieredSelectOption\n item={tier}\n key={`${getId(tier)}-${index}`}\n selected={isTierSelected(tier)}\n disabled={isDisabled}\n >\n {getLabel(tier)}\n {showNextTierArrow && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n {tooltip && (\n <Box paddingLeft=\"sm\">\n <ItemTooltipIcon />\n </Box>\n )}\n </StyledTieredSelectOption>\n )\n if (isDisabled && overlay) {\n return (\n <Tooltip\n key={`${getId(tier)}-${index}-tooltip`}\n overlay={overlay}\n trigger={'hover'}\n placement=\"right\"\n >\n {menuItem}\n </Tooltip>\n )\n }\n\n return menuItem\n })\n .concat(\n loadingMore && !loading\n ? [\n <StyledTieredSelectLoadingMore\n data-qa=\"tiered-select-loading-more\"\n key={'tiered-select-loading-more'}\n >\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>,\n ]\n : []\n )}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n\nexport const TierSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function TierSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getNextGroupId(selection.item))\n onChange(selection)\n },\n [getNextGroupId, getValueString, onChange]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n setCurrentTier(getNextGroupId(lastValue))\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getNextGroupId,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
|
|
@@ -9,19 +9,19 @@ import { colors } from '../_styles/colors';
|
|
|
9
9
|
import { spacing } from '../_styles/spacing';
|
|
10
10
|
export var StyledTieredSelect = /*#__PURE__*/styled(MenuImperative).withConfig({
|
|
11
11
|
displayName: "StyledTieredSelect",
|
|
12
|
-
componentId: "core-
|
|
12
|
+
componentId: "core-12_17_7__sc-e1ql06-0"
|
|
13
13
|
})(["align-items:stretch;max-height:40vh;"]);
|
|
14
14
|
export var StyledTieredSelectIcon = /*#__PURE__*/styled(Flex).withConfig({
|
|
15
15
|
displayName: "StyledTieredSelectIcon",
|
|
16
|
-
componentId: "core-
|
|
16
|
+
componentId: "core-12_17_7__sc-e1ql06-1"
|
|
17
17
|
})(["height:24px;width:24px;"]);
|
|
18
18
|
export var StyledTieredSelectArrowButton = /*#__PURE__*/styled(Button).withConfig({
|
|
19
19
|
displayName: "StyledTieredSelectArrowButton",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_17_7__sc-e1ql06-2"
|
|
21
21
|
})(["border:1px solid transparent;"]);
|
|
22
22
|
export var StyledTieredSelectBreadcrumbs = /*#__PURE__*/styled(Breadcrumbs).withConfig({
|
|
23
23
|
displayName: "StyledTieredSelectBreadcrumbs",
|
|
24
|
-
componentId: "core-
|
|
24
|
+
componentId: "core-12_17_7__sc-e1ql06-3"
|
|
25
25
|
})(["background-color:", ";flex-wrap:wrap;margin-top:", "px;max-height:68px;overflow-y:auto;padding:", "px ", "px;", ""], colors.gray96, spacing.sm, spacing.xs, spacing.md, function (_ref) {
|
|
26
26
|
var $nonInteractive = _ref.$nonInteractive;
|
|
27
27
|
if ($nonInteractive) {
|
|
@@ -30,22 +30,22 @@ export var StyledTieredSelectBreadcrumbs = /*#__PURE__*/styled(Breadcrumbs).with
|
|
|
30
30
|
});
|
|
31
31
|
export var StyledTieredSelectHome = /*#__PURE__*/styled(Flex).withConfig({
|
|
32
32
|
displayName: "StyledTieredSelectHome",
|
|
33
|
-
componentId: "core-
|
|
33
|
+
componentId: "core-12_17_7__sc-e1ql06-4"
|
|
34
34
|
})(["height:20px;"]);
|
|
35
35
|
export var StyledTieredSelectOption = /*#__PURE__*/styled(MenuImperative.Item).withConfig({
|
|
36
36
|
displayName: "StyledTieredSelectOption",
|
|
37
|
-
componentId: "core-
|
|
37
|
+
componentId: "core-12_17_7__sc-e1ql06-5"
|
|
38
38
|
})(["align-items:center;display:flex;justify-content:space-between;padding:2px ", "px;"], spacing.lg);
|
|
39
39
|
export var StyledTieredSelectLoadingMore = /*#__PURE__*/styled(Flex).withConfig({
|
|
40
40
|
displayName: "StyledTieredSelectLoadingMore",
|
|
41
|
-
componentId: "core-
|
|
41
|
+
componentId: "core-12_17_7__sc-e1ql06-6"
|
|
42
42
|
})(["align-items:center;justify-content:center;padding:", "px ", "px 0px ", "px;"], spacing.xs, spacing.lg, spacing.lg);
|
|
43
43
|
export var StyledTieredSelectOverlay = /*#__PURE__*/styled(Card).withConfig({
|
|
44
44
|
displayName: "StyledTieredSelectOverlay",
|
|
45
|
-
componentId: "core-
|
|
45
|
+
componentId: "core-12_17_7__sc-e1ql06-7"
|
|
46
46
|
})(["max-width:248px;min-width:inherit;"]);
|
|
47
47
|
export var StyledTieredSelectSpinnerOverlay = /*#__PURE__*/styled(Spinner).withConfig({
|
|
48
48
|
displayName: "StyledTieredSelectSpinnerOverlay",
|
|
49
|
-
componentId: "core-
|
|
49
|
+
componentId: "core-12_17_7__sc-e1ql06-8"
|
|
50
50
|
})(["min-height:auto;"]);
|
|
51
51
|
//# sourceMappingURL=TieredSelect.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TieredSelectMenu.js","names":["ChevronRight","Help","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","useOverlayTriggerContext","Spinner","Tooltip","Typography","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectIcon","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","ArrowButton","props","createElement","alignItems","justifyContent","ItemTooltipIcon","QuickCreateInput","forwardRef","_ref","ref","autoFocus","onSubmit","placeholder","onKeyDown","e","key","currentTarget","value","flexGrow","padding","Options","_ref2","children","emptyMessage","_objectWithoutProperties","_excluded","Children","count","_extends","paddingLeft","color","intent","italic","RenderMenuItem","_ref3","_isTierDisabled","tier","selected","index","onNavigateForward","_React$useContext","useContext","isTierDisabled","getNextGroupId","onQuickCreate","getLabel","getId","tooltip","isDisabled","Boolean","showNextTierArrow","overlay","menuItem","disabled","item","Fragment","onClick","concat","trigger","placement","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onChange","onNavigate","onSearch","_ref4$options","options","previousValue","_excluded2","_React$useContext2","getGroupId","i18nScope","onScrollBottom","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","target","filteredOptions","useMemo","filter","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","isLeaf","_menuRef$current3","newValue","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","_objectSpread","event","showBreadcrumbs","menuEmptyMessage","t","scope","handleQuickCreate","stopPropagation","onQuickCreateSubmit","isTierSelected","RenderLoadingMore","size","RenderFooter","Footer","undefined","variant","block","icon","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","map","array","active"],"sources":["../../src/TieredSelect/TieredSelectMenu.tsx"],"sourcesContent":["import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport { Breadcrumbs } from '../Breadcrumbs/Breadcrumbs'\nimport { Button } from '../Button/Button'\nimport { FlexList } from '../FlexList/FlexList'\nimport { Input } from '../Input/Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { Typography } from '../Typography/Typography'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectIcon,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n} from './TieredSelect.types'\n\nfunction ArrowButton(props: ArrowButtonProps) {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <ChevronRight />\n </StyledTieredSelectIcon>\n )\n}\n\nfunction ItemTooltipIcon() {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <Help />\n </StyledTieredSelectIcon>\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\ninterface RenderMenuItemProps {\n tier: Tier\n index: number\n selected: boolean\n onNavigateForward: (tier: Tier) => void\n}\nconst RenderMenuItem: React.FC<RenderMenuItemProps> = ({\n tier,\n selected,\n index,\n onNavigateForward,\n}) => {\n const { isTierDisabled, getNextGroupId, onQuickCreate, getLabel, getId } =\n React.useContext(TieredSelectContext)\n\n const tooltip = isTierDisabled?.(tier) ?? false\n const isDisabled = Boolean(tooltip)\n const showNextTierArrow =\n !tooltip && (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate))\n\n const overlay = typeof tooltip === 'string' ? tooltip : null\n\n const menuItem = (\n <StyledTieredSelectOption\n disabled={isDisabled}\n item={tier}\n selected={selected}\n >\n <>\n {getLabel(tier)}\n {showNextTierArrow && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n {tooltip && (\n <Box paddingLeft=\"sm\">\n <ItemTooltipIcon />\n </Box>\n )}\n </>\n </StyledTieredSelectOption>\n )\n\n if (isDisabled && overlay) {\n return (\n <Tooltip\n key={`${getId(tier)}-${index}-tooltip`}\n overlay={overlay}\n trigger={'hover'}\n placement=\"right\"\n >\n {menuItem}\n </Tooltip>\n )\n }\n\n return menuItem\n}\n\nexport const TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onChange,\n onNavigate,\n onSearch,\n options = [],\n previousValue,\n value,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n isTierDisabled,\n onQuickCreate,\n onScrollBottom,\n } = React.useContext(TieredSelectContext)\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier && !isLeaf(tier)) {\n // if last value was a leaf, replace it when performing next navigation\n const newValue =\n lastEntryInValue && isLeaf(lastEntryInValue)\n ? [...value.slice(0, value.length - 1), tier]\n : [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n let newValue\n let newTier\n if (isLeaf(value[value.length - 1])) {\n newValue = value.slice(0, Math.max(0, value.length - 2))\n newTier = value[Math.max(0, value.length - 2)]\n } else {\n newValue = value.slice(0, Math.max(0, value.length - 1))\n newTier = value[value.length - 1]\n }\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n const isDisabled = isTierDisabled?.(tier)\n\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n if (isDisabled) {\n return\n }\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n if (isDisabled) {\n return\n }\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n const isLeaf = React.useCallback(\n function (tier: Tier) {\n return !getNextGroupId(tier)\n },\n [getNextGroupId]\n )\n\n function onTierSelect(selection: Selection) {\n if (isLeaf(selection.item)) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n } else {\n onNavigateForward(selection.item)\n }\n }\n\n // non-selectable tiers can have a leaf node in the root tier, so if selected\n // it will reopen to the root tier and we should not show breadcrumbs\n function showBreadcrumbs() {\n return (\n value.length &&\n searchIsEmpty &&\n !(value.length === 1 && isLeaf(value[value.length - 1]))\n )\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n function RenderLoadingMore() {\n if (loadingMore && !loading) {\n return (\n <StyledTieredSelectLoadingMore data-qa=\"tiered-select-loading-more\">\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>\n )\n }\n\n return null\n }\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter()}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer data-something=\"true\">\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer data-something=\"true\">\n <Button\n block\n size=\"sm\"\n icon={<Plus />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n loading={loading}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value\n .filter((tier) => {\n // we reopen to the parent of leaf nodes, so don't show that breadcrumb\n return !isLeaf(tier)\n })\n .map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => (\n <RenderMenuItem\n key={`menu-item-${getId(tier)}-${index}}`}\n tier={tier}\n selected={isTierSelected(tier)}\n index={index}\n onNavigateForward={onNavigateForward}\n />\n ))\n .concat(<RenderLoadingMore key=\"tiered-select-loading-more\" />)}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,QAAQ,0BAA0B;AACzE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,YAAY;AAChC,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SACEC,cAAc,EACdC,kCAAkC,QAC7B,kCAAkC;AAEzC,SACEC,YAAY,EACZC,wBAAwB,QACnB,kCAAkC;AACzC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,cAAc,QAAQ,gBAAgB;AAE/C,SAASC,mBAAmB,EAAEC,uBAAuB,QAAQ,gBAAgB;AAC7E,SACEC,kBAAkB,EAClBC,6BAA6B,EAC7BC,sBAAsB,EACtBC,sBAAsB,EACtBC,6BAA6B,EAC7BC,wBAAwB,EACxBC,yBAAyB,EACzBC,gCAAgC,QAC3B,uBAAuB;AAS9B,SAASC,WAAWA,CAACC,KAAuB,EAAE;EAC5C,oBACEzB,KAAA,CAAA0B,aAAA,CAACP,sBAAsB;IAACQ,UAAU,EAAC,QAAQ;IAACC,cAAc,EAAC;EAAQ,gBACjE5B,KAAA,CAAA0B,aAAA,CAAC9B,YAAY,MAAE,CACO,CAAC;AAE7B;AAEA,SAASiC,eAAeA,CAAA,EAAG;EACzB,oBACE7B,KAAA,CAAA0B,aAAA,CAACP,sBAAsB;IAACQ,UAAU,EAAC,QAAQ;IAACC,cAAc,EAAC;EAAQ,gBACjE5B,KAAA,CAAA0B,aAAA,CAAC7B,IAAI,MAAE,CACe,CAAC;AAE7B;AAEA,IAAMiC,gBAAgB,gBAAG9B,KAAK,CAAC+B,UAAU,CAGvC,SAASD,gBAAgBA,CAAAE,IAAA,EAAuCC,GAAG,EAAE;EAAA,IAAzCC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;EAC5D,SAASC,SAASA,CAACC,CAAwC,EAAE;IAC3D,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrBJ,QAAQ,CAACG,CAAC,CAACE,aAAa,CAACC,KAAK,CAAC;IACjC;EACF;EAEA,oBACEzC,KAAA,CAAA0B,aAAA,CAACzB,GAAG;IAACyC,QAAQ,EAAC,GAAG;IAACd,cAAc,EAAC,QAAQ;IAACe,OAAO,EAAC;EAAI,gBACpD3C,KAAA,CAAA0B,aAAA,CAACrB,KAAK;IACJ6B,SAAS,EAAEA,SAAU;IACrBG,SAAS,EAAEA,SAAU;IACrBD,WAAW,EAAEA,WAAY;IACzBH,GAAG,EAAEA;EAAI,CACV,CACE,CAAC;AAEV,CAAC,CAAC;AAEF,SAASW,OAAOA,CAAAC,KAAA,EAA6D;EAAA,IAA1DC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEC,YAAY,GAAAF,KAAA,CAAZE,YAAY;IAAKtB,KAAK,GAAAuB,wBAAA,CAAAH,KAAA,EAAAI,SAAA;EACjD,IAAIjD,KAAK,CAACkD,QAAQ,CAACC,KAAK,CAACL,QAAQ,CAAC,KAAK,CAAC,EAAE;IACxC,oBACE9C,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAACsC,OAAO,qBACrB5C,KAAA,CAAA0B,aAAA,CAACzB,GAAG,EAAAmD,QAAA;MAACC,WAAW,EAAC;IAAI,GAAK5B,KAAK,gBAC7BzB,KAAA,CAAA0B,aAAA,CAACd,UAAU;MAAC0C,KAAK,EAAC,QAAQ;MAACC,MAAM,EAAC,OAAO;MAACC,MAAM;IAAA,GAC7CT,YACS,CACT,CACiB,CAAC;EAE7B;EACA,oBAAO/C,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAACsC,OAAO,QAAEE,QAAiC,CAAC;AACpE;AAQA,IAAMW,cAA6C,GAAG,SAAhDA,cAA6CA,CAAAC,KAAA,EAK7C;EAAA,IAAAC,eAAA;EAAA,IAJJC,IAAI,GAAAF,KAAA,CAAJE,IAAI;IACJC,QAAQ,GAAAH,KAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,iBAAiB,GAAAL,KAAA,CAAjBK,iBAAiB;EAEjB,IAAAC,iBAAA,GACEhE,KAAK,CAACiE,UAAU,CAACnD,mBAAmB,CAAC;IAD/BoD,cAAc,GAAAF,iBAAA,CAAdE,cAAc;IAAEC,cAAc,GAAAH,iBAAA,CAAdG,cAAc;IAAEC,aAAa,GAAAJ,iBAAA,CAAbI,aAAa;IAAEC,QAAQ,GAAAL,iBAAA,CAARK,QAAQ;IAAEC,KAAK,GAAAN,iBAAA,CAALM,KAAK;EAGtE,IAAMC,OAAO,IAAAZ,eAAA,GAAGO,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGN,IAAI,CAAC,cAAAD,eAAA,cAAAA,eAAA,GAAI,KAAK;EAC/C,IAAMa,UAAU,GAAGC,OAAO,CAACF,OAAO,CAAC;EACnC,IAAMG,iBAAiB,GACrB,CAACH,OAAO,KAAKE,OAAO,CAACN,cAAc,CAACP,IAAI,CAAC,CAAC,IAAIa,OAAO,CAACL,aAAa,CAAC,CAAC;EAEvE,IAAMO,OAAO,GAAG,OAAOJ,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAG,IAAI;EAE5D,IAAMK,QAAQ,gBACZ5E,KAAA,CAAA0B,aAAA,CAACL,wBAAwB;IACvBwD,QAAQ,EAAEL,UAAW;IACrBM,IAAI,EAAElB,IAAK;IACXC,QAAQ,EAAEA;EAAS,gBAEnB7D,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAA+E,QAAA,QACGV,QAAQ,CAACT,IAAI,CAAC,EACdc,iBAAiB,iBAChB1E,KAAA,CAAA0B,aAAA,CAACzB,GAAG;IAACoD,WAAW,EAAC;EAAI,gBACnBrD,KAAA,CAAA0B,aAAA,CAACF,WAAW;IACV,WAAQ,qBAAqB;IAC7BwD,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMjB,iBAAiB,CAACH,IAAI,CAAC;IAAA;EAAC,CACxC,CACE,CACN,EACAW,OAAO,iBACNvE,KAAA,CAAA0B,aAAA,CAACzB,GAAG;IAACoD,WAAW,EAAC;EAAI,gBACnBrD,KAAA,CAAA0B,aAAA,CAACG,eAAe,MAAE,CACf,CAEP,CACsB,CAC3B;EAED,IAAI2C,UAAU,IAAIG,OAAO,EAAE;IACzB,oBACE3E,KAAA,CAAA0B,aAAA,CAACf,OAAO;MACN4B,GAAG,KAAA0C,MAAA,CAAKX,KAAK,CAACV,IAAI,CAAC,OAAAqB,MAAA,CAAInB,KAAK,aAAW;MACvCa,OAAO,EAAEA,OAAQ;MACjBO,OAAO,EAAE,OAAQ;MACjBC,SAAS,EAAC;IAAO,GAEhBP,QACM,CAAC;EAEd;EAEA,OAAOA,QAAQ;AACjB,CAAC;AAED,OAAO,IAAMQ,gBAAgB,gBAAGpF,KAAK,CAAC+B,UAAU,CAG9C,SAASqD,gBAAgBA,CAAAC,KAAA,EAgBzBpD,GAAG,EACH;EAAA,IAfEa,QAAQ,GAAAuC,KAAA,CAARvC,QAAQ;IACRwC,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACHC,YAAY,GAAAF,KAAA,CAApBG,MAAM;IACNC,OAAO,GAAAJ,KAAA,CAAPI,OAAO;IACPC,WAAW,GAAAL,KAAA,CAAXK,WAAW;IACXC,OAAO,GAAAN,KAAA,CAAPM,OAAO;IACPC,QAAQ,GAAAP,KAAA,CAARO,QAAQ;IACRC,UAAU,GAAAR,KAAA,CAAVQ,UAAU;IACVC,QAAQ,GAAAT,KAAA,CAARS,QAAQ;IAAAC,aAAA,GAAAV,KAAA,CACRW,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IACZE,aAAa,GAAAZ,KAAA,CAAbY,aAAa;IACbxD,KAAK,GAAA4C,KAAA,CAAL5C,KAAK;IACFhB,KAAK,GAAAuB,wBAAA,CAAAqC,KAAA,EAAAa,UAAA;EAIV,IAAAC,kBAAA,GASInG,KAAK,CAACiE,UAAU,CAACnD,mBAAmB,CAAC;IARvCsF,UAAU,GAAAD,kBAAA,CAAVC,UAAU;IACV9B,KAAK,GAAA6B,kBAAA,CAAL7B,KAAK;IACLD,QAAQ,GAAA8B,kBAAA,CAAR9B,QAAQ;IACRF,cAAc,GAAAgC,kBAAA,CAAdhC,cAAc;IACdkC,SAAS,GAAAF,kBAAA,CAATE,SAAS;IACTnC,cAAc,GAAAiC,kBAAA,CAAdjC,cAAc;IACdE,aAAa,GAAA+B,kBAAA,CAAb/B,aAAa;IACbkC,cAAc,GAAAH,kBAAA,CAAdG,cAAc;EAEhB,IAAMC,cAAc,GAAGvG,KAAK,CAACwG,MAAM,CAAmB,IAAI,CAAC;EAE3D,IAAAC,qBAAA,GAAiBhG,wBAAwB,CAAC,CAAC;IAAnCiG,IAAI,GAAAD,qBAAA,CAAJC,IAAI;EACZ,IAAMC,IAAI,GAAG9F,cAAc,CAAC,CAAC;EAE7B,IAAA+F,eAAA,GAA8C5G,KAAK,CAAC6G,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA5DI,eAAe,GAAAF,gBAAA;IAAEG,kBAAkB,GAAAH,gBAAA;EAC1C,IAAAI,gBAAA,GAAsClH,KAAK,CAAC6G,QAAQ,CAAC,EAAE,CAAC;IAAAM,gBAAA,GAAAJ,cAAA,CAAAG,gBAAA;IAAjDE,WAAW,GAAAD,gBAAA;IAAEE,cAAc,GAAAF,gBAAA;EAClC,IAAAG,qBAAA,GACE/G,kCAAkC,CAACoF,OAAO,CAAC;IADrC4B,SAAS,GAAAD,qBAAA,CAATC,SAAS;IAAEC,0BAA0B,GAAAF,qBAAA,CAA1BE,0BAA0B;EAG7C,IAAMC,aAAa,GAAGL,WAAW,KAAK,EAAE;EAExC,IAAMM,gBAAgB,GAAGjF,KAAK,CAACA,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC;EAEhD,IAAMC,gBAAgB,GAAG5H,KAAK,CAAC6H,WAAW,CACxC,UAAUvF,CAAsC,EAAE;IAChD+E,cAAc,CAAC/E,CAAC,CAACwF,MAAM,CAACrF,KAAK,CAAC;IAC9BqD,QAAQ,IAAIA,QAAQ,CAACxD,CAAC,CAAC;EACzB,CAAC,EACD,CAACwD,QAAQ,CACX,CAAC;;EAED;EACA,IAAMiC,eAAe,GAAG/H,KAAK,CAACgI,OAAO,CAAC,YAAM;IAC1C,OAAOP,aAAa,GAChBzB,OAAO,CAACiC,MAAM,CAAC,UAACrE,IAAI,EAAK;MACvB,OAAOwC,UAAU,CAACxC,IAAI,CAAC,KAAK0B,WAAW;IACzC,CAAC,CAAC,GACFU,OAAO;EACb,CAAC,EAAE,CAACV,WAAW,EAAEc,UAAU,EAAEJ,OAAO,EAAEyB,aAAa,CAAC,CAAC;EAErD1G,uBAAuB,CAAC;IACtBuE,WAAW,EAAXA,WAAW;IACX8B,WAAW,EAAXA,WAAW;IACXzB,OAAO,EAAPA,OAAO;IACPF,OAAO,EAAPA,OAAO;IACPC,WAAW,EAAXA;EACF,CAAC,CAAC;EAEF,IAAMwC,cAAc,GAAGlI,KAAK,CAAC6H,WAAW,CACtC,YAAY;IAAA,IAAAM,gBAAA;IACVtC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IACpB,CAAAsC,gBAAA,GAAAxC,OAAO,CAACyC,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,cAAc,CAAC,CAAC;EACnC,CAAC,EACD,CAAC1C,OAAO,EAAEE,UAAU,CACtB,CAAC;EAED,IAAMyC,oBAAoB,GAAGtI,KAAK,CAAC6H,WAAW,CAC5C,UAAUjE,IAAU,EAAE;IAAA,IAAA2E,iBAAA;IACpB,IAAMC,OAAO,GAAG/F,KAAK,CAACgG,OAAO,CAAC7E,IAAI,CAAC;IACnCiC,UAAU,CAAC1B,cAAc,CAACP,IAAI,CAAC,EAAEnB,KAAK,CAACiG,KAAK,CAAC,CAAC,EAAEF,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAAD,iBAAA,GAAA5C,OAAO,CAACyC,OAAO,cAAAG,iBAAA,uBAAfA,iBAAA,CAAiBF,cAAc,CAAC,CAAC;EACnC,CAAC,EACD,CAAClE,cAAc,EAAEwB,OAAO,EAAEE,UAAU,EAAEpD,KAAK,CAC7C,CAAC;EAED,SAASsB,iBAAiBA,CAACH,IAAU,EAAE;IACrC,IAAI6D,aAAa,IAAI,CAACT,eAAe,IAAIpD,IAAI,IAAI,CAAC+E,MAAM,CAAC/E,IAAI,CAAC,EAAE;MAAA,IAAAgF,iBAAA;MAC9D;MACA,IAAMC,QAAQ,GACZnB,gBAAgB,IAAIiB,MAAM,CAACjB,gBAAgB,CAAC,MAAAzC,MAAA,CAAA6D,kBAAA,CACpCrG,KAAK,CAACiG,KAAK,CAAC,CAAC,EAAEjG,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,IAAE/D,IAAI,QAAAqB,MAAA,CAAA6D,kBAAA,CACtCrG,KAAK,IAAEmB,IAAI,EAAC;MACtBiC,UAAU,CAAC1B,cAAc,CAACP,IAAI,CAAC,EAAEiF,QAAQ,CAAC;MAC1C,CAAAD,iBAAA,GAAAjD,OAAO,CAACyC,OAAO,cAAAQ,iBAAA,uBAAfA,iBAAA,CAAiBP,cAAc,CAAC,CAAC;IACnC;EACF;;EAEA;AACF;AACA;AACA;AACA;EACE,SAASU,kBAAkBA,CAAA,EAAG;IAC5B,IAAItG,KAAK,CAACkF,MAAM,KAAK,CAAC,IAAIF,aAAa,EAAE;MAAA,IAAAuB,iBAAA;MACvC,IAAIH,QAAQ;MACZ,IAAIL,OAAO;MACX,IAAIG,MAAM,CAAClG,KAAK,CAACA,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;QACnCkB,QAAQ,GAAGpG,KAAK,CAACiG,KAAK,CAAC,CAAC,EAAEO,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEzG,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,CAAC;QACxDa,OAAO,GAAG/F,KAAK,CAACwG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEzG,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,CAAC;MAChD,CAAC,MAAM;QACLkB,QAAQ,GAAGpG,KAAK,CAACiG,KAAK,CAAC,CAAC,EAAEO,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEzG,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,CAAC;QACxDa,OAAO,GAAG/F,KAAK,CAACA,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC;MACnC;MAEA,CAACX,eAAe,IAAInB,UAAU,CAACO,UAAU,CAACoC,OAAO,CAAC,EAAEK,QAAQ,CAAC;MAC7D,CAAAG,iBAAA,GAAArD,OAAO,CAACyC,OAAO,cAAAY,iBAAA,uBAAfA,iBAAA,CAAiBX,cAAc,CAAC,CAAC;IACnC;EACF;EAEA,SAAShG,SAASA,CAACC,CAAsC,EAAE;IAAA,IAAA6G,iBAAA,EAAAC,qBAAA;IACzD,IAAMxF,IAAI,IAAAuF,iBAAA,GAAGxD,OAAO,CAACyC,OAAO,cAAAe,iBAAA,uBAAfA,iBAAA,CAAiBE,WAAW,CAAC,CAAC;IAC3C,IAAM7E,UAAU,GAAGN,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGN,IAAI,CAAC;IAEzC,IAAItB,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,YAAY,EAAE;MAC/C,IAAIiC,UAAU,EAAE;QACd;MACF;MACAT,iBAAiB,CAACH,IAAI,CAAC;MACvB;IACF;IAEA,IAAItB,CAAC,CAACC,GAAG,KAAK,MAAM,IAAID,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;MAC7C,IAAIiC,UAAU,EAAE;QACd;MACF;MACAuE,kBAAkB,CAAC,CAAC;MACpB;IACF;IAEA,CAAAK,qBAAA,GAAA5B,0BAA0B,CAACnF,SAAS,cAAA+G,qBAAA,uBAApCA,qBAAA,CAAAE,IAAA,CAAA9B,0BAA0B,EAAalF,CAAC,CAAC;EAC3C;EAEA,IAAMqG,MAAM,GAAG3I,KAAK,CAAC6H,WAAW,CAC9B,UAAUjE,IAAU,EAAE;IACpB,OAAO,CAACO,cAAc,CAACP,IAAI,CAAC;EAC9B,CAAC,EACD,CAACO,cAAc,CACjB,CAAC;EAED,SAASoF,YAAYA,CAACC,SAAoB,EAAE;IAC1C,IAAIb,MAAM,CAACa,SAAS,CAAC1E,IAAI,CAAC,EAAE;MAC1B,IAAM2E,WAAW,GAAGhH,KAAK,CAACkF,MAAM,GAC5BvB,UAAU,CAACsB,gBAAgB,CAAC,KAAKtB,UAAU,CAACoD,SAAS,CAAC1E,IAAI,CAAC,GAC3D,KAAK;;MAET;MACA,IAAM+D,QAAQ,GAAGY,WAAW,MAAAxE,MAAA,CAAA6D,kBAAA,CACpBrG,KAAK,CAACiG,KAAK,CAAC,CAAC,EAAEjG,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,IAAE6B,SAAS,CAAC1E,IAAI,QAAAG,MAAA,CAAA6D,kBAAA,CAChDrG,KAAK,IAAE+G,SAAS,CAAC1E,IAAI,EAAC;MAE9Bc,QAAQ,CAAA8D,aAAA,CAAAA,aAAA,KAAMF,SAAS;QAAE/G,KAAK,EAAEoG;MAAQ,EAAE,CAAC;MAC3CzB,WAAW,IACTQ,gBAAgB,CAAC;QACfE,MAAM,EAAE;UAAErF,KAAK,EAAE;QAAG;MACtB,CAAwC,CAAC;MAC3CiE,IAAI,CAAC8C,SAAS,CAACG,KAAK,CAAC;IACvB,CAAC,MAAM;MACL5F,iBAAiB,CAACyF,SAAS,CAAC1E,IAAI,CAAC;IACnC;EACF;;EAEA;EACA;EACA,SAAS8E,eAAeA,CAAA,EAAG;IACzB,OACEnH,KAAK,CAACkF,MAAM,IACZF,aAAa,IACb,EAAEhF,KAAK,CAACkF,MAAM,KAAK,CAAC,IAAIgB,MAAM,CAAClG,KAAK,CAACA,KAAK,CAACkF,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;EAE5D;EAEA,IAAMkC,gBAAgB,GAAGpC,aAAa,GAClCd,IAAI,CAACmD,CAAC,CAAC,cAAc,EAAE;IAAEC,KAAK,EAAE1D;EAAU,CAAC,CAAC,GAC5CM,IAAI,CAACmD,CAAC,CAAC,oBAAoB,EAAE;IAAEC,KAAK,EAAE1D;EAAU,CAAC,CAAC;EAEtD,IAAM2D,iBAAiB,GAAGhK,KAAK,CAAC6H,WAAW,CACzC,UAAUvF,CAAyC,EAAE;IACnD;IACAA,CAAC,CAAC2H,eAAe,CAAC,CAAC;IACnB,IAAI3H,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrB0E,kBAAkB,CAAC,IAAI,CAAC;IAC1B;EACF,CAAC,EACD,CAACA,kBAAkB,CACrB,CAAC;EAED,IAAMiD,mBAAmB,GAAGlK,KAAK,CAAC6H,WAAW,CAC3C,YAAY;IACVzD,aAAa,IACXmC,cAAc,CAAC6B,OAAO,IACtBhE,aAAa,CAACmC,cAAc,CAAC6B,OAAO,CAAC3F,KAAK,CAAC;IAC7CwE,kBAAkB,CAAC,KAAK,CAAC;EAC3B,CAAC,EACD,CAAC7C,aAAa,EAAEmC,cAAc,EAAEU,kBAAkB,CACpD,CAAC;EAED,SAASkD,cAAcA,CAACvG,IAAU,EAAE;IAClC,IAAIqC,aAAa,CAAC0B,MAAM,EAAE;MACxB,OAAOrD,KAAK,CAACV,IAAI,CAAC,KAAKU,KAAK,CAAC2B,aAAa,CAACA,aAAa,CAAC0B,MAAM,GAAG,CAAC,CAAC,CAAC;IACvE;IACA,OAAO,KAAK;EACd;EAEA,SAASyC,iBAAiBA,CAAA,EAAG;IAC3B,IAAI1E,WAAW,IAAI,CAACD,OAAO,EAAE;MAC3B,oBACEzF,KAAA,CAAA0B,aAAA,CAACN,6BAA6B;QAAC,WAAQ;MAA4B,gBACjEpB,KAAA,CAAA0B,aAAA,CAAChB,OAAO;QAAC2J,IAAI,EAAC;MAAI,CAAE,CACS,CAAC;IAEpC;IAEA,OAAO,IAAI;EACb;EAEA,IAAMC,YAAY,GAAGtK,KAAK,CAAC6H,WAAW,CAAC,YAAM;IAC3C,IAAItC,YAAY,EAAE;MAChB;MACA,IAAI,OAAOA,YAAY,KAAK,UAAU,EAAE;QACtC,oBAAOvF,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAACiK,MAAM,QAAEhF,YAAY,CAAC,CAAyB,CAAC;MACxE;MAEA,oBAAOvF,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAACiK,MAAM,QAAEhF,YAAoC,CAAC;IACtE;IAEA,IAAInB,aAAa,KAAKoG,SAAS,EAAE;MAC/B;MACA,OAAO,IAAI;IACb;IAEA,IAAIxD,eAAe,EAAE;MACnB;MACA,oBACEhH,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAACiK,MAAM;QAAC,kBAAe;MAAM,gBAC1CvK,KAAA,CAAA0B,aAAA,CAACtB,QAAQ;QAACiK,IAAI,EAAC,IAAI;QAACzI,cAAc,EAAC;MAAU,gBAC3C5B,KAAA,CAAA0B,aAAA,CAACvB,MAAM;QACL6E,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMiC,kBAAkB,CAAC,KAAK,CAAC;QAAA,CAAC;QACzCoD,IAAI,EAAC,IAAI;QACTI,OAAO,EAAC;MAAU,GAEjB9D,IAAI,CAACmD,CAAC,CAAC,wBAAwB,EAAE;QAChCC,KAAK,EAAE1D;MACT,CAAC,CACK,CAAC,eACTrG,KAAA,CAAA0B,aAAA,CAACvB,MAAM;QAAC6E,OAAO,EAAEkF,mBAAoB;QAACG,IAAI,EAAC;MAAI,GAC5C1D,IAAI,CAACmD,CAAC,CAAC,wBAAwB,EAAE;QAChCC,KAAK,EAAE1D;MACT,CAAC,CACK,CACA,CACW,CAAC;IAE5B;IAEA,oBACErG,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAACiK,MAAM;MAAC,kBAAe;IAAM,gBAC1CvK,KAAA,CAAA0B,aAAA,CAACvB,MAAM;MACLuK,KAAK;MACLL,IAAI,EAAC,IAAI;MACTM,IAAI,eAAE3K,KAAA,CAAA0B,aAAA,CAAC3B,IAAI,MAAE,CAAE;MACfiF,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAMiC,kBAAkB,CAAC,IAAI,CAAC;MAAA,CAAC;MACxC5E,SAAS,EAAE2H;IAAkB,GAE5BrD,IAAI,CAACmD,CAAC,CAAC,wBAAwB,EAAE;MAChCC,KAAK,EAAE1D;IACT,CAAC,CACK,CACa,CAAC;EAE5B,CAAC,EAAE,CACDM,IAAI,EACJpB,YAAY,EACZyE,iBAAiB,EACjB3D,SAAS,EACTW,eAAe,EACf5C,aAAa,EACb8F,mBAAmB,CACpB,CAAC;EAEF,oBACElK,KAAA,CAAA0B,aAAA,CAACJ,yBAAyB;IAACW,GAAG,EAAEA,GAAI;IAAC2I,cAAc,EAAE;EAAE,gBACrD5K,KAAA,CAAA0B,aAAA,CAACH,gCAAgC;IAC/B,WAAQ,uBAAuB;IAC/B,gBAAckE,OAAQ;IACtBoF,KAAK,EAAElE,IAAI,CAACmD,CAAC,CAAC,cAAc,EAAE;MAAEC,KAAK,EAAE1D;IAAU,CAAC,CAAC,IAAI,EAAG;IAC1DZ,OAAO,EAAEA,OAAQ;IACjB4E,IAAI,EAAC;EAAI,gBAETrK,KAAA,CAAA0B,aAAA,CAACV,kBAAkB,EAAAoC,QAAA;IACjBkD,cAAc,EAAEA,cAAe;IAC/BwE,QAAQ,EAAEvB,YAAa;IACvBtH,GAAG,EAAE0D;EAAQ,GACTlE,KAAK,EACL8F,SAAS;IACbwD,IAAI,EAAC;EAAM,iBAEX/K,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAAC0K,MAAM,QACnB,CAAChE,eAAe,iBACfhH,KAAA,CAAA0B,aAAA,CAACpB,cAAc,CAAC2K,MAAM,EAAA7H,QAAA;IACpB8H,YAAY,EAAC,OAAO;IACpBtF,QAAQ,EAAEgC,gBAAiB;IAC3BxF,WAAW,EAAEuE,IAAI,CAACmD,CAAC,CAAC,mBAAmB,EAAE;MACvCC,KAAK,EAAE1D;IACT,CAAC;EAAE,GACCmB,0BAA0B;IAC9BnF,SAAS,EAAEA;EAAU,EACtB,CACF,EACAuH,eAAe,CAAC,CAAC,gBAChB5J,KAAA,CAAA0B,aAAA,CAACT,6BAA6B;IAACkK,eAAe,EAAEnE;EAAgB,gBAC9DhH,KAAA,CAAA0B,aAAA,CAACxB,WAAW,CAACkL,KAAK;IAACpG,OAAO,EAAEkD;EAAe,gBACzClI,KAAA,CAAA0B,aAAA,CAACR,sBAAsB;IACrBS,UAAU,EAAC,QAAQ;IACnBC,cAAc,EAAC;EAAQ,gBAEvB5B,KAAA,CAAA0B,aAAA,CAAC5B,IAAI;IAAC,WAAQ;EAAoB,CAAE,CACd,CACP,CAAC,EACnB2C,KAAK,CACHwF,MAAM,CAAC,UAACrE,IAAI,EAAK;IAChB;IACA,OAAO,CAAC+E,MAAM,CAAC/E,IAAI,CAAC;EACtB,CAAC,CAAC,CACDyH,GAAG,CAAC,UAACzH,IAAI,EAAEE,KAAK,EAAEwH,KAAK,EAAK;IAC3B,oBACEtL,KAAA,CAAA0B,aAAA,CAACxB,WAAW,CAACkL,KAAK;MAChBG,MAAM,EAAEzH,KAAK,KAAKwH,KAAK,CAAC3D,MAAM,GAAG,CAAE;MACnCpF,GAAG,KAAA0C,MAAA,CAAKX,KAAK,CAACV,IAAI,CAAC,OAAAqB,MAAA,CAAInB,KAAK,CAAG;MAC/BkB,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAMsD,oBAAoB,CAAC1E,IAAI,CAAC;MAAA;IAAC,GAEzCS,QAAQ,CAACT,IAAI,CACG,CAAC;EAExB,CAAC,CAC0B,CAAC,GAC9B,IACiB,CAAC,EACvB,CAACoD,eAAe,gBACfhH,KAAA,CAAA0B,aAAA,CAACkB,OAAO;IAACG,YAAY,EAAE8G;EAAiB,GACrC9B,eAAe,CACbsD,GAAG,CAAC,UAACzH,IAAI,EAAEE,KAAK;IAAA,oBACf9D,KAAA,CAAA0B,aAAA,CAAC+B,cAAc;MACblB,GAAG,eAAA0C,MAAA,CAAeX,KAAK,CAACV,IAAI,CAAC,OAAAqB,MAAA,CAAInB,KAAK,MAAI;MAC1CF,IAAI,EAAEA,IAAK;MACXC,QAAQ,EAAEsG,cAAc,CAACvG,IAAI,CAAE;MAC/BE,KAAK,EAAEA,KAAM;MACbC,iBAAiB,EAAEA;IAAkB,CACtC,CAAC;EAAA,CACH,CAAC,CACDkB,MAAM,eAACjF,KAAA,CAAA0B,aAAA,CAAC0I,iBAAiB;IAAC7H,GAAG,EAAC;EAA4B,CAAE,CAAC,CACzD,CAAC,gBAEVvC,KAAA,CAAA0B,aAAA,CAACI,gBAAgB;IACfI,SAAS,EAAE8E,eAAgB;IAC3B7E,QAAQ,EAAE+H,mBAAoB;IAC9B9H,WAAW,EAAEuE,IAAI,CAACmD,CAAC,CAAC,wBAAwB,EAAE;MAC5CC,KAAK,EAAE1D;IACT,CAAC,CAAE;IACHpE,GAAG,EAAEsE;EAAe,CACrB,CACF,eACDvG,KAAA,CAAA0B,aAAA,CAAC4I,YAAY,MAAE,CAAC,eAChBtK,KAAA,CAAA0B,aAAA,CAAClB,YAAY;IAACkG,IAAI,EAAEA;EAAK,CAAE,CACT,CACY,CACT,CAAC;AAEhC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"TieredSelectMenu.js","names":["ChevronRight","Help","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","useOverlayTriggerContext","Spinner","Tooltip","Typography","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectIcon","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","ArrowButton","props","createElement","alignItems","justifyContent","ItemTooltipIcon","QuickCreateInput","forwardRef","_ref","ref","autoFocus","onSubmit","placeholder","onKeyDown","e","key","currentTarget","value","flexGrow","padding","Options","_ref2","children","emptyMessage","_objectWithoutProperties","_excluded","Children","count","_extends","paddingLeft","color","intent","italic","RenderMenuItem","_ref3","_isTierDisabled","tier","selected","index","onNavigateForward","_React$useContext","useContext","isTierDisabled","getNextGroupId","onQuickCreate","getLabel","getId","tooltip","isDisabled","Boolean","showNextTierArrow","overlay","menuItem","disabled","item","Fragment","onClick","concat","trigger","placement","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onChange","onNavigate","onSearch","_ref4$options","options","previousValue","_excluded2","_React$useContext2","getGroupId","i18nScope","onScrollBottom","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","target","filteredOptions","useMemo","filter","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","isLeaf","_menuRef$current3","newValue","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","_objectSpread","event","showBreadcrumbs","menuEmptyMessage","t","scope","handleQuickCreate","stopPropagation","onQuickCreateSubmit","isTierSelected","RenderLoadingMore","size","RenderFooter","Footer","undefined","variant","block","icon","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","map","array","active"],"sources":["../../src/TieredSelect/TieredSelectMenu.tsx"],"sourcesContent":["import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box/Box'\nimport { Breadcrumbs } from '../Breadcrumbs/Breadcrumbs'\nimport { Button } from '../Button/Button'\nimport { FlexList } from '../FlexList/FlexList'\nimport { Input } from '../Input/Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { Typography } from '../Typography/Typography'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectIcon,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n} from './TieredSelect.types'\n\nfunction ArrowButton(props: ArrowButtonProps) {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <ChevronRight />\n </StyledTieredSelectIcon>\n )\n}\n\nfunction ItemTooltipIcon() {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <Help />\n </StyledTieredSelectIcon>\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\ninterface RenderMenuItemProps {\n tier: Tier\n index: number\n selected: boolean\n onNavigateForward: (tier: Tier) => void\n}\nconst RenderMenuItem: React.FC<RenderMenuItemProps> = ({\n tier,\n selected,\n index,\n onNavigateForward,\n}) => {\n const { isTierDisabled, getNextGroupId, onQuickCreate, getLabel, getId } =\n React.useContext(TieredSelectContext)\n\n const tooltip = isTierDisabled?.(tier) ?? false\n const isDisabled = Boolean(tooltip)\n const showNextTierArrow =\n !tooltip && (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate))\n\n const overlay = typeof tooltip === 'string' ? tooltip : null\n\n const menuItem = (\n <StyledTieredSelectOption\n disabled={isDisabled}\n item={tier}\n selected={selected}\n >\n <>\n {getLabel(tier)}\n {showNextTierArrow && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n {tooltip && (\n <Box paddingLeft=\"sm\">\n <ItemTooltipIcon />\n </Box>\n )}\n </>\n </StyledTieredSelectOption>\n )\n\n if (isDisabled && overlay) {\n return (\n <Tooltip\n key={`${getId(tier)}-${index}-tooltip`}\n overlay={overlay}\n trigger={'hover'}\n placement=\"right\"\n >\n {menuItem}\n </Tooltip>\n )\n }\n\n return menuItem\n}\n\nexport const TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onChange,\n onNavigate,\n onSearch,\n options = [],\n previousValue,\n value,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n isTierDisabled,\n onQuickCreate,\n onScrollBottom,\n } = React.useContext(TieredSelectContext)\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier && !isLeaf(tier)) {\n // if last value was a leaf, replace it when performing next navigation\n const newValue =\n lastEntryInValue && isLeaf(lastEntryInValue)\n ? [...value.slice(0, value.length - 1), tier]\n : [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n let newValue\n let newTier\n if (isLeaf(value[value.length - 1])) {\n newValue = value.slice(0, Math.max(0, value.length - 2))\n newTier = value[Math.max(0, value.length - 2)]\n } else {\n newValue = value.slice(0, Math.max(0, value.length - 1))\n newTier = value[value.length - 1]\n }\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n const isDisabled = isTierDisabled?.(tier)\n\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n if (isDisabled) {\n return\n }\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n if (isDisabled) {\n return\n }\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n const isLeaf = React.useCallback(\n function (tier: Tier) {\n return !getNextGroupId(tier)\n },\n [getNextGroupId]\n )\n\n function onTierSelect(selection: Selection) {\n if (isLeaf(selection.item)) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n } else {\n onNavigateForward(selection.item)\n }\n }\n\n // non-selectable tiers can have a leaf node in the root tier, so if selected\n // it will reopen to the root tier and we should not show breadcrumbs\n function showBreadcrumbs() {\n return (\n value.length &&\n searchIsEmpty &&\n !(value.length === 1 && isLeaf(value[value.length - 1]))\n )\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n function RenderLoadingMore() {\n if (loadingMore && !loading) {\n return (\n <StyledTieredSelectLoadingMore data-qa=\"tiered-select-loading-more\">\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>\n )\n }\n\n return null\n }\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter()}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer data-something=\"true\">\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer data-something=\"true\">\n <Button\n block\n size=\"sm\"\n icon={<Plus />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n loading={loading}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value\n .filter((tier) => {\n // we reopen to the parent of leaf nodes, so don't show that breadcrumb\n return !isLeaf(tier)\n })\n .map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => (\n <RenderMenuItem\n key={`menu-item-${getId(tier)}-${index}}`}\n tier={tier}\n selected={isTierSelected(tier)}\n index={index}\n onNavigateForward={onNavigateForward}\n />\n ))\n .concat(<RenderLoadingMore key=\"tiered-select-loading-more\" />)}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n"],"mappings":"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"}
|
package/dist/Tile/Tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","names":["React","StyledActions","addSubcomponents","mergeRefs","StyledFooter","StyledHeroMedia","StyledHeroOverlay","StyledHeroText","StyledInteractableTile","StyledLinkTile","StyledSelectableTile","StyledTileContent","heroTextGridTemplateColumns","TileContext","createContext","orientation","HeroMedia","forwardRef","_ref","ref","children","_ref$overlay","overlay","onOverlayClick","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","heroRef","useRef","useLayoutEffect","_heroRef$current","_heroRef$current$pare","current","parentElement","style","removeProperty","createElement","_extends","$orientation","onClick","HeroText","_ref2","_excluded2","_React$useContext2","_heroRef$current2","_heroRef$current2$par","setProperty","Content","Footer","_ref3","_excluded3","Actions","_ref4","_excluded4","InteractableTile","_ref5","_excluded5","Provider","value","LinkTile","_ref6","_excluded6","SelectableTile","_ref7","_ref7$selected","selected","onKeyDown","_ref7$disabled","disabled","_excluded7","$disabled","$selected","tabIndex","undefined","e","code","Tile_","Tile","_ref8","_ref8$variant","variant","_ref8$orientation","_excluded8"],"sources":["../../src/Tile/Tile.tsx"],"sourcesContent":["import React from 'react'\nimport { StyledActions } from '../Content/Content.styles'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport {\n StyledFooter,\n StyledHeroMedia,\n StyledHeroOverlay,\n StyledHeroText,\n StyledInteractableTile,\n StyledLinkTile,\n StyledSelectableTile,\n StyledTileContent,\n} from './Tile.styles'\nimport type {\n HeroMediaProps,\n HeroTextProps,\n InteractableTileProps,\n LinkTileProps,\n SelectableTileProps,\n TileCommonProps,\n TileProps,\n} from './Tile.types'\n\nconst heroTextGridTemplateColumns = 'auto 1fr'\n\nconst TileContext = React.createContext<Pick<TileCommonProps, 'orientation'>>({\n orientation: 'portrait',\n})\n\nconst HeroMedia = React.forwardRef<HTMLDivElement, HeroMediaProps>(\n function HeroMedia(\n { children, overlay = false, onOverlayClick, ...props },\n ref\n ) {\n const { orientation } = React.useContext(TileContext)\n const heroRef = React.useRef<HTMLDivElement>(null)\n\n React.useLayoutEffect(() => {\n if (orientation === 'landscape') {\n heroRef.current?.parentElement?.style.removeProperty(\n '--core-tile-grid-template-columns'\n )\n }\n }, [orientation])\n\n return (\n <StyledHeroMedia\n ref={mergeRefs(heroRef, ref)}\n $orientation={orientation}\n {...props}\n >\n {overlay && <StyledHeroOverlay onClick={onOverlayClick} />}\n {children}\n </StyledHeroMedia>\n )\n }\n)\n\nconst HeroText = React.forwardRef<HTMLDivElement, HeroTextProps>(\n function HeroText({ children, ...props }, ref) {\n const { orientation } = React.useContext(TileContext)\n const heroRef = React.useRef<HTMLDivElement>(null)\n\n React.useLayoutEffect(() => {\n if (orientation === 'landscape') {\n heroRef.current?.parentElement?.style.setProperty(\n '--core-tile-grid-template-columns',\n heroTextGridTemplateColumns\n )\n }\n }, [orientation])\n\n return (\n <StyledHeroText\n ref={mergeRefs(heroRef, ref)}\n $orientation={orientation}\n {...props}\n >\n {children}\n </StyledHeroText>\n )\n }\n)\n\nconst Content = React.forwardRef<HTMLDivElement, HeroTextProps>(\n function Content(props, ref) {\n return <StyledTileContent ref={ref} {...props} />\n }\n)\n\nconst Footer = React.forwardRef<HTMLDivElement, Props>(function Footer(\n { children, ...props },\n ref\n) {\n return (\n <StyledFooter ref={ref} {...props}>\n {children}\n </StyledFooter>\n )\n})\n\nconst Actions = React.forwardRef<HTMLDivElement, Props>(function Actions(\n { children, ...props },\n ref\n) {\n return (\n <StyledActions ref={ref} {...props}>\n {children}\n </StyledActions>\n )\n})\n\nexport const InteractableTile = React.forwardRef<\n HTMLDivElement,\n Omit<InteractableTileProps, 'variant'>\n>(function InteractableTile({ orientation, children, ...props }, ref) {\n return (\n <StyledInteractableTile ref={ref} $orientation={orientation} {...props}>\n <TileContext.Provider value={{ orientation }}>\n {children}\n </TileContext.Provider>\n </StyledInteractableTile>\n )\n})\n\nexport const LinkTile = React.forwardRef<\n HTMLAnchorElement,\n Omit<LinkTileProps, 'variant'>\n>(function LinkTile({ orientation, children, ...props }, ref) {\n return (\n <StyledLinkTile ref={ref} $orientation={orientation} {...props}>\n <TileContext.Provider value={{ orientation }}>\n {children}\n </TileContext.Provider>\n </StyledLinkTile>\n )\n})\n\nexport const SelectableTile = React.forwardRef<\n HTMLDivElement,\n Omit<SelectableTileProps, 'variant'>\n>(function SelectableTile(\n {\n orientation,\n selected = false,\n onClick,\n onKeyDown,\n disabled = false,\n children,\n ...props\n },\n ref\n) {\n return (\n <StyledSelectableTile\n ref={ref}\n $disabled={disabled}\n $orientation={orientation}\n $selected={selected}\n tabIndex={!disabled ? 0 : undefined}\n onClick={(e) => {\n if (!disabled) {\n onClick?.()\n }\n }}\n onKeyDown={(e) => {\n const { code } = e\n\n if (code === 'Enter' || code === 'Space') {\n onClick?.()\n }\n\n onKeyDown?.(e)\n }}\n {...props}\n >\n <TileContext.Provider value={{ orientation }}>\n {children}\n </TileContext.Provider>\n </StyledSelectableTile>\n )\n})\n\nconst Tile_ = React.forwardRef<HTMLElement, TileProps>(function Tile(\n { variant = 'interactive', orientation = 'portrait', ...props },\n ref\n) {\n switch (variant) {\n case 'interactive':\n return (\n <InteractableTile\n ref={ref as React.Ref<HTMLDivElement>}\n orientation={orientation}\n {...(props as Omit<InteractableTileProps, 'orientation'>)}\n />\n )\n case 'selectable':\n return (\n <SelectableTile\n ref={ref as React.Ref<HTMLDivElement>}\n orientation={orientation}\n {...(props as Omit<SelectableTileProps, 'orientation'>)}\n />\n )\n case 'link':\n return (\n <LinkTile\n ref={ref as React.Ref<HTMLAnchorElement>}\n orientation={orientation}\n {...(props as Omit<LinkTileProps, 'orientation'>)}\n />\n )\n }\n})\n\nexport const Tile = addSubcomponents(\n { Actions, Content, Footer, HeroText, HeroMedia },\n Tile_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tile.js","names":["React","StyledActions","addSubcomponents","mergeRefs","StyledFooter","StyledHeroMedia","StyledHeroOverlay","StyledHeroText","StyledInteractableTile","StyledLinkTile","StyledSelectableTile","StyledTileContent","heroTextGridTemplateColumns","TileContext","createContext","orientation","HeroMedia","forwardRef","_ref","ref","children","_ref$overlay","overlay","onOverlayClick","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","heroRef","useRef","useLayoutEffect","_heroRef$current","_heroRef$current$pare","current","parentElement","style","removeProperty","createElement","_extends","$orientation","onClick","HeroText","_ref2","_excluded2","_React$useContext2","_heroRef$current2","_heroRef$current2$par","setProperty","Content","Footer","_ref3","_excluded3","Actions","_ref4","_excluded4","InteractableTile","_ref5","_excluded5","Provider","value","LinkTile","_ref6","_excluded6","SelectableTile","_ref7","_ref7$selected","selected","onKeyDown","_ref7$disabled","disabled","_excluded7","$disabled","$selected","tabIndex","undefined","e","code","Tile_","Tile","_ref8","_ref8$variant","variant","_ref8$orientation","_excluded8"],"sources":["../../src/Tile/Tile.tsx"],"sourcesContent":["import React from 'react'\nimport { StyledActions } from '../Content/Content.styles'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport {\n StyledFooter,\n StyledHeroMedia,\n StyledHeroOverlay,\n StyledHeroText,\n StyledInteractableTile,\n StyledLinkTile,\n StyledSelectableTile,\n StyledTileContent,\n} from './Tile.styles'\nimport type {\n HeroMediaProps,\n HeroTextProps,\n InteractableTileProps,\n LinkTileProps,\n SelectableTileProps,\n TileCommonProps,\n TileProps,\n} from './Tile.types'\n\nconst heroTextGridTemplateColumns = 'auto 1fr'\n\nconst TileContext = React.createContext<Pick<TileCommonProps, 'orientation'>>({\n orientation: 'portrait',\n})\n\nconst HeroMedia = React.forwardRef<HTMLDivElement, HeroMediaProps>(\n function HeroMedia(\n { children, overlay = false, onOverlayClick, ...props },\n ref\n ) {\n const { orientation } = React.useContext(TileContext)\n const heroRef = React.useRef<HTMLDivElement>(null)\n\n React.useLayoutEffect(() => {\n if (orientation === 'landscape') {\n heroRef.current?.parentElement?.style.removeProperty(\n '--core-tile-grid-template-columns'\n )\n }\n }, [orientation])\n\n return (\n <StyledHeroMedia\n ref={mergeRefs(heroRef, ref)}\n $orientation={orientation}\n {...props}\n >\n {overlay && <StyledHeroOverlay onClick={onOverlayClick} />}\n {children}\n </StyledHeroMedia>\n )\n }\n)\n\nconst HeroText = React.forwardRef<HTMLDivElement, HeroTextProps>(\n function HeroText({ children, ...props }, ref) {\n const { orientation } = React.useContext(TileContext)\n const heroRef = React.useRef<HTMLDivElement>(null)\n\n React.useLayoutEffect(() => {\n if (orientation === 'landscape') {\n heroRef.current?.parentElement?.style.setProperty(\n '--core-tile-grid-template-columns',\n heroTextGridTemplateColumns\n )\n }\n }, [orientation])\n\n return (\n <StyledHeroText\n ref={mergeRefs(heroRef, ref)}\n $orientation={orientation}\n {...props}\n >\n {children}\n </StyledHeroText>\n )\n }\n)\n\nconst Content = React.forwardRef<HTMLDivElement, HeroTextProps>(\n function Content(props, ref) {\n return <StyledTileContent ref={ref} {...props} />\n }\n)\n\nconst Footer = React.forwardRef<HTMLDivElement, Props>(function Footer(\n { children, ...props },\n ref\n) {\n return (\n <StyledFooter ref={ref} {...props}>\n {children}\n </StyledFooter>\n )\n})\n\nconst Actions = React.forwardRef<HTMLDivElement, Props>(function Actions(\n { children, ...props },\n ref\n) {\n return (\n <StyledActions ref={ref} {...props}>\n {children}\n </StyledActions>\n )\n})\n\nexport const InteractableTile = React.forwardRef<\n HTMLDivElement,\n Omit<InteractableTileProps, 'variant'>\n>(function InteractableTile({ orientation, children, ...props }, ref) {\n return (\n <StyledInteractableTile ref={ref} $orientation={orientation} {...props}>\n <TileContext.Provider value={{ orientation }}>\n {children}\n </TileContext.Provider>\n </StyledInteractableTile>\n )\n})\n\nexport const LinkTile = React.forwardRef<\n HTMLAnchorElement,\n Omit<LinkTileProps, 'variant'>\n>(function LinkTile({ orientation, children, ...props }, ref) {\n return (\n <StyledLinkTile ref={ref} $orientation={orientation} {...props}>\n <TileContext.Provider value={{ orientation }}>\n {children}\n </TileContext.Provider>\n </StyledLinkTile>\n )\n})\n\nexport const SelectableTile = React.forwardRef<\n HTMLDivElement,\n Omit<SelectableTileProps, 'variant'>\n>(function SelectableTile(\n {\n orientation,\n selected = false,\n onClick,\n onKeyDown,\n disabled = false,\n children,\n ...props\n },\n ref\n) {\n return (\n <StyledSelectableTile\n ref={ref}\n $disabled={disabled}\n $orientation={orientation}\n $selected={selected}\n tabIndex={!disabled ? 0 : undefined}\n onClick={(e) => {\n if (!disabled) {\n onClick?.()\n }\n }}\n onKeyDown={(e) => {\n const { code } = e\n\n if (code === 'Enter' || code === 'Space') {\n onClick?.()\n }\n\n onKeyDown?.(e)\n }}\n {...props}\n >\n <TileContext.Provider value={{ orientation }}>\n {children}\n </TileContext.Provider>\n </StyledSelectableTile>\n )\n})\n\nconst Tile_ = React.forwardRef<HTMLElement, TileProps>(function Tile(\n { variant = 'interactive', orientation = 'portrait', ...props },\n ref\n) {\n switch (variant) {\n case 'interactive':\n return (\n <InteractableTile\n ref={ref as React.Ref<HTMLDivElement>}\n orientation={orientation}\n {...(props as Omit<InteractableTileProps, 'orientation'>)}\n />\n )\n case 'selectable':\n return (\n <SelectableTile\n ref={ref as React.Ref<HTMLDivElement>}\n orientation={orientation}\n {...(props as Omit<SelectableTileProps, 'orientation'>)}\n />\n )\n case 'link':\n return (\n <LinkTile\n ref={ref as React.Ref<HTMLAnchorElement>}\n orientation={orientation}\n {...(props as Omit<LinkTileProps, 'orientation'>)}\n />\n )\n }\n})\n\nexport const Tile = addSubcomponents(\n { Actions, Content, Footer, HeroText, HeroMedia },\n Tile_\n)\n"],"mappings":"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"}
|