@activecollab/components 2.0.320 → 2.0.322
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Autocomplete/Autocomplete.js +7 -1
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +5 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -90,7 +90,7 @@ var reconcileOrder = function reconcileOrder(prev, next, frozen, isChecked) {
|
|
|
90
90
|
var Autocomplete = exports.Autocomplete = function Autocomplete(_ref) {
|
|
91
91
|
var type = _ref.type,
|
|
92
92
|
_ref$options = _ref.options,
|
|
93
|
-
|
|
93
|
+
optionsProp = _ref$options === void 0 ? [] : _ref$options,
|
|
94
94
|
inputEl = _ref.inputEl,
|
|
95
95
|
_ref$selected = _ref.selected,
|
|
96
96
|
selected = _ref$selected === void 0 ? [] : _ref$selected,
|
|
@@ -121,6 +121,12 @@ var Autocomplete = exports.Autocomplete = function Autocomplete(_ref) {
|
|
|
121
121
|
disableVirtualization = _ref.disableVirtualization;
|
|
122
122
|
var listContainerRef = (0, _react.useRef)(null);
|
|
123
123
|
var itemRef = (0, _react.useRef)(null);
|
|
124
|
+
|
|
125
|
+
// Tolerate sparse/holey option arrays (some callers build them via index
|
|
126
|
+
// assignment): drop holes and nullish entries so sorting never hits undefined.
|
|
127
|
+
var options = (0, _react.useMemo)(function () {
|
|
128
|
+
return optionsProp.filter(Boolean);
|
|
129
|
+
}, [optionsProp]);
|
|
124
130
|
var selectedOptions = (0, _react.useMemo)(function () {
|
|
125
131
|
if (Array.isArray(selected)) {
|
|
126
132
|
return selected;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactVirtual","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","isOptionGroup","item","options","undefined","collectLeafIds","opts","reduce","acc","opt","map","id","insertAmongSameState","list","isChecked","checked","index","findIndex","localeCompare","reconcileFlat","prev","frozen","nextById","Map","base","toPlace","reconcileOrder","every","prevGroupById","group","_prevGroupById$get$op","_prevGroupById$get","Autocomplete","exports","_ref","type","_ref$options","inputEl","_ref$selected","selected","emptyValue","noResultText","_ref$renderOption","renderOption","option","defaultValue","_ref$sortDirection","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","_ref$keepSameOptionsO","keepSameOptionsOrder","_ref$autoHeightMax","autoHeightMax","clearInputOnSelect","_ref$mixedOptions","mixedOptions","filterCriteria","disableVirtualization","listContainerRef","useRef","itemRef","selectedOptions","useMemo","frozenRef","Set","handleSort","useCallback","_opts$","isGrouped","sortOptions","b","aSelected","includes","bSelected","aMixed","bMixed","sort","sortList","_options$","alphaSort","sortedOptions","_useState","useState","_useState2","sortedList","setSortedList","isInitialSortRef","selectedKey","join","useEffect","current","nextFrozen","add","_useState3","by","_useState4","hover","setHover","_useState5","_useState6","setFilter","handleEmpty","button","_inputEl$current","focus","onAddNewMouseEnter","showAddNew","trim","v","toLowerCase","filterOptions","trimmedFilter","matchesFilter","hidden","nameMatch","hovered","groupedOption","filteredOptions","showDefaultOption","flatOptions","showNoResultCondition","virtualItems","items","shouldUseVirtualization","rowVirtualizer","useVirtualizer","count","getScrollElement","estimateSize","overscan","gap","handleInputChange","target","key","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","createElement","OptionGroup","tooltip","renderOptions","onChange","Option","ref","onMouseEnter","onClick","className","highlightText","concat","handleOnMouseLeave","scrollToIndex","align","handleOnKeyDown","handleKeyboardMovement","listenerTarget","addEventListener","removeEventListener","isDefaultOptionSelected","renderVirtualItem","virtualItem","_StyledStyledOption","StyledAutocompleteNewItem","onMouseDown","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","style","height","Math","min","getTotalSize","overflow","width","position","getVirtualItems","virtualRow","top","left","transform","start","Fragment","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n type FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n type ReactNode,\n type ReactElement,\n type MutableRefObject,\n} from \"react\";\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { type IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { type IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nconst collectLeafIds = (\n opts: (IOptionGroupProps | IOptionItemProps)[]\n): (string | number)[] =>\n opts.reduce<(string | number)[]>(\n (acc, opt) =>\n isOptionGroup(opt)\n ? [...acc, ...opt.options.map((o) => o.id)]\n : [...acc, opt.id],\n []\n );\n\n// Inserts an option at its alphabetical position among the options that share\n// its checked state (checked items live at the top, so a checked option lands\n// among the checked ones, sorted).\nconst insertAmongSameState = (\n list: IOptionItemProps[],\n item: IOptionItemProps,\n isChecked: (id: string | number) => boolean\n): IOptionItemProps[] => {\n const checked = isChecked(item.id);\n let index = list.findIndex(\n (o) => isChecked(o.id) === checked && o.name.localeCompare(item.name) > 0\n );\n if (index === -1) {\n index = checked\n ? list.reduce((acc, o, i) => (isChecked(o.id) ? i + 1 : acc), 0)\n : list.length;\n }\n return [...list.slice(0, index), item, ...list.slice(index)];\n};\n\n// Frozen options keep their order (checking/unchecking never moves them).\n// Options that aren't frozen yet are slotted in among the checked items,\n// alphabetically — that's how a freshly added option finds its place.\nconst reconcileFlat = (\n prev: IOptionItemProps[],\n next: IOptionItemProps[],\n frozen: Set<string | number>,\n isChecked: (id: string | number) => boolean\n): IOptionItemProps[] => {\n const nextById = new Map(next.map((o) => [o.id, o]));\n const base = prev\n .filter((o) => frozen.has(o.id) && nextById.has(o.id))\n .map((o) => nextById.get(o.id) as IOptionItemProps);\n const toPlace = next.filter((o) => !frozen.has(o.id));\n\n return toPlace.reduce(\n (acc, item) => insertAmongSameState(acc, item, isChecked),\n base\n );\n};\n\nconst reconcileOrder = (\n prev: (IOptionGroupProps | IOptionItemProps)[],\n next: (IOptionGroupProps | IOptionItemProps)[],\n frozen: Set<string | number>,\n isChecked: (id: string | number) => boolean\n): (IOptionGroupProps | IOptionItemProps)[] => {\n if (!next.every(isOptionGroup) || !prev.every(isOptionGroup)) {\n return reconcileFlat(\n prev as IOptionItemProps[],\n next as IOptionItemProps[],\n frozen,\n isChecked\n );\n }\n\n const prevGroupById = new Map(prev.map((group) => [group.id, group]));\n\n return next.map((group) => ({\n ...group,\n options: reconcileFlat(\n prevGroupById.get(group.id)?.options ?? [],\n group.options,\n frozen,\n isChecked\n ),\n }));\n};\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Mixed options values */\n mixedOptions?: (string | number)[];\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n /** Custom filter function for additional filtering criteria */\n filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;\n disableVirtualization?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\ninterface VirtualItem {\n type: \"default\" | \"option\" | \"group\" | \"addNew\" | \"noResult\";\n id: string | number;\n item?: IOptionItemProps | IOptionGroupProps;\n index?: number;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n mixedOptions = [],\n filterCriteria,\n disableVirtualization,\n}) => {\n const listContainerRef = useRef<HTMLDivElement>(null);\n const itemRef = useRef<HTMLLIElement>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n // Ids whose position is fixed. Starts with everything present on open; a\n // freshly added option joins this set once it becomes checked, so unchecking\n // it later won't move it. Everything frozen keeps its order on every re-sort.\n const frozenRef = useRef(new Set(collectLeafIds(options)));\n\n const handleSort = useCallback(\n (opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n const sortOptions = (a, b) => {\n const aSelected = selectedOptions.includes(a.id);\n const bSelected = selectedOptions.includes(b.id);\n const aMixed = mixedOptions.includes(a.id);\n const bMixed = mixedOptions.includes(b.id);\n\n if (aSelected && !bSelected) {\n return -1;\n }\n if (!aSelected && bSelected) {\n return 1;\n }\n if (aMixed && !bMixed) {\n return -1;\n }\n if (!aMixed && bMixed) {\n return 1;\n }\n return 0;\n };\n\n if (isGrouped) {\n return opts.map((group) => ({\n ...group,\n options: [...group.options].sort(sortOptions),\n }));\n } else {\n return [...opts].sort(sortOptions);\n }\n },\n [keepSameOptionsOrder, selectedOptions, mixedOptions]\n );\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort(options);\n }\n\n const alphaSort = (a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name);\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => ({\n ...group,\n options: handleSort([...group.options].sort(alphaSort)),\n }));\n\n return handleSort(sortedOptions);\n } else {\n return handleSort([...options].sort(alphaSort));\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const [sortedList, setSortedList] = useState(() => sortList(options));\n\n // The order is established on open. Options present then keep their place for\n // the whole session — checking/unchecking never reorders them. Options added\n // afterwards are slotted in among the checked items, alphabetically. The\n // selection key is a primitive so a fresh `selected = []` default can't loop.\n const isInitialSortRef = useRef(true);\n const selectedKey = selectedOptions.join(\",\");\n\n useEffect(() => {\n if (isInitialSortRef.current) {\n isInitialSortRef.current = false;\n return;\n }\n\n if (keepSameOptionsOrder) {\n setSortedList(sortList(options));\n return;\n }\n\n if (sortedList.length === 0) {\n frozenRef.current = new Set(collectLeafIds(options));\n setSortedList(sortList(options));\n return;\n }\n\n const isChecked = (id: string | number) => selectedOptions.includes(id);\n const frozen = frozenRef.current;\n\n const nextFrozen = new Set(frozen);\n collectLeafIds(options).forEach((id) => {\n if (!frozen.has(id) && isChecked(id)) {\n nextFrozen.add(id);\n }\n });\n frozenRef.current = nextFrozen;\n\n setSortedList(reconcileOrder(sortedList, options, frozen, isChecked));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, selectedKey]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n\n const matchesFilter = (option: IOptionItemProps) => {\n if (option.hidden) {\n return false;\n }\n\n const nameMatch = option.name\n .toLowerCase()\n .includes(trimmedFilter.toLowerCase());\n\n if (filterCriteria && trimmedFilter) {\n return nameMatch || filterCriteria(option, trimmedFilter);\n }\n\n return nameMatch;\n };\n\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter(matchesFilter);\n\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter(matchesFilter);\n\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue, filterCriteria]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const showNoResultCondition = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const virtualItems = useMemo(() => {\n const items: VirtualItem[] = [];\n\n if (showDefaultOption) {\n items.push({\n type: \"default\",\n id: \"default\",\n });\n }\n\n list.forEach((item, index) => {\n if (isOptionGroup(item)) {\n items.push({\n type: \"group\",\n id: item.id,\n item,\n });\n\n item.options.forEach((option) => {\n items.push({\n type: \"option\",\n id: option.id,\n item: option,\n index,\n });\n });\n } else {\n items.push({\n type: \"option\",\n id: item.id,\n item,\n index,\n });\n }\n });\n\n if (showNoResultCondition) {\n items.push({\n type: \"noResult\",\n id: \"noResult\",\n });\n }\n\n if (showAddNew) {\n items.push({\n type: \"addNew\",\n id: \"addNew\",\n });\n }\n\n return items;\n }, [list, showDefaultOption, showNoResultCondition, showAddNew]);\n\n const shouldUseVirtualization =\n !disableVirtualization && virtualItems.length > 40;\n\n const rowVirtualizer = useVirtualizer({\n count: virtualItems.length,\n getScrollElement: () => listContainerRef.current,\n estimateSize: () => 28,\n overscan: 5,\n gap: 4,\n });\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n tooltip={item.tooltip}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={hover.item === item.id ? itemRef : null}\n key={index}\n tooltip={item.tooltip}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n mixedOptions,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const index = virtualItems.findIndex((item) => item.id === hover.item);\n if (index !== -1) {\n rowVirtualizer.scrollToIndex(index, { align: \"center\" });\n }\n }\n }, [hover, rowVirtualizer, virtualItems]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const listenerTarget = inputEl?.current;\n if (!listenerTarget) return;\n\n listenerTarget.addEventListener(\"input\", handleInputChange);\n listenerTarget.addEventListener(\"keydown\", handleOnKeyDown);\n return () => {\n listenerTarget.removeEventListener(\"input\", handleInputChange);\n listenerTarget.removeEventListener(\"keydown\", handleOnKeyDown);\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const renderVirtualItem = useCallback(\n (virtualItem: VirtualItem, index: number) => {\n switch (virtualItem.type) {\n case \"default\":\n return (\n <Option\n name={String(defaultValue)}\n ref={hover.item === null ? itemRef : null}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n );\n\n case \"group\":\n if (!virtualItem.item || !isOptionGroup(virtualItem.item))\n return null;\n return (\n <OptionGroup\n checked={selectedOptions}\n name={virtualItem.item.name}\n tooltip={virtualItem.item.tooltip}\n key={virtualItem.item.id}\n setHover={handleHoverCallback}\n id={virtualItem.item.id}\n hover={hover.item}\n options={virtualItem.item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n\n case \"option\":\n if (!virtualItem.item || isOptionGroup(virtualItem.item)) return null;\n return (\n <Option\n name={(virtualItem.item as IOptionItemProps).name}\n ref={hover.item === virtualItem.id ? itemRef : null}\n key={index}\n tooltip={(virtualItem.item as IOptionItemProps).tooltip}\n onMouseEnter={() => handleMouseEnter(virtualItem.id)}\n onClick={handleClick}\n id={virtualItem.id}\n hover={virtualItem.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n {\n ...(virtualItem.item as IOptionItemProps),\n name: highlightText(\n (virtualItem.item as IOptionItemProps).name,\n filter\n ),\n },\n {\n id: `option_${virtualItem.id}`,\n checked:\n selectedOptions && selectedOptions.includes(virtualItem.id),\n hover: hover.item === virtualItem.id,\n onChange: () => null,\n }\n )}\n />\n );\n\n case \"noResult\":\n return <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>;\n\n case \"addNew\":\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n\n default:\n return null;\n }\n },\n [\n defaultValue,\n hover.item,\n handleMouseEnter,\n renderOption,\n isDefaultOptionSelected,\n selectedOptions,\n handleHoverCallback,\n handleRenderOption,\n type,\n handleChange,\n filter,\n mixedOptions,\n handleClick,\n optionClassName,\n noResultText,\n handleEmpty,\n onAddNewMouseEnter,\n emptyValue,\n toggleSelected,\n ]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <div\n ref={listContainerRef}\n style={{\n height: `${Math.min(\n rowVirtualizer.getTotalSize() + 12,\n autoHeightMax\n )}px`,\n overflow: \"auto\",\n }}\n onScroll={(e) => {\n if (onScroll) onScroll(e);\n }}\n >\n <div\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {shouldUseVirtualization\n ? rowVirtualizer.getVirtualItems().map((virtualRow) => {\n const item = virtualItems[virtualRow.index];\n return (\n <div\n key={virtualRow.index}\n data-index={virtualRow.index}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n {renderVirtualItem(item, virtualRow.index)}\n </div>\n );\n })\n : virtualItems.map((item, index) => (\n <React.Fragment key={index}>\n {renderVirtualItem(item, index)}\n </React.Fragment>\n ))}\n </div>\n </div>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactVirtual","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","isOptionGroup","item","options","undefined","collectLeafIds","opts","reduce","acc","opt","map","id","insertAmongSameState","list","isChecked","checked","index","findIndex","localeCompare","reconcileFlat","prev","frozen","nextById","Map","base","toPlace","reconcileOrder","every","prevGroupById","group","_prevGroupById$get$op","_prevGroupById$get","Autocomplete","exports","_ref","type","_ref$options","optionsProp","inputEl","_ref$selected","selected","emptyValue","noResultText","_ref$renderOption","renderOption","option","defaultValue","_ref$sortDirection","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","_ref$keepSameOptionsO","keepSameOptionsOrder","_ref$autoHeightMax","autoHeightMax","clearInputOnSelect","_ref$mixedOptions","mixedOptions","filterCriteria","disableVirtualization","listContainerRef","useRef","itemRef","useMemo","Boolean","selectedOptions","frozenRef","Set","handleSort","useCallback","_opts$","isGrouped","sortOptions","b","aSelected","includes","bSelected","aMixed","bMixed","sort","sortList","_options$","alphaSort","sortedOptions","_useState","useState","_useState2","sortedList","setSortedList","isInitialSortRef","selectedKey","join","useEffect","current","nextFrozen","add","_useState3","by","_useState4","hover","setHover","_useState5","_useState6","setFilter","handleEmpty","button","_inputEl$current","focus","onAddNewMouseEnter","showAddNew","trim","v","toLowerCase","filterOptions","trimmedFilter","matchesFilter","hidden","nameMatch","hovered","groupedOption","filteredOptions","showDefaultOption","flatOptions","showNoResultCondition","virtualItems","items","shouldUseVirtualization","rowVirtualizer","useVirtualizer","count","getScrollElement","estimateSize","overscan","gap","handleInputChange","target","key","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","createElement","OptionGroup","tooltip","renderOptions","onChange","Option","ref","onMouseEnter","onClick","className","highlightText","concat","handleOnMouseLeave","scrollToIndex","align","handleOnKeyDown","handleKeyboardMovement","listenerTarget","addEventListener","removeEventListener","isDefaultOptionSelected","renderVirtualItem","virtualItem","_StyledStyledOption","StyledAutocompleteNewItem","onMouseDown","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","style","height","Math","min","getTotalSize","overflow","width","position","getVirtualItems","virtualRow","top","left","transform","start","Fragment","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n type FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n type ReactNode,\n type ReactElement,\n type MutableRefObject,\n} from \"react\";\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { type IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { type IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nconst collectLeafIds = (\n opts: (IOptionGroupProps | IOptionItemProps)[]\n): (string | number)[] =>\n opts.reduce<(string | number)[]>(\n (acc, opt) =>\n isOptionGroup(opt)\n ? [...acc, ...opt.options.map((o) => o.id)]\n : [...acc, opt.id],\n []\n );\n\n// Inserts an option at its alphabetical position among the options that share\n// its checked state (checked items live at the top, so a checked option lands\n// among the checked ones, sorted).\nconst insertAmongSameState = (\n list: IOptionItemProps[],\n item: IOptionItemProps,\n isChecked: (id: string | number) => boolean\n): IOptionItemProps[] => {\n const checked = isChecked(item.id);\n let index = list.findIndex(\n (o) => isChecked(o.id) === checked && o.name.localeCompare(item.name) > 0\n );\n if (index === -1) {\n index = checked\n ? list.reduce((acc, o, i) => (isChecked(o.id) ? i + 1 : acc), 0)\n : list.length;\n }\n return [...list.slice(0, index), item, ...list.slice(index)];\n};\n\n// Frozen options keep their order (checking/unchecking never moves them).\n// Options that aren't frozen yet are slotted in among the checked items,\n// alphabetically — that's how a freshly added option finds its place.\nconst reconcileFlat = (\n prev: IOptionItemProps[],\n next: IOptionItemProps[],\n frozen: Set<string | number>,\n isChecked: (id: string | number) => boolean\n): IOptionItemProps[] => {\n const nextById = new Map(next.map((o) => [o.id, o]));\n const base = prev\n .filter((o) => frozen.has(o.id) && nextById.has(o.id))\n .map((o) => nextById.get(o.id) as IOptionItemProps);\n const toPlace = next.filter((o) => !frozen.has(o.id));\n\n return toPlace.reduce(\n (acc, item) => insertAmongSameState(acc, item, isChecked),\n base\n );\n};\n\nconst reconcileOrder = (\n prev: (IOptionGroupProps | IOptionItemProps)[],\n next: (IOptionGroupProps | IOptionItemProps)[],\n frozen: Set<string | number>,\n isChecked: (id: string | number) => boolean\n): (IOptionGroupProps | IOptionItemProps)[] => {\n if (!next.every(isOptionGroup) || !prev.every(isOptionGroup)) {\n return reconcileFlat(\n prev as IOptionItemProps[],\n next as IOptionItemProps[],\n frozen,\n isChecked\n );\n }\n\n const prevGroupById = new Map(prev.map((group) => [group.id, group]));\n\n return next.map((group) => ({\n ...group,\n options: reconcileFlat(\n prevGroupById.get(group.id)?.options ?? [],\n group.options,\n frozen,\n isChecked\n ),\n }));\n};\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Mixed options values */\n mixedOptions?: (string | number)[];\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n /** Custom filter function for additional filtering criteria */\n filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;\n disableVirtualization?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\ninterface VirtualItem {\n type: \"default\" | \"option\" | \"group\" | \"addNew\" | \"noResult\";\n id: string | number;\n item?: IOptionItemProps | IOptionGroupProps;\n index?: number;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options: optionsProp = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n mixedOptions = [],\n filterCriteria,\n disableVirtualization,\n}) => {\n const listContainerRef = useRef<HTMLDivElement>(null);\n const itemRef = useRef<HTMLLIElement>(null);\n\n // Tolerate sparse/holey option arrays (some callers build them via index\n // assignment): drop holes and nullish entries so sorting never hits undefined.\n const options = useMemo(() => optionsProp.filter(Boolean), [optionsProp]);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n // Ids whose position is fixed. Starts with everything present on open; a\n // freshly added option joins this set once it becomes checked, so unchecking\n // it later won't move it. Everything frozen keeps its order on every re-sort.\n const frozenRef = useRef(new Set(collectLeafIds(options)));\n\n const handleSort = useCallback(\n (opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n const sortOptions = (a, b) => {\n const aSelected = selectedOptions.includes(a.id);\n const bSelected = selectedOptions.includes(b.id);\n const aMixed = mixedOptions.includes(a.id);\n const bMixed = mixedOptions.includes(b.id);\n\n if (aSelected && !bSelected) {\n return -1;\n }\n if (!aSelected && bSelected) {\n return 1;\n }\n if (aMixed && !bMixed) {\n return -1;\n }\n if (!aMixed && bMixed) {\n return 1;\n }\n return 0;\n };\n\n if (isGrouped) {\n return opts.map((group) => ({\n ...group,\n options: [...group.options].sort(sortOptions),\n }));\n } else {\n return [...opts].sort(sortOptions);\n }\n },\n [keepSameOptionsOrder, selectedOptions, mixedOptions]\n );\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort(options);\n }\n\n const alphaSort = (a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name);\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => ({\n ...group,\n options: handleSort([...group.options].sort(alphaSort)),\n }));\n\n return handleSort(sortedOptions);\n } else {\n return handleSort([...options].sort(alphaSort));\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const [sortedList, setSortedList] = useState(() => sortList(options));\n\n // The order is established on open. Options present then keep their place for\n // the whole session — checking/unchecking never reorders them. Options added\n // afterwards are slotted in among the checked items, alphabetically. The\n // selection key is a primitive so a fresh `selected = []` default can't loop.\n const isInitialSortRef = useRef(true);\n const selectedKey = selectedOptions.join(\",\");\n\n useEffect(() => {\n if (isInitialSortRef.current) {\n isInitialSortRef.current = false;\n return;\n }\n\n if (keepSameOptionsOrder) {\n setSortedList(sortList(options));\n return;\n }\n\n if (sortedList.length === 0) {\n frozenRef.current = new Set(collectLeafIds(options));\n setSortedList(sortList(options));\n return;\n }\n\n const isChecked = (id: string | number) => selectedOptions.includes(id);\n const frozen = frozenRef.current;\n\n const nextFrozen = new Set(frozen);\n collectLeafIds(options).forEach((id) => {\n if (!frozen.has(id) && isChecked(id)) {\n nextFrozen.add(id);\n }\n });\n frozenRef.current = nextFrozen;\n\n setSortedList(reconcileOrder(sortedList, options, frozen, isChecked));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, selectedKey]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n\n const matchesFilter = (option: IOptionItemProps) => {\n if (option.hidden) {\n return false;\n }\n\n const nameMatch = option.name\n .toLowerCase()\n .includes(trimmedFilter.toLowerCase());\n\n if (filterCriteria && trimmedFilter) {\n return nameMatch || filterCriteria(option, trimmedFilter);\n }\n\n return nameMatch;\n };\n\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter(matchesFilter);\n\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter(matchesFilter);\n\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue, filterCriteria]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const showNoResultCondition = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const virtualItems = useMemo(() => {\n const items: VirtualItem[] = [];\n\n if (showDefaultOption) {\n items.push({\n type: \"default\",\n id: \"default\",\n });\n }\n\n list.forEach((item, index) => {\n if (isOptionGroup(item)) {\n items.push({\n type: \"group\",\n id: item.id,\n item,\n });\n\n item.options.forEach((option) => {\n items.push({\n type: \"option\",\n id: option.id,\n item: option,\n index,\n });\n });\n } else {\n items.push({\n type: \"option\",\n id: item.id,\n item,\n index,\n });\n }\n });\n\n if (showNoResultCondition) {\n items.push({\n type: \"noResult\",\n id: \"noResult\",\n });\n }\n\n if (showAddNew) {\n items.push({\n type: \"addNew\",\n id: \"addNew\",\n });\n }\n\n return items;\n }, [list, showDefaultOption, showNoResultCondition, showAddNew]);\n\n const shouldUseVirtualization =\n !disableVirtualization && virtualItems.length > 40;\n\n const rowVirtualizer = useVirtualizer({\n count: virtualItems.length,\n getScrollElement: () => listContainerRef.current,\n estimateSize: () => 28,\n overscan: 5,\n gap: 4,\n });\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n tooltip={item.tooltip}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={hover.item === item.id ? itemRef : null}\n key={index}\n tooltip={item.tooltip}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n mixedOptions,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const index = virtualItems.findIndex((item) => item.id === hover.item);\n if (index !== -1) {\n rowVirtualizer.scrollToIndex(index, { align: \"center\" });\n }\n }\n }, [hover, rowVirtualizer, virtualItems]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const listenerTarget = inputEl?.current;\n if (!listenerTarget) return;\n\n listenerTarget.addEventListener(\"input\", handleInputChange);\n listenerTarget.addEventListener(\"keydown\", handleOnKeyDown);\n return () => {\n listenerTarget.removeEventListener(\"input\", handleInputChange);\n listenerTarget.removeEventListener(\"keydown\", handleOnKeyDown);\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const renderVirtualItem = useCallback(\n (virtualItem: VirtualItem, index: number) => {\n switch (virtualItem.type) {\n case \"default\":\n return (\n <Option\n name={String(defaultValue)}\n ref={hover.item === null ? itemRef : null}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n );\n\n case \"group\":\n if (!virtualItem.item || !isOptionGroup(virtualItem.item))\n return null;\n return (\n <OptionGroup\n checked={selectedOptions}\n name={virtualItem.item.name}\n tooltip={virtualItem.item.tooltip}\n key={virtualItem.item.id}\n setHover={handleHoverCallback}\n id={virtualItem.item.id}\n hover={hover.item}\n options={virtualItem.item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n\n case \"option\":\n if (!virtualItem.item || isOptionGroup(virtualItem.item)) return null;\n return (\n <Option\n name={(virtualItem.item as IOptionItemProps).name}\n ref={hover.item === virtualItem.id ? itemRef : null}\n key={index}\n tooltip={(virtualItem.item as IOptionItemProps).tooltip}\n onMouseEnter={() => handleMouseEnter(virtualItem.id)}\n onClick={handleClick}\n id={virtualItem.id}\n hover={virtualItem.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n {\n ...(virtualItem.item as IOptionItemProps),\n name: highlightText(\n (virtualItem.item as IOptionItemProps).name,\n filter\n ),\n },\n {\n id: `option_${virtualItem.id}`,\n checked:\n selectedOptions && selectedOptions.includes(virtualItem.id),\n hover: hover.item === virtualItem.id,\n onChange: () => null,\n }\n )}\n />\n );\n\n case \"noResult\":\n return <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>;\n\n case \"addNew\":\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n\n default:\n return null;\n }\n },\n [\n defaultValue,\n hover.item,\n handleMouseEnter,\n renderOption,\n isDefaultOptionSelected,\n selectedOptions,\n handleHoverCallback,\n handleRenderOption,\n type,\n handleChange,\n filter,\n mixedOptions,\n handleClick,\n optionClassName,\n noResultText,\n handleEmpty,\n onAddNewMouseEnter,\n emptyValue,\n toggleSelected,\n ]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <div\n ref={listContainerRef}\n style={{\n height: `${Math.min(\n rowVirtualizer.getTotalSize() + 12,\n autoHeightMax\n )}px`,\n overflow: \"auto\",\n }}\n onScroll={(e) => {\n if (onScroll) onScroll(e);\n }}\n >\n <div\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {shouldUseVirtualization\n ? rowVirtualizer.getVirtualItems().map((virtualRow) => {\n const item = virtualItems[virtualRow.index];\n return (\n <div\n key={virtualRow.index}\n data-index={virtualRow.index}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n {renderVirtualItem(item, virtualRow.index)}\n </div>\n );\n })\n : virtualItems.map((item, index) => (\n <React.Fragment key={index}>\n {renderVirtualItem(item, index)}\n </React.Fragment>\n ))}\n </div>\n </div>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,EAAE,EAMP,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,KAAK,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAE5E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAkFD,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAcD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,EAAE,EAMP,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,KAAK,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAE5E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAkFD,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAcD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA+tB/C,CAAC"}
|
|
@@ -49,7 +49,7 @@ const reconcileOrder = (prev, next, frozen, isChecked) => {
|
|
|
49
49
|
export const Autocomplete = _ref => {
|
|
50
50
|
let type = _ref.type,
|
|
51
51
|
_ref$options = _ref.options,
|
|
52
|
-
|
|
52
|
+
optionsProp = _ref$options === void 0 ? [] : _ref$options,
|
|
53
53
|
inputEl = _ref.inputEl,
|
|
54
54
|
_ref$selected = _ref.selected,
|
|
55
55
|
selected = _ref$selected === void 0 ? [] : _ref$selected,
|
|
@@ -78,6 +78,10 @@ export const Autocomplete = _ref => {
|
|
|
78
78
|
disableVirtualization = _ref.disableVirtualization;
|
|
79
79
|
const listContainerRef = useRef(null);
|
|
80
80
|
const itemRef = useRef(null);
|
|
81
|
+
|
|
82
|
+
// Tolerate sparse/holey option arrays (some callers build them via index
|
|
83
|
+
// assignment): drop holes and nullish entries so sorting never hits undefined.
|
|
84
|
+
const options = useMemo(() => optionsProp.filter(Boolean), [optionsProp]);
|
|
81
85
|
const selectedOptions = useMemo(() => {
|
|
82
86
|
if (Array.isArray(selected)) {
|
|
83
87
|
return selected;
|