@procore/core-react 12.17.5 → 12.17.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -5
- package/dist/AnchorNavigation/AnchorNavigationProvider.js.map +1 -1
- package/dist/Avatar/Avatar.js +10 -11
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.js +14 -14
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.js +1 -1
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/Banner/Banner.js +44 -14
- 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.js +3 -3
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +9 -9
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.js +7 -7
- 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 +4 -4
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/Calendar.styles.js +8 -8
- package/dist/Card/Card.js +3 -3
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.js +9 -9
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +2 -2
- package/dist/CheckboxGroup/CheckboxGroup.js +8 -8
- package/dist/ClickOutside/ClickOutside.js +3 -3
- package/dist/ContactItem/ContactItem.js +3 -3
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.js +11 -11
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +10 -10
- package/dist/DateSelect/DateSelect.js +8 -8
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DetailPage/DetailPage.js +3 -3
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/DetailPage/examples/TableExample.js +5 -5
- package/dist/DetailPageTemplate/DetailPageTemplate.js +3 -3
- package/dist/Dropdown/Dropdown.js +8 -8
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.helpers.js +14 -14
- package/dist/DropdownFlyout/DropdownFlyout.js +8 -8
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.hooks.js +17 -18
- package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +19 -21
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.js +3 -3
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.js +3 -3
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerModal.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js +5 -5
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileExplorer/useSidebarNavigation.js +8 -8
- package/dist/FileSelect/FileSelect.js +21 -21
- package/dist/FileSelect/FileSelect.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js +5 -5
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.js +8 -8
- package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.js +20 -20
- package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.js +19 -19
- package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js +11 -11
- package/dist/FileSelect/SourceItem/SourceItem.js +3 -3
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js +8 -8
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.js +21 -21
- package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileSelect/storyHelpers.js +4 -4
- package/dist/FileSelect/storyHelpers.js.map +1 -1
- package/dist/FileToken/FileToken.js +8 -8
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.js +25 -35
- 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/Flex/Flex.js +3 -3
- package/dist/FlexList/FlexList.js +3 -3
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.js +22 -18
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/FormFieldTooltip.js +1 -1
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/Form/stories/util.js +9 -9
- package/dist/Form/stories/util.js.map +1 -1
- package/dist/GhostPlaceholder/GhostPlaceholder.js +3 -3
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.js +3 -3
- package/dist/Grid/Grid.styles.js +3 -3
- package/dist/Grid/Grid.utils.js +5 -5
- package/dist/GroupSelect/GroupSelect.js +17 -17
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.js +3 -3
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.js +3 -3
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.js +3 -3
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.js +3 -3
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/Menu/Menu.js +15 -15
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.js +15 -15
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/MenuImperative/sensors.js +8 -8
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/ChildRegistry.context.js +11 -11
- package/dist/Modal/Modal.js +8 -8
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/Modal/Modal.types.d.ts +3 -1
- package/dist/Modal/Modal.types.js.map +1 -1
- package/dist/Modal/storyHelpers.js +7 -7
- package/dist/MultiSelect/MultiSelect.js +17 -17
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.js +14 -14
- package/dist/NextMenu/NextMenu.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/NextMenu/NextMenuItem.js +3 -3
- package/dist/NextMenu/sampleData.js +7 -6
- package/dist/NextMenu/sampleData.js.map +1 -1
- package/dist/NextTile/NextTile.js +9 -9
- package/dist/Notation/Notation.js +4 -4
- package/dist/NumberInput/NumberInput.hooks.js +5 -5
- package/dist/NumberInput/NumberInput.js +14 -14
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/NumberInput/NumberInput.utils.js +11 -11
- package/dist/Overlay/Overlay.js.map +1 -1
- package/dist/Overlay/OverlayArrow.js +4 -4
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js +15 -15
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/a11yPresets.js +6 -6
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageFooterTemplate/PageFooterTemplate.js +3 -3
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.js +3 -3
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js +5 -5
- package/dist/PageLayout/PageLayout.js +15 -15
- 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.js +3 -3
- package/dist/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/PageTemplate/PageTemplateCard.js +3 -3
- package/dist/Pagination/Pagination.js +3 -3
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Pagination/PaginationSelect.js +3 -3
- package/dist/Panel/Panel.js +8 -8
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.js +3 -3
- package/dist/Pill/Pill.styles.js +2 -2
- package/dist/PillSelect/PillSelect.js +8 -8
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.js +9 -9
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.js +3 -3
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.d.ts +2 -0
- package/dist/ProgressBar/ProgressBar.js +10 -8
- 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.js +3 -3
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.hooks.js +5 -5
- package/dist/Search/Search.js +3 -3
- package/dist/Search/Search.js.map +1 -1
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.js +15 -16
- 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 +14 -14
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +8 -8
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.js +3 -3
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/SettingsPage/SettingsPage.js +3 -3
- package/dist/SettingsPageTemplate/SettingsPageTemplate.js +3 -3
- package/dist/Slider/Slider.js +8 -8
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.js +3 -3
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.context.js +5 -5
- package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.js +8 -8
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js +7 -7
- 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 +15 -16
- package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
- package/dist/SuperSelect/presets/contactsPreset.js +3 -3
- package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
- package/dist/SuperSelect/presets/filterPreset.js +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 +14 -14
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.js +3 -3
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.js +9 -9
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.js +3 -3
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.js +17 -17
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.js +11 -11
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.js +3 -3
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditor/TextEditor.js +17 -17
- package/dist/TextEditorOutput/TextEditorOutput.js +9 -9
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.hooks.d.ts +8 -0
- package/dist/Thumbnail/Thumbnail.hooks.js +8 -8
- package/dist/Thumbnail/Thumbnail.js +9 -9
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/Thumbnail/Thumbnail.utils.js +11 -12
- package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +3 -3
- package/dist/Thumbnail/ThumbnailDocumentIcon.js +7 -8
- package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
- package/dist/Thumbnail/ThumbnailPreview.js +5 -5
- package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js +5 -5
- package/dist/ThumbnailGrid/ThumbnailGrid.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredDropdown/TieredDropdown.js +14 -14
- package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
- package/dist/TieredDropdown/useSearch.js +5 -5
- package/dist/TieredSelect/LeafSelectionTieredSelect.js +8 -8
- package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TierSelectionTieredSelect.js +17 -17
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.js +8 -8
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/TieredSelect/TieredSelectMenu.js +17 -17
- package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
- package/dist/Tile/Tile.js +3 -3
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.js +3 -3
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.js +4 -4
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.js +4 -4
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ActionIcon.js +3 -3
- package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
- package/dist/ToolHeader/ToolHeader.js +9 -9
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.js +3 -3
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js +3 -3
- package/dist/Tooltip/Tooltip.js +8 -8
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.hooks.js +14 -14
- package/dist/Tree/Tree.hooks.js.map +1 -1
- package/dist/Tree/Tree.js +14 -14
- 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.js +9 -9
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/Anchor.js +19 -16
- package/dist/_hooks/Anchor.js.map +1 -1
- package/dist/_hooks/Buffer.js +8 -7
- package/dist/_hooks/Buffer.js.map +1 -1
- package/dist/_hooks/ClickOutside.js +2 -1
- package/dist/_hooks/ClickOutside.js.map +1 -1
- package/dist/_hooks/DateTime/DateTime.js +17 -17
- package/dist/_hooks/DelayedCallback.js +1 -1
- package/dist/_hooks/DelayedToggle.js +7 -2
- package/dist/_hooks/DelayedToggle.js.map +1 -1
- package/dist/_hooks/Deprecation.js +1 -0
- package/dist/_hooks/Deprecation.js.map +1 -1
- package/dist/_hooks/EventListener.js +5 -5
- package/dist/_hooks/FocusScopeOverride.js +6 -6
- package/dist/_hooks/FocusScopeOverride.js.map +1 -1
- package/dist/_hooks/Hotkey.js +2 -2
- package/dist/_hooks/Hotkey.js.map +1 -1
- package/dist/_hooks/I18n.js +13 -13
- package/dist/_hooks/InjectedScript.js +8 -7
- package/dist/_hooks/InjectedScript.js.map +1 -1
- package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js +5 -5
- package/dist/_hooks/ListNavigation.js +9 -7
- package/dist/_hooks/ListNavigation.js.map +1 -1
- package/dist/_hooks/OverflowObserver/OverflowObserver.js +6 -6
- package/dist/_hooks/ResizeObserver.js +5 -5
- package/dist/_hooks/TextEntry.js +5 -2
- package/dist/_hooks/TextEntry.js.map +1 -1
- package/dist/_hooks/Timer.js +1 -0
- package/dist/_hooks/Timer.js.map +1 -1
- package/dist/_hooks/Trigger.js +19 -13
- package/dist/_hooks/Trigger.js.map +1 -1
- package/dist/_hooks/Visibility.js +9 -7
- package/dist/_hooks/Visibility.js.map +1 -1
- package/dist/_hooks/ZIndex.js +7 -7
- package/dist/_hooks/getI18nProviderLocale.js +2 -1
- package/dist/_hooks/getI18nProviderLocale.js.map +1 -1
- package/dist/_hooks/useCurrentMedia.js +5 -5
- package/dist/_hooks/useFileUploader.js +15 -15
- package/dist/_hooks/useFileUploader.js.map +1 -1
- package/dist/_hooks/useFocusWithin.js +5 -5
- package/dist/_hooks/useMediaLessThan.js +5 -5
- package/dist/_hooks/useSet.js +5 -5
- package/dist/_styles/colors.js +6 -6
- package/dist/_styles/spacing.d.ts +27 -0
- package/dist/_styles/spacing.js +27 -0
- package/dist/_styles/spacing.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 +745 -745
- 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 +50 -50
- 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 +11 -11
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +6 -6
- 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 +4 -4
- package/dist/_utils/TinyMCE.js.map +1 -1
- package/dist/_utils/closeWithConfirm.js +5 -5
- package/dist/_utils/closeWithConfirm.js.map +1 -1
- package/dist/_utils/dateTime.js +6 -6
- package/dist/_utils/dateTime.js.map +1 -1
- package/dist/_utils/getAnchorPosition.js +11 -11
- package/dist/_utils/getAnchorPosition.js.map +1 -1
- package/dist/_utils/partition.js +5 -5
- package/dist/_utils/runInQueue.js +4 -4
- package/dist/_utils/runInQueue.js.map +1 -1
- package/dist/_utils/slotify.js +7 -7
- package/dist/_utils/triggerListeners.js +6 -6
- package/package.json +5 -4
- package/tsconfig.prod.json +2 -1
- package/tsconfig.test.json +1 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function _slicedToArray(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
3
3
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _iterableToArrayLimit(
|
|
5
|
-
function _arrayWithHoles(
|
|
6
|
-
function _toConsumableArray(
|
|
4
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
5
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
6
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
7
7
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
-
function _unsupportedIterableToArray(
|
|
9
|
-
function _iterableToArray(
|
|
10
|
-
function _arrayWithoutHoles(
|
|
11
|
-
function _arrayLikeToArray(
|
|
12
|
-
function ownKeys(
|
|
13
|
-
function _objectSpread(
|
|
14
|
-
function _defineProperty(
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
8
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
9
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
10
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
11
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
import { isOptgroupSymbol } from './SuperSelect.constants';
|
|
18
18
|
export var getGroupNameIsValid = function getGroupNameIsValid(groupName) {
|
|
19
19
|
var isGroupDefined = ![undefined, null, ''].includes(groupName);
|
|
@@ -142,12 +142,11 @@ export function getIsAllOptionsUngrouped(groups) {
|
|
|
142
142
|
return groups.length === 1 && groups[0] === RESERVED_UNGROUPED_OPTGROUP_NAME;
|
|
143
143
|
}
|
|
144
144
|
export function createOptgroup(groupName, groupOptions) {
|
|
145
|
-
var _optgroupHeader;
|
|
146
145
|
// ungrouped options should not have a group header
|
|
147
146
|
if (groupName === RESERVED_UNGROUPED_OPTGROUP_NAME) {
|
|
148
147
|
return groupOptions;
|
|
149
148
|
}
|
|
150
|
-
var optgroupHeader = (
|
|
149
|
+
var optgroupHeader = _defineProperty(_defineProperty(_defineProperty({}, isOptgroupSymbol, true), "id", groupName), "label", groupName);
|
|
151
150
|
return [optgroupHeader].concat(_toConsumableArray(groupOptions));
|
|
152
151
|
}
|
|
153
152
|
export function removeEmptyOptGroups(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuperSelect.utils.js","names":["isOptgroupSymbol","getGroupNameIsValid","groupName","isGroupDefined","undefined","includes","length","getOptionsSortingAlgorithm","_ref","getOptionIsBatch","getOptionLabel","a","b","isOptionBatch1","isOptionBatch2","compareStrings","getBatchOptionFormatter","_ref2","value","multiple","getOptionValue","option","isMultiple","val","disabled","Array","isArray","every","v","_objectSpread","RESERVED_UNGROUPED_OPTGROUP_NAME","collectGroupsInOrderOfOccurrence","opts","getOptionGroup","output","reduce","_ref3","_groupedOptions$adjus","groups","groupedOptions","isGroupNameValid","adjustedGroupName","groupOptions","push","concat","_toConsumableArray","filter","group","findParentOptgroup","list","index","i","isOptgroup","getOptionIsOptgroup","id","reorder","options","startIndex","endIndex","nextOptions","_nextOptions$splice","splice","_nextOptions$splice2","_slicedToArray","removed","prevGroup","nextGroup","localeCompare","numeric","sensitivity","item","Boolean","sortOptgroups","groupA","groupB","getIsAllOptionsUngrouped","createOptgroup","_optgroupHeader","optgroupHeader","_defineProperty","removeEmptyOptGroups","opt","arr","currentElementIsLast","currentElementIsOptgroup","nextElementIsOptgroup"],"sources":["../../src/SuperSelect/SuperSelect.utils.ts"],"sourcesContent":["import { isOptgroupSymbol } from './SuperSelect.constants'\nimport type {\n SuperSelectConfig,\n SuperSelectOptgroup,\n SuperSelectOption,\n} from './SuperSelect.types'\n\nexport const getGroupNameIsValid = (groupName: unknown) => {\n const isGroupDefined = ![undefined, null, ''].includes(groupName as string)\n\n return isGroupDefined && typeof groupName === 'string' && groupName.length > 0\n}\n\nexport const getOptionsSortingAlgorithm =\n ({\n getOptionIsBatch,\n getOptionLabel,\n }: {\n getOptionIsBatch: NonNullable<SuperSelectConfig['getOptionIsBatch']>\n getOptionLabel: NonNullable<SuperSelectConfig['getOptionLabel']>\n }) =>\n (a: SuperSelectOption, b: SuperSelectOption) => {\n const isOptionBatch1 = getOptionIsBatch(a)\n const isOptionBatch2 = getOptionIsBatch(b)\n\n // move batched options up\n if (isOptionBatch1 && isOptionBatch2) {\n return compareStrings(getOptionLabel(a), getOptionLabel(b))\n } else if (isOptionBatch1) {\n return -1\n } else if (isOptionBatch2) {\n return 1\n }\n\n return compareStrings(getOptionLabel(a), getOptionLabel(b))\n }\n\nexport const getBatchOptionFormatter =\n ({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }: {\n value: SuperSelectConfig['value']\n multiple: NonNullable<SuperSelectConfig['multiple']>\n getOptionIsBatch: NonNullable<SuperSelectConfig['getOptionIsBatch']>\n getOptionValue: NonNullable<SuperSelectConfig['getOptionValue']>\n }) =>\n (option: SuperSelectOption) => {\n if (isMultiple(multiple, value) && getOptionIsBatch(option)) {\n const val = getOptionValue(option)\n\n const disabled = Array.isArray(val) && val.every((v) => value.includes(v))\n\n return {\n ...option,\n disabled,\n }\n }\n return option\n }\n\nexport const RESERVED_UNGROUPED_OPTGROUP_NAME =\n 'RESERVED_UNGROUPED_OPTGROUP_NAME'\n\nexport const collectGroupsInOrderOfOccurrence = (\n opts: SuperSelectOption[],\n getOptionGroup: NonNullable<SuperSelectConfig['getOptionGroup']>\n): {\n groups: string[]\n groupedOptions: Record<string, SuperSelectOption[]>\n} => {\n const output: {\n groups: string[]\n groupedOptions: Record<string, SuperSelectOption[]>\n } = opts.reduce(\n ({ groups, groupedOptions }, option) => {\n const groupName = getOptionGroup(option)\n\n // if group name is invalid, consider the option ungrouped\n const isGroupNameValid = getGroupNameIsValid(groupName)\n const adjustedGroupName = isGroupNameValid\n ? groupName\n : RESERVED_UNGROUPED_OPTGROUP_NAME\n\n const groupOptions = groupedOptions[adjustedGroupName] ?? []\n\n // push/assign for performance considerations\n groupOptions.push(option)\n groupedOptions[adjustedGroupName] = groupOptions\n\n return {\n groups: groups.includes(adjustedGroupName)\n ? groups\n : [...groups, adjustedGroupName],\n groupedOptions,\n }\n },\n {\n groups: [],\n groupedOptions: {},\n }\n )\n\n // if ungrouped options were found, lift them to the top\n if (output.groups.includes(RESERVED_UNGROUPED_OPTGROUP_NAME)) {\n return {\n groupedOptions: output.groupedOptions,\n groups: [\n RESERVED_UNGROUPED_OPTGROUP_NAME,\n ...output.groups.filter(\n (group) => group !== RESERVED_UNGROUPED_OPTGROUP_NAME\n ),\n ],\n }\n }\n\n return output\n}\n\nfunction findParentOptgroup(list: SuperSelectOption[], index: number) {\n for (let i = index; i >= 0; i--) {\n const option = list[i]\n const isOptgroup = getOptionIsOptgroup(option)\n\n if (isOptgroup) {\n return option.id\n }\n }\n // no parent optgroup was found, so the option is considered ungrouped\n return RESERVED_UNGROUPED_OPTGROUP_NAME\n}\n\nexport function reorder(\n options: SuperSelectOption[],\n startIndex: number,\n endIndex: number\n) {\n const nextOptions = [...options]\n const [removed] = nextOptions.splice(startIndex, 1)\n nextOptions.splice(endIndex, 0, removed)\n\n const prevGroup = findParentOptgroup(options, startIndex)\n const nextGroup = findParentOptgroup(nextOptions, endIndex)\n\n return { nextOptions, prevGroup, nextGroup }\n}\n\nfunction compareStrings(a: string, b: string) {\n return a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' })\n}\n\nexport function isMultiple<T>(multiple: boolean, value: T | T[]): value is T[] {\n return multiple && Array.isArray(value)\n}\n\nexport const getOptionIsOptgroup = (\n item: SuperSelectOption\n): item is SuperSelectOptgroup => {\n return Boolean(item[isOptgroupSymbol])\n}\n\nexport const sortOptgroups = (groupA: string, groupB: string) => {\n // always put ungrouped options on top\n if (groupA === RESERVED_UNGROUPED_OPTGROUP_NAME) {\n return -1\n }\n if (groupB === RESERVED_UNGROUPED_OPTGROUP_NAME) {\n return 1\n }\n return compareStrings(groupA, groupB)\n}\n\nexport function getIsAllOptionsUngrouped(groups: string[]) {\n return groups.length === 1 && groups[0] === RESERVED_UNGROUPED_OPTGROUP_NAME\n}\n\nexport function createOptgroup(\n groupName: string,\n groupOptions: SuperSelectOption[]\n) {\n // ungrouped options should not have a group header\n if (groupName === RESERVED_UNGROUPED_OPTGROUP_NAME) {\n return groupOptions\n }\n\n const optgroupHeader: SuperSelectOptgroup = {\n [isOptgroupSymbol]: true,\n id: groupName,\n label: groupName,\n }\n\n return [optgroupHeader, ...groupOptions]\n}\n\nexport function removeEmptyOptGroups(options: SuperSelectOption[]) {\n return options.filter((opt, index, arr) => {\n const currentElementIsLast = index === arr.length - 1\n const currentElementIsOptgroup = getOptionIsOptgroup(opt)\n const nextElementIsOptgroup =\n !currentElementIsLast && getOptionIsOptgroup(arr[index + 1])\n\n return !(\n currentElementIsOptgroup &&\n (nextElementIsOptgroup || currentElementIsLast)\n )\n })\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SuperSelect.utils.js","names":["isOptgroupSymbol","getGroupNameIsValid","groupName","isGroupDefined","undefined","includes","length","getOptionsSortingAlgorithm","_ref","getOptionIsBatch","getOptionLabel","a","b","isOptionBatch1","isOptionBatch2","compareStrings","getBatchOptionFormatter","_ref2","value","multiple","getOptionValue","option","isMultiple","val","disabled","Array","isArray","every","v","_objectSpread","RESERVED_UNGROUPED_OPTGROUP_NAME","collectGroupsInOrderOfOccurrence","opts","getOptionGroup","output","reduce","_ref3","_groupedOptions$adjus","groups","groupedOptions","isGroupNameValid","adjustedGroupName","groupOptions","push","concat","_toConsumableArray","filter","group","findParentOptgroup","list","index","i","isOptgroup","getOptionIsOptgroup","id","reorder","options","startIndex","endIndex","nextOptions","_nextOptions$splice","splice","_nextOptions$splice2","_slicedToArray","removed","prevGroup","nextGroup","localeCompare","numeric","sensitivity","item","Boolean","sortOptgroups","groupA","groupB","getIsAllOptionsUngrouped","createOptgroup","optgroupHeader","_defineProperty","removeEmptyOptGroups","opt","arr","currentElementIsLast","currentElementIsOptgroup","nextElementIsOptgroup"],"sources":["../../src/SuperSelect/SuperSelect.utils.ts"],"sourcesContent":["import { isOptgroupSymbol } from './SuperSelect.constants'\nimport type {\n SuperSelectConfig,\n SuperSelectOptgroup,\n SuperSelectOption,\n} from './SuperSelect.types'\n\nexport const getGroupNameIsValid = (groupName: unknown) => {\n const isGroupDefined = ![undefined, null, ''].includes(groupName as string)\n\n return isGroupDefined && typeof groupName === 'string' && groupName.length > 0\n}\n\nexport const getOptionsSortingAlgorithm =\n ({\n getOptionIsBatch,\n getOptionLabel,\n }: {\n getOptionIsBatch: NonNullable<SuperSelectConfig['getOptionIsBatch']>\n getOptionLabel: NonNullable<SuperSelectConfig['getOptionLabel']>\n }) =>\n (a: SuperSelectOption, b: SuperSelectOption) => {\n const isOptionBatch1 = getOptionIsBatch(a)\n const isOptionBatch2 = getOptionIsBatch(b)\n\n // move batched options up\n if (isOptionBatch1 && isOptionBatch2) {\n return compareStrings(getOptionLabel(a), getOptionLabel(b))\n } else if (isOptionBatch1) {\n return -1\n } else if (isOptionBatch2) {\n return 1\n }\n\n return compareStrings(getOptionLabel(a), getOptionLabel(b))\n }\n\nexport const getBatchOptionFormatter =\n ({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }: {\n value: SuperSelectConfig['value']\n multiple: NonNullable<SuperSelectConfig['multiple']>\n getOptionIsBatch: NonNullable<SuperSelectConfig['getOptionIsBatch']>\n getOptionValue: NonNullable<SuperSelectConfig['getOptionValue']>\n }) =>\n (option: SuperSelectOption) => {\n if (isMultiple(multiple, value) && getOptionIsBatch(option)) {\n const val = getOptionValue(option)\n\n const disabled = Array.isArray(val) && val.every((v) => value.includes(v))\n\n return {\n ...option,\n disabled,\n }\n }\n return option\n }\n\nexport const RESERVED_UNGROUPED_OPTGROUP_NAME =\n 'RESERVED_UNGROUPED_OPTGROUP_NAME'\n\nexport const collectGroupsInOrderOfOccurrence = (\n opts: SuperSelectOption[],\n getOptionGroup: NonNullable<SuperSelectConfig['getOptionGroup']>\n): {\n groups: string[]\n groupedOptions: Record<string, SuperSelectOption[]>\n} => {\n const output: {\n groups: string[]\n groupedOptions: Record<string, SuperSelectOption[]>\n } = opts.reduce(\n ({ groups, groupedOptions }, option) => {\n const groupName = getOptionGroup(option)\n\n // if group name is invalid, consider the option ungrouped\n const isGroupNameValid = getGroupNameIsValid(groupName)\n const adjustedGroupName = isGroupNameValid\n ? groupName\n : RESERVED_UNGROUPED_OPTGROUP_NAME\n\n const groupOptions = groupedOptions[adjustedGroupName] ?? []\n\n // push/assign for performance considerations\n groupOptions.push(option)\n groupedOptions[adjustedGroupName] = groupOptions\n\n return {\n groups: groups.includes(adjustedGroupName)\n ? groups\n : [...groups, adjustedGroupName],\n groupedOptions,\n }\n },\n {\n groups: [],\n groupedOptions: {},\n }\n )\n\n // if ungrouped options were found, lift them to the top\n if (output.groups.includes(RESERVED_UNGROUPED_OPTGROUP_NAME)) {\n return {\n groupedOptions: output.groupedOptions,\n groups: [\n RESERVED_UNGROUPED_OPTGROUP_NAME,\n ...output.groups.filter(\n (group) => group !== RESERVED_UNGROUPED_OPTGROUP_NAME\n ),\n ],\n }\n }\n\n return output\n}\n\nfunction findParentOptgroup(list: SuperSelectOption[], index: number) {\n for (let i = index; i >= 0; i--) {\n const option = list[i]\n const isOptgroup = getOptionIsOptgroup(option)\n\n if (isOptgroup) {\n return option.id\n }\n }\n // no parent optgroup was found, so the option is considered ungrouped\n return RESERVED_UNGROUPED_OPTGROUP_NAME\n}\n\nexport function reorder(\n options: SuperSelectOption[],\n startIndex: number,\n endIndex: number\n) {\n const nextOptions = [...options]\n const [removed] = nextOptions.splice(startIndex, 1)\n nextOptions.splice(endIndex, 0, removed)\n\n const prevGroup = findParentOptgroup(options, startIndex)\n const nextGroup = findParentOptgroup(nextOptions, endIndex)\n\n return { nextOptions, prevGroup, nextGroup }\n}\n\nfunction compareStrings(a: string, b: string) {\n return a.localeCompare(b, undefined, { numeric: true, sensitivity: 'base' })\n}\n\nexport function isMultiple<T>(multiple: boolean, value: T | T[]): value is T[] {\n return multiple && Array.isArray(value)\n}\n\nexport const getOptionIsOptgroup = (\n item: SuperSelectOption\n): item is SuperSelectOptgroup => {\n return Boolean(item[isOptgroupSymbol])\n}\n\nexport const sortOptgroups = (groupA: string, groupB: string) => {\n // always put ungrouped options on top\n if (groupA === RESERVED_UNGROUPED_OPTGROUP_NAME) {\n return -1\n }\n if (groupB === RESERVED_UNGROUPED_OPTGROUP_NAME) {\n return 1\n }\n return compareStrings(groupA, groupB)\n}\n\nexport function getIsAllOptionsUngrouped(groups: string[]) {\n return groups.length === 1 && groups[0] === RESERVED_UNGROUPED_OPTGROUP_NAME\n}\n\nexport function createOptgroup(\n groupName: string,\n groupOptions: SuperSelectOption[]\n) {\n // ungrouped options should not have a group header\n if (groupName === RESERVED_UNGROUPED_OPTGROUP_NAME) {\n return groupOptions\n }\n\n const optgroupHeader: SuperSelectOptgroup = {\n [isOptgroupSymbol]: true,\n id: groupName,\n label: groupName,\n }\n\n return [optgroupHeader, ...groupOptions]\n}\n\nexport function removeEmptyOptGroups(options: SuperSelectOption[]) {\n return options.filter((opt, index, arr) => {\n const currentElementIsLast = index === arr.length - 1\n const currentElementIsOptgroup = getOptionIsOptgroup(opt)\n const nextElementIsOptgroup =\n !currentElementIsLast && getOptionIsOptgroup(arr[index + 1])\n\n return !(\n currentElementIsOptgroup &&\n (nextElementIsOptgroup || currentElementIsLast)\n )\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAASA,gBAAgB,QAAQ,yBAAyB;AAO1D,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,SAAkB,EAAK;EACzD,IAAMC,cAAc,GAAG,CAAC,CAACC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAACC,QAAQ,CAACH,SAAmB,CAAC;EAE3E,OAAOC,cAAc,IAAI,OAAOD,SAAS,KAAK,QAAQ,IAAIA,SAAS,CAACI,MAAM,GAAG,CAAC;AAChF,CAAC;AAED,OAAO,IAAMC,0BAA0B,GACrC,SADWA,0BAA0BA,CAAAC,IAAA;EAAA,IAEnCC,gBAAgB,GAAAD,IAAA,CAAhBC,gBAAgB;IAChBC,cAAc,GAAAF,IAAA,CAAdE,cAAc;EAAA,OAKhB,UAACC,CAAoB,EAAEC,CAAoB,EAAK;IAC9C,IAAMC,cAAc,GAAGJ,gBAAgB,CAACE,CAAC,CAAC;IAC1C,IAAMG,cAAc,GAAGL,gBAAgB,CAACG,CAAC,CAAC;;IAE1C;IACA,IAAIC,cAAc,IAAIC,cAAc,EAAE;MACpC,OAAOC,cAAc,CAACL,cAAc,CAACC,CAAC,CAAC,EAAED,cAAc,CAACE,CAAC,CAAC,CAAC;IAC7D,CAAC,MAAM,IAAIC,cAAc,EAAE;MACzB,OAAO,CAAC,CAAC;IACX,CAAC,MAAM,IAAIC,cAAc,EAAE;MACzB,OAAO,CAAC;IACV;IAEA,OAAOC,cAAc,CAACL,cAAc,CAACC,CAAC,CAAC,EAAED,cAAc,CAACE,CAAC,CAAC,CAAC;EAC7D,CAAC;AAAA;AAEH,OAAO,IAAMI,uBAAuB,GAClC,SADWA,uBAAuBA,CAAAC,KAAA;EAAA,IAEhCC,KAAK,GAAAD,KAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IACRV,gBAAgB,GAAAQ,KAAA,CAAhBR,gBAAgB;IAChBW,cAAc,GAAAH,KAAA,CAAdG,cAAc;EAAA,OAOhB,UAACC,MAAyB,EAAK;IAC7B,IAAIC,UAAU,CAACH,QAAQ,EAAED,KAAK,CAAC,IAAIT,gBAAgB,CAACY,MAAM,CAAC,EAAE;MAC3D,IAAME,GAAG,GAAGH,cAAc,CAACC,MAAM,CAAC;MAElC,IAAMG,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACH,GAAG,CAAC,IAAIA,GAAG,CAACI,KAAK,CAAC,UAACC,CAAC;QAAA,OAAKV,KAAK,CAACb,QAAQ,CAACuB,CAAC,CAAC;MAAA,EAAC;MAE1E,OAAAC,aAAA,CAAAA,aAAA,KACKR,MAAM;QACTG,QAAQ,EAARA;MAAQ;IAEZ;IACA,OAAOH,MAAM;EACf,CAAC;AAAA;AAEH,OAAO,IAAMS,gCAAgC,GAC3C,kCAAkC;AAEpC,OAAO,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAC3CC,IAAyB,EACzBC,cAAgE,EAI7D;EACH,IAAMC,MAGL,GAAGF,IAAI,CAACG,MAAM,CACb,UAAAC,KAAA,EAA6Bf,MAAM,EAAK;IAAA,IAAAgB,qBAAA;IAAA,IAArCC,MAAM,GAAAF,KAAA,CAANE,MAAM;MAAEC,cAAc,GAAAH,KAAA,CAAdG,cAAc;IACvB,IAAMrC,SAAS,GAAG+B,cAAc,CAACZ,MAAM,CAAC;;IAExC;IACA,IAAMmB,gBAAgB,GAAGvC,mBAAmB,CAACC,SAAS,CAAC;IACvD,IAAMuC,iBAAiB,GAAGD,gBAAgB,GACtCtC,SAAS,GACT4B,gCAAgC;IAEpC,IAAMY,YAAY,IAAAL,qBAAA,GAAGE,cAAc,CAACE,iBAAiB,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;;IAE5D;IACAK,YAAY,CAACC,IAAI,CAACtB,MAAM,CAAC;IACzBkB,cAAc,CAACE,iBAAiB,CAAC,GAAGC,YAAY;IAEhD,OAAO;MACLJ,MAAM,EAAEA,MAAM,CAACjC,QAAQ,CAACoC,iBAAiB,CAAC,GACtCH,MAAM,MAAAM,MAAA,CAAAC,kBAAA,CACFP,MAAM,IAAEG,iBAAiB,EAAC;MAClCF,cAAc,EAAdA;IACF,CAAC;EACH,CAAC,EACD;IACED,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,CAAC;EACnB,CACF,CAAC;;EAED;EACA,IAAIL,MAAM,CAACI,MAAM,CAACjC,QAAQ,CAACyB,gCAAgC,CAAC,EAAE;IAC5D,OAAO;MACLS,cAAc,EAAEL,MAAM,CAACK,cAAc;MACrCD,MAAM,GACJR,gCAAgC,EAAAc,MAAA,CAAAC,kBAAA,CAC7BX,MAAM,CAACI,MAAM,CAACQ,MAAM,CACrB,UAACC,KAAK;QAAA,OAAKA,KAAK,KAAKjB,gCAAgC;MAAA,CACvD,CAAC;IAEL,CAAC;EACH;EAEA,OAAOI,MAAM;AACf,CAAC;AAED,SAASc,kBAAkBA,CAACC,IAAyB,EAAEC,KAAa,EAAE;EACpE,KAAK,IAAIC,CAAC,GAAGD,KAAK,EAAEC,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC/B,IAAM9B,MAAM,GAAG4B,IAAI,CAACE,CAAC,CAAC;IACtB,IAAMC,UAAU,GAAGC,mBAAmB,CAAChC,MAAM,CAAC;IAE9C,IAAI+B,UAAU,EAAE;MACd,OAAO/B,MAAM,CAACiC,EAAE;IAClB;EACF;EACA;EACA,OAAOxB,gCAAgC;AACzC;AAEA,OAAO,SAASyB,OAAOA,CACrBC,OAA4B,EAC5BC,UAAkB,EAClBC,QAAgB,EAChB;EACA,IAAMC,WAAW,GAAAd,kBAAA,CAAOW,OAAO,CAAC;EAChC,IAAAI,mBAAA,GAAkBD,WAAW,CAACE,MAAM,CAACJ,UAAU,EAAE,CAAC,CAAC;IAAAK,oBAAA,GAAAC,cAAA,CAAAH,mBAAA;IAA5CI,OAAO,GAAAF,oBAAA;EACdH,WAAW,CAACE,MAAM,CAACH,QAAQ,EAAE,CAAC,EAAEM,OAAO,CAAC;EAExC,IAAMC,SAAS,GAAGjB,kBAAkB,CAACQ,OAAO,EAAEC,UAAU,CAAC;EACzD,IAAMS,SAAS,GAAGlB,kBAAkB,CAACW,WAAW,EAAED,QAAQ,CAAC;EAE3D,OAAO;IAAEC,WAAW,EAAXA,WAAW;IAAEM,SAAS,EAATA,SAAS;IAAEC,SAAS,EAATA;EAAU,CAAC;AAC9C;AAEA,SAASnD,cAAcA,CAACJ,CAAS,EAAEC,CAAS,EAAE;EAC5C,OAAOD,CAAC,CAACwD,aAAa,CAACvD,CAAC,EAAER,SAAS,EAAE;IAAEgE,OAAO,EAAE,IAAI;IAAEC,WAAW,EAAE;EAAO,CAAC,CAAC;AAC9E;AAEA,OAAO,SAAS/C,UAAUA,CAAIH,QAAiB,EAAED,KAAc,EAAgB;EAC7E,OAAOC,QAAQ,IAAIM,KAAK,CAACC,OAAO,CAACR,KAAK,CAAC;AACzC;AAEA,OAAO,IAAMmC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC9BiB,IAAuB,EACS;EAChC,OAAOC,OAAO,CAACD,IAAI,CAACtE,gBAAgB,CAAC,CAAC;AACxC,CAAC;AAED,OAAO,IAAMwE,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,MAAc,EAAEC,MAAc,EAAK;EAC/D;EACA,IAAID,MAAM,KAAK3C,gCAAgC,EAAE;IAC/C,OAAO,CAAC,CAAC;EACX;EACA,IAAI4C,MAAM,KAAK5C,gCAAgC,EAAE;IAC/C,OAAO,CAAC;EACV;EACA,OAAOf,cAAc,CAAC0D,MAAM,EAAEC,MAAM,CAAC;AACvC,CAAC;AAED,OAAO,SAASC,wBAAwBA,CAACrC,MAAgB,EAAE;EACzD,OAAOA,MAAM,CAAChC,MAAM,KAAK,CAAC,IAAIgC,MAAM,CAAC,CAAC,CAAC,KAAKR,gCAAgC;AAC9E;AAEA,OAAO,SAAS8C,cAAcA,CAC5B1E,SAAiB,EACjBwC,YAAiC,EACjC;EACA;EACA,IAAIxC,SAAS,KAAK4B,gCAAgC,EAAE;IAClD,OAAOY,YAAY;EACrB;EAEA,IAAMmC,cAAmC,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACtC9E,gBAAgB,EAAG,IAAI,SACpBE,SAAS,YACNA,SAAS,CACjB;EAED,QAAQ2E,cAAc,EAAAjC,MAAA,CAAAC,kBAAA,CAAKH,YAAY;AACzC;AAEA,OAAO,SAASqC,oBAAoBA,CAACvB,OAA4B,EAAE;EACjE,OAAOA,OAAO,CAACV,MAAM,CAAC,UAACkC,GAAG,EAAE9B,KAAK,EAAE+B,GAAG,EAAK;IACzC,IAAMC,oBAAoB,GAAGhC,KAAK,KAAK+B,GAAG,CAAC3E,MAAM,GAAG,CAAC;IACrD,IAAM6E,wBAAwB,GAAG9B,mBAAmB,CAAC2B,GAAG,CAAC;IACzD,IAAMI,qBAAqB,GACzB,CAACF,oBAAoB,IAAI7B,mBAAmB,CAAC4B,GAAG,CAAC/B,KAAK,GAAG,CAAC,CAAC,CAAC;IAE9D,OAAO,EACLiC,wBAAwB,KACvBC,qBAAqB,IAAIF,oBAAoB,CAAC,CAChD;EACH,CAAC,CAAC;AACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _excluded = ["option"];
|
|
2
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
3
|
-
function _objectWithoutProperties(
|
|
4
|
-
function _objectWithoutPropertiesLoose(
|
|
2
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
4
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { ContactItem } from '../../ContactItem';
|
|
7
7
|
export var contactsPreset = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactsPreset.js","names":["React","ContactItem","contactsPreset","selectionStyle","components","OptionLabel","_ref","option","props","_objectWithoutProperties","_excluded","createElement","_extends","initials","icon","disabled","Title","title","Description","description"],"sources":["../../../src/SuperSelect/presets/contactsPreset.tsx"],"sourcesContent":["import React from 'react'\nimport { ContactItem } from '../../ContactItem'\nimport type { SuperSelectConfig } from '../SuperSelect.types'\n\nexport const contactsPreset: SuperSelectConfig = {\n selectionStyle: 'checkmark',\n components: {\n OptionLabel: ({ option, ...props }) => {\n return (\n <ContactItem\n {...props}\n initials={option.initials}\n icon={option.icon}\n disabled={option.disabled}\n >\n <ContactItem.Title>{option.title}</ContactItem.Title>\n <ContactItem.Description>\n {option.description}\n </ContactItem.Description>\n </ContactItem>\n )\n },\n },\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAG/C,OAAO,IAAMC,cAAiC,GAAG;EAC/CC,cAAc,EAAE,WAAW;EAC3BC,UAAU,EAAE;IACVC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"contactsPreset.js","names":["React","ContactItem","contactsPreset","selectionStyle","components","OptionLabel","_ref","option","props","_objectWithoutProperties","_excluded","createElement","_extends","initials","icon","disabled","Title","title","Description","description"],"sources":["../../../src/SuperSelect/presets/contactsPreset.tsx"],"sourcesContent":["import React from 'react'\nimport { ContactItem } from '../../ContactItem'\nimport type { SuperSelectConfig } from '../SuperSelect.types'\n\nexport const contactsPreset: SuperSelectConfig = {\n selectionStyle: 'checkmark',\n components: {\n OptionLabel: ({ option, ...props }) => {\n return (\n <ContactItem\n {...props}\n initials={option.initials}\n icon={option.icon}\n disabled={option.disabled}\n >\n <ContactItem.Title>{option.title}</ContactItem.Title>\n <ContactItem.Description>\n {option.description}\n </ContactItem.Description>\n </ContactItem>\n )\n },\n },\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAG/C,OAAO,IAAMC,cAAiC,GAAG;EAC/CC,cAAc,EAAE,WAAW;EAC3BC,UAAU,EAAE;IACVC,WAAW,EAAE,SAAbA,WAAWA,CAAAC,IAAA,EAA4B;MAAA,IAAvBC,MAAM,GAAAD,IAAA,CAANC,MAAM;QAAKC,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;MAC9B,oBACEV,KAAA,CAAAW,aAAA,CAACV,WAAW,EAAAW,QAAA,KACNJ,KAAK;QACTK,QAAQ,EAAEN,MAAM,CAACM,QAAS;QAC1BC,IAAI,EAAEP,MAAM,CAACO,IAAK;QAClBC,QAAQ,EAAER,MAAM,CAACQ;MAAS,iBAE1Bf,KAAA,CAAAW,aAAA,CAACV,WAAW,CAACe,KAAK,QAAET,MAAM,CAACU,KAAyB,CAAC,eACrDjB,KAAA,CAAAW,aAAA,CAACV,WAAW,CAACiB,WAAW,QACrBX,MAAM,CAACY,WACe,CACd,CAAC;IAElB;EACF;AACF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Popover } from '../../Popover';
|
|
4
4
|
import { Typography } from '../../Typography';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterPreset.js","names":["React","Popover","Typography","StyledFilterPresetPopoverContent","StyledLabel","StyledTrigger","useSuperSelectContext","getFilterPresetProps","props","_props$filter","filter","getValueLabel","isValueEmpty","value","placeholder","filterName","prefixLabel","valueLabel","concat","filterPreset","components","Label","forwardRef","ctx","presetProps","config","undefined","includes","state","createElement","$hoverable","selectedLabel","TriggerContainer","ref","Array","isArray","_extends","$block","block","placement","trigger","length","overlay","map","v","option","options","find","label","join","MultiValueContainer","selectionStyle"],"sources":["../../../src/SuperSelect/presets/filterPreset.tsx"],"sourcesContent":["import React from 'react'\nimport { Popover } from '../../Popover'\nimport { Typography } from '../../Typography'\nimport { StyledFilterPresetPopoverContent } from '../SuperSelect.presets.styles'\nimport { StyledLabel, StyledTrigger } from '../SuperSelect.styles'\nimport type {\n SuperSelectConfig,\n SuperSelectPresetProps,\n} from '../SuperSelect.types'\nimport { useSuperSelectContext } from '../useSuperSelect'\n\nconst getFilterPresetProps = (props?: SuperSelectPresetProps) => {\n return props?.filter ?? {}\n}\n\nconst getValueLabel = (\n isValueEmpty: boolean,\n value?: string,\n placeholder?: string,\n filterName?: string\n) => {\n const prefixLabel = isValueEmpty ? placeholder || filterName : filterName\n const valueLabel = value ? `${prefixLabel ? ': ' : ''}${value}` : ''\n return `${prefixLabel}${valueLabel}`\n}\n\nexport const filterPreset: SuperSelectConfig = {\n components: {\n Label: React.forwardRef(() => {\n const ctx = useSuperSelectContext()\n const presetProps = getFilterPresetProps(ctx.config.presetProps)\n const isValueEmpty = ['', null, undefined].includes(\n ctx.state.value as string\n )\n\n return (\n <StyledLabel $hoverable={false}>\n {getValueLabel(\n isValueEmpty,\n ctx.state.selectedLabel,\n ctx.config.placeholder,\n presetProps.filterName\n )}\n </StyledLabel>\n )\n }),\n TriggerContainer: React.forwardRef((props, ref) => {\n const ctx = useSuperSelectContext()\n\n if (!Array.isArray(ctx.state.value)) {\n return <StyledTrigger $block={ctx.config.block} {...props} ref={ref} />\n }\n\n return (\n <Popover\n placement=\"top\"\n trigger={ctx.state.value.length > 1 ? 'hover' : 'none'}\n overlay={\n <StyledFilterPresetPopoverContent>\n <Typography>\n {ctx.state.value\n .map((v) => {\n const option = ctx.state.options.find(\n (option) => ctx.option.value(option) === v\n )\n return option ? ctx.option.label(option) : ''\n })\n .join(', ')}\n </Typography>\n </StyledFilterPresetPopoverContent>\n }\n >\n <StyledTrigger $block={ctx.config.block} {...props} ref={ref} />\n </Popover>\n )\n }),\n MultiValueContainer: () => {\n const ctx = useSuperSelectContext()\n const presetProps = getFilterPresetProps(ctx.config.presetProps)\n\n if (Array.isArray(ctx.state.value)) {\n const isValueEmpty = !ctx.state.value.length\n const value =\n ctx.state.value.length > 1\n ? `(${ctx.state.value.length})`\n : ctx.state.value.length === 1\n ? `${ctx.state.selectedLabel}`\n : ''\n\n return (\n <StyledLabel $hoverable={false}>\n {getValueLabel(\n isValueEmpty,\n value,\n ctx.config.placeholder,\n presetProps.filterName\n )}\n </StyledLabel>\n )\n }\n\n return <div>Value is not an array</div>\n },\n },\n selectionStyle: 'highlight',\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filterPreset.js","names":["React","Popover","Typography","StyledFilterPresetPopoverContent","StyledLabel","StyledTrigger","useSuperSelectContext","getFilterPresetProps","props","_props$filter","filter","getValueLabel","isValueEmpty","value","placeholder","filterName","prefixLabel","valueLabel","concat","filterPreset","components","Label","forwardRef","ctx","presetProps","config","undefined","includes","state","createElement","$hoverable","selectedLabel","TriggerContainer","ref","Array","isArray","_extends","$block","block","placement","trigger","length","overlay","map","v","option","options","find","label","join","MultiValueContainer","selectionStyle"],"sources":["../../../src/SuperSelect/presets/filterPreset.tsx"],"sourcesContent":["import React from 'react'\nimport { Popover } from '../../Popover'\nimport { Typography } from '../../Typography'\nimport { StyledFilterPresetPopoverContent } from '../SuperSelect.presets.styles'\nimport { StyledLabel, StyledTrigger } from '../SuperSelect.styles'\nimport type {\n SuperSelectConfig,\n SuperSelectPresetProps,\n} from '../SuperSelect.types'\nimport { useSuperSelectContext } from '../useSuperSelect'\n\nconst getFilterPresetProps = (props?: SuperSelectPresetProps) => {\n return props?.filter ?? {}\n}\n\nconst getValueLabel = (\n isValueEmpty: boolean,\n value?: string,\n placeholder?: string,\n filterName?: string\n) => {\n const prefixLabel = isValueEmpty ? placeholder || filterName : filterName\n const valueLabel = value ? `${prefixLabel ? ': ' : ''}${value}` : ''\n return `${prefixLabel}${valueLabel}`\n}\n\nexport const filterPreset: SuperSelectConfig = {\n components: {\n Label: React.forwardRef(() => {\n const ctx = useSuperSelectContext()\n const presetProps = getFilterPresetProps(ctx.config.presetProps)\n const isValueEmpty = ['', null, undefined].includes(\n ctx.state.value as string\n )\n\n return (\n <StyledLabel $hoverable={false}>\n {getValueLabel(\n isValueEmpty,\n ctx.state.selectedLabel,\n ctx.config.placeholder,\n presetProps.filterName\n )}\n </StyledLabel>\n )\n }),\n TriggerContainer: React.forwardRef((props, ref) => {\n const ctx = useSuperSelectContext()\n\n if (!Array.isArray(ctx.state.value)) {\n return <StyledTrigger $block={ctx.config.block} {...props} ref={ref} />\n }\n\n return (\n <Popover\n placement=\"top\"\n trigger={ctx.state.value.length > 1 ? 'hover' : 'none'}\n overlay={\n <StyledFilterPresetPopoverContent>\n <Typography>\n {ctx.state.value\n .map((v) => {\n const option = ctx.state.options.find(\n (option) => ctx.option.value(option) === v\n )\n return option ? ctx.option.label(option) : ''\n })\n .join(', ')}\n </Typography>\n </StyledFilterPresetPopoverContent>\n }\n >\n <StyledTrigger $block={ctx.config.block} {...props} ref={ref} />\n </Popover>\n )\n }),\n MultiValueContainer: () => {\n const ctx = useSuperSelectContext()\n const presetProps = getFilterPresetProps(ctx.config.presetProps)\n\n if (Array.isArray(ctx.state.value)) {\n const isValueEmpty = !ctx.state.value.length\n const value =\n ctx.state.value.length > 1\n ? `(${ctx.state.value.length})`\n : ctx.state.value.length === 1\n ? `${ctx.state.selectedLabel}`\n : ''\n\n return (\n <StyledLabel $hoverable={false}>\n {getValueLabel(\n isValueEmpty,\n value,\n ctx.config.placeholder,\n presetProps.filterName\n )}\n </StyledLabel>\n )\n }\n\n return <div>Value is not an array</div>\n },\n },\n selectionStyle: 'highlight',\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pillPreset.js","names":["Check","React","Pill","PillSelectCheckedContainer","Tooltip","OverflowObserver","Label","PillSelectLabel","PillSelectLabelWrapper","PillSelectOptionWrapper","StyledLabel","useSuperSelectContext","pillPreset","components","forwardRef","_ref","ref","hoverable","ctx","createElement","$hoverable","_ref2","_ctx$state$selectedOp","isOverflowing","trigger","overlay","state","selectedLabel","isEmpty","color","selectedOption","OptionLabel","_ref3","option","label","isSelected","size","MultiValue","_ref4"],"sources":["../../../src/SuperSelect/presets/pillPreset.tsx"],"sourcesContent":["import { Check } from '@procore/core-icons'\nimport React from 'react'\nimport { Pill } from '../../Pill/Pill'\nimport { PillSelectCheckedContainer } from '../../PillSelect/PillSelect.styles'\nimport { Tooltip } from '../../Tooltip/Tooltip'\nimport { OverflowObserver } from '../../_hooks/OverflowObserver'\nimport { Label } from '../SuperSelect.components'\nimport {\n PillSelectLabel,\n PillSelectLabelWrapper,\n PillSelectOptionWrapper,\n StyledLabel,\n} from '../SuperSelect.styles'\nimport type { SuperSelectConfig } from '../SuperSelect.types'\nimport { useSuperSelectContext } from '../useSuperSelect'\n\nexport const pillPreset: SuperSelectConfig = {\n components: {\n Label: React.forwardRef(({ hoverable }, ref) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledLabel $hoverable={hoverable}>\n <PillSelectLabelWrapper>\n <OverflowObserver>\n {({ isOverflowing, ref }) => {\n return (\n <Tooltip\n trigger={isOverflowing ? 'hover' : 'none'}\n overlay={ctx.state.selectedLabel}\n >\n {ctx.state.isEmpty() ? (\n <Label ref={ref} hoverable={hoverable} />\n ) : (\n <PillSelectLabel\n ref={ref}\n color={(ctx.state.selectedOption as any)?.color}\n >\n {ctx.state.selectedLabel}\n </PillSelectLabel>\n )}\n </Tooltip>\n )\n }}\n </OverflowObserver>\n </PillSelectLabelWrapper>\n </StyledLabel>\n )\n }),\n OptionLabel: ({ option }) => {\n const ctx = useSuperSelectContext()\n\n return (\n <PillSelectOptionWrapper>\n <Pill color={option.color}>{ctx.option.label(option)}</Pill>\n <PillSelectCheckedContainer>\n {ctx.option.isSelected(option) && <Check size=\"sm\" />}\n </PillSelectCheckedContainer>\n </PillSelectOptionWrapper>\n )\n },\n MultiValue: ({ option }) => {\n const ctx = useSuperSelectContext()\n\n return <Pill color={option.color}>{ctx.option.label(option)}</Pill>\n },\n },\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,qBAAqB;AAC3C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,0BAA0B,QAAQ,oCAAoC;AAC/E,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SACEC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,WAAW,QACN,uBAAuB;AAE9B,SAASC,qBAAqB,QAAQ,mBAAmB;AAEzD,OAAO,IAAMC,UAA6B,GAAG;EAC3CC,UAAU,EAAE;IACVP,KAAK,eAAEL,KAAK,CAACa,UAAU,CAAC,UAAAC,IAAA,EAAgBC,GAAG,EAAK;MAAA,IAArBC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAClC,IAAMC,GAAG,GAAGP,qBAAqB,CAAC,CAAC;MAEnC,oBACEV,KAAA,CAAAkB,aAAA,CAACT,WAAW;QAACU,UAAU,EAAEH;MAAU,gBACjChB,KAAA,CAAAkB,aAAA,CAACX,sBAAsB,qBACrBP,KAAA,CAAAkB,aAAA,CAACd,gBAAgB,QACd,UAAAgB,KAAA,EAA4B;QAAA,IAAAC,qBAAA;QAAA,IAAzBC,aAAa,GAAAF,KAAA,CAAbE,aAAa;UAAEP,GAAG,GAAAK,KAAA,CAAHL,GAAG;QACpB,oBACEf,KAAA,CAAAkB,aAAA,CAACf,OAAO;UACNoB,OAAO,EAAED,aAAa,GAAG,OAAO,GAAG,MAAO;UAC1CE,OAAO,EAAEP,GAAG,CAACQ,KAAK,CAACC;QAAc,GAEhCT,GAAG,CAACQ,KAAK,CAACE,OAAO,CAAC,CAAC,gBAClB3B,KAAA,CAAAkB,aAAA,CAACb,KAAK;UAACU,GAAG,EAAEA,GAAI;UAACC,SAAS,EAAEA;QAAU,CAAE,CAAC,gBAEzChB,KAAA,CAAAkB,aAAA,CAACZ,eAAe;UACdS,GAAG,EAAEA,GAAI;UACTa,KAAK,GAAAP,qBAAA,GAAGJ,GAAG,CAACQ,KAAK,CAACI,cAAc,cAAAR,qBAAA,uBAAzBA,qBAAA,CAAmCO;QAAM,GAE/CX,GAAG,CAACQ,KAAK,CAACC,aACI,CAEZ,CAAC;MAEd,CACgB,CACI,CACb,CAAC;IAElB,CAAC,CAAC;IACFI,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"pillPreset.js","names":["Check","React","Pill","PillSelectCheckedContainer","Tooltip","OverflowObserver","Label","PillSelectLabel","PillSelectLabelWrapper","PillSelectOptionWrapper","StyledLabel","useSuperSelectContext","pillPreset","components","forwardRef","_ref","ref","hoverable","ctx","createElement","$hoverable","_ref2","_ctx$state$selectedOp","isOverflowing","trigger","overlay","state","selectedLabel","isEmpty","color","selectedOption","OptionLabel","_ref3","option","label","isSelected","size","MultiValue","_ref4"],"sources":["../../../src/SuperSelect/presets/pillPreset.tsx"],"sourcesContent":["import { Check } from '@procore/core-icons'\nimport React from 'react'\nimport { Pill } from '../../Pill/Pill'\nimport { PillSelectCheckedContainer } from '../../PillSelect/PillSelect.styles'\nimport { Tooltip } from '../../Tooltip/Tooltip'\nimport { OverflowObserver } from '../../_hooks/OverflowObserver'\nimport { Label } from '../SuperSelect.components'\nimport {\n PillSelectLabel,\n PillSelectLabelWrapper,\n PillSelectOptionWrapper,\n StyledLabel,\n} from '../SuperSelect.styles'\nimport type { SuperSelectConfig } from '../SuperSelect.types'\nimport { useSuperSelectContext } from '../useSuperSelect'\n\nexport const pillPreset: SuperSelectConfig = {\n components: {\n Label: React.forwardRef(({ hoverable }, ref) => {\n const ctx = useSuperSelectContext()\n\n return (\n <StyledLabel $hoverable={hoverable}>\n <PillSelectLabelWrapper>\n <OverflowObserver>\n {({ isOverflowing, ref }) => {\n return (\n <Tooltip\n trigger={isOverflowing ? 'hover' : 'none'}\n overlay={ctx.state.selectedLabel}\n >\n {ctx.state.isEmpty() ? (\n <Label ref={ref} hoverable={hoverable} />\n ) : (\n <PillSelectLabel\n ref={ref}\n color={(ctx.state.selectedOption as any)?.color}\n >\n {ctx.state.selectedLabel}\n </PillSelectLabel>\n )}\n </Tooltip>\n )\n }}\n </OverflowObserver>\n </PillSelectLabelWrapper>\n </StyledLabel>\n )\n }),\n OptionLabel: ({ option }) => {\n const ctx = useSuperSelectContext()\n\n return (\n <PillSelectOptionWrapper>\n <Pill color={option.color}>{ctx.option.label(option)}</Pill>\n <PillSelectCheckedContainer>\n {ctx.option.isSelected(option) && <Check size=\"sm\" />}\n </PillSelectCheckedContainer>\n </PillSelectOptionWrapper>\n )\n },\n MultiValue: ({ option }) => {\n const ctx = useSuperSelectContext()\n\n return <Pill color={option.color}>{ctx.option.label(option)}</Pill>\n },\n },\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,qBAAqB;AAC3C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,0BAA0B,QAAQ,oCAAoC;AAC/E,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SACEC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,WAAW,QACN,uBAAuB;AAE9B,SAASC,qBAAqB,QAAQ,mBAAmB;AAEzD,OAAO,IAAMC,UAA6B,GAAG;EAC3CC,UAAU,EAAE;IACVP,KAAK,eAAEL,KAAK,CAACa,UAAU,CAAC,UAAAC,IAAA,EAAgBC,GAAG,EAAK;MAAA,IAArBC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAClC,IAAMC,GAAG,GAAGP,qBAAqB,CAAC,CAAC;MAEnC,oBACEV,KAAA,CAAAkB,aAAA,CAACT,WAAW;QAACU,UAAU,EAAEH;MAAU,gBACjChB,KAAA,CAAAkB,aAAA,CAACX,sBAAsB,qBACrBP,KAAA,CAAAkB,aAAA,CAACd,gBAAgB,QACd,UAAAgB,KAAA,EAA4B;QAAA,IAAAC,qBAAA;QAAA,IAAzBC,aAAa,GAAAF,KAAA,CAAbE,aAAa;UAAEP,GAAG,GAAAK,KAAA,CAAHL,GAAG;QACpB,oBACEf,KAAA,CAAAkB,aAAA,CAACf,OAAO;UACNoB,OAAO,EAAED,aAAa,GAAG,OAAO,GAAG,MAAO;UAC1CE,OAAO,EAAEP,GAAG,CAACQ,KAAK,CAACC;QAAc,GAEhCT,GAAG,CAACQ,KAAK,CAACE,OAAO,CAAC,CAAC,gBAClB3B,KAAA,CAAAkB,aAAA,CAACb,KAAK;UAACU,GAAG,EAAEA,GAAI;UAACC,SAAS,EAAEA;QAAU,CAAE,CAAC,gBAEzChB,KAAA,CAAAkB,aAAA,CAACZ,eAAe;UACdS,GAAG,EAAEA,GAAI;UACTa,KAAK,GAAAP,qBAAA,GAAGJ,GAAG,CAACQ,KAAK,CAACI,cAAc,cAAAR,qBAAA,uBAAzBA,qBAAA,CAAmCO;QAAM,GAE/CX,GAAG,CAACQ,KAAK,CAACC,aACI,CAEZ,CAAC;MAEd,CACgB,CACI,CACb,CAAC;IAElB,CAAC,CAAC;IACFI,WAAW,EAAE,SAAbA,WAAWA,CAAAC,KAAA,EAAkB;MAAA,IAAbC,MAAM,GAAAD,KAAA,CAANC,MAAM;MACpB,IAAMf,GAAG,GAAGP,qBAAqB,CAAC,CAAC;MAEnC,oBACEV,KAAA,CAAAkB,aAAA,CAACV,uBAAuB,qBACtBR,KAAA,CAAAkB,aAAA,CAACjB,IAAI;QAAC2B,KAAK,EAAEI,MAAM,CAACJ;MAAM,GAAEX,GAAG,CAACe,MAAM,CAACC,KAAK,CAACD,MAAM,CAAQ,CAAC,eAC5DhC,KAAA,CAAAkB,aAAA,CAAChB,0BAA0B,QACxBe,GAAG,CAACe,MAAM,CAACE,UAAU,CAACF,MAAM,CAAC,iBAAIhC,KAAA,CAAAkB,aAAA,CAACnB,KAAK;QAACoC,IAAI,EAAC;MAAI,CAAE,CAC1B,CACL,CAAC;IAE9B,CAAC;IACDC,UAAU,EAAE,SAAZA,UAAUA,CAAAC,KAAA,EAAkB;MAAA,IAAbL,MAAM,GAAAK,KAAA,CAANL,MAAM;MACnB,IAAMf,GAAG,GAAGP,qBAAqB,CAAC,CAAC;MAEnC,oBAAOV,KAAA,CAAAkB,aAAA,CAACjB,IAAI;QAAC2B,KAAK,EAAEI,MAAM,CAACJ;MAAM,GAAEX,GAAG,CAACe,MAAM,CAACC,KAAK,CAACD,MAAM,CAAQ,CAAC;IACrE;EACF;AACF,CAAC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function _toConsumableArray(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
3
3
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _iterableToArray(
|
|
5
|
-
function _arrayWithoutHoles(
|
|
6
|
-
function _slicedToArray(
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
7
7
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
-
function _unsupportedIterableToArray(
|
|
9
|
-
function _arrayLikeToArray(
|
|
10
|
-
function _iterableToArrayLimit(
|
|
11
|
-
function _arrayWithHoles(
|
|
12
|
-
function ownKeys(
|
|
13
|
-
function _objectSpread(
|
|
14
|
-
function _defineProperty(
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
8
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
9
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
10
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
11
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
import { autoUpdate, flip, offset, size, useClick, useDismiss, useFloating, useInteractions, useListNavigation } from '@floating-ui/react';
|
|
18
18
|
import { useId } from '@react-aria/utils';
|
|
19
19
|
import debounce from 'lodash.debounce';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuperSelect.js","names":["autoUpdate","flip","offset","size","useClick","useDismiss","useFloating","useInteractions","useListNavigation","useId","debounce","uniq","React","ulid","useI18nContext","useZIndexContext","spacing","defaultComponents","draggableOptionIdSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionsSortingAlgorithm","isMultiple","removeEmptyOptGroups","reorder","sortOptgroups","listContainerVerticalPadding","sm","noop","defaultGetOptionValue","option","value","defaultGetOptionIsBatch","Array","isArray","defaultGetOptionIsDisabled","_option$disabled","disabled","defaultGetOptionGroup","_option$group","group","defaultSetOptionGroup","_objectSpread","defaultGetOptionLabel","_option$label","label","stringContains","str1","str2","toLowerCase","includes","useTokenNavigation","context","_ref","arguments","length","undefined","_ref$enabled","enabled","_ref$value","_ref$activeIndex","activeIndex","_ref$onNavigate","onNavigate","_ref$onChange","onChange","reference","onKeyDown","e","key","Math","max","repeat","nextVal","filter","_","i","useKeyboardSelection","_ref2","_ref2$enabled","_ref2$onSelect","onSelect","floating","useSuperSelect","_ref3","_ref3$block","block","customComponents","components","defaultValue","_ref3$disabled","_ref3$draggable","draggable","_ref3$emptyMessage","emptyMessage","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","_ref3$options","options","sourceOptions","placeholder","_ref3$preset","preset","presetProps","_ref3$search","search","_ref3$selectionStyle","selectionStyle","_ref3$setOptionGroup","setOptionGroup","_ref3$sort","sort","_ref3$tabIndex","tabIndex","value_","_ref3$overlayMatchesT","overlayMatchesTriggerWidth","ariaLabel","useEffect","isUsingDefaultGetter","isUsingDefaultSetter","console","warn","i18n","initialValue","_React$useState","useState","_React$useState2","_slicedToArray","val","setVal","setValue","v","navigationList","useRef","virtuoso","searchRef","overlayId","listId","_React$useState3","_React$useState4","open","setOpen","_React$useState5","_React$useState6","pointer","setPointer","_React$useState7","_React$useState8","width","setWidth","_React$useState9","_React$useState10","maxHeight","setMaxHeight","_React$useState11","_React$useState12","listHeight","setListHeight","_React$useState13","_React$useState14","searchHeight","setSearchHeight","_React$useState15","_React$useState16","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState17","_React$useState18","searchValue","setSearchValue_","setSearchValue","_React$useState19","_React$useState20","activeMenuIndex","setActiveMenuIndex","_React$useState21","_React$useState22","activeTokenIndex","setActiveTokenIndex","sortOptions","useMemo","formatBatchOption","enforceOptionsSortingOrder","useCallback","groupAndSort","opts","_collectGroupsInOrder","groups","groupedOptions","Object","entries","_ref4","_ref5","_ref6","groupA","_ref7","groupB","flatMap","_ref8","_ref9","groupName","groupOptions","deriveOptionsSortingOrder","_collectGroupsInOrder2","groupAndSortAlgorithm","queried","opt","_toConsumableArray","map","_React$useState23","_React$useState24","draggableOptions","setDraggableOptions","_defineProperty","queriedDraggableOptions","groupIndices","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","concat","onKeyboardSelect","getOptionIsSelected","isEmpty","boundWidthRef","current","whileElementsMounted","_len","args","_key","apply","animationFrame","strategy","middleware","_ref10","rects","mainAxis","crossAxis","_ref11","availableHeight","elements","getBoundingClientRect","padding","_useZIndexContext","zIndex","_useInteractions","keyboardHandlers","disabledIndices","listRef","loop","virtual","$block","$disabled","$error","$hasClearIcon","$loading","$multiple","$open","$placeholder","role","id","onPointerMove","style","position","left","x","top","y","getReferenceProps","getFloatingProps","getItemProps","getLabelProps","$hoverable","getMultiInputProps","ref","_floating$refs$floati","preventDefault","stopPropagation","refs","focus","currentTarget","opacity","getMultiValueProps","index","onClick","getSearchContainerProps","el","_el$clientHeight","clientHeight","getSearchProps","t","getHeaderProps","getFooterProps","_el$clientHeight2","getEmptyMessageProps","getClearProps","getMenuProps","scrollable","height","getVirtuosoProps","atBottomStateChange","atBottom","data","Item","initialTopMostItemIndex","flex","totalListHeightChanged","onDragEnd","result","destination","source","startIndex","destinationIndex","_reorder","nextOptions","prevGroup","nextGroup","adjustedOptions","setTimeout","fill","useLayoutEffect","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isSelected","isDisabled","isOptgroup","SuperSelectContext","createContext","useSuperSelectContext","ctx","useContext","Error"],"sources":["../../src/SuperSelect/useSuperSelect.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from '@floating-ui/react'\nimport {\n autoUpdate,\n flip,\n offset,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useListNavigation,\n} from '@floating-ui/react'\nimport { useId } from '@react-aria/utils'\nimport debounce from 'lodash.debounce'\nimport uniq from 'lodash.uniq'\nimport React from 'react'\nimport type { VirtuosoHandle, VirtuosoProps } from 'react-virtuoso'\nimport { ulid } from 'ulid'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { spacing } from '../_styles/spacing'\nimport * as defaultComponents from './SuperSelect.components'\nimport { draggableOptionIdSymbol } from './SuperSelect.constants'\nimport { extendedSelectMenuWidth } from './SuperSelect.styles'\nimport type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\n SuperSelectValue,\n SuperSelectValuePrimitive,\n TokenNavigationProps,\n} from './SuperSelect.types'\nimport {\n collectGroupsInOrderOfOccurrence,\n createOptgroup,\n getBatchOptionFormatter,\n getIsAllOptionsUngrouped,\n getOptionIsOptgroup,\n getOptionsSortingAlgorithm,\n isMultiple,\n removeEmptyOptGroups,\n reorder,\n sortOptgroups,\n} from './SuperSelect.utils'\n\nconst listContainerVerticalPadding = spacing.sm * 2\n\nfunction noop() {}\n\nfunction defaultGetOptionValue(option: SuperSelectOption) {\n return option?.value\n}\n\nfunction defaultGetOptionIsBatch(option: SuperSelectOption): boolean {\n return Array.isArray(option?.value)\n}\n\nfunction defaultGetOptionIsDisabled(option: SuperSelectOption): boolean {\n return option?.disabled ?? false\n}\n\nfunction defaultGetOptionGroup(option: SuperSelectOption): string {\n return option?.group ?? ''\n}\n\nfunction defaultSetOptionGroup(\n option: SuperSelectOption,\n group: string\n): SuperSelectOption {\n return {\n ...option,\n group,\n }\n}\n\nfunction defaultGetOptionLabel(option: SuperSelectOption): string {\n return option?.label ?? ''\n}\n\nfunction stringContains(str1: string, str2: string) {\n return str1.toLowerCase().includes(str2.toLowerCase())\n}\n\nfunction useTokenNavigation(\n context: FloatingContext<HTMLElement>,\n {\n enabled = true,\n value = [],\n activeIndex = null,\n onNavigate = noop,\n onChange = noop,\n }: TokenNavigationProps = {}\n): ElementProps {\n return {\n reference: {\n onKeyDown(e) {\n if (!enabled || !Array.isArray(value)) {\n return\n }\n\n if (e.key === 'ArrowLeft') {\n if (activeIndex !== null) {\n onNavigate(Math.max(0, activeIndex - 1))\n } else if (value.length > 0) {\n onNavigate(value.length - 1)\n }\n } else if (e.key === 'ArrowRight') {\n if (activeIndex !== null) {\n if (activeIndex === value.length - 1) {\n onNavigate(null)\n } else {\n onNavigate(activeIndex + 1)\n }\n }\n } else if (e.key === 'Backspace') {\n if (!e.repeat) {\n if (activeIndex !== null) {\n const nextVal = value.filter((_, i) => i !== activeIndex)\n\n onChange(nextVal)\n\n if (activeIndex >= nextVal.length) {\n onNavigate(null)\n }\n } else if (value.length > 0) {\n onChange(value.filter((_, i) => i !== value.length - 1))\n }\n }\n }\n },\n },\n }\n}\n\nfunction useKeyboardSelection(\n context: FloatingContext<HTMLElement>,\n { enabled = true, onSelect = () => {} }: KeyboardSelectionProps = {}\n): ElementProps {\n function onKeyDown(e: React.KeyboardEvent) {\n if (!enabled) {\n return\n }\n\n if (e.key === 'Enter') {\n onSelect()\n }\n }\n\n return {\n reference: {\n onKeyDown,\n },\n floating: {\n onKeyDown,\n },\n }\n}\n\nexport function useSuperSelect({\n block = false,\n components: customComponents,\n defaultValue,\n disabled = false,\n draggable = false,\n emptyMessage = 'No results',\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n options: sourceOptions = [],\n placeholder,\n preset = '',\n presetProps,\n search = true,\n selectionStyle = 'highlight',\n setOptionGroup = defaultSetOptionGroup,\n sort = true,\n tabIndex = 0,\n value: value_,\n overlayMatchesTriggerWidth = true,\n 'aria-label': ariaLabel,\n}: SuperSelectConfig) {\n React.useEffect(() => {\n if (!draggable) {\n return\n }\n\n const isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup\n const isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup\n\n if (\n (isUsingDefaultGetter && !isUsingDefaultSetter) ||\n (!isUsingDefaultGetter && isUsingDefaultSetter)\n ) {\n console.warn(\n `SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.`\n )\n }\n }, [draggable, getOptionGroup, setOptionGroup])\n\n const i18n = useI18nContext()\n\n const initialValue = defaultValue ?? (multiple ? [] : null)\n const [val, setVal] = React.useState<SuperSelectValue>(initialValue)\n const value = value_ !== undefined ? value_ : val\n function setValue(v: SuperSelectValue) {\n if (!value_) {\n setVal(v)\n }\n\n if (onChange) {\n onChange(v)\n }\n }\n\n const navigationList = React.useRef<Array<HTMLElement | null>>([])\n const virtuoso = React.useRef<VirtuosoHandle>(null)\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const overlayId = useId() // TODO use React 18 useId\n const listId = useId() // TODO use React 18 useId\n\n const [open, setOpen] = React.useState(false)\n const [pointer, setPointer] = React.useState(false)\n const [width, setWidth] = React.useState(248)\n const [maxHeight, setMaxHeight] = React.useState(248)\n const [listHeight, setListHeight] = React.useState(0)\n const [searchHeight, setSearchHeight] = React.useState(0)\n const [footerHeight, setFooterHeight] = React.useState(0)\n const listContainerHeight = Math.min(\n maxHeight - searchHeight - footerHeight + listContainerVerticalPadding,\n listHeight + listContainerVerticalPadding\n )\n const [searchValue, setSearchValue_] = React.useState('')\n const setSearchValue = debounce(setSearchValue_, 250) // TODO use React 18 useDeferredValue\n\n const [activeMenuIndex, setActiveMenuIndex] = React.useState<number | null>(\n null\n )\n const [activeTokenIndex, setActiveTokenIndex] = React.useState<number | null>(\n null\n )\n\n const components = {\n ...defaultComponents,\n ...(customComponents || {}),\n }\n\n // TODO #memogetters: consider having getOption... getter functions memoized by consumers\n // Until then, exclude these callbacks from effect and memo dependencies\n const sortOptions = React.useMemo(\n () => getOptionsSortingAlgorithm({ getOptionIsBatch, getOptionLabel }),\n // skip `getOptionIsBatch` and `getOptionLabel`\n []\n )\n\n const formatBatchOption = React.useMemo(\n () =>\n getBatchOptionFormatter({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }),\n // skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters\n [value, multiple]\n )\n\n // collect groups, sort them and populate them with options, and sort the options inside the groups\n const enforceOptionsSortingOrder = React.useCallback(\n function groupAndSort(opts: SuperSelectOption[]) {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts.sort(sortOptions)\n }\n\n return Object.entries(groupedOptions)\n .sort(([groupA], [groupB]) => sortOptgroups(groupA, groupB))\n .flatMap(([groupName, groupOptions]) =>\n createOptgroup(groupName, groupOptions.sort(sortOptions))\n )\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n [sortOptions]\n )\n\n // collect groups and populate them with options\n const deriveOptionsSortingOrder = React.useCallback(\n (opts: SuperSelectOption[]) => {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts\n }\n\n // display optgroups in the order of occurrence, as they are considered pre-sorted\n return groups.flatMap((group) => {\n const groupOptions = groupedOptions[group]\n\n return createOptgroup(group, groupOptions)\n })\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n []\n )\n\n const groupAndSortAlgorithm = React.useMemo(\n () => (sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder),\n [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]\n )\n\n const options = React.useMemo(\n () => {\n const queried = searchValue\n ? sourceOptions.filter((opt) =>\n stringContains(getOptionLabel(opt), searchValue)\n )\n : [...sourceOptions] // make a copy of source options to prevent the mutation when sorting\n\n return groupAndSortAlgorithm(queried).map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]\n )\n\n const [draggableOptions, setDraggableOptions] = React.useState<\n SuperSelectOption[]\n >([])\n\n React.useEffect(\n () => {\n if (!draggable) {\n return\n }\n // make a copy of source options to prevent the mutation when sorting\n const opts = groupAndSortAlgorithm(\n sourceOptions.map((opt) => ({\n ...opt,\n [draggableOptionIdSymbol]: ulid(),\n }))\n )\n setDraggableOptions(opts)\n },\n // in draggable mode, sourceOptions must be memoized, othewise reorder will not work\n [draggable, sourceOptions, groupAndSortAlgorithm]\n )\n\n const queriedDraggableOptions = React.useMemo(\n () => {\n if (!draggable) {\n return []\n }\n\n const queried = searchValue\n ? removeEmptyOptGroups(\n draggableOptions.filter((opt) => {\n if (!getOptionIsOptgroup(opt)) {\n return stringContains(getOptionLabel(opt), searchValue)\n }\n return true\n })\n )\n : draggableOptions\n\n return queried.map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [draggable, draggableOptions, searchValue, formatBatchOption]\n )\n\n const groupIndices = React.useMemo(() => {\n return options.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [options])\n\n const selectedIndex = React.useMemo(() => {\n return options.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [options, value])\n\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n return options.find((option) => getOptionValue(option) === val)\n }, [options, value])\n\n const selectedLabel = React.useMemo(() => {\n return selectedOption ? getOptionLabel(selectedOption) : ''\n }, [selectedOption])\n\n function isSelectableOption(o: SuperSelectOption) {\n return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o)\n }\n\n function getFirstSelectableOptionIndex() {\n return options.findIndex(isSelectableOption)\n }\n\n function onSelect(option: SuperSelectOption) {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n\n if (isMultiple(multiple, value)) {\n if (Array.isArray(optionValue)) {\n setValue(uniq([...value, ...optionValue]))\n } else {\n setValue(\n value.includes(optionValue)\n ? value.filter(\n (val: SuperSelectValuePrimitive) => val !== optionValue\n )\n : [...value, optionValue]\n )\n }\n } else {\n setValue(optionValue)\n }\n }\n\n function onKeyboardSelect() {\n if (activeMenuIndex !== null) {\n const option = options[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function getOptionIsSelected(option: SuperSelectOption) {\n return Array.isArray(value)\n ? value.includes(getOptionValue(option))\n : value === getOptionValue(option)\n }\n\n function isEmpty() {\n return Array.isArray(value) ? value.length === 0 : value === null\n }\n\n const boundWidthRef = React.useRef(open)\n\n React.useEffect(() => {\n boundWidthRef.current = open\n }, [open])\n\n const floating = useFloating<HTMLElement>({\n open,\n onOpenChange: (open) => {\n setOpen(open)\n onOpenChange(open)\n },\n whileElementsMounted: (...args) =>\n /* { animationFrame: true } is used to fix ResizeObserver issue with @floating-ui/react */\n autoUpdate(...args, { animationFrame: true }),\n strategy: 'fixed',\n middleware: [\n offset(({ rects }) => {\n return {\n mainAxis: 2,\n crossAxis: overlayMatchesTriggerWidth\n ? 0\n : (rects.floating.width - rects.reference.width) / 2,\n }\n }),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(\n overlayMatchesTriggerWidth\n ? elements.reference.getBoundingClientRect().width\n : extendedSelectMenuWidth\n )\n }\n setMaxHeight(availableHeight)\n },\n padding: 10,\n }),\n ],\n })\n\n const { value: zIndex } = useZIndexContext()\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [\n useClick(floating.context, {\n enabled: !disabled,\n keyboardHandlers: false,\n }),\n useDismiss(floating.context, {\n enabled: !disabled,\n }),\n useListNavigation(floating.context, {\n activeIndex: activeMenuIndex,\n disabledIndices: groupIndices,\n enabled: !disabled,\n listRef: navigationList,\n loop: true,\n onNavigate: (i) => setActiveMenuIndex(() => i),\n selectedIndex,\n virtual: true,\n }),\n useTokenNavigation(floating.context, {\n activeIndex: activeTokenIndex,\n enabled: !disabled && multiple && searchValue === '',\n onChange: setValue,\n onNavigate: (i) => setActiveTokenIndex(() => i),\n value,\n }),\n useKeyboardSelection(floating.context, {\n enabled: !disabled,\n onSelect: onKeyboardSelect,\n }),\n {\n reference: {\n $block: block,\n $disabled: disabled,\n $error: error,\n $hasClearIcon: !disabled && !loading,\n $loading: loading,\n $multiple: multiple,\n $open: open,\n $placeholder: !selectedLabel,\n 'aria-controls': search ? overlayId : listId,\n 'aria-expanded': open,\n 'aria-haspopup': search ? 'dialog' : 'listbox',\n ...(ariaLabel && { 'aria-label': ariaLabel }),\n onKeyDown() {\n setPointer(false)\n },\n role: 'combobox',\n search,\n tabIndex: disabled ? -1 : tabIndex,\n } as any, // TODO fix type\n floating: {\n role: search ? 'dialog' : 'none',\n id: overlayId,\n onKeyDown() {\n setPointer(false)\n },\n onPointerMove() {\n setPointer(true)\n },\n style: {\n position: floating.strategy,\n left: floating.x || 0,\n top: floating.y || 0,\n width,\n maxHeight,\n zIndex,\n },\n },\n },\n ]\n )\n\n function getLabelProps() {\n return {\n $hoverable: false,\n }\n }\n\n function getMultiInputProps(): React.AriaAttributes &\n React.InputHTMLAttributes<HTMLInputElement> & {\n ref: React.Ref<HTMLInputElement>\n } {\n return {\n ref: searchRef,\n placeholder: isEmpty() ? placeholder : '',\n disabled,\n 'aria-controls': listId,\n onKeyDown(e) {\n if (e.key === 'Tab') {\n if (open) {\n e.preventDefault()\n e.stopPropagation()\n floating.refs.floating.current?.focus()\n }\n }\n },\n onChange(e) {\n setSearchValue(e.currentTarget.value)\n setActiveTokenIndex(null)\n },\n style: {\n opacity: activeTokenIndex === null ? 1 : 0,\n },\n }\n }\n\n function getMultiValueProps(index: number) {\n return {\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n if (isMultiple(multiple, value)) {\n setValue(value.filter((_, i) => i !== index))\n }\n },\n }\n }\n\n function getSearchContainerProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setSearchHeight(el?.clientHeight ?? 0)\n },\n }\n }\n\n function getSearchProps() {\n return {\n 'aria-controls': listId,\n onChange(value: string) {\n setSearchValue(value)\n setActiveTokenIndex(null)\n },\n placeholder: i18n.t('core.select.search'),\n }\n }\n\n function getHeaderProps() {\n return {\n ref: (el: HTMLElement | null) => {},\n }\n }\n\n function getFooterProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setFooterHeight(el?.clientHeight ?? 0)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key !== 'Escape') {\n e.stopPropagation()\n }\n },\n }\n }\n\n function getEmptyMessageProps() {\n return {\n emptyMessage,\n }\n }\n\n function getClearProps() {\n return {\n 'aria-hidden': true,\n 'aria-label': i18n.t('core.select.clear'),\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n setActiveTokenIndex(null)\n setValue(multiple ? [] : null)\n setOpen(true)\n },\n }\n }\n\n function getMenuProps() {\n return {\n scrollable: false,\n style: {\n height: listContainerHeight,\n },\n }\n }\n\n function getVirtuosoProps(): VirtuosoProps<{}, {}> {\n const atBottomStateChange = (atBottom: boolean) => {\n if (atBottom) {\n onScrollBottom()\n }\n }\n\n return {\n role: 'listbox',\n id: search ? overlayId : listId,\n data: draggable ? queriedDraggableOptions : options,\n components: {\n Item: components?.Item as any, // TODO fix type\n },\n initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,\n style: {\n flex: '1 1 auto',\n },\n tabIndex: -1,\n totalListHeightChanged: setListHeight,\n atBottomStateChange,\n }\n }\n\n const onDragEnd = React.useCallback((result) => {\n if (!result.destination) {\n return\n }\n if (result.source.index === result.destination.index) {\n return\n }\n\n const startIndex = result.source.index\n const destinationIndex = result.destination.index\n\n setDraggableOptions((options) => {\n const { nextOptions, prevGroup, nextGroup } = reorder(\n options,\n startIndex,\n destinationIndex\n )\n\n const adjustedOptions =\n prevGroup !== nextGroup\n ? nextOptions.map((option, index) => {\n if (index === destinationIndex) {\n return setOptionGroup(option, nextGroup)\n }\n return option\n })\n : nextOptions\n\n if (typeof onManualSort === 'function') {\n setTimeout(() => {\n onManualSort(\n adjustedOptions.filter((option) => !getOptionIsOptgroup(option))\n )\n }, 0)\n }\n\n return adjustedOptions\n })\n }, [])\n\n // run effect when the `open` state changes\n //\n // if it was closed and is now open, reset the highlighted index to be\n // the first selectable option\n //\n // if it was open and is now closed, reset the search value and focused token index\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() =>\n selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex()\n )\n } else {\n setSearchValue(() => '')\n setActiveTokenIndex(() => null)\n }\n }, [open])\n\n // run the effect when user enters a serach value\n //\n // if the select is currently open then reset highlighted item to be the first\n // selectable option\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() => getFirstSelectableOptionIndex())\n }\n }, [searchValue])\n\n // when we change the value then close the overlay, but only if we have\n // actually selected a value\n //\n // multiple mode forces the overlay to stay open\n React.useEffect(() => {\n if (!multiple && value !== null) {\n setOpen(() => false)\n }\n }, [value])\n\n // recreate the array to hold dom refs when our options change\n React.useEffect(() => {\n navigationList.current = [...Array(options.length).fill(null)]\n }, [options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n virtuoso.current?.scrollIntoView({ index: activeMenuIndex })\n }\n }\n }, [activeMenuIndex, open])\n\n return {\n config: {\n block,\n disabled,\n draggable,\n emptyMessage,\n error,\n footer,\n header,\n placeholder,\n preset,\n presetProps,\n selectionStyle,\n tabIndex,\n loading,\n multiple,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setSearchValue: setSearchValue,\n sourceOptions,\n value,\n width,\n },\n props: {\n clear: getClearProps,\n emptyMessage: getEmptyMessageProps,\n footer: getFooterProps,\n header: getHeaderProps,\n item: getItemProps,\n label: getLabelProps,\n menu: getMenuProps,\n multiInput: getMultiInputProps,\n overlay: getFloatingProps,\n search: getSearchProps,\n searchContainer: getSearchContainerProps,\n tokenClear: getMultiValueProps,\n trigger: getReferenceProps,\n virtuoso: getVirtuosoProps,\n },\n option: {\n group: getOptionGroup,\n isBatch: getOptionIsBatch,\n isSelected: getOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n label: getOptionLabel,\n value: getOptionValue,\n },\n refs: {\n floating,\n navigationList,\n virtuoso,\n },\n }\n}\n\nexport const SuperSelectContext = React.createContext<SuperSelectApi | null>(\n null\n)\n\nexport function useSuperSelectContext() {\n const ctx = React.useContext(SuperSelectContext)\n\n if (!ctx) {\n throw new Error('Invalid SuperSelectContext')\n }\n\n return ctx as SuperSelectApi\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSuperSelect.js","names":["autoUpdate","flip","offset","size","useClick","useDismiss","useFloating","useInteractions","useListNavigation","useId","debounce","uniq","React","ulid","useI18nContext","useZIndexContext","spacing","defaultComponents","draggableOptionIdSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionsSortingAlgorithm","isMultiple","removeEmptyOptGroups","reorder","sortOptgroups","listContainerVerticalPadding","sm","noop","defaultGetOptionValue","option","value","defaultGetOptionIsBatch","Array","isArray","defaultGetOptionIsDisabled","_option$disabled","disabled","defaultGetOptionGroup","_option$group","group","defaultSetOptionGroup","_objectSpread","defaultGetOptionLabel","_option$label","label","stringContains","str1","str2","toLowerCase","includes","useTokenNavigation","context","_ref","arguments","length","undefined","_ref$enabled","enabled","_ref$value","_ref$activeIndex","activeIndex","_ref$onNavigate","onNavigate","_ref$onChange","onChange","reference","onKeyDown","e","key","Math","max","repeat","nextVal","filter","_","i","useKeyboardSelection","_ref2","_ref2$enabled","_ref2$onSelect","onSelect","floating","useSuperSelect","_ref3","_ref3$block","block","customComponents","components","defaultValue","_ref3$disabled","_ref3$draggable","draggable","_ref3$emptyMessage","emptyMessage","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","_ref3$options","options","sourceOptions","placeholder","_ref3$preset","preset","presetProps","_ref3$search","search","_ref3$selectionStyle","selectionStyle","_ref3$setOptionGroup","setOptionGroup","_ref3$sort","sort","_ref3$tabIndex","tabIndex","value_","_ref3$overlayMatchesT","overlayMatchesTriggerWidth","ariaLabel","useEffect","isUsingDefaultGetter","isUsingDefaultSetter","console","warn","i18n","initialValue","_React$useState","useState","_React$useState2","_slicedToArray","val","setVal","setValue","v","navigationList","useRef","virtuoso","searchRef","overlayId","listId","_React$useState3","_React$useState4","open","setOpen","_React$useState5","_React$useState6","pointer","setPointer","_React$useState7","_React$useState8","width","setWidth","_React$useState9","_React$useState10","maxHeight","setMaxHeight","_React$useState11","_React$useState12","listHeight","setListHeight","_React$useState13","_React$useState14","searchHeight","setSearchHeight","_React$useState15","_React$useState16","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState17","_React$useState18","searchValue","setSearchValue_","setSearchValue","_React$useState19","_React$useState20","activeMenuIndex","setActiveMenuIndex","_React$useState21","_React$useState22","activeTokenIndex","setActiveTokenIndex","sortOptions","useMemo","formatBatchOption","enforceOptionsSortingOrder","useCallback","groupAndSort","opts","_collectGroupsInOrder","groups","groupedOptions","Object","entries","_ref4","_ref5","_ref6","groupA","_ref7","groupB","flatMap","_ref8","_ref9","groupName","groupOptions","deriveOptionsSortingOrder","_collectGroupsInOrder2","groupAndSortAlgorithm","queried","opt","_toConsumableArray","map","_React$useState23","_React$useState24","draggableOptions","setDraggableOptions","_defineProperty","queriedDraggableOptions","groupIndices","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","concat","onKeyboardSelect","getOptionIsSelected","isEmpty","boundWidthRef","current","whileElementsMounted","_len","args","_key","apply","animationFrame","strategy","middleware","_ref10","rects","mainAxis","crossAxis","_ref11","availableHeight","elements","getBoundingClientRect","padding","_useZIndexContext","zIndex","_useInteractions","keyboardHandlers","disabledIndices","listRef","loop","virtual","$block","$disabled","$error","$hasClearIcon","$loading","$multiple","$open","$placeholder","role","id","onPointerMove","style","position","left","x","top","y","getReferenceProps","getFloatingProps","getItemProps","getLabelProps","$hoverable","getMultiInputProps","ref","_floating$refs$floati","preventDefault","stopPropagation","refs","focus","currentTarget","opacity","getMultiValueProps","index","onClick","getSearchContainerProps","el","_el$clientHeight","clientHeight","getSearchProps","t","getHeaderProps","getFooterProps","_el$clientHeight2","getEmptyMessageProps","getClearProps","getMenuProps","scrollable","height","getVirtuosoProps","atBottomStateChange","atBottom","data","Item","initialTopMostItemIndex","flex","totalListHeightChanged","onDragEnd","result","destination","source","startIndex","destinationIndex","_reorder","nextOptions","prevGroup","nextGroup","adjustedOptions","setTimeout","fill","useLayoutEffect","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isSelected","isDisabled","isOptgroup","SuperSelectContext","createContext","useSuperSelectContext","ctx","useContext","Error"],"sources":["../../src/SuperSelect/useSuperSelect.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from '@floating-ui/react'\nimport {\n autoUpdate,\n flip,\n offset,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useListNavigation,\n} from '@floating-ui/react'\nimport { useId } from '@react-aria/utils'\nimport debounce from 'lodash.debounce'\nimport uniq from 'lodash.uniq'\nimport React from 'react'\nimport type { VirtuosoHandle, VirtuosoProps } from 'react-virtuoso'\nimport { ulid } from 'ulid'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { spacing } from '../_styles/spacing'\nimport * as defaultComponents from './SuperSelect.components'\nimport { draggableOptionIdSymbol } from './SuperSelect.constants'\nimport { extendedSelectMenuWidth } from './SuperSelect.styles'\nimport type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\n SuperSelectValue,\n SuperSelectValuePrimitive,\n TokenNavigationProps,\n} from './SuperSelect.types'\nimport {\n collectGroupsInOrderOfOccurrence,\n createOptgroup,\n getBatchOptionFormatter,\n getIsAllOptionsUngrouped,\n getOptionIsOptgroup,\n getOptionsSortingAlgorithm,\n isMultiple,\n removeEmptyOptGroups,\n reorder,\n sortOptgroups,\n} from './SuperSelect.utils'\n\nconst listContainerVerticalPadding = spacing.sm * 2\n\nfunction noop() {}\n\nfunction defaultGetOptionValue(option: SuperSelectOption) {\n return option?.value\n}\n\nfunction defaultGetOptionIsBatch(option: SuperSelectOption): boolean {\n return Array.isArray(option?.value)\n}\n\nfunction defaultGetOptionIsDisabled(option: SuperSelectOption): boolean {\n return option?.disabled ?? false\n}\n\nfunction defaultGetOptionGroup(option: SuperSelectOption): string {\n return option?.group ?? ''\n}\n\nfunction defaultSetOptionGroup(\n option: SuperSelectOption,\n group: string\n): SuperSelectOption {\n return {\n ...option,\n group,\n }\n}\n\nfunction defaultGetOptionLabel(option: SuperSelectOption): string {\n return option?.label ?? ''\n}\n\nfunction stringContains(str1: string, str2: string) {\n return str1.toLowerCase().includes(str2.toLowerCase())\n}\n\nfunction useTokenNavigation(\n context: FloatingContext<HTMLElement>,\n {\n enabled = true,\n value = [],\n activeIndex = null,\n onNavigate = noop,\n onChange = noop,\n }: TokenNavigationProps = {}\n): ElementProps {\n return {\n reference: {\n onKeyDown(e) {\n if (!enabled || !Array.isArray(value)) {\n return\n }\n\n if (e.key === 'ArrowLeft') {\n if (activeIndex !== null) {\n onNavigate(Math.max(0, activeIndex - 1))\n } else if (value.length > 0) {\n onNavigate(value.length - 1)\n }\n } else if (e.key === 'ArrowRight') {\n if (activeIndex !== null) {\n if (activeIndex === value.length - 1) {\n onNavigate(null)\n } else {\n onNavigate(activeIndex + 1)\n }\n }\n } else if (e.key === 'Backspace') {\n if (!e.repeat) {\n if (activeIndex !== null) {\n const nextVal = value.filter((_, i) => i !== activeIndex)\n\n onChange(nextVal)\n\n if (activeIndex >= nextVal.length) {\n onNavigate(null)\n }\n } else if (value.length > 0) {\n onChange(value.filter((_, i) => i !== value.length - 1))\n }\n }\n }\n },\n },\n }\n}\n\nfunction useKeyboardSelection(\n context: FloatingContext<HTMLElement>,\n { enabled = true, onSelect = () => {} }: KeyboardSelectionProps = {}\n): ElementProps {\n function onKeyDown(e: React.KeyboardEvent) {\n if (!enabled) {\n return\n }\n\n if (e.key === 'Enter') {\n onSelect()\n }\n }\n\n return {\n reference: {\n onKeyDown,\n },\n floating: {\n onKeyDown,\n },\n }\n}\n\nexport function useSuperSelect({\n block = false,\n components: customComponents,\n defaultValue,\n disabled = false,\n draggable = false,\n emptyMessage = 'No results',\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n options: sourceOptions = [],\n placeholder,\n preset = '',\n presetProps,\n search = true,\n selectionStyle = 'highlight',\n setOptionGroup = defaultSetOptionGroup,\n sort = true,\n tabIndex = 0,\n value: value_,\n overlayMatchesTriggerWidth = true,\n 'aria-label': ariaLabel,\n}: SuperSelectConfig) {\n React.useEffect(() => {\n if (!draggable) {\n return\n }\n\n const isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup\n const isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup\n\n if (\n (isUsingDefaultGetter && !isUsingDefaultSetter) ||\n (!isUsingDefaultGetter && isUsingDefaultSetter)\n ) {\n console.warn(\n `SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.`\n )\n }\n }, [draggable, getOptionGroup, setOptionGroup])\n\n const i18n = useI18nContext()\n\n const initialValue = defaultValue ?? (multiple ? [] : null)\n const [val, setVal] = React.useState<SuperSelectValue>(initialValue)\n const value = value_ !== undefined ? value_ : val\n function setValue(v: SuperSelectValue) {\n if (!value_) {\n setVal(v)\n }\n\n if (onChange) {\n onChange(v)\n }\n }\n\n const navigationList = React.useRef<Array<HTMLElement | null>>([])\n const virtuoso = React.useRef<VirtuosoHandle>(null)\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const overlayId = useId() // TODO use React 18 useId\n const listId = useId() // TODO use React 18 useId\n\n const [open, setOpen] = React.useState(false)\n const [pointer, setPointer] = React.useState(false)\n const [width, setWidth] = React.useState(248)\n const [maxHeight, setMaxHeight] = React.useState(248)\n const [listHeight, setListHeight] = React.useState(0)\n const [searchHeight, setSearchHeight] = React.useState(0)\n const [footerHeight, setFooterHeight] = React.useState(0)\n const listContainerHeight = Math.min(\n maxHeight - searchHeight - footerHeight + listContainerVerticalPadding,\n listHeight + listContainerVerticalPadding\n )\n const [searchValue, setSearchValue_] = React.useState('')\n const setSearchValue = debounce(setSearchValue_, 250) // TODO use React 18 useDeferredValue\n\n const [activeMenuIndex, setActiveMenuIndex] = React.useState<number | null>(\n null\n )\n const [activeTokenIndex, setActiveTokenIndex] = React.useState<number | null>(\n null\n )\n\n const components = {\n ...defaultComponents,\n ...(customComponents || {}),\n }\n\n // TODO #memogetters: consider having getOption... getter functions memoized by consumers\n // Until then, exclude these callbacks from effect and memo dependencies\n const sortOptions = React.useMemo(\n () => getOptionsSortingAlgorithm({ getOptionIsBatch, getOptionLabel }),\n // skip `getOptionIsBatch` and `getOptionLabel`\n []\n )\n\n const formatBatchOption = React.useMemo(\n () =>\n getBatchOptionFormatter({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }),\n // skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters\n [value, multiple]\n )\n\n // collect groups, sort them and populate them with options, and sort the options inside the groups\n const enforceOptionsSortingOrder = React.useCallback(\n function groupAndSort(opts: SuperSelectOption[]) {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts.sort(sortOptions)\n }\n\n return Object.entries(groupedOptions)\n .sort(([groupA], [groupB]) => sortOptgroups(groupA, groupB))\n .flatMap(([groupName, groupOptions]) =>\n createOptgroup(groupName, groupOptions.sort(sortOptions))\n )\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n [sortOptions]\n )\n\n // collect groups and populate them with options\n const deriveOptionsSortingOrder = React.useCallback(\n (opts: SuperSelectOption[]) => {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts\n }\n\n // display optgroups in the order of occurrence, as they are considered pre-sorted\n return groups.flatMap((group) => {\n const groupOptions = groupedOptions[group]\n\n return createOptgroup(group, groupOptions)\n })\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n []\n )\n\n const groupAndSortAlgorithm = React.useMemo(\n () => (sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder),\n [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]\n )\n\n const options = React.useMemo(\n () => {\n const queried = searchValue\n ? sourceOptions.filter((opt) =>\n stringContains(getOptionLabel(opt), searchValue)\n )\n : [...sourceOptions] // make a copy of source options to prevent the mutation when sorting\n\n return groupAndSortAlgorithm(queried).map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]\n )\n\n const [draggableOptions, setDraggableOptions] = React.useState<\n SuperSelectOption[]\n >([])\n\n React.useEffect(\n () => {\n if (!draggable) {\n return\n }\n // make a copy of source options to prevent the mutation when sorting\n const opts = groupAndSortAlgorithm(\n sourceOptions.map((opt) => ({\n ...opt,\n [draggableOptionIdSymbol]: ulid(),\n }))\n )\n setDraggableOptions(opts)\n },\n // in draggable mode, sourceOptions must be memoized, othewise reorder will not work\n [draggable, sourceOptions, groupAndSortAlgorithm]\n )\n\n const queriedDraggableOptions = React.useMemo(\n () => {\n if (!draggable) {\n return []\n }\n\n const queried = searchValue\n ? removeEmptyOptGroups(\n draggableOptions.filter((opt) => {\n if (!getOptionIsOptgroup(opt)) {\n return stringContains(getOptionLabel(opt), searchValue)\n }\n return true\n })\n )\n : draggableOptions\n\n return queried.map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [draggable, draggableOptions, searchValue, formatBatchOption]\n )\n\n const groupIndices = React.useMemo(() => {\n return options.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [options])\n\n const selectedIndex = React.useMemo(() => {\n return options.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [options, value])\n\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n return options.find((option) => getOptionValue(option) === val)\n }, [options, value])\n\n const selectedLabel = React.useMemo(() => {\n return selectedOption ? getOptionLabel(selectedOption) : ''\n }, [selectedOption])\n\n function isSelectableOption(o: SuperSelectOption) {\n return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o)\n }\n\n function getFirstSelectableOptionIndex() {\n return options.findIndex(isSelectableOption)\n }\n\n function onSelect(option: SuperSelectOption) {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n\n if (isMultiple(multiple, value)) {\n if (Array.isArray(optionValue)) {\n setValue(uniq([...value, ...optionValue]))\n } else {\n setValue(\n value.includes(optionValue)\n ? value.filter(\n (val: SuperSelectValuePrimitive) => val !== optionValue\n )\n : [...value, optionValue]\n )\n }\n } else {\n setValue(optionValue)\n }\n }\n\n function onKeyboardSelect() {\n if (activeMenuIndex !== null) {\n const option = options[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function getOptionIsSelected(option: SuperSelectOption) {\n return Array.isArray(value)\n ? value.includes(getOptionValue(option))\n : value === getOptionValue(option)\n }\n\n function isEmpty() {\n return Array.isArray(value) ? value.length === 0 : value === null\n }\n\n const boundWidthRef = React.useRef(open)\n\n React.useEffect(() => {\n boundWidthRef.current = open\n }, [open])\n\n const floating = useFloating<HTMLElement>({\n open,\n onOpenChange: (open) => {\n setOpen(open)\n onOpenChange(open)\n },\n whileElementsMounted: (...args) =>\n /* { animationFrame: true } is used to fix ResizeObserver issue with @floating-ui/react */\n autoUpdate(...args, { animationFrame: true }),\n strategy: 'fixed',\n middleware: [\n offset(({ rects }) => {\n return {\n mainAxis: 2,\n crossAxis: overlayMatchesTriggerWidth\n ? 0\n : (rects.floating.width - rects.reference.width) / 2,\n }\n }),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(\n overlayMatchesTriggerWidth\n ? elements.reference.getBoundingClientRect().width\n : extendedSelectMenuWidth\n )\n }\n setMaxHeight(availableHeight)\n },\n padding: 10,\n }),\n ],\n })\n\n const { value: zIndex } = useZIndexContext()\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [\n useClick(floating.context, {\n enabled: !disabled,\n keyboardHandlers: false,\n }),\n useDismiss(floating.context, {\n enabled: !disabled,\n }),\n useListNavigation(floating.context, {\n activeIndex: activeMenuIndex,\n disabledIndices: groupIndices,\n enabled: !disabled,\n listRef: navigationList,\n loop: true,\n onNavigate: (i) => setActiveMenuIndex(() => i),\n selectedIndex,\n virtual: true,\n }),\n useTokenNavigation(floating.context, {\n activeIndex: activeTokenIndex,\n enabled: !disabled && multiple && searchValue === '',\n onChange: setValue,\n onNavigate: (i) => setActiveTokenIndex(() => i),\n value,\n }),\n useKeyboardSelection(floating.context, {\n enabled: !disabled,\n onSelect: onKeyboardSelect,\n }),\n {\n reference: {\n $block: block,\n $disabled: disabled,\n $error: error,\n $hasClearIcon: !disabled && !loading,\n $loading: loading,\n $multiple: multiple,\n $open: open,\n $placeholder: !selectedLabel,\n 'aria-controls': search ? overlayId : listId,\n 'aria-expanded': open,\n 'aria-haspopup': search ? 'dialog' : 'listbox',\n ...(ariaLabel && { 'aria-label': ariaLabel }),\n onKeyDown() {\n setPointer(false)\n },\n role: 'combobox',\n search,\n tabIndex: disabled ? -1 : tabIndex,\n } as any, // TODO fix type\n floating: {\n role: search ? 'dialog' : 'none',\n id: overlayId,\n onKeyDown() {\n setPointer(false)\n },\n onPointerMove() {\n setPointer(true)\n },\n style: {\n position: floating.strategy,\n left: floating.x || 0,\n top: floating.y || 0,\n width,\n maxHeight,\n zIndex,\n },\n },\n },\n ]\n )\n\n function getLabelProps() {\n return {\n $hoverable: false,\n }\n }\n\n function getMultiInputProps(): React.AriaAttributes &\n React.InputHTMLAttributes<HTMLInputElement> & {\n ref: React.Ref<HTMLInputElement>\n } {\n return {\n ref: searchRef,\n placeholder: isEmpty() ? placeholder : '',\n disabled,\n 'aria-controls': listId,\n onKeyDown(e) {\n if (e.key === 'Tab') {\n if (open) {\n e.preventDefault()\n e.stopPropagation()\n floating.refs.floating.current?.focus()\n }\n }\n },\n onChange(e) {\n setSearchValue(e.currentTarget.value)\n setActiveTokenIndex(null)\n },\n style: {\n opacity: activeTokenIndex === null ? 1 : 0,\n },\n }\n }\n\n function getMultiValueProps(index: number) {\n return {\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n if (isMultiple(multiple, value)) {\n setValue(value.filter((_, i) => i !== index))\n }\n },\n }\n }\n\n function getSearchContainerProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setSearchHeight(el?.clientHeight ?? 0)\n },\n }\n }\n\n function getSearchProps() {\n return {\n 'aria-controls': listId,\n onChange(value: string) {\n setSearchValue(value)\n setActiveTokenIndex(null)\n },\n placeholder: i18n.t('core.select.search'),\n }\n }\n\n function getHeaderProps() {\n return {\n ref: (el: HTMLElement | null) => {},\n }\n }\n\n function getFooterProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setFooterHeight(el?.clientHeight ?? 0)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key !== 'Escape') {\n e.stopPropagation()\n }\n },\n }\n }\n\n function getEmptyMessageProps() {\n return {\n emptyMessage,\n }\n }\n\n function getClearProps() {\n return {\n 'aria-hidden': true,\n 'aria-label': i18n.t('core.select.clear'),\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n setActiveTokenIndex(null)\n setValue(multiple ? [] : null)\n setOpen(true)\n },\n }\n }\n\n function getMenuProps() {\n return {\n scrollable: false,\n style: {\n height: listContainerHeight,\n },\n }\n }\n\n function getVirtuosoProps(): VirtuosoProps<{}, {}> {\n const atBottomStateChange = (atBottom: boolean) => {\n if (atBottom) {\n onScrollBottom()\n }\n }\n\n return {\n role: 'listbox',\n id: search ? overlayId : listId,\n data: draggable ? queriedDraggableOptions : options,\n components: {\n Item: components?.Item as any, // TODO fix type\n },\n initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,\n style: {\n flex: '1 1 auto',\n },\n tabIndex: -1,\n totalListHeightChanged: setListHeight,\n atBottomStateChange,\n }\n }\n\n const onDragEnd = React.useCallback((result) => {\n if (!result.destination) {\n return\n }\n if (result.source.index === result.destination.index) {\n return\n }\n\n const startIndex = result.source.index\n const destinationIndex = result.destination.index\n\n setDraggableOptions((options) => {\n const { nextOptions, prevGroup, nextGroup } = reorder(\n options,\n startIndex,\n destinationIndex\n )\n\n const adjustedOptions =\n prevGroup !== nextGroup\n ? nextOptions.map((option, index) => {\n if (index === destinationIndex) {\n return setOptionGroup(option, nextGroup)\n }\n return option\n })\n : nextOptions\n\n if (typeof onManualSort === 'function') {\n setTimeout(() => {\n onManualSort(\n adjustedOptions.filter((option) => !getOptionIsOptgroup(option))\n )\n }, 0)\n }\n\n return adjustedOptions\n })\n }, [])\n\n // run effect when the `open` state changes\n //\n // if it was closed and is now open, reset the highlighted index to be\n // the first selectable option\n //\n // if it was open and is now closed, reset the search value and focused token index\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() =>\n selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex()\n )\n } else {\n setSearchValue(() => '')\n setActiveTokenIndex(() => null)\n }\n }, [open])\n\n // run the effect when user enters a serach value\n //\n // if the select is currently open then reset highlighted item to be the first\n // selectable option\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() => getFirstSelectableOptionIndex())\n }\n }, [searchValue])\n\n // when we change the value then close the overlay, but only if we have\n // actually selected a value\n //\n // multiple mode forces the overlay to stay open\n React.useEffect(() => {\n if (!multiple && value !== null) {\n setOpen(() => false)\n }\n }, [value])\n\n // recreate the array to hold dom refs when our options change\n React.useEffect(() => {\n navigationList.current = [...Array(options.length).fill(null)]\n }, [options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n virtuoso.current?.scrollIntoView({ index: activeMenuIndex })\n }\n }\n }, [activeMenuIndex, open])\n\n return {\n config: {\n block,\n disabled,\n draggable,\n emptyMessage,\n error,\n footer,\n header,\n placeholder,\n preset,\n presetProps,\n selectionStyle,\n tabIndex,\n loading,\n multiple,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setSearchValue: setSearchValue,\n sourceOptions,\n value,\n width,\n },\n props: {\n clear: getClearProps,\n emptyMessage: getEmptyMessageProps,\n footer: getFooterProps,\n header: getHeaderProps,\n item: getItemProps,\n label: getLabelProps,\n menu: getMenuProps,\n multiInput: getMultiInputProps,\n overlay: getFloatingProps,\n search: getSearchProps,\n searchContainer: getSearchContainerProps,\n tokenClear: getMultiValueProps,\n trigger: getReferenceProps,\n virtuoso: getVirtuosoProps,\n },\n option: {\n group: getOptionGroup,\n isBatch: getOptionIsBatch,\n isSelected: getOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n label: getOptionLabel,\n value: getOptionValue,\n },\n refs: {\n floating,\n navigationList,\n virtuoso,\n },\n }\n}\n\nexport const SuperSelectContext = React.createContext<SuperSelectApi | null>(\n null\n)\n\nexport function useSuperSelectContext() {\n const ctx = React.useContext(SuperSelectContext)\n\n if (!ctx) {\n throw new Error('Invalid SuperSelectContext')\n }\n\n return ctx as SuperSelectApi\n}\n"],"mappings":"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"}
|