@procore/core-react 12.29.0 → 12.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/Avatar/Avatar.types.d.ts +1 -1
- package/dist/Avatar/Avatar.types.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/AvatarStack/AvatarStack.types.d.ts +0 -2
- package/dist/AvatarStack/AvatarStack.types.js.map +1 -1
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +8 -8
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +1 -1
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +4 -4
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +4 -4
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +14 -14
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.styles.js +7 -7
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +1 -1
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +38 -38
- package/dist/SuperSelect/useSuperSelect.js +377 -62
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.styles.js +9 -9
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
- package/dist/_typedoc/Avatar/Avatar.types.json +22 -22
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -27
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +13 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +13 -13
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
- package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
- package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +743 -743
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +1 -1
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
- package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
- package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +30 -30
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +18 -18
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +60 -60
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
- package/dist/_typedoc/Table/Table.types.json +101 -101
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +86 -86
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuperSelect.js","names":["autoUpdate","flip","offset","size","useClick","useDismiss","useFloating","useInteractions","useListNavigation","useId","debounce","uniq","React","ulid","useI18nContext","useZIndexContext","spacing","defaultComponents","draggableOptionIdSymbol","isOptSelectAllSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionIsOptSelectAll","getOptionsSortingAlgorithm","isMultiple","removeEmptyOptGroups","reorder","sortOptgroups","listContainerVerticalPadding","sm","noop","defaultGetOptionValue","option","value","defaultGetOptionIsBatch","Array","isArray","defaultGetOptionIsDisabled","_option$disabled","disabled","defaultGetOptionGroup","_option$group","group","defaultSetOptionGroup","_objectSpread","defaultGetOptionLabel","_option$label","label","stringContains","str1","str2","toLowerCase","includes","useTokenNavigation","context","_ref","arguments","length","undefined","_ref$enabled","enabled","_ref$value","_ref$activeIndex","activeIndex","_ref$onNavigate","onNavigate","_ref$onChange","onChange","reference","onKeyDown","e","key","Math","max","repeat","nextVal","filter","_","i","useKeyboardSelection","_ref2","_ref2$enabled","_ref2$onSelect","onSelect","floating","useSuperSelect","_ref3","_ref3$block","block","customComponents","components","defaultValue","_ref3$disabled","_ref3$draggable","draggable","_ref3$emptyMessage","emptyMessage","_ref3$selectAllEnable","selectAllEnabled","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","getOptionIsPartiallySelected","getOptionIsSelected","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","onSelectAll","_ref3$options","options","sourceOptions","placeholder","_ref3$preset","preset","presetProps","_ref3$search","search","_ref3$selectionStyle","selectionStyle","_ref3$setOptionGroup","setOptionGroup","_ref3$sort","sort","_ref3$tabIndex","tabIndex","value_","_ref3$overlayMatchesT","overlayMatchesTriggerWidth","ariaLabel","useEffect","isUsingDefaultGetter","isUsingDefaultSetter","console","warn","i18n","initialValue","_React$useState","useState","_React$useState2","_slicedToArray","val","setVal","setValue","v","navigationList","useRef","virtuoso","searchRef","overlayId","listId","_React$useState3","_React$useState4","open","setOpen","_React$useState5","_React$useState6","pointer","setPointer","_React$useState7","_React$useState8","width","setWidth","_React$useState9","_React$useState0","maxHeight","setMaxHeight","_React$useState1","_React$useState10","listHeight","setListHeight","_React$useState11","_React$useState12","searchHeight","setSearchHeight","_React$useState13","_React$useState14","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState15","_React$useState16","searchValue","setSearchValue_","setSearchValue","_React$useState17","_React$useState18","activeMenuIndex","setActiveMenuIndex","_React$useState19","_React$useState20","activeTokenIndex","setActiveTokenIndex","sortOptions","useMemo","formatBatchOption","enforceOptionsSortingOrder","useCallback","groupAndSort","opts","_collectGroupsInOrder","groups","groupedOptions","Object","entries","_ref4","_ref5","_ref6","groupA","_ref7","groupB","flatMap","_ref8","_ref9","groupName","groupOptions","deriveOptionsSortingOrder","_collectGroupsInOrder2","groupAndSortAlgorithm","queried","opt","_toConsumableArray","map","selectAllOption","_defineProperty","t","id","allOptionsWithSelectAll","concat","_React$useState21","_React$useState22","draggableOptions","setDraggableOptions","queriedDraggableOptions","groupIndices","baseOptions","reduce","acc","push","selectedIndex","findIndex","isSelectableOption","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","optionValue","isSelectAll","selectableOptions","allOptionsSelected","every","getIsSelected","defaultGetOptionIsSelected","optionValues","onKeyboardSelect","defaultGetOptionIsPartiallySelected","some","defaultGetOptionIsSelectAllPartiallySelected","isSelected","isPartiallySelected","defaultGetOptionIsSelectAllSelected","isEmpty","boundWidthRef","current","whileElementsMounted","_len","args","_key","apply","animationFrame","strategy","middleware","_ref0","rects","mainAxis","crossAxis","_ref1","availableHeight","elements","getBoundingClientRect","padding","_useZIndexContext","zIndex","_useInteractions","keyboardHandlers","disabledIndices","listRef","loop","virtual","$block","$disabled","$error","$hasClearIcon","$loading","$multiple","$open","$placeholder","role","onPointerMove","style","position","left","x","top","y","getReferenceProps","getFloatingProps","getItemProps","getLabelProps","$hoverable","getMultiInputProps","ref","_floating$refs$floati","preventDefault","stopPropagation","refs","focus","currentTarget","opacity","getMultiValueProps","index","onClick","getSearchContainerProps","el","_el$clientHeight","clientHeight","getSearchProps","getHeaderProps","getFooterProps","_el$clientHeight2","getEmptyMessageProps","getClearProps","getMenuProps","scrollable","height","getVirtuosoProps","atBottomStateChange","atBottom","data","Item","initialTopMostItemIndex","flex","totalListHeightChanged","onDragEnd","result","destination","source","startIndex","destinationIndex","_reorder","nextOptions","prevGroup","nextGroup","adjustedOptions","setTimeout","totalLength","fill","useLayoutEffect","virtuosoIndex","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isDisabled","isOptgroup","isOptSelectAll","selectAll","isSelectAllPartiallySelected","isSelectAllSelected","SuperSelectContext","createContext","useSuperSelectContext","ctx","useContext","Error"],"sources":["../../src/SuperSelect/useSuperSelect.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from '@floating-ui/react'\nimport {\n autoUpdate,\n flip,\n offset,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useListNavigation,\n} from '@floating-ui/react'\nimport { useId } from '@react-aria/utils'\nimport debounce from 'lodash.debounce'\nimport uniq from 'lodash.uniq'\nimport React from 'react'\nimport type { VirtuosoHandle, VirtuosoProps } from 'react-virtuoso'\nimport { ulid } from 'ulid'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { spacing } from '../_styles/spacing'\nimport * as defaultComponents from './SuperSelect.components'\nimport {\n draggableOptionIdSymbol,\n isOptSelectAllSymbol,\n} from './SuperSelect.constants'\nimport { extendedSelectMenuWidth } from './SuperSelect.styles'\nimport type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\n SuperSelectResult,\n SuperSelectValue,\n SuperSelectValuePrimitive,\n TokenNavigationProps,\n} from './SuperSelect.types'\nimport {\n collectGroupsInOrderOfOccurrence,\n createOptgroup,\n getBatchOptionFormatter,\n getIsAllOptionsUngrouped,\n getOptionIsOptgroup,\n getOptionIsOptSelectAll,\n getOptionsSortingAlgorithm,\n isMultiple,\n removeEmptyOptGroups,\n reorder,\n sortOptgroups,\n} from './SuperSelect.utils'\n\nconst listContainerVerticalPadding = spacing.sm * 2\n\nfunction noop() {}\n\nfunction defaultGetOptionValue(option: SuperSelectOption) {\n return option?.value\n}\n\nfunction defaultGetOptionIsBatch(option: SuperSelectOption): boolean {\n return Array.isArray(option?.value)\n}\n\nfunction defaultGetOptionIsDisabled(option: SuperSelectOption): boolean {\n return option?.disabled ?? false\n}\n\nfunction defaultGetOptionGroup(option: SuperSelectOption): string {\n return option?.group ?? ''\n}\n\nfunction defaultSetOptionGroup(\n option: SuperSelectOption,\n group: string\n): SuperSelectOption {\n return {\n ...option,\n group,\n }\n}\n\nfunction defaultGetOptionLabel(option: SuperSelectOption): string {\n return option?.label ?? ''\n}\n\nfunction stringContains(str1: string, str2: string) {\n return str1.toLowerCase().includes(str2.toLowerCase())\n}\n\nfunction useTokenNavigation(\n context: FloatingContext<HTMLElement>,\n {\n enabled = true,\n value = [],\n activeIndex = null,\n onNavigate = noop,\n onChange = noop,\n }: TokenNavigationProps = {}\n): ElementProps {\n return {\n reference: {\n onKeyDown(e) {\n if (!enabled || !Array.isArray(value)) {\n return\n }\n\n if (e.key === 'ArrowLeft') {\n if (activeIndex !== null) {\n onNavigate(Math.max(0, activeIndex - 1))\n } else if (value.length > 0) {\n onNavigate(value.length - 1)\n }\n } else if (e.key === 'ArrowRight') {\n if (activeIndex !== null) {\n if (activeIndex === value.length - 1) {\n onNavigate(null)\n } else {\n onNavigate(activeIndex + 1)\n }\n }\n } else if (e.key === 'Backspace') {\n if (!e.repeat) {\n if (activeIndex !== null) {\n const nextVal = value.filter((_, i) => i !== activeIndex)\n\n onChange(nextVal)\n\n if (activeIndex >= nextVal.length) {\n onNavigate(null)\n }\n } else if (value.length > 0) {\n onChange(value.filter((_, i) => i !== value.length - 1))\n }\n }\n }\n },\n },\n }\n}\n\nfunction useKeyboardSelection(\n context: FloatingContext<HTMLElement>,\n { enabled = true, onSelect = () => {} }: KeyboardSelectionProps = {}\n): ElementProps {\n function onKeyDown(e: React.KeyboardEvent) {\n if (!enabled) {\n return\n }\n\n if (e.key === 'Enter') {\n onSelect()\n }\n }\n\n return {\n reference: {\n onKeyDown,\n },\n floating: {\n onKeyDown,\n },\n }\n}\n\nexport function useSuperSelect({\n block = false,\n components: customComponents,\n defaultValue,\n disabled = false,\n draggable = false,\n emptyMessage = 'No results',\n selectAllEnabled = false,\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionIsPartiallySelected,\n getOptionIsSelected,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n onSelectAll,\n options: sourceOptions = [],\n placeholder,\n preset = '',\n presetProps,\n search = true,\n selectionStyle = 'highlight',\n setOptionGroup = defaultSetOptionGroup,\n sort = true,\n tabIndex = 0,\n value: value_,\n overlayMatchesTriggerWidth = true,\n 'aria-label': ariaLabel,\n}: SuperSelectConfig): SuperSelectApi {\n React.useEffect(() => {\n if (!draggable) {\n return\n }\n\n const isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup\n const isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup\n\n if (\n (isUsingDefaultGetter && !isUsingDefaultSetter) ||\n (!isUsingDefaultGetter && isUsingDefaultSetter)\n ) {\n console.warn(\n `SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.`\n )\n }\n }, [draggable, getOptionGroup, setOptionGroup])\n\n const i18n = useI18nContext()\n\n const initialValue = defaultValue ?? (multiple ? [] : null)\n const [val, setVal] = React.useState<SuperSelectValue>(initialValue)\n const value = value_ !== undefined ? value_ : val\n function setValue(v: SuperSelectValue) {\n if (!value_) {\n setVal(v)\n }\n\n if (onChange) {\n onChange(v)\n }\n }\n\n const navigationList = React.useRef<Array<HTMLElement | null>>([])\n const virtuoso = React.useRef<VirtuosoHandle>(null)\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const overlayId = useId() // TODO use React 18 useId\n const listId = useId() // TODO use React 18 useId\n\n const [open, setOpen] = React.useState(false)\n const [pointer, setPointer] = React.useState(false)\n const [width, setWidth] = React.useState(248)\n const [maxHeight, setMaxHeight] = React.useState(248)\n const [listHeight, setListHeight] = React.useState(0)\n const [searchHeight, setSearchHeight] = React.useState(0)\n const [footerHeight, setFooterHeight] = React.useState(0)\n const listContainerHeight = Math.min(\n maxHeight - searchHeight - footerHeight + listContainerVerticalPadding,\n listHeight + listContainerVerticalPadding\n )\n const [searchValue, setSearchValue_] = React.useState('')\n const setSearchValue = debounce(setSearchValue_, 250) // TODO use React 18 useDeferredValue\n\n const [activeMenuIndex, setActiveMenuIndex] = React.useState<number | null>(\n null\n )\n const [activeTokenIndex, setActiveTokenIndex] = React.useState<number | null>(\n null\n )\n\n const components = {\n ...defaultComponents,\n ...(customComponents || {}),\n }\n\n // TODO #memogetters: consider having getOption... getter functions memoized by consumers\n // Until then, exclude these callbacks from effect and memo dependencies\n const sortOptions = React.useMemo(\n () => getOptionsSortingAlgorithm({ getOptionIsBatch, getOptionLabel }),\n // skip `getOptionIsBatch` and `getOptionLabel`\n []\n )\n\n const formatBatchOption = React.useMemo(\n () =>\n getBatchOptionFormatter({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }),\n // skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters\n [value, multiple]\n )\n\n // collect groups, sort them and populate them with options, and sort the options inside the groups\n const enforceOptionsSortingOrder = React.useCallback(\n function groupAndSort(opts: SuperSelectOption[]) {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts.sort(sortOptions)\n }\n\n return Object.entries(groupedOptions)\n .sort(([groupA], [groupB]) => sortOptgroups(groupA, groupB))\n .flatMap(([groupName, groupOptions]) =>\n createOptgroup(groupName, groupOptions.sort(sortOptions))\n )\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n [sortOptions]\n )\n\n // collect groups and populate them with options\n const deriveOptionsSortingOrder = React.useCallback(\n (opts: SuperSelectOption[]) => {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts\n }\n\n // display optgroups in the order of occurrence, as they are considered pre-sorted\n return groups.flatMap((group) => {\n const groupOptions = groupedOptions[group]\n\n return createOptgroup(group, groupOptions)\n })\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n []\n )\n\n const groupAndSortAlgorithm = React.useMemo(\n () => (sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder),\n [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]\n )\n\n const options = React.useMemo(\n () => {\n const queried = searchValue\n ? sourceOptions.filter((opt) =>\n stringContains(getOptionLabel(opt), searchValue)\n )\n : [...sourceOptions] // make a copy of source options to prevent the mutation when sorting\n\n return groupAndSortAlgorithm(queried).map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]\n )\n\n const selectAllOption = {\n label: i18n.t('core.select.selectAll'),\n id: 'selectAll',\n [isOptSelectAllSymbol]: true,\n }\n\n const allOptionsWithSelectAll = React.useMemo(() => {\n if (!selectAllEnabled || !multiple) {\n return options\n }\n return [selectAllOption, ...options]\n }, [selectAllEnabled, multiple, selectAllOption, options])\n\n const [draggableOptions, setDraggableOptions] = React.useState<\n SuperSelectOption[]\n >([])\n\n React.useEffect(\n () => {\n if (!draggable) {\n return\n }\n // make a copy of source options to prevent the mutation when sorting\n const opts = groupAndSortAlgorithm(\n sourceOptions.map((opt) => ({\n ...opt,\n [draggableOptionIdSymbol]: ulid(),\n }))\n )\n setDraggableOptions(opts)\n },\n // in draggable mode, sourceOptions must be memoized, othewise reorder will not work\n [draggable, sourceOptions, groupAndSortAlgorithm]\n )\n\n const queriedDraggableOptions = React.useMemo(\n () => {\n if (!draggable) {\n return []\n }\n\n const queried = searchValue\n ? removeEmptyOptGroups(\n draggableOptions.filter((opt) => {\n if (!getOptionIsOptgroup(opt)) {\n return stringContains(getOptionLabel(opt), searchValue)\n }\n return true\n })\n )\n : draggableOptions\n\n return queried.map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [draggable, draggableOptions, searchValue, formatBatchOption]\n )\n\n // Group indices calculation - needs allOptionsWithSelectAll because:\n // When SelectAll is enabled, it becomes the first item (index 0) and shifts all other indices by 1.\n // Group headers need their correct absolute positions in the combined list for navigation to work.\n const groupIndices = React.useMemo(() => {\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options])\n\n // Selected index calculation - needs allOptionsWithSelectAll because:\n // The selectedIndex must reference the absolute position in the combined list for keyboard navigation.\n // When SelectAll is at index 0, the first regular option becomes index 1, affecting selection highlighting.\n const selectedIndex = React.useMemo(() => {\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value])\n\n // Selected option lookup - needs allOptionsWithSelectAll because:\n // The selectedOption lookup must search the complete list including SelectAll to find matches.\n // This ensures proper option detection regardless of whether SelectAll or regular options are selected.\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.find((option) => getOptionValue(option) === val)\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value])\n\n const selectedLabel = React.useMemo(() => {\n return selectedOption ? getOptionLabel(selectedOption) : ''\n }, [selectedOption])\n\n function isSelectableOption(o: SuperSelectOption) {\n return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o)\n }\n\n function getFirstSelectableOptionIndex() {\n // When Select All is enabled in multiple mode, it's always at index 0 and is selectable\n if (selectAllEnabled && multiple) {\n return 0\n }\n\n const baseOptions = options\n return (\n baseOptions.findIndex(isSelectableOption) +\n (selectAllEnabled && multiple ? 1 : 0)\n )\n }\n\n function onSelect(option: SuperSelectOption) {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n const isSelectAll = getOptionIsOptSelectAll(option)\n\n if (isMultiple(multiple, value)) {\n if (isSelectAll) {\n const selectableOptions = options.filter((opt) =>\n isSelectableOption(opt)\n )\n\n // Check if all options are already selected to determine if this is a deselect operation\n const allOptionsSelected = selectableOptions.every((opt) => {\n const getIsSelected =\n getOptionIsSelected ?? defaultGetOptionIsSelected\n return getIsSelected(opt)\n })\n\n if (onSelectAll) {\n onSelectAll(selectableOptions)\n }\n\n // Only add options if not all are selected (i.e., this is a select operation)\n // If all options are selected, this is a deselect operation and we should clear\n if (allOptionsSelected) {\n setValue([])\n } else {\n const optionValues = selectableOptions.flatMap(getOptionValue)\n setValue(uniq([...value, ...optionValues]))\n }\n } else if (Array.isArray(optionValue)) {\n setValue(uniq([...value, ...optionValue]))\n } else {\n setValue(\n value.includes(optionValue)\n ? value.filter(\n (val: SuperSelectValuePrimitive) => val !== optionValue\n )\n : [...value, optionValue]\n )\n }\n } else {\n setValue(optionValue)\n }\n }\n\n function onKeyboardSelect() {\n if (activeMenuIndex !== null) {\n // Select All must be included in the list for keyboard navigation to work properly.\n // The activeMenuIndex corresponds to positions in the complete navigation list including SelectAll.\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n const option = baseOptions[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function defaultGetOptionIsSelected(option: SuperSelectOption) {\n if (Array.isArray(value)) {\n const optionValues = getOptionValue(option)\n\n if (Array.isArray(optionValues)) {\n return optionValues.every((v) => value.includes(v))\n }\n\n return value.includes(optionValues)\n }\n\n return value === getOptionValue(option)\n }\n\n function defaultGetOptionIsPartiallySelected(option: SuperSelectOption) {\n if (selectionStyle !== 'checkbox') {\n return false\n }\n\n if (Array.isArray(value)) {\n const optionValues = getOptionValue(option)\n\n if (Array.isArray(optionValues)) {\n return (\n optionValues.some((v) => value.includes(v)) &&\n !optionValues.every((v) => value.includes(v))\n )\n }\n }\n\n return false\n }\n\n function defaultGetOptionIsSelectAllPartiallySelected(\n options: SuperSelectOption[],\n isSelected: (option: SuperSelectOption) => boolean,\n isPartiallySelected: (option: SuperSelectOption) => boolean\n ) {\n if (selectionStyle !== 'checkbox' && !Array.isArray(value)) {\n return false\n }\n\n return (\n options.some(\n (option) => isSelected(option) || isPartiallySelected(option)\n ) && !options.every((option) => isSelected(option))\n )\n }\n\n function defaultGetOptionIsSelectAllSelected(\n options: SuperSelectOption[],\n isSelected: (option: SuperSelectOption) => boolean\n ) {\n if (!multiple) {\n return false\n }\n\n return options.every((option) => isSelected(option))\n }\n\n function isEmpty() {\n return Array.isArray(value) ? value.length === 0 : value === null\n }\n\n const boundWidthRef = React.useRef(open)\n\n React.useEffect(() => {\n boundWidthRef.current = open\n }, [open])\n\n const floating = useFloating<HTMLElement>({\n open,\n onOpenChange: (open) => {\n setOpen(open)\n onOpenChange(open)\n },\n whileElementsMounted: (...args) =>\n /* { animationFrame: true } is used to fix ResizeObserver issue with @floating-ui/react */\n autoUpdate(...args, { animationFrame: true }),\n strategy: 'fixed',\n middleware: [\n offset(({ rects }) => {\n return {\n mainAxis: 2,\n crossAxis: overlayMatchesTriggerWidth\n ? 0\n : (rects.floating.width - rects.reference.width) / 2,\n }\n }),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(\n overlayMatchesTriggerWidth\n ? elements.reference.getBoundingClientRect().width\n : extendedSelectMenuWidth\n )\n }\n setMaxHeight(availableHeight)\n },\n padding: 10,\n }),\n ],\n })\n\n const { value: zIndex } = useZIndexContext()\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [\n useClick(floating.context, {\n enabled: !disabled,\n keyboardHandlers: false,\n }),\n useDismiss(floating.context, {\n enabled: !disabled,\n }),\n useListNavigation(floating.context, {\n activeIndex: activeMenuIndex,\n disabledIndices: groupIndices,\n enabled: !disabled,\n listRef: navigationList,\n loop: true,\n onNavigate: (i) => setActiveMenuIndex(() => i),\n selectedIndex,\n virtual: true,\n }),\n useTokenNavigation(floating.context, {\n activeIndex: activeTokenIndex,\n enabled: !disabled && multiple && searchValue === '',\n onChange: setValue,\n onNavigate: (i) => setActiveTokenIndex(() => i),\n value,\n }),\n useKeyboardSelection(floating.context, {\n enabled: !disabled,\n onSelect: onKeyboardSelect,\n }),\n {\n reference: {\n $block: block,\n $disabled: disabled,\n $error: error,\n $hasClearIcon: !disabled && !loading,\n $loading: loading,\n $multiple: multiple,\n $open: open,\n $placeholder: !selectedLabel,\n 'aria-controls': search ? overlayId : listId,\n 'aria-expanded': open,\n 'aria-haspopup': search ? 'dialog' : 'listbox',\n ...(ariaLabel && { 'aria-label': ariaLabel }),\n onKeyDown() {\n setPointer(false)\n },\n role: 'combobox',\n search,\n tabIndex: disabled ? -1 : tabIndex,\n } as any, // TODO fix type\n floating: {\n role: search ? 'dialog' : 'none',\n id: overlayId,\n onKeyDown() {\n setPointer(false)\n },\n onPointerMove() {\n setPointer(true)\n },\n style: {\n position: floating.strategy,\n left: floating.x || 0,\n top: floating.y || 0,\n width,\n maxHeight,\n zIndex,\n },\n },\n },\n ]\n )\n\n function getLabelProps() {\n return {\n $hoverable: false,\n }\n }\n\n function getMultiInputProps(): React.AriaAttributes &\n React.InputHTMLAttributes<HTMLInputElement> & {\n ref: React.Ref<HTMLInputElement>\n } {\n return {\n ref: searchRef,\n placeholder: isEmpty() ? placeholder : '',\n disabled,\n 'aria-controls': listId,\n onKeyDown(e) {\n if (e.key === 'Tab') {\n if (open) {\n e.preventDefault()\n e.stopPropagation()\n floating.refs.floating.current?.focus()\n }\n }\n },\n onChange(e) {\n setSearchValue(e.currentTarget.value)\n setActiveTokenIndex(null)\n },\n style: {\n opacity: activeTokenIndex === null ? 1 : 0,\n },\n }\n }\n\n function getMultiValueProps(index: number) {\n return {\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n if (isMultiple(multiple, value)) {\n setValue(value.filter((_, i) => i !== index))\n }\n },\n }\n }\n\n function getSearchContainerProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setSearchHeight(el?.clientHeight ?? 0)\n },\n }\n }\n\n function getSearchProps() {\n return {\n 'aria-controls': listId,\n onChange(value: string) {\n setSearchValue(value)\n setActiveTokenIndex(null)\n },\n placeholder: i18n.t('core.select.search'),\n }\n }\n\n function getHeaderProps() {\n return {\n ref: (el: HTMLElement | null) => {},\n }\n }\n\n function getFooterProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setFooterHeight(el?.clientHeight ?? 0)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key !== 'Escape') {\n e.stopPropagation()\n }\n },\n }\n }\n\n function getEmptyMessageProps() {\n return {\n emptyMessage,\n }\n }\n\n function getClearProps() {\n return {\n 'aria-hidden': true,\n 'aria-label': i18n.t('core.select.clear'),\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n setActiveTokenIndex(null)\n setValue(multiple ? [] : null)\n setOpen(true)\n },\n }\n }\n\n function getMenuProps() {\n return {\n scrollable: false,\n style: {\n height: listContainerHeight,\n },\n }\n }\n\n function getVirtuosoProps(): VirtuosoProps<{}, {}> {\n const atBottomStateChange = (atBottom: boolean) => {\n if (atBottom) {\n onScrollBottom()\n }\n }\n\n return {\n role: 'listbox',\n id: search ? overlayId : listId,\n data: draggable ? queriedDraggableOptions : options,\n components: {\n Item: components?.Item as any, // TODO fix type\n },\n initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,\n style: {\n flex: '1 1 auto',\n },\n tabIndex: -1,\n totalListHeightChanged: setListHeight,\n atBottomStateChange,\n }\n }\n\n const onDragEnd = React.useCallback((result: SuperSelectResult) => {\n if (!result.destination) {\n return\n }\n if (result.source.index === result.destination.index) {\n return\n }\n\n const startIndex = result.source.index\n const destinationIndex = result.destination.index\n\n setDraggableOptions((options) => {\n const { nextOptions, prevGroup, nextGroup } = reorder(\n options,\n startIndex,\n destinationIndex\n )\n\n const adjustedOptions =\n prevGroup !== nextGroup\n ? nextOptions.map((option, index) => {\n if (index === destinationIndex) {\n return setOptionGroup(option, nextGroup)\n }\n return option\n })\n : nextOptions\n\n if (typeof onManualSort === 'function') {\n setTimeout(() => {\n onManualSort(\n adjustedOptions.filter((option) => !getOptionIsOptgroup(option))\n )\n }, 0)\n }\n\n return adjustedOptions\n })\n }, [])\n\n // run effect when the `open` state changes\n //\n // if it was closed and is now open, reset the highlighted index to be\n // the first selectable option\n //\n // if it was open and is now closed, reset the search value and focused token index\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() =>\n selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex()\n )\n } else {\n setSearchValue(() => '')\n setActiveTokenIndex(() => null)\n }\n }, [open])\n\n // run the effect when user enters a serach value\n //\n // if the select is currently open then reset highlighted item to be the first\n // selectable option\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() => getFirstSelectableOptionIndex())\n }\n }, [searchValue])\n\n // when we change the value then close the overlay, but only if we have\n // actually selected a value\n //\n // multiple mode forces the overlay to stay open\n React.useEffect(() => {\n if (!multiple && value !== null) {\n setOpen(() => false)\n }\n }, [value])\n\n // recreate the array to hold dom refs when our options change\n React.useEffect(() => {\n // Adjust length to include Select All option if enabled, without this the navigation\n // would not work correctly when Select All is enabled\n const totalLength =\n selectAllEnabled && multiple\n ? allOptionsWithSelectAll.length\n : options.length\n navigationList.current = [...Array(totalLength).fill(null)]\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n // Adjust index for virtuoso if Select All is enabled (since Select All is rendered separately)\n // Without this the navigation would not work correctly when Select All is enabled\n const virtuosoIndex =\n selectAllEnabled && multiple && activeMenuIndex > 0\n ? activeMenuIndex + 1\n : activeMenuIndex\n\n if (virtuosoIndex >= 0) {\n virtuoso.current?.scrollIntoView({ index: virtuosoIndex })\n }\n }\n }\n }, [activeMenuIndex, open, selectAllEnabled, multiple])\n\n return {\n config: {\n block,\n disabled,\n draggable,\n emptyMessage,\n error,\n footer,\n header,\n placeholder,\n preset,\n presetProps,\n selectionStyle,\n tabIndex,\n loading,\n multiple,\n selectAllEnabled,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n onSelectAll,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectAllOption,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setSearchValue: setSearchValue,\n setActiveMenuIndex,\n sourceOptions,\n value,\n width,\n },\n props: {\n clear: getClearProps,\n emptyMessage: getEmptyMessageProps,\n footer: getFooterProps,\n header: getHeaderProps,\n item: getItemProps,\n label: getLabelProps,\n menu: getMenuProps,\n multiInput: getMultiInputProps,\n overlay: getFloatingProps,\n search: getSearchProps,\n searchContainer: getSearchContainerProps,\n tokenClear: getMultiValueProps,\n trigger: getReferenceProps,\n virtuoso: getVirtuosoProps,\n },\n option: {\n group: getOptionGroup,\n isBatch: getOptionIsBatch,\n isPartiallySelected:\n getOptionIsPartiallySelected ?? defaultGetOptionIsPartiallySelected,\n isSelected: getOptionIsSelected ?? defaultGetOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n isOptSelectAll: getOptionIsOptSelectAll,\n label: getOptionLabel,\n value: getOptionValue,\n selectAll: {\n isSelectAllPartiallySelected: (options) =>\n defaultGetOptionIsSelectAllPartiallySelected(\n options.filter(isSelectableOption),\n getOptionIsSelected ?? defaultGetOptionIsSelected,\n getOptionIsPartiallySelected ?? defaultGetOptionIsPartiallySelected\n ),\n isSelectAllSelected: (options) =>\n defaultGetOptionIsSelectAllSelected(\n options.filter(isSelectableOption),\n getOptionIsSelected ?? defaultGetOptionIsSelected\n ),\n },\n },\n refs: {\n floating,\n navigationList,\n virtuoso,\n },\n }\n}\n\nexport const SuperSelectContext = React.createContext<SuperSelectApi | null>(\n null\n)\n\nexport function useSuperSelectContext(): SuperSelectApi {\n const ctx = React.useContext(SuperSelectContext)\n\n if (!ctx) {\n throw new Error('Invalid SuperSelectContext')\n }\n\n return ctx as SuperSelectApi\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA,SACEA,UAAU,EACVC,IAAI,EACJC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,eAAe,EACfC,iBAAiB,QACZ,oBAAoB;AAC3B,SAASC,KAAK,QAAQ,mBAAmB;AACzC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,IAAI,MAAM,aAAa;AAC9B,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,IAAI,QAAQ,MAAM;AAC3B,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAO,KAAKC,iBAAiB,MAAM,0BAA0B;AAC7D,SACEC,uBAAuB,EACvBC,oBAAoB,QACf,yBAAyB;AAChC,SAASC,uBAAuB,QAAQ,sBAAsB;AAW9D,SACEC,gCAAgC,EAChCC,cAAc,EACdC,uBAAuB,EACvBC,wBAAwB,EACxBC,mBAAmB,EACnBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,UAAU,EACVC,oBAAoB,EACpBC,OAAO,EACPC,aAAa,QACR,qBAAqB;AAE5B,IAAMC,4BAA4B,GAAGhB,OAAO,CAACiB,EAAE,GAAG,CAAC;AAEnD,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,SAASC,qBAAqBA,CAACC,MAAyB,EAAE;EACxD,OAAOA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,KAAK;AACtB;AAEA,SAASC,uBAAuBA,CAACF,MAAyB,EAAW;EACnE,OAAOG,KAAK,CAACC,OAAO,CAACJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,KAAK,CAAC;AACrC;AAEA,SAASI,0BAA0BA,CAACL,MAAyB,EAAW;EAAA,IAAAM,gBAAA;EACtE,QAAAA,gBAAA,GAAON,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,QAAQ,cAAAD,gBAAA,cAAAA,gBAAA,GAAI,KAAK;AAClC;AAEA,SAASE,qBAAqBA,CAACR,MAAyB,EAAU;EAAA,IAAAS,aAAA;EAChE,QAAAA,aAAA,GAAOT,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEU,KAAK,cAAAD,aAAA,cAAAA,aAAA,GAAI,EAAE;AAC5B;AAEA,SAASE,qBAAqBA,CAC5BX,MAAyB,EACzBU,KAAa,EACM;EACnB,OAAAE,aAAA,CAAAA,aAAA,KACKZ,MAAM;IACTU,KAAK,EAALA;EAAK;AAET;AAEA,SAASG,qBAAqBA,CAACb,MAAyB,EAAU;EAAA,IAAAc,aAAA;EAChE,QAAAA,aAAA,GAAOd,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEe,KAAK,cAAAD,aAAA,cAAAA,aAAA,GAAI,EAAE;AAC5B;AAEA,SAASE,cAAcA,CAACC,IAAY,EAAEC,IAAY,EAAE;EAClD,OAAOD,IAAI,CAACE,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACF,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;AACxD;AAEA,SAASE,kBAAkBA,CACzBC,OAAqC,EAQvB;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MADY,CAAC,CAAC;IAAAG,YAAA,GAAAJ,IAAA,CAL1BK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;IAAAE,UAAA,GAAAN,IAAA,CACdtB,KAAK;IAALA,KAAK,GAAA4B,UAAA,cAAG,EAAE,GAAAA,UAAA;IAAAC,gBAAA,GAAAP,IAAA,CACVQ,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,IAAI,GAAAA,gBAAA;IAAAE,eAAA,GAAAT,IAAA,CAClBU,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAGlC,IAAI,GAAAkC,eAAA;IAAAE,aAAA,GAAAX,IAAA,CACjBY,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAGpC,IAAI,GAAAoC,aAAA;EAGjB,OAAO;IACLE,SAAS,EAAE;MACTC,SAAS,WAATA,SAASA,CAACC,CAAC,EAAE;QACX,IAAI,CAACV,OAAO,IAAI,CAACzB,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;UACrC;QACF;QAEA,IAAIqC,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;UACzB,IAAIR,WAAW,KAAK,IAAI,EAAE;YACxBE,UAAU,CAACO,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEV,WAAW,GAAG,CAAC,CAAC,CAAC;UAC1C,CAAC,MAAM,IAAI9B,KAAK,CAACwB,MAAM,GAAG,CAAC,EAAE;YAC3BQ,UAAU,CAAChC,KAAK,CAACwB,MAAM,GAAG,CAAC,CAAC;UAC9B;QACF,CAAC,MAAM,IAAIa,CAAC,CAACC,GAAG,KAAK,YAAY,EAAE;UACjC,IAAIR,WAAW,KAAK,IAAI,EAAE;YACxB,IAAIA,WAAW,KAAK9B,KAAK,CAACwB,MAAM,GAAG,CAAC,EAAE;cACpCQ,UAAU,CAAC,IAAI,CAAC;YAClB,CAAC,MAAM;cACLA,UAAU,CAACF,WAAW,GAAG,CAAC,CAAC;YAC7B;UACF;QACF,CAAC,MAAM,IAAIO,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;UAChC,IAAI,CAACD,CAAC,CAACI,MAAM,EAAE;YACb,IAAIX,WAAW,KAAK,IAAI,EAAE;cACxB,IAAMY,OAAO,GAAG1C,KAAK,CAAC2C,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC;gBAAA,OAAKA,CAAC,KAAKf,WAAW;cAAA,EAAC;cAEzDI,QAAQ,CAACQ,OAAO,CAAC;cAEjB,IAAIZ,WAAW,IAAIY,OAAO,CAAClB,MAAM,EAAE;gBACjCQ,UAAU,CAAC,IAAI,CAAC;cAClB;YACF,CAAC,MAAM,IAAIhC,KAAK,CAACwB,MAAM,GAAG,CAAC,EAAE;cAC3BU,QAAQ,CAAClC,KAAK,CAAC2C,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC;gBAAA,OAAKA,CAAC,KAAK7C,KAAK,CAACwB,MAAM,GAAG,CAAC;cAAA,EAAC,CAAC;YAC1D;UACF;QACF;MACF;IACF;EACF,CAAC;AACH;AAEA,SAASsB,oBAAoBA,CAC3BzB,OAAqC,EAEvB;EAAA,IAAA0B,KAAA,GAAAxB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MADoD,CAAC,CAAC;IAAAyB,aAAA,GAAAD,KAAA,CAAlEpB,OAAO;IAAPA,OAAO,GAAAqB,aAAA,cAAG,IAAI,GAAAA,aAAA;IAAAC,cAAA,GAAAF,KAAA,CAAEG,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,YAAM,CAAC,CAAC,GAAAA,cAAA;EAErC,SAASb,SAASA,CAACC,CAAsB,EAAE;IACzC,IAAI,CAACV,OAAO,EAAE;MACZ;IACF;IAEA,IAAIU,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrBY,QAAQ,CAAC,CAAC;IACZ;EACF;EAEA,OAAO;IACLf,SAAS,EAAE;MACTC,SAAS,EAATA;IACF,CAAC;IACDe,QAAQ,EAAE;MACRf,SAAS,EAATA;IACF;EACF,CAAC;AACH;AAEA,OAAO,SAASgB,cAAcA,CAAAC,KAAA,EAqCQ;EAAA,IAAAC,WAAA,GAAAD,KAAA,CApCpCE,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IACDE,gBAAgB,GAAAH,KAAA,CAA5BI,UAAU;IACVC,YAAY,GAAAL,KAAA,CAAZK,YAAY;IAAAC,cAAA,GAAAN,KAAA,CACZ/C,QAAQ;IAARA,QAAQ,GAAAqD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,eAAA,GAAAP,KAAA,CAChBQ,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAAAE,kBAAA,GAAAT,KAAA,CACjBU,YAAY;IAAZA,YAAY,GAAAD,kBAAA,cAAG,YAAY,GAAAA,kBAAA;IAAAE,qBAAA,GAAAX,KAAA,CAC3BY,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IACxBE,KAAK,GAAAb,KAAA,CAALa,KAAK;IACLC,MAAM,GAAAd,KAAA,CAANc,MAAM;IAAAC,oBAAA,GAAAf,KAAA,CACNgB,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAG7D,qBAAqB,GAAA6D,oBAAA;IAAAE,qBAAA,GAAAjB,KAAA,CACtCkB,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAGrE,uBAAuB,GAAAqE,qBAAA;IAAAE,qBAAA,GAAAnB,KAAA,CAC1CoB,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAGpE,0BAA0B,GAAAoE,qBAAA;IAAAE,oBAAA,GAAArB,KAAA,CAChDsB,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAG9D,qBAAqB,GAAA8D,oBAAA;IACtCE,4BAA4B,GAAAvB,KAAA,CAA5BuB,4BAA4B;IAC5BC,mBAAmB,GAAAxB,KAAA,CAAnBwB,mBAAmB;IAAAC,oBAAA,GAAAzB,KAAA,CACnB0B,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAGhF,qBAAqB,GAAAgF,oBAAA;IAAAE,oBAAA,GAAA3B,KAAA,CACtC4B,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAGnF,IAAI,GAAAmF,oBAAA;IAAAE,kBAAA,GAAA7B,KAAA,CACrB8B,YAAY;IAAZA,aAAY,GAAAD,kBAAA,cAAGrF,IAAI,GAAAqF,kBAAA;IACnBE,MAAM,GAAA/B,KAAA,CAAN+B,MAAM;IAAAC,aAAA,GAAAhC,KAAA,CACNiC,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,cAAA,GAAAlC,KAAA,CACfmC,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAChBrD,QAAQ,GAAAmB,KAAA,CAARnB,QAAQ;IACRuD,YAAY,GAAApC,KAAA,CAAZoC,YAAY;IACZC,WAAW,GAAArC,KAAA,CAAXqC,WAAW;IAAAC,aAAA,GAAAtC,KAAA,CACXuC,OAAO;IAAEC,aAAa,GAAAF,aAAA,cAAG,EAAE,GAAAA,aAAA;IAC3BG,WAAW,GAAAzC,KAAA,CAAXyC,WAAW;IAAAC,YAAA,GAAA1C,KAAA,CACX2C,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,EAAE,GAAAA,YAAA;IACXE,WAAW,GAAA5C,KAAA,CAAX4C,WAAW;IAAAC,YAAA,GAAA7C,KAAA,CACX8C,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;IAAAE,oBAAA,GAAA/C,KAAA,CACbgD,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAG,WAAW,GAAAA,oBAAA;IAAAE,oBAAA,GAAAjD,KAAA,CAC5BkD,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAG5F,qBAAqB,GAAA4F,oBAAA;IAAAE,UAAA,GAAAnD,KAAA,CACtCoD,IAAI;IAAJA,IAAI,GAAAD,UAAA,cAAG,IAAI,GAAAA,UAAA;IAAAE,cAAA,GAAArD,KAAA,CACXsD,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,CAAC,GAAAA,cAAA;IACLE,MAAM,GAAAvD,KAAA,CAAbrD,KAAK;IAAA6G,qBAAA,GAAAxD,KAAA,CACLyD,0BAA0B;IAA1BA,0BAA0B,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IACnBE,SAAS,GAAA1D,KAAA,CAAvB,YAAY;EAEZ9E,KAAK,CAACyI,SAAS,CAAC,YAAM;IACpB,IAAI,CAACnD,SAAS,EAAE;MACd;IACF;IAEA,IAAMoD,oBAAoB,GAAG5C,cAAc,KAAK9D,qBAAqB;IACrE,IAAM2G,oBAAoB,GAAGX,cAAc,KAAK7F,qBAAqB;IAErE,IACGuG,oBAAoB,IAAI,CAACC,oBAAoB,IAC7C,CAACD,oBAAoB,IAAIC,oBAAqB,EAC/C;MACAC,OAAO,CAACC,IAAI,mLAGZ,CAAC;IACH;EACF,CAAC,EAAE,CAACvD,SAAS,EAAEQ,cAAc,EAAEkC,cAAc,CAAC,CAAC;EAE/C,IAAMc,IAAI,GAAG5I,cAAc,CAAC,CAAC;EAE7B,IAAM6I,YAAY,GAAG5D,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAK8B,QAAQ,GAAG,EAAE,GAAG,IAAK;EAC3D,IAAA+B,eAAA,GAAsBhJ,KAAK,CAACiJ,QAAQ,CAAmBF,YAAY,CAAC;IAAAG,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA7DI,GAAG,GAAAF,gBAAA;IAAEG,MAAM,GAAAH,gBAAA;EAClB,IAAMzH,KAAK,GAAG4G,MAAM,KAAKnF,SAAS,GAAGmF,MAAM,GAAGe,GAAG;EACjD,SAASE,QAAQA,CAACC,CAAmB,EAAE;IACrC,IAAI,CAAClB,MAAM,EAAE;MACXgB,MAAM,CAACE,CAAC,CAAC;IACX;IAEA,IAAI5F,QAAQ,EAAE;MACZA,QAAQ,CAAC4F,CAAC,CAAC;IACb;EACF;EAEA,IAAMC,cAAc,GAAGxJ,KAAK,CAACyJ,MAAM,CAA4B,EAAE,CAAC;EAClE,IAAMC,QAAQ,GAAG1J,KAAK,CAACyJ,MAAM,CAAiB,IAAI,CAAC;EACnD,IAAME,SAAS,GAAG3J,KAAK,CAACyJ,MAAM,CAAmB,IAAI,CAAC;EAEtD,IAAMG,SAAS,GAAG/J,KAAK,CAAC,CAAC,EAAC;EAC1B,IAAMgK,MAAM,GAAGhK,KAAK,CAAC,CAAC,EAAC;;EAEvB,IAAAiK,gBAAA,GAAwB9J,KAAK,CAACiJ,QAAQ,CAAC,KAAK,CAAC;IAAAc,gBAAA,GAAAZ,cAAA,CAAAW,gBAAA;IAAtCE,IAAI,GAAAD,gBAAA;IAAEE,OAAO,GAAAF,gBAAA;EACpB,IAAAG,gBAAA,GAA8BlK,KAAK,CAACiJ,QAAQ,CAAC,KAAK,CAAC;IAAAkB,gBAAA,GAAAhB,cAAA,CAAAe,gBAAA;IAA5CE,OAAO,GAAAD,gBAAA;IAAEE,UAAU,GAAAF,gBAAA;EAC1B,IAAAG,gBAAA,GAA0BtK,KAAK,CAACiJ,QAAQ,CAAC,GAAG,CAAC;IAAAsB,gBAAA,GAAApB,cAAA,CAAAmB,gBAAA;IAAtCE,KAAK,GAAAD,gBAAA;IAAEE,QAAQ,GAAAF,gBAAA;EACtB,IAAAG,gBAAA,GAAkC1K,KAAK,CAACiJ,QAAQ,CAAC,GAAG,CAAC;IAAA0B,gBAAA,GAAAxB,cAAA,CAAAuB,gBAAA;IAA9CE,SAAS,GAAAD,gBAAA;IAAEE,YAAY,GAAAF,gBAAA;EAC9B,IAAAG,gBAAA,GAAoC9K,KAAK,CAACiJ,QAAQ,CAAC,CAAC,CAAC;IAAA8B,iBAAA,GAAA5B,cAAA,CAAA2B,gBAAA;IAA9CE,UAAU,GAAAD,iBAAA;IAAEE,aAAa,GAAAF,iBAAA;EAChC,IAAAG,iBAAA,GAAwClL,KAAK,CAACiJ,QAAQ,CAAC,CAAC,CAAC;IAAAkC,iBAAA,GAAAhC,cAAA,CAAA+B,iBAAA;IAAlDE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EACpC,IAAAG,iBAAA,GAAwCtL,KAAK,CAACiJ,QAAQ,CAAC,CAAC,CAAC;IAAAsC,iBAAA,GAAApC,cAAA,CAAAmC,iBAAA;IAAlDE,YAAY,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EACpC,IAAMG,mBAAmB,GAAG1H,IAAI,CAAC2H,GAAG,CAClCf,SAAS,GAAGQ,YAAY,GAAGI,YAAY,GAAGpK,4BAA4B,EACtE4J,UAAU,GAAG5J,4BACf,CAAC;EACD,IAAAwK,iBAAA,GAAuC5L,KAAK,CAACiJ,QAAQ,CAAC,EAAE,CAAC;IAAA4C,iBAAA,GAAA1C,cAAA,CAAAyC,iBAAA;IAAlDE,WAAW,GAAAD,iBAAA;IAAEE,eAAe,GAAAF,iBAAA;EACnC,IAAMG,cAAc,GAAGlM,QAAQ,CAACiM,eAAe,EAAE,GAAG,CAAC,EAAC;;EAEtD,IAAAE,iBAAA,GAA8CjM,KAAK,CAACiJ,QAAQ,CAC1D,IACF,CAAC;IAAAiD,iBAAA,GAAA/C,cAAA,CAAA8C,iBAAA;IAFME,eAAe,GAAAD,iBAAA;IAAEE,kBAAkB,GAAAF,iBAAA;EAG1C,IAAAG,iBAAA,GAAgDrM,KAAK,CAACiJ,QAAQ,CAC5D,IACF,CAAC;IAAAqD,iBAAA,GAAAnD,cAAA,CAAAkD,iBAAA;IAFME,gBAAgB,GAAAD,iBAAA;IAAEE,mBAAmB,GAAAF,iBAAA;EAI5C,IAAMpH,UAAU,GAAA9C,aAAA,CAAAA,aAAA,KACX/B,iBAAiB,GAChB4E,gBAAgB,IAAI,CAAC,CAAC,CAC3B;;EAED;EACA;EACA,IAAMwH,WAAW,GAAGzM,KAAK,CAAC0M,OAAO,CAC/B;IAAA,OAAM3L,0BAA0B,CAAC;MAAEiF,gBAAgB,EAAhBA,gBAAgB;MAAEI,cAAc,EAAdA;IAAe,CAAC,CAAC;EAAA;EACtE;EACA,EACF,CAAC;EAED,IAAMuG,iBAAiB,GAAG3M,KAAK,CAAC0M,OAAO,CACrC;IAAA,OACE/L,uBAAuB,CAAC;MACtBc,KAAK,EAALA,KAAK;MACLwF,QAAQ,EAARA,QAAQ;MACRjB,gBAAgB,EAAhBA,gBAAgB;MAChBQ,cAAc,EAAdA;IACF,CAAC,CAAC;EAAA;EACJ;EACA,CAAC/E,KAAK,EAAEwF,QAAQ,CAClB,CAAC;;EAED;EACA,IAAM2F,0BAA0B,GAAG5M,KAAK,CAAC6M,WAAW,CAClD,SAASC,YAAYA,CAACC,IAAyB,EAAE;IAC/C,IAAAC,qBAAA,GAAmCvM,gCAAgC,CACjEsM,IAAI,EACJjH,cACF,CAAC;MAHOmH,MAAM,GAAAD,qBAAA,CAANC,MAAM;MAAEC,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IAK9B,IAAItM,wBAAwB,CAACqM,MAAM,CAAC,EAAE;MACpC,OAAOF,IAAI,CAAC7E,IAAI,CAACuE,WAAW,CAAC;IAC/B;IAEA,OAAOU,MAAM,CAACC,OAAO,CAACF,cAAc,CAAC,CAClChF,IAAI,CAAC,UAAAmF,KAAA,EAAAC,KAAA;MAAA,IAAAC,KAAA,GAAApE,cAAA,CAAAkE,KAAA;QAAEG,MAAM,GAAAD,KAAA;MAAA,IAAAE,KAAA,GAAAtE,cAAA,CAAAmE,KAAA;QAAII,MAAM,GAAAD,KAAA;MAAA,OAAMtM,aAAa,CAACqM,MAAM,EAAEE,MAAM,CAAC;IAAA,EAAC,CAC3DC,OAAO,CAAC,UAAAC,KAAA;MAAA,IAAAC,KAAA,GAAA1E,cAAA,CAAAyE,KAAA;QAAEE,SAAS,GAAAD,KAAA;QAAEE,YAAY,GAAAF,KAAA;MAAA,OAChCnN,cAAc,CAACoN,SAAS,EAAEC,YAAY,CAAC7F,IAAI,CAACuE,WAAW,CAAC,CAAC;IAAA,CAC3D,CAAC;EACL,CAAC;EACD;EACA,CAACA,WAAW,CACd,CAAC;;EAED;EACA,IAAMuB,yBAAyB,GAAGhO,KAAK,CAAC6M,WAAW,CACjD,UAACE,IAAyB,EAAK;IAC7B,IAAAkB,sBAAA,GAAmCxN,gCAAgC,CACjEsM,IAAI,EACJjH,cACF,CAAC;MAHOmH,MAAM,GAAAgB,sBAAA,CAANhB,MAAM;MAAEC,cAAc,GAAAe,sBAAA,CAAdf,cAAc;IAK9B,IAAItM,wBAAwB,CAACqM,MAAM,CAAC,EAAE;MACpC,OAAOF,IAAI;IACb;;IAEA;IACA,OAAOE,MAAM,CAACU,OAAO,CAAC,UAACzL,KAAK,EAAK;MAC/B,IAAM6L,YAAY,GAAGb,cAAc,CAAChL,KAAK,CAAC;MAE1C,OAAOxB,cAAc,CAACwB,KAAK,EAAE6L,YAAY,CAAC;IAC5C,CAAC,CAAC;EACJ,CAAC;EACD;EACA,EACF,CAAC;EAED,IAAMG,qBAAqB,GAAGlO,KAAK,CAAC0M,OAAO,CACzC;IAAA,OAAOxE,IAAI,GAAG0E,0BAA0B,GAAGoB,yBAAyB;EAAA,CAAC,EACrE,CAAC9F,IAAI,EAAE0E,0BAA0B,EAAEoB,yBAAyB,CAC9D,CAAC;EAED,IAAM3G,OAAO,GAAGrH,KAAK,CAAC0M,OAAO,CAC3B,YAAM;IACJ,IAAMyB,OAAO,GAAGrC,WAAW,GACvBxE,aAAa,CAAClD,MAAM,CAAC,UAACgK,GAAG;MAAA,OACvB5L,cAAc,CAAC4D,cAAc,CAACgI,GAAG,CAAC,EAAEtC,WAAW,CAAC;IAAA,CAClD,CAAC,GAAAuC,kBAAA,CACG/G,aAAa,CAAC,EAAC;;IAEvB,OAAO4G,qBAAqB,CAACC,OAAO,CAAC,CAACG,GAAG,CAAC3B,iBAAiB,CAAC;EAC9D,CAAC;EACD;EACA,CAACuB,qBAAqB,EAAEvB,iBAAiB,EAAEb,WAAW,EAAExE,aAAa,CACvE,CAAC;EAED,IAAMiH,eAAe,GAAAC,eAAA;IACnBjM,KAAK,EAAEuG,IAAI,CAAC2F,CAAC,CAAC,uBAAuB,CAAC;IACtCC,EAAE,EAAE;EAAW,GACdnO,oBAAoB,EAAG,IAAI,CAC7B;EAED,IAAMoO,uBAAuB,GAAG3O,KAAK,CAAC0M,OAAO,CAAC,YAAM;IAClD,IAAI,CAAChH,gBAAgB,IAAI,CAACuB,QAAQ,EAAE;MAClC,OAAOI,OAAO;IAChB;IACA,QAAQkH,eAAe,EAAAK,MAAA,CAAAP,kBAAA,CAAKhH,OAAO;EACrC,CAAC,EAAE,CAAC3B,gBAAgB,EAAEuB,QAAQ,EAAEsH,eAAe,EAAElH,OAAO,CAAC,CAAC;EAE1D,IAAAwH,iBAAA,GAAgD7O,KAAK,CAACiJ,QAAQ,CAE5D,EAAE,CAAC;IAAA6F,iBAAA,GAAA3F,cAAA,CAAA0F,iBAAA;IAFEE,gBAAgB,GAAAD,iBAAA;IAAEE,mBAAmB,GAAAF,iBAAA;EAI5C9O,KAAK,CAACyI,SAAS,CACb,YAAM;IACJ,IAAI,CAACnD,SAAS,EAAE;MACd;IACF;IACA;IACA,IAAMyH,IAAI,GAAGmB,qBAAqB,CAChC5G,aAAa,CAACgH,GAAG,CAAC,UAACF,GAAG;MAAA,OAAAhM,aAAA,CAAAA,aAAA,KACjBgM,GAAG,OAAAI,eAAA,KACLlO,uBAAuB,EAAGL,IAAI,CAAC,CAAC;IAAA,CACjC,CACJ,CAAC;IACD+O,mBAAmB,CAACjC,IAAI,CAAC;EAC3B,CAAC;EACD;EACA,CAACzH,SAAS,EAAEgC,aAAa,EAAE4G,qBAAqB,CAClD,CAAC;EAED,IAAMe,uBAAuB,GAAGjP,KAAK,CAAC0M,OAAO,CAC3C,YAAM;IACJ,IAAI,CAACpH,SAAS,EAAE;MACd,OAAO,EAAE;IACX;IAEA,IAAM6I,OAAO,GAAGrC,WAAW,GACvB7K,oBAAoB,CAClB8N,gBAAgB,CAAC3K,MAAM,CAAC,UAACgK,GAAG,EAAK;MAC/B,IAAI,CAACvN,mBAAmB,CAACuN,GAAG,CAAC,EAAE;QAC7B,OAAO5L,cAAc,CAAC4D,cAAc,CAACgI,GAAG,CAAC,EAAEtC,WAAW,CAAC;MACzD;MACA,OAAO,IAAI;IACb,CAAC,CACH,CAAC,GACDiD,gBAAgB;IAEpB,OAAOZ,OAAO,CAACG,GAAG,CAAC3B,iBAAiB,CAAC;EACvC,CAAC;EACD;EACA,CAACrH,SAAS,EAAEyJ,gBAAgB,EAAEjD,WAAW,EAAEa,iBAAiB,CAC9D,CAAC;;EAED;EACA;EACA;EACA,IAAMuC,YAAY,GAAGlP,KAAK,CAAC0M,OAAO,CAAC,YAAM;IACvC,IAAMyC,WAAW,GACfzJ,gBAAgB,IAAIuB,QAAQ,GAAG0H,uBAAuB,GAAGtH,OAAO;IAClE,OAAO8H,WAAW,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEjB,GAAG,EAAE9J,CAAC,EAAK;MACzC,IAAIzD,mBAAmB,CAACuN,GAAG,CAAC,EAAE;QAC5BiB,GAAG,CAACC,IAAI,CAAChL,CAAC,CAAC;MACb;MACA,OAAO+K,GAAG;IACZ,CAAC,EAAE,EAAc,CAAC;EACpB,CAAC,EAAE,CAAC3J,gBAAgB,EAAEuB,QAAQ,EAAE0H,uBAAuB,EAAEtH,OAAO,CAAC,CAAC;;EAElE;EACA;EACA;EACA,IAAMkI,aAAa,GAAGvP,KAAK,CAAC0M,OAAO,CAAC,YAAM;IACxC,IAAMyC,WAAW,GACfzJ,gBAAgB,IAAIuB,QAAQ,GAAG0H,uBAAuB,GAAGtH,OAAO;IAClE,OAAO8H,WAAW,CAACK,SAAS,CAC1B,UAAChO,MAAM;MAAA,OAAKiO,kBAAkB,CAACjO,MAAM,CAAC,IAAIgF,cAAc,CAAChF,MAAM,CAAC,KAAKC,KAAK;IAAA,CAC5E,CAAC;EACH,CAAC,EAAE,CAACiE,gBAAgB,EAAEuB,QAAQ,EAAE0H,uBAAuB,EAAEtH,OAAO,EAAE5F,KAAK,CAAC,CAAC;;EAEzE;EACA;EACA;EACA,IAAMiO,cAAc,GAAG1P,KAAK,CAAC0M,OAAO,CAAC,YAAM;IACzC,IAAMtD,GAAG,GAAGzH,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK;IACnD,IAAM0N,WAAW,GACfzJ,gBAAgB,IAAIuB,QAAQ,GAAG0H,uBAAuB,GAAGtH,OAAO;IAClE,OAAO8H,WAAW,CAACQ,IAAI,CAAC,UAACnO,MAAM;MAAA,OAAKgF,cAAc,CAAChF,MAAM,CAAC,KAAK4H,GAAG;IAAA,EAAC;EACrE,CAAC,EAAE,CAAC1D,gBAAgB,EAAEuB,QAAQ,EAAE0H,uBAAuB,EAAEtH,OAAO,EAAE5F,KAAK,CAAC,CAAC;EAEzE,IAAMmO,aAAa,GAAG5P,KAAK,CAAC0M,OAAO,CAAC,YAAM;IACxC,OAAOgD,cAAc,GAAGtJ,cAAc,CAACsJ,cAAc,CAAC,GAAG,EAAE;EAC7D,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,SAASD,kBAAkBA,CAACI,CAAoB,EAAE;IAChD,OAAO,CAAChP,mBAAmB,CAACgP,CAAC,CAAC,IAAI,CAAC3J,mBAAmB,CAAC2J,CAAC,CAAC;EAC3D;EAEA,SAASC,6BAA6BA,CAAA,EAAG;IACvC;IACA,IAAIpK,gBAAgB,IAAIuB,QAAQ,EAAE;MAChC,OAAO,CAAC;IACV;IAEA,IAAMkI,WAAW,GAAG9H,OAAO;IAC3B,OACE8H,WAAW,CAACK,SAAS,CAACC,kBAAkB,CAAC,IACxC/J,gBAAgB,IAAIuB,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;EAE1C;EAEA,SAAStC,QAAQA,CAACnD,MAAyB,EAAE;IAC3C,IAAI0E,mBAAmB,CAAC1E,MAAM,CAAC,EAAE;MAC/B;IACF;IAEA,IAAMuO,WAAW,GAAGvJ,cAAc,CAAChF,MAAM,CAAC;IAC1C,IAAMwO,WAAW,GAAGlP,uBAAuB,CAACU,MAAM,CAAC;IAEnD,IAAIR,UAAU,CAACiG,QAAQ,EAAExF,KAAK,CAAC,EAAE;MAC/B,IAAIuO,WAAW,EAAE;QACf,IAAMC,iBAAiB,GAAG5I,OAAO,CAACjD,MAAM,CAAC,UAACgK,GAAG;UAAA,OAC3CqB,kBAAkB,CAACrB,GAAG,CAAC;QAAA,CACzB,CAAC;;QAED;QACA,IAAM8B,kBAAkB,GAAGD,iBAAiB,CAACE,KAAK,CAAC,UAAC/B,GAAG,EAAK;UAC1D,IAAMgC,aAAa,GACjB9J,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI+J,0BAA0B;UACnD,OAAOD,aAAa,CAAChC,GAAG,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAIjH,WAAW,EAAE;UACfA,WAAW,CAAC8I,iBAAiB,CAAC;QAChC;;QAEA;QACA;QACA,IAAIC,kBAAkB,EAAE;UACtB5G,QAAQ,CAAC,EAAE,CAAC;QACd,CAAC,MAAM;UACL,IAAMgH,YAAY,GAAGL,iBAAiB,CAACtC,OAAO,CAACnH,cAAc,CAAC;UAC9D8C,QAAQ,CAACvJ,IAAI,IAAA6O,MAAA,CAAAP,kBAAA,CAAK5M,KAAK,GAAA4M,kBAAA,CAAKiC,YAAY,EAAC,CAAC,CAAC;QAC7C;MACF,CAAC,MAAM,IAAI3O,KAAK,CAACC,OAAO,CAACmO,WAAW,CAAC,EAAE;QACrCzG,QAAQ,CAACvJ,IAAI,IAAA6O,MAAA,CAAAP,kBAAA,CAAK5M,KAAK,GAAA4M,kBAAA,CAAK0B,WAAW,EAAC,CAAC,CAAC;MAC5C,CAAC,MAAM;QACLzG,QAAQ,CACN7H,KAAK,CAACmB,QAAQ,CAACmN,WAAW,CAAC,GACvBtO,KAAK,CAAC2C,MAAM,CACV,UAACgF,GAA8B;UAAA,OAAKA,GAAG,KAAK2G,WAAW;QAAA,CACzD,CAAC,MAAAnB,MAAA,CAAAP,kBAAA,CACG5M,KAAK,IAAEsO,WAAW,EAC5B,CAAC;MACH;IACF,CAAC,MAAM;MACLzG,QAAQ,CAACyG,WAAW,CAAC;IACvB;EACF;EAEA,SAASQ,gBAAgBA,CAAA,EAAG;IAC1B,IAAIpE,eAAe,KAAK,IAAI,EAAE;MAC5B;MACA;MACA,IAAMgD,WAAW,GACfzJ,gBAAgB,IAAIuB,QAAQ,GAAG0H,uBAAuB,GAAGtH,OAAO;MAClE,IAAM7F,MAAM,GAAG2N,WAAW,CAAChD,eAAe,CAAC;MAE3C,IAAI3K,MAAM,EAAE;QACVmD,QAAQ,CAACnD,MAAM,CAAC;MAClB;IACF;EACF;EAEA,SAAS6O,0BAA0BA,CAAC7O,MAAyB,EAAE;IAC7D,IAAIG,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxB,IAAM6O,YAAY,GAAG9J,cAAc,CAAChF,MAAM,CAAC;MAE3C,IAAIG,KAAK,CAACC,OAAO,CAAC0O,YAAY,CAAC,EAAE;QAC/B,OAAOA,YAAY,CAACH,KAAK,CAAC,UAAC5G,CAAC;UAAA,OAAK9H,KAAK,CAACmB,QAAQ,CAAC2G,CAAC,CAAC;QAAA,EAAC;MACrD;MAEA,OAAO9H,KAAK,CAACmB,QAAQ,CAAC0N,YAAY,CAAC;IACrC;IAEA,OAAO7O,KAAK,KAAK+E,cAAc,CAAChF,MAAM,CAAC;EACzC;EAEA,SAASgP,mCAAmCA,CAAChP,MAAyB,EAAE;IACtE,IAAIsG,cAAc,KAAK,UAAU,EAAE;MACjC,OAAO,KAAK;IACd;IAEA,IAAInG,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxB,IAAM6O,YAAY,GAAG9J,cAAc,CAAChF,MAAM,CAAC;MAE3C,IAAIG,KAAK,CAACC,OAAO,CAAC0O,YAAY,CAAC,EAAE;QAC/B,OACEA,YAAY,CAACG,IAAI,CAAC,UAAClH,CAAC;UAAA,OAAK9H,KAAK,CAACmB,QAAQ,CAAC2G,CAAC,CAAC;QAAA,EAAC,IAC3C,CAAC+G,YAAY,CAACH,KAAK,CAAC,UAAC5G,CAAC;UAAA,OAAK9H,KAAK,CAACmB,QAAQ,CAAC2G,CAAC,CAAC;QAAA,EAAC;MAEjD;IACF;IAEA,OAAO,KAAK;EACd;EAEA,SAASmH,4CAA4CA,CACnDrJ,OAA4B,EAC5BsJ,UAAkD,EAClDC,mBAA2D,EAC3D;IACA,IAAI9I,cAAc,KAAK,UAAU,IAAI,CAACnG,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MAC1D,OAAO,KAAK;IACd;IAEA,OACE4F,OAAO,CAACoJ,IAAI,CACV,UAACjP,MAAM;MAAA,OAAKmP,UAAU,CAACnP,MAAM,CAAC,IAAIoP,mBAAmB,CAACpP,MAAM,CAAC;IAAA,CAC/D,CAAC,IAAI,CAAC6F,OAAO,CAAC8I,KAAK,CAAC,UAAC3O,MAAM;MAAA,OAAKmP,UAAU,CAACnP,MAAM,CAAC;IAAA,EAAC;EAEvD;EAEA,SAASqP,mCAAmCA,CAC1CxJ,OAA4B,EAC5BsJ,UAAkD,EAClD;IACA,IAAI,CAAC1J,QAAQ,EAAE;MACb,OAAO,KAAK;IACd;IAEA,OAAOI,OAAO,CAAC8I,KAAK,CAAC,UAAC3O,MAAM;MAAA,OAAKmP,UAAU,CAACnP,MAAM,CAAC;IAAA,EAAC;EACtD;EAEA,SAASsP,OAAOA,CAAA,EAAG;IACjB,OAAOnP,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACwB,MAAM,KAAK,CAAC,GAAGxB,KAAK,KAAK,IAAI;EACnE;EAEA,IAAMsP,aAAa,GAAG/Q,KAAK,CAACyJ,MAAM,CAACO,IAAI,CAAC;EAExChK,KAAK,CAACyI,SAAS,CAAC,YAAM;IACpBsI,aAAa,CAACC,OAAO,GAAGhH,IAAI;EAC9B,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMpF,QAAQ,GAAGlF,WAAW,CAAc;IACxCsK,IAAI,EAAJA,IAAI;IACJpD,YAAY,EAAE,SAAdA,YAAYA,CAAGoD,IAAI,EAAK;MACtBC,OAAO,CAACD,IAAI,CAAC;MACbpD,aAAY,CAACoD,IAAI,CAAC;IACpB,CAAC;IACDiH,oBAAoB,EAAE,SAAtBA,oBAAoBA,CAAA;MAAA,SAAAC,IAAA,GAAAlO,SAAA,CAAAC,MAAA,EAAMkO,IAAI,OAAAxP,KAAA,CAAAuP,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;QAAJD,IAAI,CAAAC,IAAA,IAAApO,SAAA,CAAAoO,IAAA;MAAA;MAAA,OAC5B;QACAhS,UAAU,CAAAiS,KAAA,SAAIF,IAAI,CAAAvC,MAAA,EAAE;UAAE0C,cAAc,EAAE;QAAK,CAAC;MAAC;IAAA;IAC/CC,QAAQ,EAAE,OAAO;IACjBC,UAAU,EAAE,CACVlS,MAAM,CAAC,UAAAmS,KAAA,EAAe;MAAA,IAAZC,KAAK,GAAAD,KAAA,CAALC,KAAK;MACb,OAAO;QACLC,QAAQ,EAAE,CAAC;QACXC,SAAS,EAAErJ,0BAA0B,GACjC,CAAC,GACD,CAACmJ,KAAK,CAAC9M,QAAQ,CAAC4F,KAAK,GAAGkH,KAAK,CAAC9N,SAAS,CAAC4G,KAAK,IAAI;MACvD,CAAC;IACH,CAAC,CAAC,EACFnL,IAAI,CAAC,CAAC,EACNE,IAAI,CAAC;MACH8R,KAAK,WAALA,KAAKA,CAAAQ,KAAA,EAAgC;QAAA,IAA7BC,eAAe,GAAAD,KAAA,CAAfC,eAAe;UAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;QAC/B,IAAIhB,aAAa,CAACC,OAAO,EAAE;UACzBD,aAAa,CAACC,OAAO,GAAG,KAAK;UAC7BvG,QAAQ,CACNlC,0BAA0B,GACtBwJ,QAAQ,CAACnO,SAAS,CAACoO,qBAAqB,CAAC,CAAC,CAACxH,KAAK,GAChDhK,uBACN,CAAC;QACH;QACAqK,YAAY,CAACiH,eAAe,CAAC;MAC/B,CAAC;MACDG,OAAO,EAAE;IACX,CAAC,CAAC;EAEN,CAAC,CAAC;EAEF,IAAAC,iBAAA,GAA0B/R,gBAAgB,CAAC,CAAC;IAA7BgS,MAAM,GAAAD,iBAAA,CAAbzQ,KAAK;EAEb,IAAA2Q,gBAAA,GAA8DzS,eAAe,CAC3E,CACEH,QAAQ,CAACoF,QAAQ,CAAC9B,OAAO,EAAE;MACzBM,OAAO,EAAE,CAACrB,QAAQ;MAClBsQ,gBAAgB,EAAE;IACpB,CAAC,CAAC,EACF5S,UAAU,CAACmF,QAAQ,CAAC9B,OAAO,EAAE;MAC3BM,OAAO,EAAE,CAACrB;IACZ,CAAC,CAAC,EACFnC,iBAAiB,CAACgF,QAAQ,CAAC9B,OAAO,EAAE;MAClCS,WAAW,EAAE4I,eAAe;MAC5BmG,eAAe,EAAEpD,YAAY;MAC7B9L,OAAO,EAAE,CAACrB,QAAQ;MAClBwQ,OAAO,EAAE/I,cAAc;MACvBgJ,IAAI,EAAE,IAAI;MACV/O,UAAU,EAAE,SAAZA,UAAUA,CAAGa,CAAC;QAAA,OAAK8H,kBAAkB,CAAC;UAAA,OAAM9H,CAAC;QAAA,EAAC;MAAA;MAC9CiL,aAAa,EAAbA,aAAa;MACbkD,OAAO,EAAE;IACX,CAAC,CAAC,EACF5P,kBAAkB,CAAC+B,QAAQ,CAAC9B,OAAO,EAAE;MACnCS,WAAW,EAAEgJ,gBAAgB;MAC7BnJ,OAAO,EAAE,CAACrB,QAAQ,IAAIkF,QAAQ,IAAI6E,WAAW,KAAK,EAAE;MACpDnI,QAAQ,EAAE2F,QAAQ;MAClB7F,UAAU,EAAE,SAAZA,UAAUA,CAAGa,CAAC;QAAA,OAAKkI,mBAAmB,CAAC;UAAA,OAAMlI,CAAC;QAAA,EAAC;MAAA;MAC/C7C,KAAK,EAALA;IACF,CAAC,CAAC,EACF8C,oBAAoB,CAACK,QAAQ,CAAC9B,OAAO,EAAE;MACrCM,OAAO,EAAE,CAACrB,QAAQ;MAClB4C,QAAQ,EAAE4L;IACZ,CAAC,CAAC,EACF;MACE3M,SAAS,EAAAxB,aAAA,CAAAA,aAAA;QACPsQ,MAAM,EAAE1N,KAAK;QACb2N,SAAS,EAAE5Q,QAAQ;QACnB6Q,MAAM,EAAEjN,KAAK;QACbkN,aAAa,EAAE,CAAC9Q,QAAQ,IAAI,CAACgF,OAAO;QACpC+L,QAAQ,EAAE/L,OAAO;QACjBgM,SAAS,EAAE9L,QAAQ;QACnB+L,KAAK,EAAEhJ,IAAI;QACXiJ,YAAY,EAAE,CAACrD,aAAa;QAC5B,eAAe,EAAEhI,MAAM,GAAGgC,SAAS,GAAGC,MAAM;QAC5C,eAAe,EAAEG,IAAI;QACrB,eAAe,EAAEpC,MAAM,GAAG,QAAQ,GAAG;MAAS,GAC1CY,SAAS,IAAI;QAAE,YAAY,EAAEA;MAAU,CAAC;QAC5C3E,SAAS,WAATA,SAASA,CAAA,EAAG;UACVwG,UAAU,CAAC,KAAK,CAAC;QACnB,CAAC;QACD6I,IAAI,EAAE,UAAU;QAChBtL,MAAM,EAANA,MAAM;QACNQ,QAAQ,EAAErG,QAAQ,GAAG,CAAC,CAAC,GAAGqG;MAAQ,EAC5B;MAAE;MACVxD,QAAQ,EAAE;QACRsO,IAAI,EAAEtL,MAAM,GAAG,QAAQ,GAAG,MAAM;QAChC8G,EAAE,EAAE9E,SAAS;QACb/F,SAAS,WAATA,SAASA,CAAA,EAAG;UACVwG,UAAU,CAAC,KAAK,CAAC;QACnB,CAAC;QACD8I,aAAa,WAAbA,aAAaA,CAAA,EAAG;UACd9I,UAAU,CAAC,IAAI,CAAC;QAClB,CAAC;QACD+I,KAAK,EAAE;UACLC,QAAQ,EAAEzO,QAAQ,CAAC2M,QAAQ;UAC3B+B,IAAI,EAAE1O,QAAQ,CAAC2O,CAAC,IAAI,CAAC;UACrBC,GAAG,EAAE5O,QAAQ,CAAC6O,CAAC,IAAI,CAAC;UACpBjJ,KAAK,EAALA,KAAK;UACLI,SAAS,EAATA,SAAS;UACTuH,MAAM,EAANA;QACF;MACF;IACF,CAAC,CAEL,CAAC;IAvEOuB,iBAAiB,GAAAtB,gBAAA,CAAjBsB,iBAAiB;IAAEC,gBAAgB,GAAAvB,gBAAA,CAAhBuB,gBAAgB;IAAEC,YAAY,GAAAxB,gBAAA,CAAZwB,YAAY;EAyEzD,SAASC,aAAaA,CAAA,EAAG;IACvB,OAAO;MACLC,UAAU,EAAE;IACd,CAAC;EACH;EAEA,SAASC,kBAAkBA,CAAA,EAGvB;IACF,OAAO;MACLC,GAAG,EAAErK,SAAS;MACdpC,WAAW,EAAEuJ,OAAO,CAAC,CAAC,GAAGvJ,WAAW,GAAG,EAAE;MACzCxF,QAAQ,EAARA,QAAQ;MACR,eAAe,EAAE8H,MAAM;MACvBhG,SAAS,WAATA,SAASA,CAACC,CAAC,EAAE;QACX,IAAIA,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;UACnB,IAAIiG,IAAI,EAAE;YAAA,IAAAiK,qBAAA;YACRnQ,CAAC,CAACoQ,cAAc,CAAC,CAAC;YAClBpQ,CAAC,CAACqQ,eAAe,CAAC,CAAC;YACnB,CAAAF,qBAAA,GAAArP,QAAQ,CAACwP,IAAI,CAACxP,QAAQ,CAACoM,OAAO,cAAAiD,qBAAA,uBAA9BA,qBAAA,CAAgCI,KAAK,CAAC,CAAC;UACzC;QACF;MACF,CAAC;MACD1Q,QAAQ,WAARA,QAAQA,CAACG,CAAC,EAAE;QACVkI,cAAc,CAAClI,CAAC,CAACwQ,aAAa,CAAC7S,KAAK,CAAC;QACrC+K,mBAAmB,CAAC,IAAI,CAAC;MAC3B,CAAC;MACD4G,KAAK,EAAE;QACLmB,OAAO,EAAEhI,gBAAgB,KAAK,IAAI,GAAG,CAAC,GAAG;MAC3C;IACF,CAAC;EACH;EAEA,SAASiI,kBAAkBA,CAACC,KAAa,EAAE;IACzC,OAAO;MACLC,OAAO,WAAPA,OAAOA,CAAC5Q,CAAmB,EAAE;QAC3B;QACAA,CAAC,CAACqQ,eAAe,CAAC,CAAC;QAEnB,IAAInT,UAAU,CAACiG,QAAQ,EAAExF,KAAK,CAAC,EAAE;UAC/B6H,QAAQ,CAAC7H,KAAK,CAAC2C,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC;YAAA,OAAKA,CAAC,KAAKmQ,KAAK;UAAA,EAAC,CAAC;QAC/C;MACF;IACF,CAAC;EACH;EAEA,SAASE,uBAAuBA,CAAA,EAAG;IACjC,OAAO;MACLX,GAAG,EAAE,SAALA,GAAGA,CAAGY,EAAsB,EAAK;QAAA,IAAAC,gBAAA;QAC/BxJ,eAAe,EAAAwJ,gBAAA,GAACD,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEE,YAAY,cAAAD,gBAAA,cAAAA,gBAAA,GAAI,CAAC,CAAC;MACxC;IACF,CAAC;EACH;EAEA,SAASE,cAAcA,CAAA,EAAG;IACxB,OAAO;MACL,eAAe,EAAElL,MAAM;MACvBlG,QAAQ,WAARA,QAAQA,CAAClC,KAAa,EAAE;QACtBuK,cAAc,CAACvK,KAAK,CAAC;QACrB+K,mBAAmB,CAAC,IAAI,CAAC;MAC3B,CAAC;MACDjF,WAAW,EAAEuB,IAAI,CAAC2F,CAAC,CAAC,oBAAoB;IAC1C,CAAC;EACH;EAEA,SAASuG,cAAcA,CAAA,EAAG;IACxB,OAAO;MACLhB,GAAG,EAAE,SAALA,GAAGA,CAAGY,EAAsB,EAAK,CAAC;IACpC,CAAC;EACH;EAEA,SAASK,cAAcA,CAAA,EAAG;IACxB,OAAO;MACLjB,GAAG,EAAE,SAALA,GAAGA,CAAGY,EAAsB,EAAK;QAAA,IAAAM,iBAAA;QAC/BzJ,eAAe,EAAAyJ,iBAAA,GAACN,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEE,YAAY,cAAAI,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC;MACxC,CAAC;MACDrR,SAAS,EAAE,SAAXA,SAASA,CAAGC,CAAsB,EAAK;QACrC,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;UACtBD,CAAC,CAACqQ,eAAe,CAAC,CAAC;QACrB;MACF;IACF,CAAC;EACH;EAEA,SAASgB,oBAAoBA,CAAA,EAAG;IAC9B,OAAO;MACL3P,YAAY,EAAZA;IACF,CAAC;EACH;EAEA,SAAS4P,aAAaA,CAAA,EAAG;IACvB,OAAO;MACL,aAAa,EAAE,IAAI;MACnB,YAAY,EAAEtM,IAAI,CAAC2F,CAAC,CAAC,mBAAmB,CAAC;MACzCiG,OAAO,WAAPA,OAAOA,CAAC5Q,CAAmB,EAAE;QAC3B;QACAA,CAAC,CAACqQ,eAAe,CAAC,CAAC;QAEnB3H,mBAAmB,CAAC,IAAI,CAAC;QACzBlD,QAAQ,CAACrC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;QAC9BgD,OAAO,CAAC,IAAI,CAAC;MACf;IACF,CAAC;EACH;EAEA,SAASoL,YAAYA,CAAA,EAAG;IACtB,OAAO;MACLC,UAAU,EAAE,KAAK;MACjBlC,KAAK,EAAE;QACLmC,MAAM,EAAE7J;MACV;IACF,CAAC;EACH;EAEA,SAAS8J,gBAAgBA,CAAA,EAA0B;IACjD,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,QAAiB,EAAK;MACjD,IAAIA,QAAQ,EAAE;QACZhP,cAAc,CAAC,CAAC;MAClB;IACF,CAAC;IAED,OAAO;MACLwM,IAAI,EAAE,SAAS;MACfxE,EAAE,EAAE9G,MAAM,GAAGgC,SAAS,GAAGC,MAAM;MAC/B8L,IAAI,EAAErQ,SAAS,GAAG2J,uBAAuB,GAAG5H,OAAO;MACnDnC,UAAU,EAAE;QACV0Q,IAAI,EAAE1Q,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0Q,IAAW,CAAE;MACjC,CAAC;;MACDC,uBAAuB,EAAEtG,aAAa,IAAI,CAAC,GAAGA,aAAa,GAAG,CAAC;MAC/D6D,KAAK,EAAE;QACL0C,IAAI,EAAE;MACR,CAAC;MACD1N,QAAQ,EAAE,CAAC,CAAC;MACZ2N,sBAAsB,EAAE9K,aAAa;MACrCwK,mBAAmB,EAAnBA;IACF,CAAC;EACH;EAEA,IAAMO,SAAS,GAAGhW,KAAK,CAAC6M,WAAW,CAAC,UAACoJ,MAAyB,EAAK;IACjE,IAAI,CAACA,MAAM,CAACC,WAAW,EAAE;MACvB;IACF;IACA,IAAID,MAAM,CAACE,MAAM,CAAC1B,KAAK,KAAKwB,MAAM,CAACC,WAAW,CAACzB,KAAK,EAAE;MACpD;IACF;IAEA,IAAM2B,UAAU,GAAGH,MAAM,CAACE,MAAM,CAAC1B,KAAK;IACtC,IAAM4B,gBAAgB,GAAGJ,MAAM,CAACC,WAAW,CAACzB,KAAK;IAEjDzF,mBAAmB,CAAC,UAAC3H,OAAO,EAAK;MAC/B,IAAAiP,QAAA,GAA8CpV,OAAO,CACnDmG,OAAO,EACP+O,UAAU,EACVC,gBACF,CAAC;QAJOE,WAAW,GAAAD,QAAA,CAAXC,WAAW;QAAEC,SAAS,GAAAF,QAAA,CAATE,SAAS;QAAEC,SAAS,GAAAH,QAAA,CAATG,SAAS;MAMzC,IAAMC,eAAe,GACnBF,SAAS,KAAKC,SAAS,GACnBF,WAAW,CAACjI,GAAG,CAAC,UAAC9M,MAAM,EAAEiT,KAAK,EAAK;QACjC,IAAIA,KAAK,KAAK4B,gBAAgB,EAAE;UAC9B,OAAOrO,cAAc,CAACxG,MAAM,EAAEiV,SAAS,CAAC;QAC1C;QACA,OAAOjV,MAAM;MACf,CAAC,CAAC,GACF+U,WAAW;MAEjB,IAAI,OAAOrP,YAAY,KAAK,UAAU,EAAE;QACtCyP,UAAU,CAAC,YAAM;UACfzP,YAAY,CACVwP,eAAe,CAACtS,MAAM,CAAC,UAAC5C,MAAM;YAAA,OAAK,CAACX,mBAAmB,CAACW,MAAM,CAAC;UAAA,EACjE,CAAC;QACH,CAAC,EAAE,CAAC,CAAC;MACP;MAEA,OAAOkV,eAAe;IACxB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA;EACA;EACA;EACA1W,KAAK,CAACyI,SAAS,CAAC,YAAM;IACpB,IAAIuB,IAAI,EAAE;MACRoC,kBAAkB,CAAC;QAAA,OACjBmD,aAAa,IAAI,CAAC,GAAGA,aAAa,GAAGO,6BAA6B,CAAC,CAAC;MAAA,CACtE,CAAC;IACH,CAAC,MAAM;MACL9D,cAAc,CAAC;QAAA,OAAM,EAAE;MAAA,EAAC;MACxBQ,mBAAmB,CAAC;QAAA,OAAM,IAAI;MAAA,EAAC;IACjC;EACF,CAAC,EAAE,CAACxC,IAAI,CAAC,CAAC;;EAEV;EACA;EACA;EACA;EACAhK,KAAK,CAACyI,SAAS,CAAC,YAAM;IACpB,IAAIuB,IAAI,EAAE;MACRoC,kBAAkB,CAAC;QAAA,OAAM0D,6BAA6B,CAAC,CAAC;MAAA,EAAC;IAC3D;EACF,CAAC,EAAE,CAAChE,WAAW,CAAC,CAAC;;EAEjB;EACA;EACA;EACA;EACA9L,KAAK,CAACyI,SAAS,CAAC,YAAM;IACpB,IAAI,CAACxB,QAAQ,IAAIxF,KAAK,KAAK,IAAI,EAAE;MAC/BwI,OAAO,CAAC;QAAA,OAAM,KAAK;MAAA,EAAC;IACtB;EACF,CAAC,EAAE,CAACxI,KAAK,CAAC,CAAC;;EAEX;EACAzB,KAAK,CAACyI,SAAS,CAAC,YAAM;IACpB;IACA;IACA,IAAMmO,WAAW,GACflR,gBAAgB,IAAIuB,QAAQ,GACxB0H,uBAAuB,CAAC1L,MAAM,GAC9BoE,OAAO,CAACpE,MAAM;IACpBuG,cAAc,CAACwH,OAAO,GAAA3C,kBAAA,CAAO1M,KAAK,CAACiV,WAAW,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7D,CAAC,EAAE,CAACnR,gBAAgB,EAAEuB,QAAQ,EAAE0H,uBAAuB,EAAEtH,OAAO,CAAC,CAAC;;EAElE;EACArH,KAAK,CAAC8W,eAAe,CAAC,YAAM;IAC1B,IAAI3K,eAAe,KAAK,IAAI,EAAE;MAC5B,IAAI,CAAC/B,OAAO,EAAE;QACZ;QACA;QACA,IAAM2M,aAAa,GACjBrR,gBAAgB,IAAIuB,QAAQ,IAAIkF,eAAe,GAAG,CAAC,GAC/CA,eAAe,GAAG,CAAC,GACnBA,eAAe;QAErB,IAAI4K,aAAa,IAAI,CAAC,EAAE;UAAA,IAAAC,iBAAA;UACtB,CAAAA,iBAAA,GAAAtN,QAAQ,CAACsH,OAAO,cAAAgG,iBAAA,uBAAhBA,iBAAA,CAAkBC,cAAc,CAAC;YAAExC,KAAK,EAAEsC;UAAc,CAAC,CAAC;QAC5D;MACF;IACF;EACF,CAAC,EAAE,CAAC5K,eAAe,EAAEnC,IAAI,EAAEtE,gBAAgB,EAAEuB,QAAQ,CAAC,CAAC;EAEvD,OAAO;IACLiQ,MAAM,EAAE;MACNlS,KAAK,EAALA,KAAK;MACLjD,QAAQ,EAARA,QAAQ;MACRuD,SAAS,EAATA,SAAS;MACTE,YAAY,EAAZA,YAAY;MACZG,KAAK,EAALA,KAAK;MACLC,MAAM,EAANA,MAAM;MACNiB,MAAM,EAANA,MAAM;MACNU,WAAW,EAAXA,WAAW;MACXE,MAAM,EAANA,MAAM;MACNC,WAAW,EAAXA,WAAW;MACXI,cAAc,EAAdA,cAAc;MACdM,QAAQ,EAARA,QAAQ;MACRrB,OAAO,EAAPA,OAAO;MACPE,QAAQ,EAARA,QAAQ;MACRvB,gBAAgB,EAAhBA;IACF,CAAC;IACDR,UAAU,EAAVA,UAAU;IACViS,KAAK,EAAE;MACLhL,eAAe,EAAfA,eAAe;MACfI,gBAAgB,EAAhBA,gBAAgB;MAChBuE,OAAO,EAAPA,OAAO;MACPpF,mBAAmB,EAAnBA,mBAAmB;MACnB7B,MAAM,EAANA,MAAM;MACNe,SAAS,EAATA,SAAS;MACToL,SAAS,EAATA,SAAS;MACTrR,QAAQ,EAARA,QAAQ;MACRwC,WAAW,EAAXA,WAAW;MACX6C,IAAI,EAAJA,IAAI;MACJ3C,OAAO,EAAE/B,SAAS,GAAG2J,uBAAuB,GAAG5H,OAAO;MACtDuC,SAAS,EAATA,SAAS;MACTkC,WAAW,EAAXA,WAAW;MACXyC,eAAe,EAAfA,eAAe;MACfgB,aAAa,EAAbA,aAAa;MACbK,aAAa,EAAbA,aAAa;MACbF,cAAc,EAAdA,cAAc;MACdzF,OAAO,EAAPA,OAAO;MACPI,UAAU,EAAVA,UAAU;MACV2B,cAAc,EAAEA,cAAc;MAC9BI,kBAAkB,EAAlBA,kBAAkB;MAClB9E,aAAa,EAAbA,aAAa;MACb7F,KAAK,EAALA,KAAK;MACL+I,KAAK,EAALA;IACF,CAAC;IACD4M,KAAK,EAAE;MACLC,KAAK,EAAEjC,aAAa;MACpB5P,YAAY,EAAE2P,oBAAoB;MAClCvP,MAAM,EAAEqP,cAAc;MACtBpO,MAAM,EAAEmO,cAAc;MACtBsC,IAAI,EAAE1D,YAAY;MAClBrR,KAAK,EAAEsR,aAAa;MACpB0D,IAAI,EAAElC,YAAY;MAClBmC,UAAU,EAAEzD,kBAAkB;MAC9B0D,OAAO,EAAE9D,gBAAgB;MACzB/L,MAAM,EAAEmN,cAAc;MACtB2C,eAAe,EAAE/C,uBAAuB;MACxCgD,UAAU,EAAEnD,kBAAkB;MAC9BoD,OAAO,EAAElE,iBAAiB;MAC1BhK,QAAQ,EAAE8L;IACZ,CAAC;IACDhU,MAAM,EAAE;MACNU,KAAK,EAAE4D,cAAc;MACrB+R,OAAO,EAAE7R,gBAAgB;MACzB4K,mBAAmB,EACjBvK,4BAA4B,aAA5BA,4BAA4B,cAA5BA,4BAA4B,GAAImK,mCAAmC;MACrEG,UAAU,EAAErK,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI+J,0BAA0B;MAC7DyH,UAAU,EAAE5R,mBAAmB;MAC/B6R,UAAU,EAAElX,mBAAmB;MAC/BmX,cAAc,EAAElX,uBAAuB;MACvCyB,KAAK,EAAE6D,cAAc;MACrB3E,KAAK,EAAE+E,cAAc;MACrByR,SAAS,EAAE;QACTC,4BAA4B,EAAE,SAA9BA,4BAA4BA,CAAG7Q,OAAO;UAAA,OACpCqJ,4CAA4C,CAC1CrJ,OAAO,CAACjD,MAAM,CAACqL,kBAAkB,CAAC,EAClCnJ,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI+J,0BAA0B,EACjDhK,4BAA4B,aAA5BA,4BAA4B,cAA5BA,4BAA4B,GAAImK,mCAClC,CAAC;QAAA;QACH2H,mBAAmB,EAAE,SAArBA,mBAAmBA,CAAG9Q,OAAO;UAAA,OAC3BwJ,mCAAmC,CACjCxJ,OAAO,CAACjD,MAAM,CAACqL,kBAAkB,CAAC,EAClCnJ,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI+J,0BACzB,CAAC;QAAA;MACL;IACF,CAAC;IACD+D,IAAI,EAAE;MACJxP,QAAQ,EAARA,QAAQ;MACR4E,cAAc,EAAdA,cAAc;MACdE,QAAQ,EAARA;IACF;EACF,CAAC;AACH;AAEA,OAAO,IAAM0O,kBAAkB,gBAAGpY,KAAK,CAACqY,aAAa,CACnD,IACF,CAAC;AAED,OAAO,SAASC,qBAAqBA,CAAA,EAAmB;EACtD,IAAMC,GAAG,GAAGvY,KAAK,CAACwY,UAAU,CAACJ,kBAAkB,CAAC;EAEhD,IAAI,CAACG,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,4BAA4B,CAAC;EAC/C;EAEA,OAAOF,GAAG;AACZ"}
|
|
1
|
+
{"version":3,"file":"useSuperSelect.js","names":["autoUpdate","flip","offset","size","useClick","useDismiss","useFloating","useInteractions","useListNavigation","useId","debounce","React","ulid","useI18nContext","useZIndexContext","spacing","defaultComponents","draggableOptionIdSymbol","isOptSelectAllSymbol","extendedSelectMenuWidth","collectGroupsInOrderOfOccurrence","createOptgroup","getBatchOptionFormatter","getIsAllOptionsUngrouped","getOptionIsOptgroup","getOptionIsOptSelectAll","getOptionsSortingAlgorithm","isMultiple","removeEmptyOptGroups","reorder","sortOptgroups","listContainerVerticalPadding","sm","noop","defaultGetOptionValue","option","value","defaultGetOptionIsBatch","Array","isArray","defaultGetOptionIsDisabled","_option$disabled","disabled","defaultGetOptionGroup","_option$group","group","defaultSetOptionGroup","_objectSpread","defaultGetOptionLabel","_option$label","label","stringContains","str1","str2","toLowerCase","includes","useTokenNavigation","context","_ref","arguments","length","undefined","_ref$enabled","enabled","_ref$value","_ref$activeIndex","activeIndex","_ref$onNavigate","onNavigate","_ref$onChange","onChange","reference","onKeyDown","e","key","Math","max","repeat","nextVal","filter","_","i","useKeyboardSelection","_ref2","_ref2$enabled","_ref2$onSelect","onSelect","floating","useSuperSelect","_ref3","_ref3$block","block","customComponents","components","defaultValue","_ref3$disabled","_ref3$draggable","draggable","_ref3$emptyMessage","emptyMessage","_ref3$selectAllEnable","selectAllEnabled","error","footer","_ref3$getOptionGroup","getOptionGroup","_ref3$getOptionIsBatc","getOptionIsBatch","_ref3$getOptionIsDisa","getOptionIsDisabled","_ref3$getOptionLabel","getOptionLabel","getOptionIsPartiallySelected","getOptionIsSelected","_ref3$getOptionValue","getOptionValue","_ref3$onScrollBottom","onScrollBottom","_ref3$onOpenChange","onOpenChange","header","_ref3$loading","loading","_ref3$multiple","multiple","onManualSort","onSelectAll","_ref3$options","options","sourceOptions","placeholder","_ref3$preset","preset","presetProps","_ref3$search","search","_ref3$selectionStyle","selectionStyle","_ref3$setOptionGroup","setOptionGroup","_ref3$sort","sort","_ref3$tabIndex","tabIndex","value_","_ref3$overlayMatchesT","overlayMatchesTriggerWidth","ariaLabel","useEffect","isUsingDefaultGetter","isUsingDefaultSetter","console","warn","i18n","initialValue","_React$useState","useState","_React$useState2","_slicedToArray","val","setVal","_React$useState3","_React$useState4","isSelectAllActive","setIsSelectAllActive","isProcessingAutoSelectionRef","useRef","previousSelectableOptionsRef","Set","setValue","v","getOptionValuesFlat","useCallback","optionValue","checkIfAllSelectableOptionsSelected","currentValue","currentSelectableOptions","valueSet","_iterator","_createForOfIteratorHelper","_step","s","n","done","optionValues","every","has","err","f","executeAutoSelection","current","currentOptionKeys","newlyAddedOptions","_iterator2","_step2","optionKey","JSON","stringify","add","push","currentValueSet","newValuesToAdd","_i","_newlyAddedOptions","_iterator3","_step3","combinedValueSet","concat","_toConsumableArray","from","debouncedAutoSelection","useMemo","navigationList","virtuoso","searchRef","overlayId","listId","_React$useState5","_React$useState6","open","setOpen","_React$useState7","_React$useState8","pointer","setPointer","_React$useState9","_React$useState0","width","setWidth","_React$useState1","_React$useState10","maxHeight","setMaxHeight","_React$useState11","_React$useState12","listHeight","setListHeight","_React$useState13","_React$useState14","searchHeight","setSearchHeight","_React$useState15","_React$useState16","footerHeight","setFooterHeight","listContainerHeight","min","_React$useState17","_React$useState18","searchValue","setSearchValue_","setSearchValue","_React$useState19","_React$useState20","activeMenuIndex","setActiveMenuIndex","_React$useState21","_React$useState22","activeTokenIndex","setActiveTokenIndex","sortOptions","formatBatchOption","enforceOptionsSortingOrder","groupAndSort","opts","_collectGroupsInOrder","groups","groupedOptions","Object","entries","_ref4","_ref5","_ref6","groupA","_ref7","groupB","flatMap","_ref8","_ref9","groupName","groupOptions","deriveOptionsSortingOrder","_collectGroupsInOrder2","groupAndSortAlgorithm","queried","opt","map","selectableOptions","result","_iterator4","_step4","isSelectableOption","autoSelectionEffect","_debouncedAutoSelecti","cancel","call","selectAllOption","_defineProperty","t","id","allOptionsWithSelectAll","_React$useState23","_React$useState24","draggableOptions","setDraggableOptions","queriedDraggableOptions","groupIndices","baseOptions","reduce","acc","selectedIndex","findIndex","selectedOption","find","selectedLabel","o","getFirstSelectableOptionIndex","handleSelectAllToggle","getIsSelected","defaultGetOptionIsSelected","allSelected","forEach","shouldActivateSelectAll","newValue","handleBatchOptionSelection","newValueSet","handleSingleOptionSelection","valueIndex","indexOf","isSelectAll","onKeyboardSelect","defaultGetOptionIsPartiallySelected","some","defaultGetOptionIsSelectAllPartiallySelected","isSelected","isPartiallySelected","defaultGetOptionIsSelectAllSelected","isEmpty","boundWidthRef","whileElementsMounted","_len","args","_key","apply","animationFrame","strategy","middleware","_ref0","rects","mainAxis","crossAxis","_ref1","availableHeight","elements","getBoundingClientRect","padding","_useZIndexContext","zIndex","_useInteractions","keyboardHandlers","disabledIndices","listRef","loop","virtual","$block","$disabled","$error","$hasClearIcon","$loading","$multiple","$open","$placeholder","role","onPointerMove","style","position","left","x","top","y","getReferenceProps","getFloatingProps","getItemProps","getLabelProps","$hoverable","getMultiInputProps","ref","_floating$refs$floati","preventDefault","stopPropagation","refs","focus","currentTarget","opacity","getMultiValueProps","index","onClick","getSearchContainerProps","el","_el$clientHeight","clientHeight","getSearchProps","getHeaderProps","getFooterProps","_el$clientHeight2","getEmptyMessageProps","getClearProps","getMenuProps","scrollable","height","getVirtuosoProps","atBottomStateChange","atBottom","data","Item","initialTopMostItemIndex","flex","totalListHeightChanged","onDragEnd","destination","source","startIndex","destinationIndex","_reorder","nextOptions","prevGroup","nextGroup","adjustedOptions","setTimeout","totalLength","fill","useLayoutEffect","virtuosoIndex","_virtuoso$current","scrollIntoView","config","state","props","clear","item","menu","multiInput","overlay","searchContainer","tokenClear","trigger","isBatch","isDisabled","isOptgroup","isOptSelectAll","selectAll","isSelectAllPartiallySelected","isSelectAllSelected","SuperSelectContext","createContext","useSuperSelectContext","ctx","useContext","Error"],"sources":["../../src/SuperSelect/useSuperSelect.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from '@floating-ui/react'\nimport {\n autoUpdate,\n flip,\n offset,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useListNavigation,\n} from '@floating-ui/react'\nimport { useId } from '@react-aria/utils'\nimport debounce from 'lodash.debounce'\nimport React from 'react'\nimport type { VirtuosoHandle, VirtuosoProps } from 'react-virtuoso'\nimport { ulid } from 'ulid'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { spacing } from '../_styles/spacing'\nimport * as defaultComponents from './SuperSelect.components'\nimport {\n draggableOptionIdSymbol,\n isOptSelectAllSymbol,\n} from './SuperSelect.constants'\nimport { extendedSelectMenuWidth } from './SuperSelect.styles'\nimport type {\n KeyboardSelectionProps,\n SuperSelectApi,\n SuperSelectConfig,\n SuperSelectOption,\n SuperSelectResult,\n SuperSelectValue,\n SuperSelectValuePrimitive,\n TokenNavigationProps,\n} from './SuperSelect.types'\nimport {\n collectGroupsInOrderOfOccurrence,\n createOptgroup,\n getBatchOptionFormatter,\n getIsAllOptionsUngrouped,\n getOptionIsOptgroup,\n getOptionIsOptSelectAll,\n getOptionsSortingAlgorithm,\n isMultiple,\n removeEmptyOptGroups,\n reorder,\n sortOptgroups,\n} from './SuperSelect.utils'\n\nconst listContainerVerticalPadding = spacing.sm * 2\n\nfunction noop() {}\n\nfunction defaultGetOptionValue(option: SuperSelectOption) {\n return option?.value\n}\n\nfunction defaultGetOptionIsBatch(option: SuperSelectOption): boolean {\n return Array.isArray(option?.value)\n}\n\nfunction defaultGetOptionIsDisabled(option: SuperSelectOption): boolean {\n return option?.disabled ?? false\n}\n\nfunction defaultGetOptionGroup(option: SuperSelectOption): string {\n return option?.group ?? ''\n}\n\nfunction defaultSetOptionGroup(\n option: SuperSelectOption,\n group: string\n): SuperSelectOption {\n return {\n ...option,\n group,\n }\n}\n\nfunction defaultGetOptionLabel(option: SuperSelectOption): string {\n return option?.label ?? ''\n}\n\nfunction stringContains(str1: string, str2: string) {\n return str1.toLowerCase().includes(str2.toLowerCase())\n}\n\nfunction useTokenNavigation(\n context: FloatingContext<HTMLElement>,\n {\n enabled = true,\n value = [],\n activeIndex = null,\n onNavigate = noop,\n onChange = noop,\n }: TokenNavigationProps = {}\n): ElementProps {\n return {\n reference: {\n onKeyDown(e) {\n if (!enabled || !Array.isArray(value)) {\n return\n }\n\n if (e.key === 'ArrowLeft') {\n if (activeIndex !== null) {\n onNavigate(Math.max(0, activeIndex - 1))\n } else if (value.length > 0) {\n onNavigate(value.length - 1)\n }\n } else if (e.key === 'ArrowRight') {\n if (activeIndex !== null) {\n if (activeIndex === value.length - 1) {\n onNavigate(null)\n } else {\n onNavigate(activeIndex + 1)\n }\n }\n } else if (e.key === 'Backspace') {\n if (!e.repeat) {\n if (activeIndex !== null) {\n const nextVal = value.filter((_, i) => i !== activeIndex)\n\n onChange(nextVal)\n\n if (activeIndex >= nextVal.length) {\n onNavigate(null)\n }\n } else if (value.length > 0) {\n onChange(value.filter((_, i) => i !== value.length - 1))\n }\n }\n }\n },\n },\n }\n}\n\nfunction useKeyboardSelection(\n context: FloatingContext<HTMLElement>,\n { enabled = true, onSelect = () => {} }: KeyboardSelectionProps = {}\n): ElementProps {\n function onKeyDown(e: React.KeyboardEvent) {\n if (!enabled) {\n return\n }\n\n if (e.key === 'Enter') {\n onSelect()\n }\n }\n\n return {\n reference: {\n onKeyDown,\n },\n floating: {\n onKeyDown,\n },\n }\n}\n\nexport function useSuperSelect({\n block = false,\n components: customComponents,\n defaultValue,\n disabled = false,\n draggable = false,\n emptyMessage = 'No results',\n selectAllEnabled = false,\n error,\n footer,\n getOptionGroup = defaultGetOptionGroup,\n getOptionIsBatch = defaultGetOptionIsBatch,\n getOptionIsDisabled = defaultGetOptionIsDisabled,\n getOptionLabel = defaultGetOptionLabel,\n getOptionIsPartiallySelected,\n getOptionIsSelected,\n getOptionValue = defaultGetOptionValue,\n onScrollBottom = noop,\n onOpenChange = noop,\n header,\n loading = false,\n multiple = false,\n onChange,\n onManualSort,\n onSelectAll,\n options: sourceOptions = [],\n placeholder,\n preset = '',\n presetProps,\n search = true,\n selectionStyle = 'highlight',\n setOptionGroup = defaultSetOptionGroup,\n sort = true,\n tabIndex = 0,\n value: value_,\n overlayMatchesTriggerWidth = true,\n 'aria-label': ariaLabel,\n}: SuperSelectConfig): SuperSelectApi {\n React.useEffect(() => {\n if (!draggable) {\n return\n }\n\n const isUsingDefaultGetter = getOptionGroup === defaultGetOptionGroup\n const isUsingDefaultSetter = setOptionGroup === defaultSetOptionGroup\n\n if (\n (isUsingDefaultGetter && !isUsingDefaultSetter) ||\n (!isUsingDefaultGetter && isUsingDefaultSetter)\n ) {\n console.warn(\n `SuperSelect: Using potentially conflicting \"getOptionGroup\" and \"setOptionGroup\" implementations.\n Group reassignment after drag-and-drop operation might be broken.`\n )\n }\n }, [draggable, getOptionGroup, setOptionGroup])\n\n const i18n = useI18nContext()\n\n const initialValue = defaultValue ?? (multiple ? [] : null)\n const [val, setVal] = React.useState<SuperSelectValue>(initialValue)\n const value = value_ !== undefined ? value_ : val\n\n /**\n * Tracks whether the \"Select All\" feature is currently active.\n * When true, new options that appear will be automatically selected.\n * This state is activated when all available options are selected and\n * deactivated when any option is individually deselected.\n */\n const [isSelectAllActive, setIsSelectAllActive] = React.useState(false)\n\n /**\n * Flag to prevent recursive auto-selection calls during state updates.\n * Ensures that auto-selection logic doesn't trigger multiple times\n * concurrently, which could cause performance issues or incorrect state.\n */\n const isProcessingAutoSelectionRef = React.useRef(false)\n\n /**\n * Stores a snapshot of previously available selectable options as a Map.\n * Key: JSON stringified option value for fast lookups\n * Value: The SuperSelectOption object\n * Used to detect newly added options for auto-selection when Select All is active.\n */\n const previousSelectableOptionsRef = React.useRef<Set<string>>(new Set())\n\n function setValue(v: SuperSelectValue) {\n if (!value_) {\n setVal(v)\n }\n\n if (onChange) {\n onChange(v)\n }\n }\n\n /**\n * Extracts all primitive values from an option, handling both single values and batch values.\n * For batch options (arrays), returns all values flattened into a single array.\n * For single options, wraps the value in an array for consistent processing.\n *\n * @param option - The option to extract values from\n * @returns Array of primitive values contained in the option\n */\n const getOptionValuesFlat = React.useCallback(\n (option: SuperSelectOption): SuperSelectValuePrimitive[] => {\n const optionValue = getOptionValue(option)\n return Array.isArray(optionValue) ? optionValue : [optionValue]\n },\n [getOptionValue]\n )\n\n /**\n * Determines if all selectable options are currently selected.\n * Uses early termination to improve performance when checking if all selectable options are selected.\n *\n * Performance optimizations:\n * - Early exit if value count is less than options count\n * - Uses early termination in the validation loop\n *\n * @param currentValue - Current selected values array\n * @param currentSelectableOptions - Array of selectable options to check\n * @returns true if all selectable options are selected, false otherwise\n */\n const checkIfAllSelectableOptionsSelected = React.useCallback(\n (\n currentValue: SuperSelectValue,\n currentSelectableOptions: SuperSelectOption[]\n ) => {\n if (\n !Array.isArray(currentValue) ||\n currentSelectableOptions.length === 0\n ) {\n return false\n }\n\n // Early exit if values count doesn't match options count\n if (currentValue.length < currentSelectableOptions.length) {\n return false\n }\n\n const valueSet = new Set(currentValue)\n\n // Use early termination for better performance\n for (const option of currentSelectableOptions) {\n const optionValues = getOptionValuesFlat(option)\n if (!optionValues.every((val) => valueSet.has(val))) {\n return false\n }\n }\n\n return true\n },\n [getOptionValuesFlat]\n )\n\n /**\n * Performs automatic selection of newly added options when Select All is active.\n *\n * Algorithm:\n * 1. Compares current options with previous snapshot to find new options\n * 2. Automatically selects any newly detected options\n * 3. Implements safeguards against recursive calls\n *\n * Performance considerations:\n * - Single pass to build current options map and detect new ones\n * - Set-based deduplication for efficient value management\n *\n * @param currentSelectableOptions - Current array of selectable options\n * @param currentValue - Current selected values\n */\n const executeAutoSelection = React.useCallback(\n (\n currentSelectableOptions: SuperSelectOption[],\n currentValue: SuperSelectValue\n ) => {\n // Early exit conditions for performance\n if (\n !isSelectAllActive ||\n !multiple ||\n !Array.isArray(currentValue) ||\n isProcessingAutoSelectionRef.current\n ) {\n return\n }\n\n const currentOptionKeys = new Set<string>()\n const newlyAddedOptions: SuperSelectOption[] = []\n\n for (const option of currentSelectableOptions) {\n const optionKey = JSON.stringify(getOptionValue(option))\n currentOptionKeys.add(optionKey)\n\n if (!previousSelectableOptionsRef.current.has(optionKey)) {\n newlyAddedOptions.push(option)\n }\n }\n\n // Update reference for next comparison\n previousSelectableOptionsRef.current = currentOptionKeys\n\n // No new options to auto-select\n if (newlyAddedOptions.length === 0) {\n return\n }\n\n // Set processing flag to prevent recursive calls\n isProcessingAutoSelectionRef.current = true\n\n const currentValueSet = new Set(currentValue)\n const newValuesToAdd: SuperSelectValuePrimitive[] = []\n\n // Collect new values that aren't already selected\n for (const option of newlyAddedOptions) {\n const optionValues = getOptionValuesFlat(option)\n for (const val of optionValues) {\n if (!currentValueSet.has(val)) {\n newValuesToAdd.push(val)\n }\n }\n }\n\n // Only update if there are new values to add\n if (newValuesToAdd.length > 0) {\n // Use Set for efficient deduplication\n const combinedValueSet = new Set([...currentValue, ...newValuesToAdd])\n setValue(Array.from(combinedValueSet))\n }\n\n // Reset processing flag\n isProcessingAutoSelectionRef.current = false\n },\n [isSelectAllActive, multiple, setValue, getOptionValuesFlat]\n )\n\n // Debounced auto-selection for handling rapid option changes\n const debouncedAutoSelection = React.useMemo(\n () => debounce(executeAutoSelection, 50), // Optimized 50ms debounce\n [executeAutoSelection]\n )\n\n const navigationList = React.useRef<Array<HTMLElement | null>>([])\n const virtuoso = React.useRef<VirtuosoHandle>(null)\n const searchRef = React.useRef<HTMLInputElement>(null)\n\n const overlayId = useId() // TODO use React 18 useId\n const listId = useId() // TODO use React 18 useId\n\n const [open, setOpen] = React.useState(false)\n const [pointer, setPointer] = React.useState(false)\n const [width, setWidth] = React.useState(248)\n const [maxHeight, setMaxHeight] = React.useState(248)\n const [listHeight, setListHeight] = React.useState(0)\n const [searchHeight, setSearchHeight] = React.useState(0)\n const [footerHeight, setFooterHeight] = React.useState(0)\n const listContainerHeight = Math.min(\n maxHeight - searchHeight - footerHeight + listContainerVerticalPadding,\n listHeight + listContainerVerticalPadding\n )\n const [searchValue, setSearchValue_] = React.useState('')\n const setSearchValue = debounce(setSearchValue_, 250) // TODO use React 18 useDeferredValue\n\n const [activeMenuIndex, setActiveMenuIndex] = React.useState<number | null>(\n null\n )\n const [activeTokenIndex, setActiveTokenIndex] = React.useState<number | null>(\n null\n )\n\n const components = {\n ...defaultComponents,\n ...(customComponents || {}),\n }\n\n // TODO #memogetters: consider having getOption... getter functions memoized by consumers\n // Until then, exclude these callbacks from effect and memo dependencies\n const sortOptions = React.useMemo(\n () => getOptionsSortingAlgorithm({ getOptionIsBatch, getOptionLabel }),\n // skip `getOptionIsBatch` and `getOptionLabel`\n []\n )\n\n const formatBatchOption = React.useMemo(\n () =>\n getBatchOptionFormatter({\n value,\n multiple,\n getOptionIsBatch,\n getOptionValue,\n }),\n // skip `getOptionIsBatch` and `getOptionValue`, refer to TODO #memogetters\n [value, multiple]\n )\n\n // collect groups, sort them and populate them with options, and sort the options inside the groups\n const enforceOptionsSortingOrder = React.useCallback(\n function groupAndSort(opts: SuperSelectOption[]) {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts.sort(sortOptions)\n }\n\n return Object.entries(groupedOptions)\n .sort(([groupA], [groupB]) => sortOptgroups(groupA, groupB))\n .flatMap(([groupName, groupOptions]) =>\n createOptgroup(groupName, groupOptions.sort(sortOptions))\n )\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n [sortOptions]\n )\n\n // collect groups and populate them with options\n const deriveOptionsSortingOrder = React.useCallback(\n (opts: SuperSelectOption[]) => {\n const { groups, groupedOptions } = collectGroupsInOrderOfOccurrence(\n opts,\n getOptionGroup\n )\n\n if (getIsAllOptionsUngrouped(groups)) {\n return opts\n }\n\n // display optgroups in the order of occurrence, as they are considered pre-sorted\n return groups.flatMap((group) => {\n const groupOptions = groupedOptions[group]\n\n return createOptgroup(group, groupOptions)\n })\n },\n // skip `getOptionGroup`, refer to TODO #memogetters\n []\n )\n\n const groupAndSortAlgorithm = React.useMemo(\n () => (sort ? enforceOptionsSortingOrder : deriveOptionsSortingOrder),\n [sort, enforceOptionsSortingOrder, deriveOptionsSortingOrder]\n )\n\n const options = React.useMemo(\n () => {\n const queried = searchValue\n ? sourceOptions.filter((opt) =>\n stringContains(getOptionLabel(opt), searchValue)\n )\n : [...sourceOptions] // make a copy of source options to prevent the mutation when sorting\n\n return groupAndSortAlgorithm(queried).map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [groupAndSortAlgorithm, formatBatchOption, searchValue, sourceOptions]\n )\n\n /**\n * Filtered list of options that can be selected (excludes disabled options and optgroups).\n * Used for auto-selection logic to determine which options should be automatically\n * selected when Select All is active and new options appear.\n */\n const selectableOptions = React.useMemo(() => {\n const result: SuperSelectOption[] = []\n for (const option of options) {\n if (isSelectableOption(option)) {\n result.push(option)\n }\n }\n return result\n }, [options])\n\n /**\n * Effect function that triggers auto-selection when conditions are met.\n * Calls the debounced auto-selection logic when:\n * - Select All is enabled\n * - Multiple selection mode is active\n * - Select All state is currently active\n * - Current value is an array (multiple selection)\n *\n * The debouncing helps handle rapid option changes efficiently.\n */\n const autoSelectionEffect = React.useCallback(() => {\n if (\n selectAllEnabled &&\n multiple &&\n isSelectAllActive &&\n Array.isArray(value)\n ) {\n debouncedAutoSelection(selectableOptions, value)\n }\n }, [\n selectAllEnabled,\n multiple,\n isSelectAllActive,\n value,\n debouncedAutoSelection,\n selectableOptions,\n ])\n\n /**\n * Effect that manages auto-selection behavior and cleanup.\n * - Triggers auto-selection when dependencies change\n * - Runs on every render when auto-selection conditions might have changed\n */\n React.useEffect(() => {\n autoSelectionEffect()\n\n return () => {\n // Cleanup debounced function\n debouncedAutoSelection.cancel?.()\n\n // Reset processing flag\n isProcessingAutoSelectionRef.current = false\n }\n }, [autoSelectionEffect, debouncedAutoSelection])\n\n const selectAllOption = {\n label: i18n.t('core.select.selectAll'),\n id: 'selectAll',\n [isOptSelectAllSymbol]: true,\n }\n\n const allOptionsWithSelectAll = React.useMemo(() => {\n if (!selectAllEnabled || !multiple) {\n return options\n }\n return [selectAllOption, ...options]\n }, [selectAllEnabled, multiple, selectAllOption, options])\n\n const [draggableOptions, setDraggableOptions] = React.useState<\n SuperSelectOption[]\n >([])\n\n React.useEffect(\n () => {\n if (!draggable) {\n return\n }\n // make a copy of source options to prevent the mutation when sorting\n const opts = groupAndSortAlgorithm(\n sourceOptions.map((opt) => ({\n ...opt,\n [draggableOptionIdSymbol]: ulid(),\n }))\n )\n setDraggableOptions(opts)\n },\n // in draggable mode, sourceOptions must be memoized, othewise reorder will not work\n [draggable, sourceOptions, groupAndSortAlgorithm]\n )\n\n const queriedDraggableOptions = React.useMemo(\n () => {\n if (!draggable) {\n return []\n }\n\n const queried = searchValue\n ? removeEmptyOptGroups(\n draggableOptions.filter((opt) => {\n if (!getOptionIsOptgroup(opt)) {\n return stringContains(getOptionLabel(opt), searchValue)\n }\n return true\n })\n )\n : draggableOptions\n\n return queried.map(formatBatchOption)\n },\n // skip `getOptionLabel`, refer to TODO #memogetters\n [draggable, draggableOptions, searchValue, formatBatchOption]\n )\n\n // Group indices calculation - needs allOptionsWithSelectAll because:\n // When SelectAll is enabled, it becomes the first item (index 0) and shifts all other indices by 1.\n // Group headers need their correct absolute positions in the combined list for navigation to work.\n const groupIndices = React.useMemo(() => {\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.reduce((acc, opt, i) => {\n if (getOptionIsOptgroup(opt)) {\n acc.push(i)\n }\n return acc\n }, [] as number[])\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options])\n\n // Selected index calculation - needs allOptionsWithSelectAll because:\n // The selectedIndex must reference the absolute position in the combined list for keyboard navigation.\n // When SelectAll is at index 0, the first regular option becomes index 1, affecting selection highlighting.\n const selectedIndex = React.useMemo(() => {\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.findIndex(\n (option) => isSelectableOption(option) && getOptionValue(option) === value\n )\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value])\n\n // Selected option lookup - needs allOptionsWithSelectAll because:\n // The selectedOption lookup must search the complete list including SelectAll to find matches.\n // This ensures proper option detection regardless of whether SelectAll or regular options are selected.\n const selectedOption = React.useMemo(() => {\n const val = Array.isArray(value) ? value[0] : value\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n return baseOptions.find((option) => getOptionValue(option) === val)\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options, value])\n\n const selectedLabel = React.useMemo(() => {\n return selectedOption ? getOptionLabel(selectedOption) : ''\n }, [selectedOption])\n\n function isSelectableOption(o: SuperSelectOption) {\n return !getOptionIsOptgroup(o) && !getOptionIsDisabled(o)\n }\n\n function getFirstSelectableOptionIndex() {\n // When Select All is enabled in multiple mode, it's always at index 0 and is selectable\n if (selectAllEnabled && multiple) {\n return 0\n }\n\n const baseOptions = options\n return (\n baseOptions.findIndex(isSelectableOption) +\n (selectAllEnabled && multiple ? 1 : 0)\n )\n }\n\n // Helper functions for onSelect optimization\n /**\n * Handles the toggle behavior for the Select All option.\n *\n * Behavior:\n * - If all options are selected: deselects all and deactivates Select All\n * - If not all options are selected: selects all and activates Select All\n *\n * Performance optimizations:\n * - Uses Set for efficient value deduplication\n * - Leverages existing option checking logic\n * - Calls optional onSelectAll callback for external handling\n */\n const handleSelectAllToggle = React.useCallback(() => {\n const getIsSelected = getOptionIsSelected ?? defaultGetOptionIsSelected\n const allSelected = selectableOptions.every((opt) => getIsSelected(opt))\n\n if (onSelectAll) {\n onSelectAll(selectableOptions)\n }\n\n if (allSelected) {\n setIsSelectAllActive(false)\n setValue([])\n } else {\n setIsSelectAllActive(true)\n // Ensure we're working with an array for multiple selection\n const currentValue = Array.isArray(value) ? value : []\n const valueSet = new Set(currentValue)\n selectableOptions.forEach((opt) => {\n getOptionValuesFlat(opt).forEach((val) => valueSet.add(val))\n })\n setValue(Array.from(valueSet))\n }\n }, [\n getOptionIsSelected,\n selectableOptions,\n onSelectAll,\n setIsSelectAllActive,\n setValue,\n value,\n getOptionValuesFlat,\n ])\n\n /**\n * Determines if Select All should be activated based on the new value.\n * Select All activates when all selectable options become selected,\n * but only if it wasn't already active (prevents unnecessary state changes).\n *\n * @param newValue - The new array of selected values to evaluate\n * @returns true if Select All should be activated, false otherwise\n */\n const shouldActivateSelectAll = React.useCallback(\n (newValue: SuperSelectValuePrimitive[]) => {\n return (\n !isSelectAllActive &&\n selectAllEnabled &&\n newValue.length >= selectableOptions.length &&\n checkIfAllSelectableOptionsSelected(newValue, selectableOptions)\n )\n },\n [\n isSelectAllActive,\n selectAllEnabled,\n selectableOptions,\n checkIfAllSelectableOptionsSelected,\n ]\n )\n\n /**\n * Handles selection of batch options (options with multiple values).\n * Adds all values from the batch option to the current selection\n * and activates Select All if all options become selected.\n *\n * @param optionValue - Array of primitive values from the batch option\n */\n const handleBatchOptionSelection = React.useCallback(\n (optionValue: SuperSelectValuePrimitive[]) => {\n // Ensure we're working with an array for multiple selection\n const currentValue = Array.isArray(value) ? value : []\n const newValueSet = new Set([...currentValue, ...optionValue])\n const newValue = Array.from(newValueSet)\n setValue(newValue)\n\n if (shouldActivateSelectAll(newValue)) {\n setIsSelectAllActive(true)\n }\n },\n [value, setValue, shouldActivateSelectAll, setIsSelectAllActive]\n )\n\n /**\n * Handles selection/deselection of individual options in multiple mode.\n *\n * Behavior:\n * - If option is selected: removes it and deactivates Select All\n * - If option is not selected: adds it and activates Select All if all options become selected\n *\n * @param optionValue - The primitive value of the option to toggle\n */\n const handleSingleOptionSelection = React.useCallback(\n (optionValue: SuperSelectValuePrimitive) => {\n // Ensure we're working with an array for multiple selection\n if (!Array.isArray(value)) {\n return\n }\n\n const valueIndex = value.indexOf(optionValue)\n\n if (valueIndex >= 0) {\n // Remove value\n const newValue = value.filter((_, i) => i !== valueIndex)\n setValue(newValue)\n\n if (isSelectAllActive) {\n setIsSelectAllActive(false)\n }\n } else {\n // Add value\n const newValue = [...value, optionValue]\n setValue(newValue)\n\n if (shouldActivateSelectAll(newValue)) {\n setIsSelectAllActive(true)\n }\n }\n },\n [\n value,\n setValue,\n isSelectAllActive,\n setIsSelectAllActive,\n shouldActivateSelectAll,\n ]\n )\n\n const onSelect = React.useCallback(\n (option: SuperSelectOption) => {\n if (getOptionIsDisabled(option)) {\n return\n }\n\n const optionValue = getOptionValue(option)\n const isSelectAll = getOptionIsOptSelectAll(option)\n\n if (isMultiple(multiple, value)) {\n if (isSelectAll) {\n handleSelectAllToggle()\n } else if (Array.isArray(optionValue)) {\n handleBatchOptionSelection(optionValue)\n } else {\n handleSingleOptionSelection(optionValue)\n }\n } else {\n setValue(optionValue)\n }\n },\n [\n getOptionIsDisabled,\n getOptionValue,\n getOptionIsOptSelectAll,\n multiple,\n value,\n handleSelectAllToggle,\n handleBatchOptionSelection,\n handleSingleOptionSelection,\n setValue,\n ]\n )\n\n function onKeyboardSelect() {\n if (activeMenuIndex !== null) {\n // Select All must be included in the list for keyboard navigation to work properly.\n // The activeMenuIndex corresponds to positions in the complete navigation list including SelectAll.\n const baseOptions =\n selectAllEnabled && multiple ? allOptionsWithSelectAll : options\n const option = baseOptions[activeMenuIndex]\n\n if (option) {\n onSelect(option)\n }\n }\n }\n\n function defaultGetOptionIsSelected(option: SuperSelectOption) {\n if (Array.isArray(value)) {\n const optionValues = getOptionValue(option)\n\n if (Array.isArray(optionValues)) {\n return optionValues.every((v) => value.includes(v))\n }\n\n return value.includes(optionValues)\n }\n\n return value === getOptionValue(option)\n }\n\n function defaultGetOptionIsPartiallySelected(option: SuperSelectOption) {\n if (selectionStyle !== 'checkbox') {\n return false\n }\n\n if (Array.isArray(value)) {\n const optionValues = getOptionValue(option)\n\n if (Array.isArray(optionValues)) {\n return (\n optionValues.some((v) => value.includes(v)) &&\n !optionValues.every((v) => value.includes(v))\n )\n }\n }\n\n return false\n }\n\n function defaultGetOptionIsSelectAllPartiallySelected(\n options: SuperSelectOption[],\n isSelected: (option: SuperSelectOption) => boolean,\n isPartiallySelected: (option: SuperSelectOption) => boolean\n ) {\n if (selectionStyle !== 'checkbox' && !Array.isArray(value)) {\n return false\n }\n\n return (\n options.some(\n (option) => isSelected(option) || isPartiallySelected(option)\n ) && !options.every((option) => isSelected(option))\n )\n }\n\n function defaultGetOptionIsSelectAllSelected(\n options: SuperSelectOption[],\n isSelected: (option: SuperSelectOption) => boolean\n ) {\n if (!multiple) {\n return false\n }\n\n return options.every((option) => isSelected(option))\n }\n\n function isEmpty() {\n return Array.isArray(value) ? value.length === 0 : value === null\n }\n\n const boundWidthRef = React.useRef(open)\n\n React.useEffect(() => {\n boundWidthRef.current = open\n }, [open])\n\n const floating = useFloating<HTMLElement>({\n open,\n onOpenChange: (open) => {\n setOpen(open)\n onOpenChange(open)\n },\n whileElementsMounted: (...args) =>\n /* { animationFrame: true } is used to fix ResizeObserver issue with @floating-ui/react */\n autoUpdate(...args, { animationFrame: true }),\n strategy: 'fixed',\n middleware: [\n offset(({ rects }) => {\n return {\n mainAxis: 2,\n crossAxis: overlayMatchesTriggerWidth\n ? 0\n : (rects.floating.width - rects.reference.width) / 2,\n }\n }),\n flip(),\n size({\n apply({ availableHeight, elements }) {\n if (boundWidthRef.current) {\n boundWidthRef.current = false\n setWidth(\n overlayMatchesTriggerWidth\n ? elements.reference.getBoundingClientRect().width\n : extendedSelectMenuWidth\n )\n }\n setMaxHeight(availableHeight)\n },\n padding: 10,\n }),\n ],\n })\n\n const { value: zIndex } = useZIndexContext()\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions(\n [\n useClick(floating.context, {\n enabled: !disabled,\n keyboardHandlers: false,\n }),\n useDismiss(floating.context, {\n enabled: !disabled,\n }),\n useListNavigation(floating.context, {\n activeIndex: activeMenuIndex,\n disabledIndices: groupIndices,\n enabled: !disabled,\n listRef: navigationList,\n loop: true,\n onNavigate: (i) => setActiveMenuIndex(() => i),\n selectedIndex,\n virtual: true,\n }),\n useTokenNavigation(floating.context, {\n activeIndex: activeTokenIndex,\n enabled: !disabled && multiple && searchValue === '',\n onChange: setValue,\n onNavigate: (i) => setActiveTokenIndex(() => i),\n value,\n }),\n useKeyboardSelection(floating.context, {\n enabled: !disabled,\n onSelect: onKeyboardSelect,\n }),\n {\n reference: {\n $block: block,\n $disabled: disabled,\n $error: error,\n $hasClearIcon: !disabled && !loading,\n $loading: loading,\n $multiple: multiple,\n $open: open,\n $placeholder: !selectedLabel,\n 'aria-controls': search ? overlayId : listId,\n 'aria-expanded': open,\n 'aria-haspopup': search ? 'dialog' : 'listbox',\n ...(ariaLabel && { 'aria-label': ariaLabel }),\n onKeyDown() {\n setPointer(false)\n },\n role: 'combobox',\n search,\n tabIndex: disabled ? -1 : tabIndex,\n } as any, // TODO fix type\n floating: {\n role: search ? 'dialog' : 'none',\n id: overlayId,\n onKeyDown() {\n setPointer(false)\n },\n onPointerMove() {\n setPointer(true)\n },\n style: {\n position: floating.strategy,\n left: floating.x || 0,\n top: floating.y || 0,\n width,\n maxHeight,\n zIndex,\n },\n },\n },\n ]\n )\n\n function getLabelProps() {\n return {\n $hoverable: false,\n }\n }\n\n function getMultiInputProps(): React.AriaAttributes &\n React.InputHTMLAttributes<HTMLInputElement> & {\n ref: React.Ref<HTMLInputElement>\n } {\n return {\n ref: searchRef,\n placeholder: isEmpty() ? placeholder : '',\n disabled,\n 'aria-controls': listId,\n onKeyDown(e) {\n if (e.key === 'Tab') {\n if (open) {\n e.preventDefault()\n e.stopPropagation()\n floating.refs.floating.current?.focus()\n }\n }\n },\n onChange(e) {\n setSearchValue(e.currentTarget.value)\n setActiveTokenIndex(null)\n },\n style: {\n opacity: activeTokenIndex === null ? 1 : 0,\n },\n }\n }\n\n function getMultiValueProps(index: number) {\n return {\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n if (isMultiple(multiple, value)) {\n setValue(value.filter((_, i) => i !== index))\n // Deactivate Select All if removing individual tokens while active\n if (isSelectAllActive) {\n setIsSelectAllActive(false)\n }\n }\n },\n }\n }\n\n function getSearchContainerProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setSearchHeight(el?.clientHeight ?? 0)\n },\n }\n }\n\n function getSearchProps() {\n return {\n 'aria-controls': listId,\n onChange(value: string) {\n setSearchValue(value)\n setActiveTokenIndex(null)\n },\n placeholder: i18n.t('core.select.search'),\n }\n }\n\n function getHeaderProps() {\n return {\n ref: (el: HTMLElement | null) => {},\n }\n }\n\n function getFooterProps() {\n return {\n ref: (el: HTMLElement | null) => {\n setFooterHeight(el?.clientHeight ?? 0)\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key !== 'Escape') {\n e.stopPropagation()\n }\n },\n }\n }\n\n function getEmptyMessageProps() {\n return {\n emptyMessage,\n }\n }\n\n function getClearProps() {\n return {\n 'aria-hidden': true,\n 'aria-label': i18n.t('core.select.clear'),\n onClick(e: React.MouseEvent) {\n // prevent the menu from closing\n e.stopPropagation()\n\n setActiveTokenIndex(null)\n setIsSelectAllActive(false) // Reset Select All state when clearing\n setValue(multiple ? [] : null)\n setOpen(true)\n },\n }\n }\n\n function getMenuProps() {\n return {\n scrollable: false,\n style: {\n height: listContainerHeight,\n },\n }\n }\n\n function getVirtuosoProps(): VirtuosoProps<{}, {}> {\n const atBottomStateChange = (atBottom: boolean) => {\n if (atBottom) {\n onScrollBottom()\n }\n }\n\n return {\n role: 'listbox',\n id: search ? overlayId : listId,\n data: draggable ? queriedDraggableOptions : options,\n components: {\n Item: components?.Item as any, // TODO fix type\n },\n initialTopMostItemIndex: selectedIndex >= 0 ? selectedIndex : 0,\n style: {\n flex: '1 1 auto',\n },\n tabIndex: -1,\n totalListHeightChanged: setListHeight,\n atBottomStateChange,\n }\n }\n\n const onDragEnd = React.useCallback((result: SuperSelectResult) => {\n if (!result.destination) {\n return\n }\n if (result.source.index === result.destination.index) {\n return\n }\n\n const startIndex = result.source.index\n const destinationIndex = result.destination.index\n\n setDraggableOptions((options) => {\n const { nextOptions, prevGroup, nextGroup } = reorder(\n options,\n startIndex,\n destinationIndex\n )\n\n const adjustedOptions =\n prevGroup !== nextGroup\n ? nextOptions.map((option, index) => {\n if (index === destinationIndex) {\n return setOptionGroup(option, nextGroup)\n }\n return option\n })\n : nextOptions\n\n if (typeof onManualSort === 'function') {\n setTimeout(() => {\n onManualSort(\n adjustedOptions.filter((option) => !getOptionIsOptgroup(option))\n )\n }, 0)\n }\n\n return adjustedOptions\n })\n }, [])\n\n // run effect when the `open` state changes\n //\n // if it was closed and is now open, reset the highlighted index to be\n // the first selectable option\n //\n // if it was open and is now closed, reset the search value and focused token index\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() =>\n selectedIndex >= 0 ? selectedIndex : getFirstSelectableOptionIndex()\n )\n } else {\n setSearchValue(() => '')\n setActiveTokenIndex(() => null)\n }\n }, [open])\n\n // run the effect when user enters a serach value\n //\n // if the select is currently open then reset highlighted item to be the first\n // selectable option\n React.useEffect(() => {\n if (open) {\n setActiveMenuIndex(() => getFirstSelectableOptionIndex())\n }\n }, [searchValue])\n\n // when we change the value then close the overlay, but only if we have\n // actually selected a value\n //\n // multiple mode forces the overlay to stay open\n React.useEffect(() => {\n if (!multiple && value !== null) {\n setOpen(() => false)\n }\n }, [value])\n\n // recreate the array to hold dom refs when our options change\n React.useEffect(() => {\n // Adjust length to include Select All option if enabled, without this the navigation\n // would not work correctly when Select All is enabled\n const totalLength =\n selectAllEnabled && multiple\n ? allOptionsWithSelectAll.length\n : options.length\n navigationList.current = [...Array(totalLength).fill(null)]\n }, [selectAllEnabled, multiple, allOptionsWithSelectAll, options])\n\n // scroll virtuoso list activeMenuIndex into view when the index changes\n React.useLayoutEffect(() => {\n if (activeMenuIndex !== null) {\n if (!pointer) {\n // Adjust index for virtuoso if Select All is enabled (since Select All is rendered separately)\n // Without this the navigation would not work correctly when Select All is enabled\n const virtuosoIndex =\n selectAllEnabled && multiple && activeMenuIndex > 0\n ? activeMenuIndex + 1\n : activeMenuIndex\n\n if (virtuosoIndex >= 0) {\n virtuoso.current?.scrollIntoView({ index: virtuosoIndex })\n }\n }\n }\n }, [activeMenuIndex, open, selectAllEnabled, multiple])\n\n return {\n config: {\n block,\n disabled,\n draggable,\n emptyMessage,\n error,\n footer,\n header,\n placeholder,\n preset,\n presetProps,\n selectionStyle,\n tabIndex,\n loading,\n multiple,\n selectAllEnabled,\n },\n components,\n state: {\n activeMenuIndex,\n activeTokenIndex,\n isEmpty,\n listContainerHeight,\n listId,\n maxHeight,\n onDragEnd,\n onSelect,\n onSelectAll,\n open,\n options: draggable ? queriedDraggableOptions : options,\n overlayId,\n searchValue,\n selectAllOption,\n selectedIndex,\n selectedLabel,\n selectedOption,\n setOpen,\n setPointer,\n setSearchValue: setSearchValue,\n setActiveMenuIndex,\n sourceOptions,\n value,\n width,\n },\n props: {\n clear: getClearProps,\n emptyMessage: getEmptyMessageProps,\n footer: getFooterProps,\n header: getHeaderProps,\n item: getItemProps,\n label: getLabelProps,\n menu: getMenuProps,\n multiInput: getMultiInputProps,\n overlay: getFloatingProps,\n search: getSearchProps,\n searchContainer: getSearchContainerProps,\n tokenClear: getMultiValueProps,\n trigger: getReferenceProps,\n virtuoso: getVirtuosoProps,\n },\n option: {\n group: getOptionGroup,\n isBatch: getOptionIsBatch,\n isPartiallySelected:\n getOptionIsPartiallySelected ?? defaultGetOptionIsPartiallySelected,\n isSelected: getOptionIsSelected ?? defaultGetOptionIsSelected,\n isDisabled: getOptionIsDisabled,\n isOptgroup: getOptionIsOptgroup,\n isOptSelectAll: getOptionIsOptSelectAll,\n label: getOptionLabel,\n value: getOptionValue,\n selectAll: {\n isSelectAllPartiallySelected: (options) =>\n defaultGetOptionIsSelectAllPartiallySelected(\n options,\n getOptionIsSelected ?? defaultGetOptionIsSelected,\n getOptionIsPartiallySelected ?? defaultGetOptionIsPartiallySelected\n ),\n isSelectAllSelected: (options) =>\n defaultGetOptionIsSelectAllSelected(\n options,\n getOptionIsSelected ?? defaultGetOptionIsSelected\n ),\n },\n },\n refs: {\n floating,\n navigationList,\n virtuoso,\n },\n }\n}\n\nexport const SuperSelectContext = React.createContext<SuperSelectApi | null>(\n null\n)\n\nexport function useSuperSelectContext(): SuperSelectApi {\n const ctx = React.useContext(SuperSelectContext)\n\n if (!ctx) {\n throw new Error('Invalid SuperSelectContext')\n }\n\n return ctx as SuperSelectApi\n}\n"],"mappings":"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"}
|
|
@@ -8,19 +8,19 @@ var trackWidth = 36;
|
|
|
8
8
|
var toggleSize = 16;
|
|
9
9
|
export var StyledTrack = /*#__PURE__*/styled.div.withConfig({
|
|
10
10
|
displayName: "StyledTrack",
|
|
11
|
-
componentId: "core-
|
|
11
|
+
componentId: "core-12_30_0__sc-mwn4kg-0"
|
|
12
12
|
})(["background-color:", ";border-radius:", "px;height:", "px;width:", "px;position:relative;transition:0.2s;"], colors.gray70, trackHeight, trackHeight, trackWidth);
|
|
13
13
|
export var StyledToggle = /*#__PURE__*/styled.span.withConfig({
|
|
14
14
|
displayName: "StyledToggle",
|
|
15
|
-
componentId: "core-
|
|
15
|
+
componentId: "core-12_30_0__sc-mwn4kg-1"
|
|
16
16
|
})(["background-color:", ";border-radius:50%;bottom:2px;height:", "px;left:2px;position:absolute;transition:all 0.2s;width:", "px;"], colors.white, toggleSize, toggleSize);
|
|
17
17
|
export var StyledSwitchLabel = /*#__PURE__*/styled.span.withConfig({
|
|
18
18
|
displayName: "StyledSwitchLabel",
|
|
19
|
-
componentId: "core-
|
|
19
|
+
componentId: "core-12_30_0__sc-mwn4kg-2"
|
|
20
20
|
})(["", " padding-left:", "px;user-select:none;"], getTypographyIntent('body'), spacing.md);
|
|
21
21
|
export var StyledSwitchContainer = /*#__PURE__*/styled.label.withConfig({
|
|
22
22
|
displayName: "StyledSwitchContainer",
|
|
23
|
-
componentId: "core-
|
|
23
|
+
componentId: "core-12_30_0__sc-mwn4kg-3"
|
|
24
24
|
})(["cursor:pointer;display:grid;grid-template-columns:", "px 1fr;position:relative;& + &{margin-top:", "px;}", " ", " ", ""], trackWidth, spacing.md, function (_ref) {
|
|
25
25
|
var $checked = _ref.$checked;
|
|
26
26
|
return $checked && css(["", "{background-color:", ";", "{transform:translateX(", "px);}}"], StyledTrack, colors.blue50, StyledToggle, spacing.lg);
|