@procore/core-react 11.22.0 → 11.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.js +32 -15
- package/dist/@types/files.d.js +2 -0
- package/dist/@types/files.d.js.map +1 -0
- package/dist/@types/global.d.js +2 -0
- package/dist/@types/global.d.js.map +1 -0
- package/dist/Avatar/Avatar.js +91 -80
- package/dist/Avatar/Avatar.js.map +1 -1
- package/dist/Avatar/Avatar.styles.js +57 -29
- package/dist/Avatar/Avatar.styles.js.map +1 -1
- package/dist/Avatar/Avatar.types.js.map +1 -1
- package/dist/Avatar/index.js +1 -0
- package/dist/Avatar/index.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.constants.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.js +306 -171
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +30 -12
- package/dist/AvatarStack/AvatarStack.styles.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.types.js.map +1 -1
- package/dist/AvatarStack/index.js +1 -0
- package/dist/AvatarStack/index.js.map +1 -1
- package/dist/Badge/Badge.js +10 -16
- package/dist/Badge/Badge.js.map +1 -1
- package/dist/Badge/Badge.styles.js +8 -7
- package/dist/Badge/Badge.styles.js.map +1 -1
- package/dist/Badge/Badge.types.js.map +1 -1
- package/dist/Badge/index.js +1 -0
- package/dist/Badge/index.js.map +1 -1
- package/dist/Banner/Banner.js +211 -110
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.js +85 -56
- package/dist/Banner/Banner.styles.js.map +1 -1
- package/dist/Banner/Banner.types.js.map +1 -1
- package/dist/Banner/index.js +2 -1
- package/dist/Banner/index.js.map +1 -1
- package/dist/Box/Box.js +85 -55
- package/dist/Box/Box.js.map +1 -1
- package/dist/Box/Box.styles.js +22 -24
- package/dist/Box/Box.styles.js.map +1 -1
- package/dist/Box/Box.types.js.map +1 -1
- package/dist/Box/index.js +1 -0
- package/dist/Box/index.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +67 -65
- package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +28 -21
- package/dist/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.types.js +5 -5
- package/dist/Breadcrumbs/Breadcrumbs.types.js.map +1 -1
- package/dist/Breadcrumbs/index.js +1 -0
- package/dist/Breadcrumbs/index.js.map +1 -1
- package/dist/Button/Button.js +105 -63
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Button.styles.js +95 -81
- package/dist/Button/Button.styles.js.map +1 -1
- package/dist/Button/Button.types.js.map +1 -1
- package/dist/Button/index.js.map +1 -1
- package/dist/Calendar/Calendar.js +244 -125
- package/dist/Calendar/Calendar.js.map +1 -1
- package/dist/Calendar/Calendar.styles.js +52 -24
- package/dist/Calendar/Calendar.styles.js.map +1 -1
- package/dist/Calendar/Calendar.types.js.map +1 -1
- package/dist/Calendar/index.js +1 -0
- package/dist/Calendar/index.js.map +1 -1
- package/dist/Card/Card.js +22 -30
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/Card.styles.js +12 -12
- package/dist/Card/Card.styles.js.map +1 -1
- package/dist/Card/Card.types.js.map +1 -1
- package/dist/Card/index.js +1 -0
- package/dist/Card/index.js.map +1 -1
- package/dist/Changelog.mdx +6 -0
- package/dist/Checkbox/Checkbox.js +56 -33
- package/dist/Checkbox/Checkbox.js.map +1 -1
- package/dist/Checkbox/Checkbox.styles.js +103 -87
- package/dist/Checkbox/Checkbox.styles.js.map +1 -1
- package/dist/Checkbox/Checkbox.types.js.map +1 -1
- package/dist/Checkbox/index.js +1 -0
- package/dist/Checkbox/index.js.map +1 -1
- package/dist/CheckboxGroup/CheckboxGroup.js +24 -31
- package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/dist/CheckboxGroup/CheckboxGroup.types.js.map +1 -1
- package/dist/CheckboxGroup/index.js +1 -0
- package/dist/CheckboxGroup/index.js.map +1 -1
- package/dist/ClickOutside/ClickOutside.js +38 -38
- package/dist/ClickOutside/ClickOutside.js.map +1 -1
- package/dist/ClickOutside/index.js.map +1 -1
- package/dist/ContactItem/ContactItem.js +56 -45
- package/dist/ContactItem/ContactItem.js.map +1 -1
- package/dist/ContactItem/ContactItem.styles.js +31 -21
- package/dist/ContactItem/ContactItem.styles.js.map +1 -1
- package/dist/ContactItem/ContactItem.types.js.map +1 -1
- package/dist/ContactItem/index.js +1 -0
- package/dist/ContactItem/index.js.map +1 -1
- package/dist/Content/Content.js +2 -13
- package/dist/Content/Content.js.map +1 -1
- package/dist/Content/Content.styles.js +9 -8
- package/dist/Content/Content.styles.js.map +1 -1
- package/dist/Content/index.js.map +1 -1
- package/dist/DateInput/DateInput.js +453 -347
- package/dist/DateInput/DateInput.js.map +1 -1
- package/dist/DateInput/DateInput.styles.js +42 -27
- package/dist/DateInput/DateInput.styles.js.map +1 -1
- package/dist/DateInput/DateInput.types.js.map +1 -1
- package/dist/DateInput/index.js +1 -1
- package/dist/DateInput/index.js.map +1 -1
- package/dist/DateSelect/DateSelect.js +148 -107
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DateSelect/DateSelect.types.js.map +1 -1
- package/dist/DateSelect/index.js +1 -0
- package/dist/DateSelect/index.js.map +1 -1
- package/dist/DetailPage/DetailPage.constants.js +42 -42
- package/dist/DetailPage/DetailPage.constants.js.map +1 -1
- package/dist/DetailPage/DetailPage.js +66 -62
- package/dist/DetailPage/DetailPage.js.map +1 -1
- package/dist/DetailPage/DetailPage.styles.js +30 -14
- package/dist/DetailPage/DetailPage.styles.js.map +1 -1
- package/dist/DetailPage/DetailPage.types.js.map +1 -1
- package/dist/DetailPage/RankedHeading.js +8 -8
- package/dist/DetailPage/RankedHeading.js.map +1 -1
- package/dist/DetailPage/index.js +1 -0
- package/dist/DetailPage/index.js.map +1 -1
- package/dist/Dropdown/Dropdown.js +193 -99
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/Dropdown.styles.js +21 -15
- package/dist/Dropdown/Dropdown.styles.js.map +1 -1
- package/dist/Dropdown/Dropdown.types.js.map +1 -1
- package/dist/Dropdown/index.js +1 -0
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.helpers.js +277 -239
- package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.js +234 -132
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +16 -9
- package/dist/DropdownFlyout/DropdownFlyout.styles.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
- package/dist/DropdownFlyout/index.js +1 -1
- package/dist/DropdownFlyout/index.js.map +1 -1
- package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js +10 -11
- package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js.map +1 -1
- package/dist/Dropzone/Dropzone.hooks.js +257 -211
- package/dist/Dropzone/Dropzone.hooks.js.map +1 -1
- package/dist/Dropzone/Dropzone.js +209 -156
- package/dist/Dropzone/Dropzone.js.map +1 -1
- package/dist/Dropzone/Dropzone.styles.js +54 -31
- package/dist/Dropzone/Dropzone.styles.js.map +1 -1
- package/dist/Dropzone/Dropzone.types.js +19 -11
- package/dist/Dropzone/Dropzone.types.js.map +1 -1
- package/dist/Dropzone/index.js +1 -0
- package/dist/Dropzone/index.js.map +1 -1
- package/dist/EmptyState/EmptyState.js +274 -116
- package/dist/EmptyState/EmptyState.js.map +1 -1
- package/dist/EmptyState/EmptyState.styles.js +33 -19
- package/dist/EmptyState/EmptyState.styles.js.map +1 -1
- package/dist/EmptyState/EmptyState.types.js.map +1 -1
- package/dist/EmptyState/index.js +1 -0
- package/dist/EmptyState/index.js.map +1 -1
- package/dist/Field/Field.js +26 -33
- package/dist/Field/Field.js.map +1 -1
- package/dist/Field/Field.styles.js +12 -8
- package/dist/Field/Field.styles.js.map +1 -1
- package/dist/Field/index.js.map +1 -1
- package/dist/FileList/FileList.js +83 -55
- package/dist/FileList/FileList.js.map +1 -1
- package/dist/FileList/FileList.styles.js +16 -9
- package/dist/FileList/FileList.styles.js.map +1 -1
- package/dist/FileList/FileList.types.js.map +1 -1
- package/dist/FileList/index.js +1 -0
- package/dist/FileList/index.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.js +69 -65
- package/dist/FileSelect/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +37 -16
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.types.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerModal.js +23 -31
- package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js +92 -63
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +12 -8
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js.map +1 -1
- package/dist/FileSelect/FileExplorer/useSidebarNavigation.js +40 -51
- package/dist/FileSelect/FileExplorer/useSidebarNavigation.js.map +1 -1
- package/dist/FileSelect/FileSelect.js +465 -324
- package/dist/FileSelect/FileSelect.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.js +8 -7
- package/dist/FileSelect/FileSelect.styles.js.map +1 -1
- package/dist/FileSelect/FileSelect.types.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js +93 -47
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +16 -14
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.types.js.map +1 -1
- package/dist/FileSelect/FileSelectDropzone/index.js +1 -0
- package/dist/FileSelect/FileSelectDropzone/index.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileToken.types.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.js +112 -90
- package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +8 -7
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js.map +1 -1
- package/dist/FileSelect/FileTokenList/index.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.js +270 -216
- package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.styles.js +32 -19
- package/dist/FileSelect/GridSource/GridSource.styles.js.map +1 -1
- package/dist/FileSelect/GridSource/GridSource.types.js.map +1 -1
- package/dist/FileSelect/GridSource/index.js +1 -0
- package/dist/FileSelect/GridSource/index.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.js +401 -314
- package/dist/FileSelect/LocalSource/LocalSource.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +18 -11
- package/dist/FileSelect/LocalSource/LocalSource.styles.js.map +1 -1
- package/dist/FileSelect/LocalSource/LocalSource.types.js.map +1 -1
- package/dist/FileSelect/LocalSource/index.js +1 -0
- package/dist/FileSelect/LocalSource/index.js.map +1 -1
- package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js +91 -69
- package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.js.map +1 -1
- package/dist/FileSelect/ProgressAnnouncer/ProgressAnnouncer.types.js.map +1 -1
- package/dist/FileSelect/ProgressAnnouncer/index.js.map +1 -1
- package/dist/FileSelect/SourceItem/SourceItem.js +66 -54
- package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +29 -24
- package/dist/FileSelect/SourceItem/SourceItem.styles.js.map +1 -1
- package/dist/FileSelect/SourceItem/SourceItem.test.js +53 -0
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js +175 -110
- package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +33 -23
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/ThumbnailList.types.js.map +1 -1
- package/dist/FileSelect/ThumbnailList/index.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.js +173 -135
- package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +4 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.types.js.map +1 -1
- package/dist/FileSelect/TreeSource/index.js +1 -0
- package/dist/FileSelect/TreeSource/index.js.map +1 -1
- package/dist/FileSelect/index.js +3 -1
- package/dist/FileSelect/index.js.map +1 -1
- package/dist/FileSelect/storyHelpers.d.ts +12 -0
- package/dist/FileSelect/storyHelpers.js +301 -139
- package/dist/FileSelect/storyHelpers.js.map +1 -1
- package/dist/FileToken/FileToken.js +103 -80
- package/dist/FileToken/FileToken.js.map +1 -1
- package/dist/FileToken/FileToken.styles.js +29 -21
- package/dist/FileToken/FileToken.styles.js.map +1 -1
- package/dist/FileToken/FileToken.types.js.map +1 -1
- package/dist/FileToken/index.js.map +1 -1
- package/dist/FilterToken/FilterToken.js +44 -34
- package/dist/FilterToken/FilterToken.js.map +1 -1
- package/dist/FilterToken/FilterToken.styles.js +12 -10
- package/dist/FilterToken/FilterToken.styles.js.map +1 -1
- package/dist/FilterToken/FilterToken.types.js.map +1 -1
- package/dist/FilterToken/index.js.map +1 -1
- package/dist/Flex/Flex.js +33 -25
- package/dist/Flex/Flex.js.map +1 -1
- package/dist/Flex/Flex.types.js.map +1 -1
- package/dist/Flex/index.js +1 -0
- package/dist/Flex/index.js.map +1 -1
- package/dist/FlexList/FlexList.js +52 -47
- package/dist/FlexList/FlexList.js.map +1 -1
- package/dist/FlexList/FlexList.styles.js +9 -11
- package/dist/FlexList/FlexList.styles.js.map +1 -1
- package/dist/FlexList/FlexList.types.js.map +1 -1
- package/dist/FlexList/index.js +1 -0
- package/dist/FlexList/index.js.map +1 -1
- package/dist/Form/Form.js +1348 -711
- package/dist/Form/Form.js.map +1 -1
- package/dist/Form/Form.styles.js +92 -43
- package/dist/Form/Form.styles.js.map +1 -1
- package/dist/Form/Form.types.js.map +1 -1
- package/dist/Form/closeWithConfirm.js +38 -31
- package/dist/Form/closeWithConfirm.js.map +1 -1
- package/dist/Form/index.js +2 -1
- package/dist/Form/index.js.map +1 -1
- package/dist/Form/stories/util.js +480 -385
- package/dist/Form/stories/util.js.map +1 -1
- package/dist/Grid/Grid.constants.js +13 -20
- package/dist/Grid/Grid.constants.js.map +1 -1
- package/dist/Grid/Grid.js +50 -44
- package/dist/Grid/Grid.js.map +1 -1
- package/dist/Grid/Grid.styles.js +95 -88
- package/dist/Grid/Grid.styles.js.map +1 -1
- package/dist/Grid/Grid.types.js.map +1 -1
- package/dist/Grid/Grid.utils.js +17 -9
- package/dist/Grid/Grid.utils.js.map +1 -1
- package/dist/Grid/index.js +1 -0
- package/dist/Grid/index.js.map +1 -1
- package/dist/GroupSelect/GroupSelect.js +210 -146
- package/dist/GroupSelect/GroupSelect.js.map +1 -1
- package/dist/GroupSelect/GroupSelect.styles.js +6 -8
- package/dist/GroupSelect/GroupSelect.styles.js.map +1 -1
- package/dist/GroupSelect/GroupSelect.types.js.map +1 -1
- package/dist/GroupSelect/index.js +1 -0
- package/dist/GroupSelect/index.js.map +1 -1
- package/dist/Input/Input.js +10 -25
- package/dist/Input/Input.js.map +1 -1
- package/dist/Input/Input.styles.js +10 -11
- package/dist/Input/Input.styles.js.map +1 -1
- package/dist/Input/Input.types.js.map +1 -1
- package/dist/Input/index.js +1 -0
- package/dist/Input/index.js.map +1 -1
- package/dist/Link/Link.js +10 -25
- package/dist/Link/Link.js.map +1 -1
- package/dist/Link/Link.styles.js +16 -17
- package/dist/Link/Link.styles.js.map +1 -1
- package/dist/Link/Link.types.js.map +1 -1
- package/dist/Link/index.js +1 -0
- package/dist/Link/index.js.map +1 -1
- package/dist/ListPage/ListPage.js +69 -51
- package/dist/ListPage/ListPage.js.map +1 -1
- package/dist/ListPage/ListPage.styles.js +44 -25
- package/dist/ListPage/ListPage.styles.js.map +1 -1
- package/dist/ListPage/ListPage.types.js.map +1 -1
- package/dist/ListPage/index.js.map +1 -1
- package/dist/Loader/Loader.js +24 -31
- package/dist/Loader/Loader.js.map +1 -1
- package/dist/Loader/Loader.styles.js +11 -11
- package/dist/Loader/Loader.styles.js.map +1 -1
- package/dist/Loader/Loader.types.js.map +1 -1
- package/dist/Loader/index.js.map +1 -1
- package/dist/Menu/Menu.js +332 -237
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/Menu/Menu.types.js.map +1 -1
- package/dist/Menu/index.js +1 -0
- package/dist/Menu/index.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.js +504 -311
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +71 -46
- package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
- package/dist/MenuImperative/index.js +1 -1
- package/dist/MenuImperative/index.js.map +1 -1
- package/dist/MenuImperative/sensors.js +232 -233
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/ChildRegistry.context.js +46 -33
- package/dist/Modal/ChildRegistry.context.js.map +1 -1
- package/dist/Modal/Modal.js +296 -193
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +76 -41
- package/dist/Modal/Modal.styles.js.map +1 -1
- package/dist/Modal/Modal.types.js.map +1 -1
- package/dist/Modal/index.js +1 -0
- package/dist/Modal/index.js.map +1 -1
- package/dist/Modal/storyHelpers.js +221 -149
- package/dist/Modal/storyHelpers.js.map +1 -1
- package/dist/Modal/useInitializeModalFocus.js +30 -29
- package/dist/Modal/useInitializeModalFocus.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.js +487 -324
- package/dist/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +29 -16
- package/dist/MultiSelect/MultiSelect.styles.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.test.js +250 -0
- package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
- package/dist/MultiSelect/index.js.map +1 -1
- package/dist/NextMenu/NextMenu.js +121 -55
- package/dist/NextMenu/NextMenu.js.map +1 -1
- package/dist/NextMenu/NextMenu.styles.js +13 -9
- package/dist/NextMenu/NextMenu.styles.js.map +1 -1
- package/dist/NextMenu/NextMenu.types.js.map +1 -1
- package/dist/NextMenu/NextMenuItem.js +23 -29
- package/dist/NextMenu/NextMenuItem.js.map +1 -1
- package/dist/NextMenu/sampleData.js +469 -179
- package/dist/NextMenu/sampleData.js.map +1 -1
- package/dist/NextTile/NextTile.js +174 -101
- package/dist/NextTile/NextTile.js.map +1 -1
- package/dist/NextTile/NextTile.types.js.map +1 -1
- package/dist/Notation/Notation.js +26 -45
- package/dist/Notation/Notation.js.map +1 -1
- package/dist/Notation/Notation.types.js +4 -4
- package/dist/Notation/Notation.types.js.map +1 -1
- package/dist/Notation/index.js +1 -0
- package/dist/Notation/index.js.map +1 -1
- package/dist/NumberInput/NumberInput.constants.js.map +1 -1
- package/dist/NumberInput/NumberInput.hooks.js +47 -41
- package/dist/NumberInput/NumberInput.hooks.js.map +1 -1
- package/dist/NumberInput/NumberInput.js +440 -338
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/NumberInput/NumberInput.styles.js +34 -18
- package/dist/NumberInput/NumberInput.styles.js.map +1 -1
- package/dist/NumberInput/NumberInput.types.js.map +1 -1
- package/dist/NumberInput/NumberInput.utils.js +436 -455
- package/dist/NumberInput/NumberInput.utils.js.map +1 -1
- package/dist/NumberInput/index.js +1 -0
- package/dist/NumberInput/index.js.map +1 -1
- package/dist/Overlay/Overlay.js +36 -35
- package/dist/Overlay/Overlay.js.map +1 -1
- package/dist/Overlay/OverlayArrow.js +27 -21
- package/dist/Overlay/OverlayArrow.js.map +1 -1
- package/dist/Overlay/OverlayArrow.styles.js +4 -6
- package/dist/Overlay/OverlayArrow.styles.js.map +1 -1
- package/dist/Overlay/index.js +1 -1
- package/dist/Overlay/index.js.map +1 -1
- package/dist/Overlay/useOverlay.js +29 -21
- package/dist/Overlay/useOverlay.js.map +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js +297 -205
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.test.js +483 -0
- package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
- package/dist/OverlayTrigger/a11yPresets.js +248 -185
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/OverlayTrigger/index.js +2 -1
- package/dist/OverlayTrigger/index.js.map +1 -1
- package/dist/PageLayout/PageLayout.constants.js.map +1 -1
- package/dist/PageLayout/PageLayout.js +324 -269
- package/dist/PageLayout/PageLayout.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.js +111 -71
- package/dist/PageLayout/PageLayout.styles.js.map +1 -1
- package/dist/PageLayout/PageLayout.types.js.map +1 -1
- package/dist/PageLayout/PageLayout.utils.js +37 -35
- package/dist/PageLayout/PageLayout.utils.js.map +1 -1
- package/dist/PageLayout/index.js +1 -0
- package/dist/PageLayout/index.js.map +1 -1
- package/dist/Pagination/Pagination.js +98 -65
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +20 -10
- package/dist/Pagination/Pagination.styles.js.map +1 -1
- package/dist/Pagination/Pagination.types.js.map +1 -1
- package/dist/Pagination/PaginationSelect.js +126 -96
- package/dist/Pagination/PaginationSelect.js.map +1 -1
- package/dist/Pagination/index.js +1 -0
- package/dist/Pagination/index.js.map +1 -1
- package/dist/Panel/Panel.js +207 -127
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/Panel/Panel.styles.js +61 -33
- package/dist/Panel/Panel.styles.js.map +1 -1
- package/dist/Panel/Panel.types.js.map +1 -1
- package/dist/Panel/index.js +1 -0
- package/dist/Panel/index.js.map +1 -1
- package/dist/Pill/Pill.colorPalette.js +40 -40
- package/dist/Pill/Pill.colorPalette.js.map +1 -1
- package/dist/Pill/Pill.js +32 -31
- package/dist/Pill/Pill.js.map +1 -1
- package/dist/Pill/Pill.styles.js +12 -11
- package/dist/Pill/Pill.styles.js.map +1 -1
- package/dist/Pill/Pill.types.js.map +1 -1
- package/dist/Pill/index.js +1 -0
- package/dist/Pill/index.js.map +1 -1
- package/dist/PillSelect/PillSelect.js +143 -77
- package/dist/PillSelect/PillSelect.js.map +1 -1
- package/dist/PillSelect/PillSelect.styles.js +18 -11
- package/dist/PillSelect/PillSelect.styles.js.map +1 -1
- package/dist/PillSelect/PillSelect.types.js.map +1 -1
- package/dist/PillSelect/index.js +1 -0
- package/dist/PillSelect/index.js.map +1 -1
- package/dist/Popover/Popover.js +57 -32
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/Popover.styles.js +12 -11
- package/dist/Popover/Popover.styles.js.map +1 -1
- package/dist/Popover/Popover.types.js.map +1 -1
- package/dist/Popover/index.js +1 -0
- package/dist/Popover/index.js.map +1 -1
- package/dist/Portal/Portal.js +14 -26
- package/dist/Portal/Portal.js.map +1 -1
- package/dist/Portal/Portal.styles.js +4 -6
- package/dist/Portal/Portal.styles.js.map +1 -1
- package/dist/Portal/Portal.types.js.map +1 -1
- package/dist/Portal/index.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +58 -50
- package/dist/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +18 -17
- package/dist/ProgressBar/ProgressBar.styles.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
- package/dist/ProgressBar/index.js +1 -0
- package/dist/ProgressBar/index.js.map +1 -1
- package/dist/RadioButton/RadioButton.js +21 -28
- package/dist/RadioButton/RadioButton.js.map +1 -1
- package/dist/RadioButton/RadioButton.styles.js +18 -14
- package/dist/RadioButton/RadioButton.styles.js.map +1 -1
- package/dist/RadioButton/RadioButton.types.js.map +1 -1
- package/dist/RadioButton/index.js +1 -0
- package/dist/RadioButton/index.js.map +1 -1
- package/dist/Required/Required.js +21 -32
- package/dist/Required/Required.js.map +1 -1
- package/dist/Required/Required.styles.js +18 -14
- package/dist/Required/Required.styles.js.map +1 -1
- package/dist/Required/Required.types.js.map +1 -1
- package/dist/Required/index.js +1 -0
- package/dist/Required/index.js.map +1 -1
- package/dist/Search/Search.hooks.js +59 -40
- package/dist/Search/Search.hooks.js.map +1 -1
- package/dist/Search/Search.js +60 -48
- package/dist/Search/Search.js.map +1 -1
- package/dist/Search/Search.styles.js +28 -11
- package/dist/Search/Search.styles.js.map +1 -1
- package/dist/Search/Search.types.js.map +1 -1
- package/dist/Search/index.js +1 -0
- package/dist/Search/index.js.map +1 -1
- package/dist/Section/Section.js +127 -102
- package/dist/Section/Section.js.map +1 -1
- package/dist/Section/Section.styles.js +34 -19
- package/dist/Section/Section.styles.js.map +1 -1
- package/dist/Section/Section.types.js.map +1 -1
- package/dist/Section/index.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.js +135 -93
- package/dist/SegmentedController/SegmentedController.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.styles.js +38 -29
- package/dist/SegmentedController/SegmentedController.styles.js.map +1 -1
- package/dist/SegmentedController/SegmentedController.types.js +3 -3
- package/dist/SegmentedController/SegmentedController.types.js.map +1 -1
- package/dist/SegmentedController/index.js +1 -0
- package/dist/SegmentedController/index.js.map +1 -1
- package/dist/Select/Select.js +302 -125
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +66 -46
- package/dist/Select/Select.styles.js.map +1 -1
- package/dist/Select/Select.types.js.map +1 -1
- package/dist/Select/index.js +1 -1
- package/dist/Select/index.js.map +1 -1
- package/dist/Semantic/Semantic.js +63 -40
- package/dist/Semantic/Semantic.js.map +1 -1
- package/dist/Semantic/Semantic.styles.js +49 -34
- package/dist/Semantic/Semantic.styles.js.map +1 -1
- package/dist/Semantic/Semantic.types.js.map +1 -1
- package/dist/Semantic/index.js.map +1 -1
- package/dist/Sidebar/Sidebar.js +85 -68
- package/dist/Sidebar/Sidebar.js.map +1 -1
- package/dist/Sidebar/Sidebar.styles.js +32 -16
- package/dist/Sidebar/Sidebar.styles.js.map +1 -1
- package/dist/Sidebar/index.js.map +1 -1
- package/dist/Slider/Slider.js +120 -73
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Slider/Slider.styles.js +48 -22
- package/dist/Slider/Slider.styles.js.map +1 -1
- package/dist/Slider/Slider.types.js.map +1 -1
- package/dist/Slider/index.js +1 -0
- package/dist/Slider/index.js.map +1 -1
- package/dist/Spinner/Spinner.js +49 -42
- package/dist/Spinner/Spinner.js.map +1 -1
- package/dist/Spinner/Spinner.styles.js +64 -47
- package/dist/Spinner/Spinner.styles.js.map +1 -1
- package/dist/Spinner/Spinner.types.js.map +1 -1
- package/dist/Spinner/index.js +1 -0
- package/dist/Spinner/index.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.components.js +288 -210
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.constants.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js +82 -56
- package/dist/SuperSelect/SuperSelect.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +4 -6
- package/dist/SuperSelect/SuperSelect.presets.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +228 -117
- package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.utils.js +136 -129
- package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.utils.test.js +717 -0
- package/dist/SuperSelect/index.js +1 -1
- package/dist/SuperSelect/index.js.map +1 -1
- package/dist/SuperSelect/presets/contactsPreset.js +16 -31
- package/dist/SuperSelect/presets/contactsPreset.js.map +1 -1
- package/dist/SuperSelect/presets/filterPreset.js +55 -55
- package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
- package/dist/SuperSelect/presets/index.js +4 -4
- package/dist/SuperSelect/presets/index.js.map +1 -1
- package/dist/SuperSelect/presets/pillPreset.js +39 -25
- package/dist/SuperSelect/presets/pillPreset.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.js +769 -636
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.test.js +1284 -0
- package/dist/SuperSelect/useVirtuosoResizeErrorFix.js +15 -18
- package/dist/SuperSelect/useVirtuosoResizeErrorFix.js.map +1 -1
- package/dist/Switch/Switch.js +22 -32
- package/dist/Switch/Switch.js.map +1 -1
- package/dist/Switch/Switch.styles.js +26 -17
- package/dist/Switch/Switch.styles.js.map +1 -1
- package/dist/Switch/Switch.types.js.map +1 -1
- package/dist/Switch/index.js +1 -0
- package/dist/Switch/index.js.map +1 -1
- package/dist/Table/Table.js +372 -197
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.js +204 -127
- package/dist/Table/Table.styles.js.map +1 -1
- package/dist/Table/Table.types.js.map +1 -1
- package/dist/Table/index.js +1 -0
- package/dist/Table/index.js.map +1 -1
- package/dist/TableShelf/TableShelf.js +51 -47
- package/dist/TableShelf/TableShelf.js.map +1 -1
- package/dist/TableShelf/TableShelf.styles.js +20 -10
- package/dist/TableShelf/TableShelf.styles.js.map +1 -1
- package/dist/TableShelf/index.js.map +1 -1
- package/dist/Tabs/Tabs.js +237 -136
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.js +59 -40
- package/dist/Tabs/Tabs.styles.js.map +1 -1
- package/dist/Tabs/Tabs.types.js +6 -6
- package/dist/Tabs/Tabs.types.js.map +1 -1
- package/dist/Tabs/index.js +1 -0
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.constants.js +2 -15
- package/dist/Tearsheet/Tearsheet.constants.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.js +228 -177
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +106 -92
- package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.types.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.util.js +53 -49
- package/dist/Tearsheet/Tearsheet.util.js.map +1 -1
- package/dist/Tearsheet/index.js +1 -0
- package/dist/Tearsheet/index.js.map +1 -1
- package/dist/TextArea/TextArea.js +13 -25
- package/dist/TextArea/TextArea.js.map +1 -1
- package/dist/TextArea/TextArea.styles.js +7 -8
- package/dist/TextArea/TextArea.styles.js.map +1 -1
- package/dist/TextArea/TextArea.types.js.map +1 -1
- package/dist/TextArea/index.js +1 -0
- package/dist/TextArea/index.js.map +1 -1
- package/dist/TextEditor/TextEditor.js +110 -81
- package/dist/TextEditor/TextEditor.js.map +1 -1
- package/dist/TextEditor/TextEditor.styles.js +3 -8
- package/dist/TextEditor/TextEditor.styles.js.map +1 -1
- package/dist/TextEditor/TextEditor.types.js.map +1 -1
- package/dist/TextEditor/index.js +1 -0
- package/dist/TextEditor/index.js.map +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.js +29 -27
- package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +4 -6
- package/dist/TextEditorOutput/TextEditorOutput.styles.js.map +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.types.js.map +1 -1
- package/dist/TextEditorOutput/index.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.hooks.js +89 -57
- package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +394 -180
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +151 -130
- package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.utils.js +45 -55
- package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +101 -54
- package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
- package/dist/Thumbnail/ThumbnailDocumentIcon.js +479 -156
- package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
- package/dist/Thumbnail/ThumbnailPreview.js +31 -20
- package/dist/Thumbnail/ThumbnailPreview.js.map +1 -1
- package/dist/Thumbnail/index.js +2 -0
- package/dist/Thumbnail/index.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js +102 -81
- package/dist/ThumbnailGrid/ThumbnailGrid.hooks.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.js +536 -402
- package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +28 -14
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.types.js.map +1 -1
- package/dist/ThumbnailGrid/index.js +1 -0
- package/dist/ThumbnailGrid/index.js.map +1 -1
- package/dist/TieredDropdown/TieredDropdown.helpers.js +29 -25
- package/dist/TieredDropdown/TieredDropdown.helpers.js.map +1 -1
- package/dist/TieredDropdown/TieredDropdown.js +241 -145
- package/dist/TieredDropdown/TieredDropdown.js.map +1 -1
- package/dist/TieredDropdown/TieredDropdown.types.js.map +1 -1
- package/dist/TieredDropdown/index.js +1 -0
- package/dist/TieredDropdown/index.js.map +1 -1
- package/dist/TieredDropdown/useSearch.js +49 -39
- package/dist/TieredDropdown/useSearch.js.map +1 -1
- package/dist/TieredSelect/LeafSelectionTieredSelect.js +173 -117
- package/dist/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TierSelectionTieredSelect.js +486 -316
- package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.js +149 -111
- package/dist/TieredSelect/TieredSelect.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.styles.js +40 -18
- package/dist/TieredSelect/TieredSelect.styles.js.map +1 -1
- package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
- package/dist/TieredSelect/TieredSelectMenu.js +390 -277
- package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
- package/dist/TieredSelect/index.js +1 -0
- package/dist/TieredSelect/index.js.map +1 -1
- package/dist/Tile/Tile.js +154 -90
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/Tile.styles.js +81 -46
- package/dist/Tile/Tile.styles.js.map +1 -1
- package/dist/Tile/Tile.types.js.map +1 -1
- package/dist/Tile/index.js +1 -0
- package/dist/Tile/index.js.map +1 -1
- package/dist/Title/Title.js +64 -64
- package/dist/Title/Title.js.map +1 -1
- package/dist/Title/Title.styles.js +30 -14
- package/dist/Title/Title.styles.js.map +1 -1
- package/dist/Title/Title.types.js.map +1 -1
- package/dist/Title/index.js +1 -0
- package/dist/Title/index.js.map +1 -1
- package/dist/Toast/Toast.js +44 -40
- package/dist/Toast/Toast.js.map +1 -1
- package/dist/Toast/Toast.styles.js +18 -15
- package/dist/Toast/Toast.styles.js.map +1 -1
- package/dist/Toast/Toast.types.js.map +1 -1
- package/dist/Toast/index.js +1 -0
- package/dist/Toast/index.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +20 -25
- package/dist/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.styles.js +6 -8
- package/dist/ToggleButton/ToggleButton.styles.js.map +1 -1
- package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
- package/dist/ToggleButton/index.js +1 -0
- package/dist/ToggleButton/index.js.map +1 -1
- package/dist/Token/Token.js +39 -34
- package/dist/Token/Token.js.map +1 -1
- package/dist/Token/Token.styles.js +25 -16
- package/dist/Token/Token.styles.js.map +1 -1
- package/dist/Token/Token.types.js.map +1 -1
- package/dist/Token/index.js +1 -0
- package/dist/Token/index.js.map +1 -1
- package/dist/ToolHeader/ActionIcon.js +45 -38
- package/dist/ToolHeader/ActionIcon.js.map +1 -1
- package/dist/ToolHeader/ActionIcon.types.example.js +58 -18
- package/dist/ToolHeader/ActionIcon.types.example.js.map +1 -1
- package/dist/ToolHeader/ActionIcon.types.js.map +1 -1
- package/dist/ToolHeader/ToolHeader.js +60 -47
- package/dist/ToolHeader/ToolHeader.js.map +1 -1
- package/dist/ToolHeader/ToolHeader.styles.js +30 -18
- package/dist/ToolHeader/ToolHeader.styles.js.map +1 -1
- package/dist/ToolHeader/ToolHeader.types.js.map +1 -1
- package/dist/ToolHeader/index.js.map +1 -1
- package/dist/Tooltip/Tooltip.js +43 -31
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Tooltip/Tooltip.styles.js +8 -7
- package/dist/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/Tooltip/Tooltip.types.js.map +1 -1
- package/dist/Tooltip/index.js +1 -0
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/Tree/Tree.hooks.js +195 -190
- package/dist/Tree/Tree.hooks.js.map +1 -1
- package/dist/Tree/Tree.js +530 -324
- package/dist/Tree/Tree.js.map +1 -1
- package/dist/Tree/Tree.styles.js +49 -28
- package/dist/Tree/Tree.styles.js.map +1 -1
- package/dist/Tree/Tree.types.js.map +1 -1
- package/dist/Tree/index.js +1 -0
- package/dist/Tree/index.js.map +1 -1
- package/dist/Typeahead/Typeahead.js +77 -50
- package/dist/Typeahead/Typeahead.js.map +1 -1
- package/dist/Typeahead/Typeahead.styles.js +16 -8
- package/dist/Typeahead/Typeahead.styles.js.map +1 -1
- package/dist/Typeahead/Typeahead.types.js.map +1 -1
- package/dist/Typeahead/index.js +1 -0
- package/dist/Typeahead/index.js.map +1 -1
- package/dist/Typography/Typography.colors.story.js +282 -141
- package/dist/Typography/Typography.colors.story.js.map +1 -1
- package/dist/Typography/Typography.js +13 -25
- package/dist/Typography/Typography.js.map +1 -1
- package/dist/Typography/Typography.styles.js +42 -41
- package/dist/Typography/Typography.styles.js.map +1 -1
- package/dist/Typography/Typography.table.story.js +24 -45
- package/dist/Typography/Typography.table.story.js.map +1 -1
- package/dist/Typography/Typography.types.js.map +1 -1
- package/dist/Typography/index.js.map +1 -1
- package/dist/_hooks/Analytics.js +27 -18
- package/dist/_hooks/Analytics.js.map +1 -1
- package/dist/_hooks/Anchor.js +123 -84
- package/dist/_hooks/Anchor.js.map +1 -1
- package/dist/_hooks/Autofocus.js +53 -52
- package/dist/_hooks/Autofocus.js.map +1 -1
- package/dist/_hooks/BoundingRect.js +57 -41
- package/dist/_hooks/BoundingRect.js.map +1 -1
- package/dist/_hooks/Buffer.js +64 -39
- package/dist/_hooks/Buffer.js.map +1 -1
- package/dist/_hooks/ClickOutside.js +31 -20
- package/dist/_hooks/ClickOutside.js.map +1 -1
- package/dist/_hooks/DateTime/DateTime.js +235 -188
- package/dist/_hooks/DateTime/DateTime.js.map +1 -1
- package/dist/_hooks/DateTime/index.js +1 -1
- package/dist/_hooks/DateTime/index.js.map +1 -1
- package/dist/_hooks/DelayedCallback.js +41 -25
- package/dist/_hooks/DelayedCallback.js.map +1 -1
- package/dist/_hooks/DelayedToggle.js +98 -59
- package/dist/_hooks/DelayedToggle.js.map +1 -1
- package/dist/_hooks/Deprecation.js +11 -10
- package/dist/_hooks/Deprecation.js.map +1 -1
- package/dist/_hooks/Event.js +53 -28
- package/dist/_hooks/Event.js.map +1 -1
- package/dist/_hooks/EventListener.js +103 -59
- package/dist/_hooks/EventListener.js.map +1 -1
- package/dist/_hooks/EventRegistry.js +19 -14
- package/dist/_hooks/EventRegistry.js.map +1 -1
- package/dist/_hooks/Hotkey.js +35 -32
- package/dist/_hooks/Hotkey.js.map +1 -1
- package/dist/_hooks/I18n.js +54 -52
- package/dist/_hooks/I18n.js.map +1 -1
- package/dist/_hooks/InjectedScript.js +66 -45
- package/dist/_hooks/InjectedScript.js.map +1 -1
- package/dist/_hooks/IntersectionObserver/createIntersectionObserver.js +3 -3
- package/dist/_hooks/IntersectionObserver/createIntersectionObserver.js.map +1 -1
- package/dist/_hooks/IntersectionObserver/index.js.map +1 -1
- package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js +23 -14
- package/dist/_hooks/IntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/dist/_hooks/ListNavigation.js +114 -79
- package/dist/_hooks/ListNavigation.js.map +1 -1
- package/dist/_hooks/OverflowObserver/OverflowObserver.js +56 -32
- package/dist/_hooks/OverflowObserver/OverflowObserver.js.map +1 -1
- package/dist/_hooks/OverflowObserver/OverflowObserver.test.js +110 -0
- package/dist/_hooks/OverflowObserver/OverflowObserver.types.js.map +1 -1
- package/dist/_hooks/OverflowObserver/index.js.map +1 -1
- package/dist/_hooks/Resize.js +10 -4
- package/dist/_hooks/Resize.js.map +1 -1
- package/dist/_hooks/ResizeObserver.js +23 -14
- package/dist/_hooks/ResizeObserver.js.map +1 -1
- package/dist/_hooks/Scroll.js +16 -4
- package/dist/_hooks/Scroll.js.map +1 -1
- package/dist/_hooks/ScrollLock.js +15 -15
- package/dist/_hooks/ScrollLock.js.map +1 -1
- package/dist/_hooks/TextEntry.js +83 -46
- package/dist/_hooks/TextEntry.js.map +1 -1
- package/dist/_hooks/Timer.js +48 -29
- package/dist/_hooks/Timer.js.map +1 -1
- package/dist/_hooks/Trigger.js +120 -86
- package/dist/_hooks/Trigger.js.map +1 -1
- package/dist/_hooks/Visibility.js +82 -49
- package/dist/_hooks/Visibility.js.map +1 -1
- package/dist/_hooks/ZIndex.js +53 -34
- package/dist/_hooks/ZIndex.js.map +1 -1
- package/dist/_hooks/__tests__/Anchor.test.js +109 -0
- package/dist/_hooks/__tests__/BoundingRect.test.js +85 -0
- package/dist/_hooks/__tests__/Buffer.test.js +76 -0
- package/dist/_hooks/__tests__/DateTime.test.js +136 -0
- package/dist/_hooks/__tests__/DelayedCallback.test.js +119 -0
- package/dist/_hooks/__tests__/DelayedToggle.test.js +50 -0
- package/dist/_hooks/__tests__/Deprecation.test.js +58 -0
- package/dist/_hooks/__tests__/Event.test.js +46 -0
- package/dist/_hooks/__tests__/EventListener.test.js +78 -0
- package/dist/_hooks/__tests__/Hotkey.test.js +18 -0
- package/dist/_hooks/__tests__/InjectedScript.test.js +80 -0
- package/dist/_hooks/__tests__/ListNavigation.test.js +101 -0
- package/dist/_hooks/__tests__/TextEntry.test.js +92 -0
- package/dist/_hooks/__tests__/Timer.test.js +60 -0
- package/dist/_hooks/__tests__/Trigger.test.js +52 -0
- package/dist/_hooks/__tests__/Visibility.test.js +86 -0
- package/dist/_hooks/__tests__/ZIndex.test.js +76 -0
- package/dist/_hooks/useFileUploader.js +220 -220
- package/dist/_hooks/useFileUploader.js.map +1 -1
- package/dist/_hooks/useFocusWithin.js +27 -18
- package/dist/_hooks/useFocusWithin.js.map +1 -1
- package/dist/_hooks/useSet.js +71 -45
- package/dist/_hooks/useSet.js.map +1 -1
- package/dist/_hooks/useUpdateEffect.js +14 -13
- package/dist/_hooks/useUpdateEffect.js.map +1 -1
- package/dist/_locales/de-DE.json +354 -354
- package/dist/_locales/en-AU.json +354 -354
- package/dist/_locales/en-CA.json +354 -354
- package/dist/_locales/en-GB.json +354 -354
- package/dist/_locales/en-US.json +30 -30
- package/dist/_locales/en.json +353 -353
- package/dist/_locales/es-ES.json +354 -354
- package/dist/_locales/es.json +354 -354
- package/dist/_locales/fr-CA.json +354 -354
- package/dist/_locales/fr-FR.json +354 -354
- package/dist/_locales/is-IS.json +354 -354
- package/dist/_locales/pt-BR.json +354 -354
- package/dist/_locales/th-TH.json +354 -354
- package/dist/_locales/zh-SG.json +354 -354
- package/dist/_styles/arrows.js +4 -9
- package/dist/_styles/arrows.js.map +1 -1
- package/dist/_styles/borderRadius.js +4 -9
- package/dist/_styles/borderRadius.js.map +1 -1
- package/dist/_styles/colors.js +19 -18
- package/dist/_styles/colors.js.map +1 -1
- package/dist/_styles/media.js.map +1 -1
- package/dist/_styles/mixins.js +14 -16
- package/dist/_styles/mixins.js.map +1 -1
- package/dist/_styles/shadows.js +12 -17
- package/dist/_styles/shadows.js.map +1 -1
- package/dist/_styles/spacing.js +8 -8
- package/dist/_styles/spacing.js.map +1 -1
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
- 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 +11 -11
- 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 +7 -7
- 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 +4 -4
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- 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 +698 -698
- 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 +41 -41
- 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 +38 -38
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +30 -30
- package/dist/_typedoc/PageLayout/PageLayout.types.json +22 -22
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +27 -27
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +46 -46
- package/dist/_typedoc/Popover/Popover.types.json +14 -14
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +18 -18
- package/dist/_typedoc/Section/Section.types.json +14 -14
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
- package/dist/_typedoc/Select/Select.types.json +55 -55
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +96 -96
- package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +30 -30
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
- package/dist/_typedoc/Token/Token.types.json +4 -4
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- 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 +8 -8
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_utils/CalendarHelpers.js +147 -129
- package/dist/_utils/CalendarHelpers.js.map +1 -1
- package/dist/_utils/TinyMCE.js +60 -109
- package/dist/_utils/TinyMCE.js.map +1 -1
- package/dist/_utils/__tests__/CalendarHelpers.test.js +64 -0
- package/dist/_utils/__tests__/filename.test.js +27 -0
- package/dist/_utils/__tests__/getAnchorPosition.test.js +250 -0
- package/dist/_utils/__tests__/mergeRefs.test.js +58 -0
- package/dist/_utils/__tests__/slotify.test.js +152 -0
- package/dist/_utils/addSubcomponents.js +5 -5
- package/dist/_utils/addSubcomponents.js.map +1 -1
- package/dist/_utils/dateTime.js +103 -85
- package/dist/_utils/dateTime.js.map +1 -1
- package/dist/_utils/dom.js +21 -25
- package/dist/_utils/dom.js.map +1 -1
- package/dist/_utils/filename.js +19 -11
- package/dist/_utils/filename.js.map +1 -1
- package/dist/_utils/genericAnalyticsClient.js +40 -26
- package/dist/_utils/genericAnalyticsClient.js.map +1 -1
- package/dist/_utils/getAnchorPosition.js +221 -127
- package/dist/_utils/getAnchorPosition.js.map +1 -1
- package/dist/_utils/i18n.js +19 -19
- package/dist/_utils/i18n.js.map +1 -1
- package/dist/_utils/isIE11.js +4 -4
- package/dist/_utils/isIE11.js.map +1 -1
- package/dist/_utils/isReactElement.js +1 -1
- package/dist/_utils/isReactElement.js.map +1 -1
- package/dist/_utils/mergeRefs.js +13 -13
- package/dist/_utils/mergeRefs.js.map +1 -1
- package/dist/_utils/partition.js +13 -5
- package/dist/_utils/partition.js.map +1 -1
- package/dist/_utils/placement.js +13 -13
- package/dist/_utils/placement.js.map +1 -1
- package/dist/_utils/polymorphic.js +6 -1
- package/dist/_utils/polymorphic.js.map +1 -1
- package/dist/_utils/props.js +1 -1
- package/dist/_utils/props.js.map +1 -1
- package/dist/_utils/propsTypedoc.js +14 -0
- package/dist/_utils/propsTypedoc.js.map +1 -1
- package/dist/_utils/runInQueue.js +39 -57
- package/dist/_utils/runInQueue.js.map +1 -1
- package/dist/_utils/scrollIntoView.js +17 -15
- package/dist/_utils/scrollIntoView.js.map +1 -1
- package/dist/_utils/slotify.js +45 -42
- package/dist/_utils/slotify.js.map +1 -1
- package/dist/_utils/triggerListeners.js +65 -53
- package/dist/_utils/triggerListeners.js.map +1 -1
- package/dist/_utils/types.js.map +1 -1
- package/dist/_utils/usingHookOrDefault.js +3 -5
- package/dist/_utils/usingHookOrDefault.js.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -4
- package/dist/Link/Link.coverage.stories.js +0 -28
- package/dist/Link/Link.coverage.stories.js.map +0 -1
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
-
};
|
|
21
|
-
import { autoUpdate, flip, offset, size, useClick, useDismiss, useFloating, useInteractions, useListNavigation, } from '@floating-ui/react';
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
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(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
9
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
10
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
import { autoUpdate, flip, offset, size, useClick, useDismiss, useFloating, useInteractions, useListNavigation } from '@floating-ui/react';
|
|
22
18
|
import { useId } from '@react-aria/utils';
|
|
23
19
|
import debounce from 'lodash.debounce';
|
|
24
20
|
import uniq from 'lodash.uniq';
|
|
@@ -29,664 +25,801 @@ import { useZIndexContext } from '../_hooks/ZIndex';
|
|
|
29
25
|
import { spacing } from '../_styles/spacing';
|
|
30
26
|
import * as defaultComponents from './SuperSelect.components';
|
|
31
27
|
import { draggableOptionIdSymbol } from './SuperSelect.constants';
|
|
32
|
-
import { collectGroupsInOrderOfOccurrence, createOptgroup, getBatchOptionFormatter, getIsAllOptionsUngrouped, getOptionIsOptgroup, getOptionsSortingAlgorithm, isMultiple, removeEmptyOptGroups, reorder, sortOptgroups
|
|
28
|
+
import { collectGroupsInOrderOfOccurrence, createOptgroup, getBatchOptionFormatter, getIsAllOptionsUngrouped, getOptionIsOptgroup, getOptionsSortingAlgorithm, isMultiple, removeEmptyOptGroups, reorder, sortOptgroups } from './SuperSelect.utils';
|
|
33
29
|
var listContainerVerticalPadding = spacing.sm * 2;
|
|
34
|
-
function noop() {
|
|
30
|
+
function noop() {}
|
|
35
31
|
function defaultGetOptionValue(option) {
|
|
36
|
-
|
|
32
|
+
return option === null || option === void 0 ? void 0 : option.value;
|
|
37
33
|
}
|
|
38
34
|
function defaultGetOptionIsBatch(option) {
|
|
39
|
-
|
|
35
|
+
return Array.isArray(option === null || option === void 0 ? void 0 : option.value);
|
|
40
36
|
}
|
|
41
37
|
function defaultGetOptionIsDisabled(option) {
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
var _option$disabled;
|
|
39
|
+
return (_option$disabled = option === null || option === void 0 ? void 0 : option.disabled) !== null && _option$disabled !== void 0 ? _option$disabled : false;
|
|
44
40
|
}
|
|
45
41
|
function defaultGetOptionGroup(option) {
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
var _option$group;
|
|
43
|
+
return (_option$group = option === null || option === void 0 ? void 0 : option.group) !== null && _option$group !== void 0 ? _option$group : '';
|
|
48
44
|
}
|
|
49
45
|
function defaultSetOptionGroup(option, group) {
|
|
50
|
-
|
|
46
|
+
return _objectSpread(_objectSpread({}, option), {}, {
|
|
47
|
+
group: group
|
|
48
|
+
});
|
|
51
49
|
}
|
|
52
50
|
function defaultGetOptionLabel(option) {
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
var _option$label;
|
|
52
|
+
return (_option$label = option === null || option === void 0 ? void 0 : option.label) !== null && _option$label !== void 0 ? _option$label : '';
|
|
55
53
|
}
|
|
56
54
|
function stringContains(str1, str2) {
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
function useTokenNavigation(context, _a) {
|
|
60
|
-
var _b = _a === void 0 ? {} : _a, _c = _b.enabled, enabled = _c === void 0 ? true : _c, _d = _b.value, value = _d === void 0 ? [] : _d, _e = _b.activeIndex, activeIndex = _e === void 0 ? null : _e, _f = _b.onNavigate, onNavigate = _f === void 0 ? noop : _f, _g = _b.onChange, onChange = _g === void 0 ? noop : _g;
|
|
61
|
-
return {
|
|
62
|
-
reference: {
|
|
63
|
-
onKeyDown: function (e) {
|
|
64
|
-
if (!enabled || !Array.isArray(value)) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
if (e.key === 'ArrowLeft') {
|
|
68
|
-
if (activeIndex !== null) {
|
|
69
|
-
onNavigate(Math.max(0, activeIndex - 1));
|
|
70
|
-
}
|
|
71
|
-
else if (value.length > 0) {
|
|
72
|
-
onNavigate(value.length - 1);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else if (e.key === 'ArrowRight') {
|
|
76
|
-
if (activeIndex !== null) {
|
|
77
|
-
if (activeIndex === value.length - 1) {
|
|
78
|
-
onNavigate(null);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
onNavigate(activeIndex + 1);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
else if (e.key === 'Backspace') {
|
|
86
|
-
if (!e.repeat) {
|
|
87
|
-
if (activeIndex !== null) {
|
|
88
|
-
var nextVal = value.filter(function (_, i) { return i !== activeIndex; });
|
|
89
|
-
onChange(nextVal);
|
|
90
|
-
if (activeIndex >= nextVal.length) {
|
|
91
|
-
onNavigate(null);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else if (value.length > 0) {
|
|
95
|
-
onChange(value.filter(function (_, i) { return i !== value.length - 1; }));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
function useKeyboardSelection(context, _a) {
|
|
104
|
-
var _b = _a === void 0 ? {} : _a, _c = _b.enabled, enabled = _c === void 0 ? true : _c, _d = _b.onSelect, onSelect = _d === void 0 ? function () { } : _d;
|
|
105
|
-
function onKeyDown(e) {
|
|
106
|
-
if (!enabled) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (e.key === 'Enter') {
|
|
110
|
-
onSelect();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return {
|
|
114
|
-
reference: {
|
|
115
|
-
onKeyDown: onKeyDown,
|
|
116
|
-
},
|
|
117
|
-
floating: {
|
|
118
|
-
onKeyDown: onKeyDown,
|
|
119
|
-
},
|
|
120
|
-
};
|
|
55
|
+
return str1.toLowerCase().includes(str2.toLowerCase());
|
|
121
56
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
function setValue(v) {
|
|
140
|
-
if (!value_) {
|
|
141
|
-
setVal(v);
|
|
142
|
-
}
|
|
143
|
-
if (onChange) {
|
|
144
|
-
onChange(v);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
var navigationList = React.useRef([]);
|
|
148
|
-
var virtuoso = React.useRef(null);
|
|
149
|
-
var searchRef = React.useRef(null);
|
|
150
|
-
var overlayId = useId(); // TODO use React 18 useId
|
|
151
|
-
var listId = useId(); // TODO use React 18 useId
|
|
152
|
-
var _y = React.useState(false), open = _y[0], setOpen = _y[1];
|
|
153
|
-
var _z = React.useState(false), pointer = _z[0], setPointer = _z[1];
|
|
154
|
-
var _0 = React.useState(248), width = _0[0], setWidth = _0[1];
|
|
155
|
-
var _1 = React.useState(248), maxHeight = _1[0], setMaxHeight = _1[1];
|
|
156
|
-
var _2 = React.useState(0), listHeight = _2[0], setListHeight = _2[1];
|
|
157
|
-
var _3 = React.useState(0), searchHeight = _3[0], setSearchHeight = _3[1];
|
|
158
|
-
var _4 = React.useState(0), footerHeight = _4[0], setFooterHeight = _4[1];
|
|
159
|
-
var listContainerHeight = Math.min(maxHeight - searchHeight - footerHeight + listContainerVerticalPadding, listHeight + listContainerVerticalPadding);
|
|
160
|
-
var _5 = React.useState(''), searchValue = _5[0], setSearchValue_ = _5[1];
|
|
161
|
-
var setSearchValue = debounce(setSearchValue_, 250); // TODO use React 18 useDeferredValue
|
|
162
|
-
var _6 = React.useState(null), activeMenuIndex = _6[0], setActiveMenuIndex = _6[1];
|
|
163
|
-
var _7 = React.useState(null), activeTokenIndex = _7[0], setActiveTokenIndex = _7[1];
|
|
164
|
-
var components = __assign(__assign({}, defaultComponents), (customComponents || {}));
|
|
165
|
-
// TODO #memogetters: consider having getOption... getter functions memoized by consumers
|
|
166
|
-
// Until then, exclude these callbacks from effect and memo dependencies
|
|
167
|
-
var sortOptions = React.useMemo(function () { return getOptionsSortingAlgorithm({ getOptionIsBatch: getOptionIsBatch, getOptionLabel: getOptionLabel }); },
|
|
168
|
-
// skip `getOptionIsBatch` and `getOptionLabel`
|
|
169
|
-
[]);
|
|
170
|
-
var formatBatchOption = React.useMemo(function () {
|
|
171
|
-
return getBatchOptionFormatter({
|
|
172
|
-
value: value,
|
|
173
|
-
multiple: multiple,
|
|
174
|
-
getOptionIsBatch: getOptionIsBatch,
|
|
175
|
-
getOptionValue: getOptionValue,
|
|
176
|
-
});
|
|
177
|
-
},
|
|
178
|
-
// skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters
|
|
179
|
-
[value, multiple]);
|
|
180
|
-
// collect groups, sort them and populate them with options, and sort the options inside the groups
|
|
181
|
-
var enforceOptionsSortingOrder = React.useCallback(function groupAndSort(opts) {
|
|
182
|
-
var _a = collectGroupsInOrderOfOccurrence(opts, getOptionGroup), groups = _a.groups, groupedOptions = _a.groupedOptions;
|
|
183
|
-
if (getIsAllOptionsUngrouped(groups)) {
|
|
184
|
-
return opts.sort(sortOptions);
|
|
185
|
-
}
|
|
186
|
-
return Object.entries(groupedOptions)
|
|
187
|
-
.sort(function (_a, _b) {
|
|
188
|
-
var groupA = _a[0];
|
|
189
|
-
var groupB = _b[0];
|
|
190
|
-
return sortOptgroups(groupA, groupB);
|
|
191
|
-
})
|
|
192
|
-
.flatMap(function (_a) {
|
|
193
|
-
var groupName = _a[0], groupOptions = _a[1];
|
|
194
|
-
return createOptgroup(groupName, groupOptions.sort(sortOptions));
|
|
195
|
-
});
|
|
196
|
-
},
|
|
197
|
-
// skip `getOptionGroup`, refer to TODO #memogetters
|
|
198
|
-
[sortOptions]);
|
|
199
|
-
// collect groups and populate them with options
|
|
200
|
-
var deriveOptionsSortingOrder = React.useCallback(function (opts) {
|
|
201
|
-
var _a = collectGroupsInOrderOfOccurrence(opts, getOptionGroup), groups = _a.groups, groupedOptions = _a.groupedOptions;
|
|
202
|
-
if (getIsAllOptionsUngrouped(groups)) {
|
|
203
|
-
return opts;
|
|
57
|
+
function useTokenNavigation(context) {
|
|
58
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
59
|
+
_ref$enabled = _ref.enabled,
|
|
60
|
+
enabled = _ref$enabled === void 0 ? true : _ref$enabled,
|
|
61
|
+
_ref$value = _ref.value,
|
|
62
|
+
value = _ref$value === void 0 ? [] : _ref$value,
|
|
63
|
+
_ref$activeIndex = _ref.activeIndex,
|
|
64
|
+
activeIndex = _ref$activeIndex === void 0 ? null : _ref$activeIndex,
|
|
65
|
+
_ref$onNavigate = _ref.onNavigate,
|
|
66
|
+
onNavigate = _ref$onNavigate === void 0 ? noop : _ref$onNavigate,
|
|
67
|
+
_ref$onChange = _ref.onChange,
|
|
68
|
+
onChange = _ref$onChange === void 0 ? noop : _ref$onChange;
|
|
69
|
+
return {
|
|
70
|
+
reference: {
|
|
71
|
+
onKeyDown: function onKeyDown(e) {
|
|
72
|
+
if (!enabled || !Array.isArray(value)) {
|
|
73
|
+
return;
|
|
204
74
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return stringContains(getOptionLabel(opt), searchValue);
|
|
218
|
-
})
|
|
219
|
-
: __spreadArray([], sourceOptions, true); // make a copy of source options to prevent the mutation when sorting
|
|
220
|
-
return groupAndSortAlgorithm(queried).map(formatBatchOption);
|
|
221
|
-
},
|
|
222
|
-
// skip `getOptionLabel`, refer to TODO #memogetters
|
|
223
|
-
[groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]);
|
|
224
|
-
var _8 = React.useState([]), draggableOptions = _8[0], setDraggableOptions = _8[1];
|
|
225
|
-
React.useEffect(function () {
|
|
226
|
-
if (!draggable) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
// make a copy of source options to prevent the mutation when sorting
|
|
230
|
-
var opts = groupAndSortAlgorithm(sourceOptions.map(function (opt) {
|
|
231
|
-
var _a;
|
|
232
|
-
return (__assign(__assign({}, opt), (_a = {}, _a[draggableOptionIdSymbol] = ulid(), _a)));
|
|
233
|
-
}));
|
|
234
|
-
setDraggableOptions(opts);
|
|
235
|
-
},
|
|
236
|
-
// in draggable mode, sourceOptions must be memoized, othewise reorder will not work
|
|
237
|
-
[draggable, sourceOptions, groupAndSortAlgorithm]);
|
|
238
|
-
var queriedDraggableOptions = React.useMemo(function () {
|
|
239
|
-
if (!draggable) {
|
|
240
|
-
return [];
|
|
241
|
-
}
|
|
242
|
-
var queried = searchValue
|
|
243
|
-
? removeEmptyOptGroups(draggableOptions.filter(function (opt) {
|
|
244
|
-
if (!getOptionIsOptgroup(opt)) {
|
|
245
|
-
return stringContains(getOptionLabel(opt), searchValue);
|
|
246
|
-
}
|
|
247
|
-
return true;
|
|
248
|
-
}))
|
|
249
|
-
: draggableOptions;
|
|
250
|
-
return queried.map(formatBatchOption);
|
|
251
|
-
},
|
|
252
|
-
// skip `getOptionLabel`, refer to TODO #memogetters
|
|
253
|
-
[draggable, draggableOptions, searchValue, formatBatchOption]);
|
|
254
|
-
var groupIndices = React.useMemo(function () {
|
|
255
|
-
return options.reduce(function (acc, opt, i) {
|
|
256
|
-
if (getOptionIsOptgroup(opt)) {
|
|
257
|
-
acc.push(i);
|
|
258
|
-
}
|
|
259
|
-
return acc;
|
|
260
|
-
}, []);
|
|
261
|
-
}, [options]);
|
|
262
|
-
var selectedIndex = React.useMemo(function () {
|
|
263
|
-
return options.findIndex(function (option) { return isSelectableOption(option) && getOptionValue(option) === value; });
|
|
264
|
-
}, [options, value]);
|
|
265
|
-
var selectedOption = React.useMemo(function () {
|
|
266
|
-
var val = Array.isArray(value) ? value[0] : value;
|
|
267
|
-
return options.find(function (option) { return getOptionValue(option) === val; });
|
|
268
|
-
}, [options, value]);
|
|
269
|
-
var selectedLabel = React.useMemo(function () {
|
|
270
|
-
return selectedOption ? getOptionLabel(selectedOption) : '';
|
|
271
|
-
}, [selectedOption]);
|
|
272
|
-
function isSelectableOption(o) {
|
|
273
|
-
return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o);
|
|
274
|
-
}
|
|
275
|
-
function getFirstSelectableOptionIndex() {
|
|
276
|
-
return options.findIndex(isSelectableOption);
|
|
277
|
-
}
|
|
278
|
-
function onSelect(option) {
|
|
279
|
-
if (getOptionIsDisabled(option)) {
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
var optionValue = getOptionValue(option);
|
|
283
|
-
if (isMultiple(multiple, value)) {
|
|
284
|
-
if (Array.isArray(optionValue)) {
|
|
285
|
-
setValue(uniq(__spreadArray(__spreadArray([], value, true), optionValue, true)));
|
|
75
|
+
if (e.key === 'ArrowLeft') {
|
|
76
|
+
if (activeIndex !== null) {
|
|
77
|
+
onNavigate(Math.max(0, activeIndex - 1));
|
|
78
|
+
} else if (value.length > 0) {
|
|
79
|
+
onNavigate(value.length - 1);
|
|
80
|
+
}
|
|
81
|
+
} else if (e.key === 'ArrowRight') {
|
|
82
|
+
if (activeIndex !== null) {
|
|
83
|
+
if (activeIndex === value.length - 1) {
|
|
84
|
+
onNavigate(null);
|
|
85
|
+
} else {
|
|
86
|
+
onNavigate(activeIndex + 1);
|
|
286
87
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
88
|
+
}
|
|
89
|
+
} else if (e.key === 'Backspace') {
|
|
90
|
+
if (!e.repeat) {
|
|
91
|
+
if (activeIndex !== null) {
|
|
92
|
+
var nextVal = value.filter(function (_, i) {
|
|
93
|
+
return i !== activeIndex;
|
|
94
|
+
});
|
|
95
|
+
onChange(nextVal);
|
|
96
|
+
if (activeIndex >= nextVal.length) {
|
|
97
|
+
onNavigate(null);
|
|
98
|
+
}
|
|
99
|
+
} else if (value.length > 0) {
|
|
100
|
+
onChange(value.filter(function (_, i) {
|
|
101
|
+
return i !== value.length - 1;
|
|
102
|
+
}));
|
|
291
103
|
}
|
|
104
|
+
}
|
|
292
105
|
}
|
|
293
|
-
|
|
294
|
-
setValue(optionValue);
|
|
295
|
-
}
|
|
106
|
+
}
|
|
296
107
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function useKeyboardSelection(context) {
|
|
111
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
112
|
+
_ref2$enabled = _ref2.enabled,
|
|
113
|
+
enabled = _ref2$enabled === void 0 ? true : _ref2$enabled,
|
|
114
|
+
_ref2$onSelect = _ref2.onSelect,
|
|
115
|
+
onSelect = _ref2$onSelect === void 0 ? function () {} : _ref2$onSelect;
|
|
116
|
+
function onKeyDown(e) {
|
|
117
|
+
if (!enabled) {
|
|
118
|
+
return;
|
|
304
119
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
? value.includes(getOptionValue(option))
|
|
308
|
-
: value === getOptionValue(option);
|
|
120
|
+
if (e.key === 'Enter') {
|
|
121
|
+
onSelect();
|
|
309
122
|
}
|
|
310
|
-
|
|
311
|
-
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
reference: {
|
|
126
|
+
onKeyDown: onKeyDown
|
|
127
|
+
},
|
|
128
|
+
floating: {
|
|
129
|
+
onKeyDown: onKeyDown
|
|
312
130
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
onSelect: onKeyboardSelect,
|
|
370
|
-
}),
|
|
371
|
-
{
|
|
372
|
-
reference: {
|
|
373
|
-
$block: block,
|
|
374
|
-
$disabled: disabled,
|
|
375
|
-
$error: error,
|
|
376
|
-
$hasClearIcon: !disabled && !loading,
|
|
377
|
-
$loading: loading,
|
|
378
|
-
$multiple: multiple,
|
|
379
|
-
$open: open,
|
|
380
|
-
$placeholder: !selectedLabel,
|
|
381
|
-
'aria-controls': search ? overlayId : listId,
|
|
382
|
-
'aria-expanded': open,
|
|
383
|
-
'aria-haspopup': search ? 'dialog' : 'listbox',
|
|
384
|
-
onKeyDown: function () {
|
|
385
|
-
setPointer(false);
|
|
386
|
-
},
|
|
387
|
-
role: 'combobox',
|
|
388
|
-
search: search,
|
|
389
|
-
tabIndex: disabled ? -1 : tabIndex,
|
|
390
|
-
},
|
|
391
|
-
floating: {
|
|
392
|
-
role: search ? 'dialog' : 'none',
|
|
393
|
-
id: overlayId,
|
|
394
|
-
onKeyDown: function () {
|
|
395
|
-
setPointer(false);
|
|
396
|
-
},
|
|
397
|
-
onPointerMove: function () {
|
|
398
|
-
setPointer(true);
|
|
399
|
-
},
|
|
400
|
-
style: {
|
|
401
|
-
position: floating.strategy,
|
|
402
|
-
left: floating.x || 0,
|
|
403
|
-
top: floating.y || 0,
|
|
404
|
-
width: width,
|
|
405
|
-
maxHeight: maxHeight,
|
|
406
|
-
zIndex: zIndex,
|
|
407
|
-
},
|
|
408
|
-
},
|
|
409
|
-
},
|
|
410
|
-
]), getReferenceProps = _9.getReferenceProps, getFloatingProps = _9.getFloatingProps, getItemProps = _9.getItemProps;
|
|
411
|
-
function getLabelProps() {
|
|
412
|
-
return {
|
|
413
|
-
$hoverable: false,
|
|
414
|
-
};
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export function useSuperSelect(_ref3) {
|
|
134
|
+
var _ref3$block = _ref3.block,
|
|
135
|
+
block = _ref3$block === void 0 ? false : _ref3$block,
|
|
136
|
+
customComponents = _ref3.components,
|
|
137
|
+
defaultValue = _ref3.defaultValue,
|
|
138
|
+
_ref3$disabled = _ref3.disabled,
|
|
139
|
+
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
|
|
140
|
+
_ref3$draggable = _ref3.draggable,
|
|
141
|
+
draggable = _ref3$draggable === void 0 ? false : _ref3$draggable,
|
|
142
|
+
_ref3$emptyMessage = _ref3.emptyMessage,
|
|
143
|
+
emptyMessage = _ref3$emptyMessage === void 0 ? 'No results' : _ref3$emptyMessage,
|
|
144
|
+
error = _ref3.error,
|
|
145
|
+
footer = _ref3.footer,
|
|
146
|
+
_ref3$getOptionGroup = _ref3.getOptionGroup,
|
|
147
|
+
getOptionGroup = _ref3$getOptionGroup === void 0 ? defaultGetOptionGroup : _ref3$getOptionGroup,
|
|
148
|
+
_ref3$getOptionIsBatc = _ref3.getOptionIsBatch,
|
|
149
|
+
getOptionIsBatch = _ref3$getOptionIsBatc === void 0 ? defaultGetOptionIsBatch : _ref3$getOptionIsBatc,
|
|
150
|
+
_ref3$getOptionIsDisa = _ref3.getOptionIsDisabled,
|
|
151
|
+
getOptionIsDisabled = _ref3$getOptionIsDisa === void 0 ? defaultGetOptionIsDisabled : _ref3$getOptionIsDisa,
|
|
152
|
+
_ref3$getOptionLabel = _ref3.getOptionLabel,
|
|
153
|
+
getOptionLabel = _ref3$getOptionLabel === void 0 ? defaultGetOptionLabel : _ref3$getOptionLabel,
|
|
154
|
+
_ref3$getOptionValue = _ref3.getOptionValue,
|
|
155
|
+
getOptionValue = _ref3$getOptionValue === void 0 ? defaultGetOptionValue : _ref3$getOptionValue,
|
|
156
|
+
_ref3$onScrollBottom = _ref3.onScrollBottom,
|
|
157
|
+
onScrollBottom = _ref3$onScrollBottom === void 0 ? noop : _ref3$onScrollBottom,
|
|
158
|
+
_ref3$onOpenChange = _ref3.onOpenChange,
|
|
159
|
+
_onOpenChange = _ref3$onOpenChange === void 0 ? noop : _ref3$onOpenChange,
|
|
160
|
+
header = _ref3.header,
|
|
161
|
+
_ref3$loading = _ref3.loading,
|
|
162
|
+
loading = _ref3$loading === void 0 ? false : _ref3$loading,
|
|
163
|
+
_ref3$multiple = _ref3.multiple,
|
|
164
|
+
multiple = _ref3$multiple === void 0 ? false : _ref3$multiple,
|
|
165
|
+
onChange = _ref3.onChange,
|
|
166
|
+
onManualSort = _ref3.onManualSort,
|
|
167
|
+
_ref3$options = _ref3.options,
|
|
168
|
+
sourceOptions = _ref3$options === void 0 ? [] : _ref3$options,
|
|
169
|
+
placeholder = _ref3.placeholder,
|
|
170
|
+
_ref3$preset = _ref3.preset,
|
|
171
|
+
preset = _ref3$preset === void 0 ? '' : _ref3$preset,
|
|
172
|
+
presetProps = _ref3.presetProps,
|
|
173
|
+
_ref3$search = _ref3.search,
|
|
174
|
+
search = _ref3$search === void 0 ? true : _ref3$search,
|
|
175
|
+
_ref3$selectionStyle = _ref3.selectionStyle,
|
|
176
|
+
selectionStyle = _ref3$selectionStyle === void 0 ? 'highlight' : _ref3$selectionStyle,
|
|
177
|
+
_ref3$setOptionGroup = _ref3.setOptionGroup,
|
|
178
|
+
setOptionGroup = _ref3$setOptionGroup === void 0 ? defaultSetOptionGroup : _ref3$setOptionGroup,
|
|
179
|
+
_ref3$sort = _ref3.sort,
|
|
180
|
+
sort = _ref3$sort === void 0 ? true : _ref3$sort,
|
|
181
|
+
_ref3$tabIndex = _ref3.tabIndex,
|
|
182
|
+
tabIndex = _ref3$tabIndex === void 0 ? 0 : _ref3$tabIndex,
|
|
183
|
+
value_ = _ref3.value;
|
|
184
|
+
React.useEffect(function () {
|
|
185
|
+
if (!draggable) {
|
|
186
|
+
return;
|
|
415
187
|
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
disabled: disabled,
|
|
421
|
-
'aria-controls': listId,
|
|
422
|
-
onKeyDown: function (e) {
|
|
423
|
-
var _a;
|
|
424
|
-
if (e.key === 'Tab') {
|
|
425
|
-
if (open) {
|
|
426
|
-
e.preventDefault();
|
|
427
|
-
e.stopPropagation();
|
|
428
|
-
(_a = floating.refs.floating.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
},
|
|
432
|
-
onChange: function (e) {
|
|
433
|
-
setSearchValue(e.currentTarget.value);
|
|
434
|
-
setActiveTokenIndex(null);
|
|
435
|
-
},
|
|
436
|
-
style: {
|
|
437
|
-
opacity: activeTokenIndex === null ? 1 : 0,
|
|
438
|
-
},
|
|
439
|
-
};
|
|
188
|
+
var isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup;
|
|
189
|
+
var isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup;
|
|
190
|
+
if (isUsingDefaultGetter && !isUsingDefaultSetter || !isUsingDefaultGetter && isUsingDefaultSetter) {
|
|
191
|
+
console.warn("SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.");
|
|
440
192
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
193
|
+
}, [draggable, getOptionGroup, setOptionGroup]);
|
|
194
|
+
var i18n = useI18nContext();
|
|
195
|
+
var initialValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : null;
|
|
196
|
+
var _React$useState = React.useState(initialValue),
|
|
197
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
198
|
+
val = _React$useState2[0],
|
|
199
|
+
setVal = _React$useState2[1];
|
|
200
|
+
var value = value_ !== undefined ? value_ : val;
|
|
201
|
+
function setValue(v) {
|
|
202
|
+
if (!value_) {
|
|
203
|
+
setVal(v);
|
|
451
204
|
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
ref: function (el) {
|
|
455
|
-
var _a;
|
|
456
|
-
setSearchHeight((_a = el === null || el === void 0 ? void 0 : el.clientHeight) !== null && _a !== void 0 ? _a : 0);
|
|
457
|
-
},
|
|
458
|
-
};
|
|
205
|
+
if (onChange) {
|
|
206
|
+
onChange(v);
|
|
459
207
|
}
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
208
|
+
}
|
|
209
|
+
var navigationList = React.useRef([]);
|
|
210
|
+
var virtuoso = React.useRef(null);
|
|
211
|
+
var searchRef = React.useRef(null);
|
|
212
|
+
var overlayId = useId(); // TODO use React 18 useId
|
|
213
|
+
var listId = useId(); // TODO use React 18 useId
|
|
214
|
+
|
|
215
|
+
var _React$useState3 = React.useState(false),
|
|
216
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
217
|
+
open = _React$useState4[0],
|
|
218
|
+
setOpen = _React$useState4[1];
|
|
219
|
+
var _React$useState5 = React.useState(false),
|
|
220
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
221
|
+
pointer = _React$useState6[0],
|
|
222
|
+
setPointer = _React$useState6[1];
|
|
223
|
+
var _React$useState7 = React.useState(248),
|
|
224
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
225
|
+
width = _React$useState8[0],
|
|
226
|
+
setWidth = _React$useState8[1];
|
|
227
|
+
var _React$useState9 = React.useState(248),
|
|
228
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
229
|
+
maxHeight = _React$useState10[0],
|
|
230
|
+
setMaxHeight = _React$useState10[1];
|
|
231
|
+
var _React$useState11 = React.useState(0),
|
|
232
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
233
|
+
listHeight = _React$useState12[0],
|
|
234
|
+
setListHeight = _React$useState12[1];
|
|
235
|
+
var _React$useState13 = React.useState(0),
|
|
236
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
237
|
+
searchHeight = _React$useState14[0],
|
|
238
|
+
setSearchHeight = _React$useState14[1];
|
|
239
|
+
var _React$useState15 = React.useState(0),
|
|
240
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
241
|
+
footerHeight = _React$useState16[0],
|
|
242
|
+
setFooterHeight = _React$useState16[1];
|
|
243
|
+
var listContainerHeight = Math.min(maxHeight - searchHeight - footerHeight + listContainerVerticalPadding, listHeight + listContainerVerticalPadding);
|
|
244
|
+
var _React$useState17 = React.useState(''),
|
|
245
|
+
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
246
|
+
searchValue = _React$useState18[0],
|
|
247
|
+
setSearchValue_ = _React$useState18[1];
|
|
248
|
+
var setSearchValue = debounce(setSearchValue_, 250); // TODO use React 18 useDeferredValue
|
|
249
|
+
|
|
250
|
+
var _React$useState19 = React.useState(null),
|
|
251
|
+
_React$useState20 = _slicedToArray(_React$useState19, 2),
|
|
252
|
+
activeMenuIndex = _React$useState20[0],
|
|
253
|
+
setActiveMenuIndex = _React$useState20[1];
|
|
254
|
+
var _React$useState21 = React.useState(null),
|
|
255
|
+
_React$useState22 = _slicedToArray(_React$useState21, 2),
|
|
256
|
+
activeTokenIndex = _React$useState22[0],
|
|
257
|
+
setActiveTokenIndex = _React$useState22[1];
|
|
258
|
+
var components = _objectSpread(_objectSpread({}, defaultComponents), customComponents || {});
|
|
259
|
+
|
|
260
|
+
// TODO #memogetters: consider having getOption... getter functions memoized by consumers
|
|
261
|
+
// Until then, exclude these callbacks from effect and memo dependencies
|
|
262
|
+
var sortOptions = React.useMemo(function () {
|
|
263
|
+
return getOptionsSortingAlgorithm({
|
|
264
|
+
getOptionIsBatch: getOptionIsBatch,
|
|
265
|
+
getOptionLabel: getOptionLabel
|
|
266
|
+
});
|
|
267
|
+
},
|
|
268
|
+
// skip `getOptionIsBatch` and `getOptionLabel`
|
|
269
|
+
[]);
|
|
270
|
+
var formatBatchOption = React.useMemo(function () {
|
|
271
|
+
return getBatchOptionFormatter({
|
|
272
|
+
value: value,
|
|
273
|
+
multiple: multiple,
|
|
274
|
+
getOptionIsBatch: getOptionIsBatch,
|
|
275
|
+
getOptionValue: getOptionValue
|
|
276
|
+
});
|
|
277
|
+
},
|
|
278
|
+
// skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters
|
|
279
|
+
[value, multiple]);
|
|
280
|
+
|
|
281
|
+
// collect groups, sort them and populate them with options, and sort the options inside the groups
|
|
282
|
+
var enforceOptionsSortingOrder = React.useCallback(function groupAndSort(opts) {
|
|
283
|
+
var _collectGroupsInOrder = collectGroupsInOrderOfOccurrence(opts, getOptionGroup),
|
|
284
|
+
groups = _collectGroupsInOrder.groups,
|
|
285
|
+
groupedOptions = _collectGroupsInOrder.groupedOptions;
|
|
286
|
+
if (getIsAllOptionsUngrouped(groups)) {
|
|
287
|
+
return opts.sort(sortOptions);
|
|
469
288
|
}
|
|
470
|
-
function
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
289
|
+
return Object.entries(groupedOptions).sort(function (_ref4, _ref5) {
|
|
290
|
+
var _ref6 = _slicedToArray(_ref4, 1),
|
|
291
|
+
groupA = _ref6[0];
|
|
292
|
+
var _ref7 = _slicedToArray(_ref5, 1),
|
|
293
|
+
groupB = _ref7[0];
|
|
294
|
+
return sortOptgroups(groupA, groupB);
|
|
295
|
+
}).flatMap(function (_ref8) {
|
|
296
|
+
var _ref9 = _slicedToArray(_ref8, 2),
|
|
297
|
+
groupName = _ref9[0],
|
|
298
|
+
groupOptions = _ref9[1];
|
|
299
|
+
return createOptgroup(groupName, groupOptions.sort(sortOptions));
|
|
300
|
+
});
|
|
301
|
+
},
|
|
302
|
+
// skip `getOptionGroup`, refer to TODO #memogetters
|
|
303
|
+
[sortOptions]);
|
|
304
|
+
|
|
305
|
+
// collect groups and populate them with options
|
|
306
|
+
var deriveOptionsSortingOrder = React.useCallback(function (opts) {
|
|
307
|
+
var _collectGroupsInOrder2 = collectGroupsInOrderOfOccurrence(opts, getOptionGroup),
|
|
308
|
+
groups = _collectGroupsInOrder2.groups,
|
|
309
|
+
groupedOptions = _collectGroupsInOrder2.groupedOptions;
|
|
310
|
+
if (getIsAllOptionsUngrouped(groups)) {
|
|
311
|
+
return opts;
|
|
474
312
|
}
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
313
|
+
|
|
314
|
+
// display optgroups in the order of occurrence, as they are considered pre-sorted
|
|
315
|
+
return groups.flatMap(function (group) {
|
|
316
|
+
var groupOptions = groupedOptions[group];
|
|
317
|
+
return createOptgroup(group, groupOptions);
|
|
318
|
+
});
|
|
319
|
+
},
|
|
320
|
+
// skip `getOptionGroup`, refer to TODO #memogetters
|
|
321
|
+
[]);
|
|
322
|
+
var groupAndSortAlgorithm = React.useMemo(function () {
|
|
323
|
+
return sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder;
|
|
324
|
+
}, [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]);
|
|
325
|
+
var options = React.useMemo(function () {
|
|
326
|
+
var queried = searchValue ? sourceOptions.filter(function (opt) {
|
|
327
|
+
return stringContains(getOptionLabel(opt), searchValue);
|
|
328
|
+
}) : _toConsumableArray(sourceOptions); // make a copy of source options to prevent the mutation when sorting
|
|
329
|
+
|
|
330
|
+
return groupAndSortAlgorithm(queried).map(formatBatchOption);
|
|
331
|
+
},
|
|
332
|
+
// skip `getOptionLabel`, refer to TODO #memogetters
|
|
333
|
+
[groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]);
|
|
334
|
+
var _React$useState23 = React.useState([]),
|
|
335
|
+
_React$useState24 = _slicedToArray(_React$useState23, 2),
|
|
336
|
+
draggableOptions = _React$useState24[0],
|
|
337
|
+
setDraggableOptions = _React$useState24[1];
|
|
338
|
+
React.useEffect(function () {
|
|
339
|
+
if (!draggable) {
|
|
340
|
+
return;
|
|
487
341
|
}
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
342
|
+
// make a copy of source options to prevent the mutation when sorting
|
|
343
|
+
var opts = groupAndSortAlgorithm(sourceOptions.map(function (opt) {
|
|
344
|
+
return _objectSpread(_objectSpread({}, opt), {}, _defineProperty({}, draggableOptionIdSymbol, ulid()));
|
|
345
|
+
}));
|
|
346
|
+
setDraggableOptions(opts);
|
|
347
|
+
},
|
|
348
|
+
// in draggable mode, sourceOptions must be memoized, othewise reorder will not work
|
|
349
|
+
[draggable, sourceOptions, groupAndSortAlgorithm]);
|
|
350
|
+
var queriedDraggableOptions = React.useMemo(function () {
|
|
351
|
+
if (!draggable) {
|
|
352
|
+
return [];
|
|
492
353
|
}
|
|
493
|
-
function
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
354
|
+
var queried = searchValue ? removeEmptyOptGroups(draggableOptions.filter(function (opt) {
|
|
355
|
+
if (!getOptionIsOptgroup(opt)) {
|
|
356
|
+
return stringContains(getOptionLabel(opt), searchValue);
|
|
357
|
+
}
|
|
358
|
+
return true;
|
|
359
|
+
})) : draggableOptions;
|
|
360
|
+
return queried.map(formatBatchOption);
|
|
361
|
+
},
|
|
362
|
+
// skip `getOptionLabel`, refer to TODO #memogetters
|
|
363
|
+
[draggable, draggableOptions, searchValue, formatBatchOption]);
|
|
364
|
+
var groupIndices = React.useMemo(function () {
|
|
365
|
+
return options.reduce(function (acc, opt, i) {
|
|
366
|
+
if (getOptionIsOptgroup(opt)) {
|
|
367
|
+
acc.push(i);
|
|
368
|
+
}
|
|
369
|
+
return acc;
|
|
370
|
+
}, []);
|
|
371
|
+
}, [options]);
|
|
372
|
+
var selectedIndex = React.useMemo(function () {
|
|
373
|
+
return options.findIndex(function (option) {
|
|
374
|
+
return isSelectableOption(option) && getOptionValue(option) === value;
|
|
375
|
+
});
|
|
376
|
+
}, [options, value]);
|
|
377
|
+
var selectedOption = React.useMemo(function () {
|
|
378
|
+
var val = Array.isArray(value) ? value[0] : value;
|
|
379
|
+
return options.find(function (option) {
|
|
380
|
+
return getOptionValue(option) === val;
|
|
381
|
+
});
|
|
382
|
+
}, [options, value]);
|
|
383
|
+
var selectedLabel = React.useMemo(function () {
|
|
384
|
+
return selectedOption ? getOptionLabel(selectedOption) : '';
|
|
385
|
+
}, [selectedOption]);
|
|
386
|
+
function isSelectableOption(o) {
|
|
387
|
+
return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o);
|
|
388
|
+
}
|
|
389
|
+
function getFirstSelectableOptionIndex() {
|
|
390
|
+
return options.findIndex(isSelectableOption);
|
|
391
|
+
}
|
|
392
|
+
function onSelect(option) {
|
|
393
|
+
if (getOptionIsDisabled(option)) {
|
|
394
|
+
return;
|
|
505
395
|
}
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
396
|
+
var optionValue = getOptionValue(option);
|
|
397
|
+
if (isMultiple(multiple, value)) {
|
|
398
|
+
if (Array.isArray(optionValue)) {
|
|
399
|
+
setValue(uniq([].concat(_toConsumableArray(value), _toConsumableArray(optionValue))));
|
|
400
|
+
} else {
|
|
401
|
+
setValue(value.includes(optionValue) ? value.filter(function (val) {
|
|
402
|
+
return val !== optionValue;
|
|
403
|
+
}) : [].concat(_toConsumableArray(value), [optionValue]));
|
|
404
|
+
}
|
|
405
|
+
} else {
|
|
406
|
+
setValue(optionValue);
|
|
513
407
|
}
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
role: 'listbox',
|
|
522
|
-
id: overlayId,
|
|
523
|
-
data: draggable ? queriedDraggableOptions : options,
|
|
524
|
-
components: {
|
|
525
|
-
Item: components === null || components === void 0 ? void 0 : components.Item, // TODO fix type
|
|
526
|
-
},
|
|
527
|
-
initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,
|
|
528
|
-
style: {
|
|
529
|
-
flex: '1 1 auto',
|
|
530
|
-
},
|
|
531
|
-
tabIndex: -1,
|
|
532
|
-
totalListHeightChanged: setListHeight,
|
|
533
|
-
atBottomStateChange: atBottomStateChange,
|
|
534
|
-
};
|
|
408
|
+
}
|
|
409
|
+
function onKeyboardSelect() {
|
|
410
|
+
if (activeMenuIndex !== null) {
|
|
411
|
+
var option = options[activeMenuIndex];
|
|
412
|
+
if (option) {
|
|
413
|
+
onSelect(option);
|
|
414
|
+
}
|
|
535
415
|
}
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
416
|
+
}
|
|
417
|
+
function getOptionIsSelected(option) {
|
|
418
|
+
return Array.isArray(value) ? value.includes(getOptionValue(option)) : value === getOptionValue(option);
|
|
419
|
+
}
|
|
420
|
+
function isEmpty() {
|
|
421
|
+
return Array.isArray(value) ? value.length === 0 : value === null;
|
|
422
|
+
}
|
|
423
|
+
var boundWidthRef = React.useRef(open);
|
|
424
|
+
React.useEffect(function () {
|
|
425
|
+
boundWidthRef.current = open;
|
|
426
|
+
}, [open]);
|
|
427
|
+
var floating = useFloating({
|
|
428
|
+
open: open,
|
|
429
|
+
onOpenChange: function onOpenChange(open) {
|
|
430
|
+
setOpen(open);
|
|
431
|
+
_onOpenChange(open);
|
|
432
|
+
},
|
|
433
|
+
whileElementsMounted: autoUpdate,
|
|
434
|
+
strategy: 'fixed',
|
|
435
|
+
middleware: [offset(2), flip(), size({
|
|
436
|
+
apply: function apply(_ref10) {
|
|
437
|
+
var availableHeight = _ref10.availableHeight,
|
|
438
|
+
elements = _ref10.elements;
|
|
439
|
+
if (boundWidthRef.current) {
|
|
440
|
+
boundWidthRef.current = false;
|
|
441
|
+
setWidth(elements.reference.getBoundingClientRect().width);
|
|
539
442
|
}
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
443
|
+
setMaxHeight(availableHeight);
|
|
444
|
+
},
|
|
445
|
+
padding: 10
|
|
446
|
+
})]
|
|
447
|
+
});
|
|
448
|
+
var _useZIndexContext = useZIndexContext(),
|
|
449
|
+
zIndex = _useZIndexContext.value;
|
|
450
|
+
var _useInteractions = useInteractions([useClick(floating.context, {
|
|
451
|
+
enabled: !disabled,
|
|
452
|
+
keyboardHandlers: false
|
|
453
|
+
}), useDismiss(floating.context, {
|
|
454
|
+
enabled: !disabled
|
|
455
|
+
}), useListNavigation(floating.context, {
|
|
456
|
+
activeIndex: activeMenuIndex,
|
|
457
|
+
disabledIndices: groupIndices,
|
|
458
|
+
enabled: !disabled,
|
|
459
|
+
listRef: navigationList,
|
|
460
|
+
loop: true,
|
|
461
|
+
onNavigate: function onNavigate(i) {
|
|
462
|
+
return setActiveMenuIndex(function () {
|
|
463
|
+
return i;
|
|
561
464
|
});
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
465
|
+
},
|
|
466
|
+
selectedIndex: selectedIndex,
|
|
467
|
+
virtual: true
|
|
468
|
+
}), useTokenNavigation(floating.context, {
|
|
469
|
+
activeIndex: activeTokenIndex,
|
|
470
|
+
enabled: !disabled && multiple && searchValue === '',
|
|
471
|
+
onChange: setValue,
|
|
472
|
+
onNavigate: function onNavigate(i) {
|
|
473
|
+
return setActiveTokenIndex(function () {
|
|
474
|
+
return i;
|
|
475
|
+
});
|
|
476
|
+
},
|
|
477
|
+
value: value
|
|
478
|
+
}), useKeyboardSelection(floating.context, {
|
|
479
|
+
enabled: !disabled,
|
|
480
|
+
onSelect: onKeyboardSelect
|
|
481
|
+
}), {
|
|
482
|
+
reference: {
|
|
483
|
+
$block: block,
|
|
484
|
+
$disabled: disabled,
|
|
485
|
+
$error: error,
|
|
486
|
+
$hasClearIcon: !disabled && !loading,
|
|
487
|
+
$loading: loading,
|
|
488
|
+
$multiple: multiple,
|
|
489
|
+
$open: open,
|
|
490
|
+
$placeholder: !selectedLabel,
|
|
491
|
+
'aria-controls': search ? overlayId : listId,
|
|
492
|
+
'aria-expanded': open,
|
|
493
|
+
'aria-haspopup': search ? 'dialog' : 'listbox',
|
|
494
|
+
onKeyDown: function onKeyDown() {
|
|
495
|
+
setPointer(false);
|
|
496
|
+
},
|
|
497
|
+
role: 'combobox',
|
|
498
|
+
search: search,
|
|
499
|
+
tabIndex: disabled ? -1 : tabIndex
|
|
500
|
+
},
|
|
501
|
+
// TODO fix type
|
|
502
|
+
floating: {
|
|
503
|
+
role: search ? 'dialog' : 'none',
|
|
504
|
+
id: overlayId,
|
|
505
|
+
onKeyDown: function onKeyDown() {
|
|
506
|
+
setPointer(false);
|
|
507
|
+
},
|
|
508
|
+
onPointerMove: function onPointerMove() {
|
|
509
|
+
setPointer(true);
|
|
510
|
+
},
|
|
511
|
+
style: {
|
|
512
|
+
position: floating.strategy,
|
|
513
|
+
left: floating.x || 0,
|
|
514
|
+
top: floating.y || 0,
|
|
515
|
+
width: width,
|
|
516
|
+
maxHeight: maxHeight,
|
|
517
|
+
zIndex: zIndex
|
|
578
518
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
519
|
+
}
|
|
520
|
+
}]),
|
|
521
|
+
getReferenceProps = _useInteractions.getReferenceProps,
|
|
522
|
+
getFloatingProps = _useInteractions.getFloatingProps,
|
|
523
|
+
getItemProps = _useInteractions.getItemProps;
|
|
524
|
+
function getLabelProps() {
|
|
525
|
+
return {
|
|
526
|
+
$hoverable: false
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
function getMultiInputProps() {
|
|
530
|
+
return {
|
|
531
|
+
ref: searchRef,
|
|
532
|
+
placeholder: isEmpty() ? placeholder : '',
|
|
533
|
+
disabled: disabled,
|
|
534
|
+
'aria-controls': listId,
|
|
535
|
+
onKeyDown: function onKeyDown(e) {
|
|
536
|
+
if (e.key === 'Tab') {
|
|
537
|
+
if (open) {
|
|
538
|
+
var _floating$refs$floati;
|
|
539
|
+
e.preventDefault();
|
|
540
|
+
e.stopPropagation();
|
|
541
|
+
(_floating$refs$floati = floating.refs.floating.current) === null || _floating$refs$floati === void 0 ? void 0 : _floating$refs$floati.focus();
|
|
542
|
+
}
|
|
587
543
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
544
|
+
},
|
|
545
|
+
onChange: function onChange(e) {
|
|
546
|
+
setSearchValue(e.currentTarget.value);
|
|
547
|
+
setActiveTokenIndex(null);
|
|
548
|
+
},
|
|
549
|
+
style: {
|
|
550
|
+
opacity: activeTokenIndex === null ? 1 : 0
|
|
551
|
+
}
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
function getMultiValueProps(index) {
|
|
555
|
+
return {
|
|
556
|
+
onClick: function onClick(e) {
|
|
557
|
+
// prevent the menu from closing
|
|
558
|
+
e.stopPropagation();
|
|
559
|
+
if (isMultiple(multiple, value)) {
|
|
560
|
+
setValue(value.filter(function (_, i) {
|
|
561
|
+
return i !== index;
|
|
562
|
+
}));
|
|
596
563
|
}
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
564
|
+
}
|
|
565
|
+
};
|
|
566
|
+
}
|
|
567
|
+
function getSearchContainerProps() {
|
|
568
|
+
return {
|
|
569
|
+
ref: function ref(el) {
|
|
570
|
+
var _el$clientHeight;
|
|
571
|
+
setSearchHeight((_el$clientHeight = el === null || el === void 0 ? void 0 : el.clientHeight) !== null && _el$clientHeight !== void 0 ? _el$clientHeight : 0);
|
|
572
|
+
}
|
|
573
|
+
};
|
|
574
|
+
}
|
|
575
|
+
function getSearchProps() {
|
|
576
|
+
return {
|
|
577
|
+
'aria-controls': listId,
|
|
578
|
+
onChange: function onChange(value) {
|
|
579
|
+
setSearchValue(value);
|
|
580
|
+
setActiveTokenIndex(null);
|
|
581
|
+
},
|
|
582
|
+
placeholder: i18n.t('core.select.search')
|
|
583
|
+
};
|
|
584
|
+
}
|
|
585
|
+
function getHeaderProps() {
|
|
586
|
+
return {
|
|
587
|
+
ref: function ref(el) {}
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
function getFooterProps() {
|
|
591
|
+
return {
|
|
592
|
+
ref: function ref(el) {
|
|
593
|
+
var _el$clientHeight2;
|
|
594
|
+
setFooterHeight((_el$clientHeight2 = el === null || el === void 0 ? void 0 : el.clientHeight) !== null && _el$clientHeight2 !== void 0 ? _el$clientHeight2 : 0);
|
|
595
|
+
},
|
|
596
|
+
onKeyDown: function onKeyDown(e) {
|
|
597
|
+
if (e.key !== 'Escape') {
|
|
598
|
+
e.stopPropagation();
|
|
609
599
|
}
|
|
610
|
-
|
|
600
|
+
}
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
function getEmptyMessageProps() {
|
|
611
604
|
return {
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
item: getItemProps,
|
|
658
|
-
label: getLabelProps,
|
|
659
|
-
menu: getMenuProps,
|
|
660
|
-
multiInput: getMultiInputProps,
|
|
661
|
-
overlay: getFloatingProps,
|
|
662
|
-
search: getSearchProps,
|
|
663
|
-
searchContainer: getSearchContainerProps,
|
|
664
|
-
tokenClear: getMultiValueProps,
|
|
665
|
-
trigger: getReferenceProps,
|
|
666
|
-
virtuoso: getVirtuosoProps,
|
|
667
|
-
},
|
|
668
|
-
option: {
|
|
669
|
-
group: getOptionGroup,
|
|
670
|
-
isBatch: getOptionIsBatch,
|
|
671
|
-
isSelected: getOptionIsSelected,
|
|
672
|
-
isDisabled: getOptionIsDisabled,
|
|
673
|
-
isOptgroup: getOptionIsOptgroup,
|
|
674
|
-
label: getOptionLabel,
|
|
675
|
-
value: getOptionValue,
|
|
676
|
-
},
|
|
677
|
-
refs: {
|
|
678
|
-
floating: floating,
|
|
679
|
-
navigationList: navigationList,
|
|
680
|
-
virtuoso: virtuoso,
|
|
681
|
-
},
|
|
605
|
+
emptyMessage: emptyMessage
|
|
606
|
+
};
|
|
607
|
+
}
|
|
608
|
+
function getClearProps() {
|
|
609
|
+
return {
|
|
610
|
+
'aria-hidden': true,
|
|
611
|
+
'aria-label': i18n.t('core.select.clear'),
|
|
612
|
+
onClick: function onClick(e) {
|
|
613
|
+
// prevent the menu from closing
|
|
614
|
+
e.stopPropagation();
|
|
615
|
+
setActiveTokenIndex(null);
|
|
616
|
+
setValue(multiple ? [] : null);
|
|
617
|
+
setOpen(true);
|
|
618
|
+
}
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
function getMenuProps() {
|
|
622
|
+
return {
|
|
623
|
+
scrollable: false,
|
|
624
|
+
style: {
|
|
625
|
+
height: listContainerHeight
|
|
626
|
+
}
|
|
627
|
+
};
|
|
628
|
+
}
|
|
629
|
+
function getVirtuosoProps() {
|
|
630
|
+
var atBottomStateChange = function atBottomStateChange(atBottom) {
|
|
631
|
+
if (atBottom) {
|
|
632
|
+
onScrollBottom();
|
|
633
|
+
}
|
|
634
|
+
};
|
|
635
|
+
return {
|
|
636
|
+
role: 'listbox',
|
|
637
|
+
id: overlayId,
|
|
638
|
+
data: draggable ? queriedDraggableOptions : options,
|
|
639
|
+
components: {
|
|
640
|
+
Item: components === null || components === void 0 ? void 0 : components.Item // TODO fix type
|
|
641
|
+
},
|
|
642
|
+
|
|
643
|
+
initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,
|
|
644
|
+
style: {
|
|
645
|
+
flex: '1 1 auto'
|
|
646
|
+
},
|
|
647
|
+
tabIndex: -1,
|
|
648
|
+
totalListHeightChanged: setListHeight,
|
|
649
|
+
atBottomStateChange: atBottomStateChange
|
|
682
650
|
};
|
|
651
|
+
}
|
|
652
|
+
var onDragEnd = React.useCallback(function (result) {
|
|
653
|
+
if (!result.destination) {
|
|
654
|
+
return;
|
|
655
|
+
}
|
|
656
|
+
if (result.source.index === result.destination.index) {
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
var startIndex = result.source.index;
|
|
660
|
+
var destinationIndex = result.destination.index;
|
|
661
|
+
setDraggableOptions(function (options) {
|
|
662
|
+
var _reorder = reorder(options, startIndex, destinationIndex),
|
|
663
|
+
nextOptions = _reorder.nextOptions,
|
|
664
|
+
prevGroup = _reorder.prevGroup,
|
|
665
|
+
nextGroup = _reorder.nextGroup;
|
|
666
|
+
var adjustedOptions = prevGroup !== nextGroup ? nextOptions.map(function (option, index) {
|
|
667
|
+
if (index === destinationIndex) {
|
|
668
|
+
return setOptionGroup(option, nextGroup);
|
|
669
|
+
}
|
|
670
|
+
return option;
|
|
671
|
+
}) : nextOptions;
|
|
672
|
+
if (typeof onManualSort === 'function') {
|
|
673
|
+
setTimeout(function () {
|
|
674
|
+
onManualSort(adjustedOptions.filter(function (option) {
|
|
675
|
+
return !getOptionIsOptgroup(option);
|
|
676
|
+
}));
|
|
677
|
+
}, 0);
|
|
678
|
+
}
|
|
679
|
+
return adjustedOptions;
|
|
680
|
+
});
|
|
681
|
+
}, []);
|
|
682
|
+
|
|
683
|
+
// run effect when the `open` state changes
|
|
684
|
+
//
|
|
685
|
+
// if it was closed and is now open, reset the highlighted index to be
|
|
686
|
+
// the first selectable option
|
|
687
|
+
//
|
|
688
|
+
// if it was open and is now closed, reset the search value and focused token index
|
|
689
|
+
React.useEffect(function () {
|
|
690
|
+
if (open) {
|
|
691
|
+
setActiveMenuIndex(function () {
|
|
692
|
+
return selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex();
|
|
693
|
+
});
|
|
694
|
+
} else {
|
|
695
|
+
setSearchValue(function () {
|
|
696
|
+
return '';
|
|
697
|
+
});
|
|
698
|
+
setActiveTokenIndex(function () {
|
|
699
|
+
return null;
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
}, [open]);
|
|
703
|
+
|
|
704
|
+
// run the effect when user enters a serach value
|
|
705
|
+
//
|
|
706
|
+
// if the select is currently open then reset highlighted item to be the first
|
|
707
|
+
// selectable option
|
|
708
|
+
React.useEffect(function () {
|
|
709
|
+
if (open) {
|
|
710
|
+
setActiveMenuIndex(function () {
|
|
711
|
+
return getFirstSelectableOptionIndex();
|
|
712
|
+
});
|
|
713
|
+
}
|
|
714
|
+
}, [searchValue]);
|
|
715
|
+
|
|
716
|
+
// when we change the value then close the overlay, but only if we have
|
|
717
|
+
// actually selected a value
|
|
718
|
+
//
|
|
719
|
+
// multiple mode forces the overlay to stay open
|
|
720
|
+
React.useEffect(function () {
|
|
721
|
+
if (!multiple && value !== null) {
|
|
722
|
+
setOpen(function () {
|
|
723
|
+
return false;
|
|
724
|
+
});
|
|
725
|
+
}
|
|
726
|
+
}, [value]);
|
|
727
|
+
|
|
728
|
+
// recreate the array to hold dom refs when our options change
|
|
729
|
+
React.useEffect(function () {
|
|
730
|
+
navigationList.current = _toConsumableArray(Array(options.length).fill(null));
|
|
731
|
+
}, [options]);
|
|
732
|
+
|
|
733
|
+
// scroll virtuoso list activeMenuIndex into view when the index changes
|
|
734
|
+
React.useLayoutEffect(function () {
|
|
735
|
+
if (activeMenuIndex !== null) {
|
|
736
|
+
if (!pointer) {
|
|
737
|
+
var _virtuoso$current;
|
|
738
|
+
(_virtuoso$current = virtuoso.current) === null || _virtuoso$current === void 0 ? void 0 : _virtuoso$current.scrollIntoView({
|
|
739
|
+
index: activeMenuIndex
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
}, [activeMenuIndex, open]);
|
|
744
|
+
return {
|
|
745
|
+
config: {
|
|
746
|
+
block: block,
|
|
747
|
+
disabled: disabled,
|
|
748
|
+
draggable: draggable,
|
|
749
|
+
emptyMessage: emptyMessage,
|
|
750
|
+
error: error,
|
|
751
|
+
footer: footer,
|
|
752
|
+
header: header,
|
|
753
|
+
placeholder: placeholder,
|
|
754
|
+
preset: preset,
|
|
755
|
+
presetProps: presetProps,
|
|
756
|
+
selectionStyle: selectionStyle,
|
|
757
|
+
tabIndex: tabIndex,
|
|
758
|
+
loading: loading,
|
|
759
|
+
multiple: multiple
|
|
760
|
+
},
|
|
761
|
+
components: components,
|
|
762
|
+
state: {
|
|
763
|
+
activeMenuIndex: activeMenuIndex,
|
|
764
|
+
activeTokenIndex: activeTokenIndex,
|
|
765
|
+
isEmpty: isEmpty,
|
|
766
|
+
listContainerHeight: listContainerHeight,
|
|
767
|
+
listId: listId,
|
|
768
|
+
maxHeight: maxHeight,
|
|
769
|
+
onDragEnd: onDragEnd,
|
|
770
|
+
onSelect: onSelect,
|
|
771
|
+
open: open,
|
|
772
|
+
options: draggable ? queriedDraggableOptions : options,
|
|
773
|
+
overlayId: overlayId,
|
|
774
|
+
searchValue: searchValue,
|
|
775
|
+
selectedIndex: selectedIndex,
|
|
776
|
+
selectedLabel: selectedLabel,
|
|
777
|
+
selectedOption: selectedOption,
|
|
778
|
+
setOpen: setOpen,
|
|
779
|
+
setPointer: setPointer,
|
|
780
|
+
setSearchValue: setSearchValue,
|
|
781
|
+
sourceOptions: sourceOptions,
|
|
782
|
+
value: value,
|
|
783
|
+
width: width
|
|
784
|
+
},
|
|
785
|
+
props: {
|
|
786
|
+
clear: getClearProps,
|
|
787
|
+
emptyMessage: getEmptyMessageProps,
|
|
788
|
+
footer: getFooterProps,
|
|
789
|
+
header: getHeaderProps,
|
|
790
|
+
item: getItemProps,
|
|
791
|
+
label: getLabelProps,
|
|
792
|
+
menu: getMenuProps,
|
|
793
|
+
multiInput: getMultiInputProps,
|
|
794
|
+
overlay: getFloatingProps,
|
|
795
|
+
search: getSearchProps,
|
|
796
|
+
searchContainer: getSearchContainerProps,
|
|
797
|
+
tokenClear: getMultiValueProps,
|
|
798
|
+
trigger: getReferenceProps,
|
|
799
|
+
virtuoso: getVirtuosoProps
|
|
800
|
+
},
|
|
801
|
+
option: {
|
|
802
|
+
group: getOptionGroup,
|
|
803
|
+
isBatch: getOptionIsBatch,
|
|
804
|
+
isSelected: getOptionIsSelected,
|
|
805
|
+
isDisabled: getOptionIsDisabled,
|
|
806
|
+
isOptgroup: getOptionIsOptgroup,
|
|
807
|
+
label: getOptionLabel,
|
|
808
|
+
value: getOptionValue
|
|
809
|
+
},
|
|
810
|
+
refs: {
|
|
811
|
+
floating: floating,
|
|
812
|
+
navigationList: navigationList,
|
|
813
|
+
virtuoso: virtuoso
|
|
814
|
+
}
|
|
815
|
+
};
|
|
683
816
|
}
|
|
684
|
-
export var SuperSelectContext = React.createContext(null);
|
|
817
|
+
export var SuperSelectContext = /*#__PURE__*/React.createContext(null);
|
|
685
818
|
export function useSuperSelectContext() {
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
819
|
+
var ctx = React.useContext(SuperSelectContext);
|
|
820
|
+
if (!ctx) {
|
|
821
|
+
throw new Error('Invalid SuperSelectContext');
|
|
822
|
+
}
|
|
823
|
+
return ctx;
|
|
691
824
|
}
|
|
692
825
|
//# sourceMappingURL=useSuperSelect.js.map
|