@activecollab/components 2.0.242 → 2.0.244

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.
@@ -184,6 +184,9 @@ var Autocomplete = exports.Autocomplete = function Autocomplete(_ref) {
184
184
  var trimmedFilter = filter.trim();
185
185
  var isGrouped = options[0] && isOptionGroup(options[0]);
186
186
  var matchesFilter = function matchesFilter(option) {
187
+ if (option.hidden) {
188
+ return false;
189
+ }
187
190
  var nameMatch = option.name.toLowerCase().includes(trimmedFilter.toLowerCase());
188
191
  if (filterCriteria && trimmedFilter) {
189
192
  return nameMatch || filterCriteria(option, trimmedFilter);
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactVirtual","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","_toPropertyKey","configurable","writable","_toPrimitive","String","toPrimitive","Number","isOptionGroup","item","options","undefined","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","handleSort","useCallback","opts","_opts$","isGrouped","sortOptions","b","aSelected","includes","id","bSelected","aMixed","bMixed","map","group","sortedGroupOptions","sort","sortList","_options$","sortedOptions","localeCompare","_useState","useState","_useState2","sortedList","setSortedList","useEffect","_useState3","by","_useState4","hover","setHover","_useState5","_useState6","setFilter","handleEmpty","button","_inputEl$current","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","filterOptions","trimmedFilter","matchesFilter","nameMatch","hovered","reduce","acc","groupedOption","filteredOptions","list","showDefaultOption","flatOptions","showNoResultCondition","virtualItems","items","index","shouldUseVirtualization","rowVirtualizer","useVirtualizer","count","getScrollElement","estimateSize","overscan","gap","handleInputChange","target","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","createElement","OptionGroup","checked","tooltip","renderOptions","onChange","Option","ref","onMouseEnter","onClick","className","highlightText","concat","handleOnMouseLeave","findIndex","scrollToIndex","align","handleOnKeyDown","handleKeyboardMovement","_inputEl$current2","listenerTarget","document","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\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 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 const sortedGroupOptions = group.options.sort(sortOptions);\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort(sortOptions);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [mixedOptions, selectedOptions]\n );\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const [sortedList, setSortedList] = useState(() => sortList(options));\n\n useEffect(() => {\n setSortedList(sortList(options));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options]);\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 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 ?? document;\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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"}
1
+ {"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactVirtual","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","_toPropertyKey","configurable","writable","_toPrimitive","String","toPrimitive","Number","isOptionGroup","item","options","undefined","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","handleSort","useCallback","opts","_opts$","isGrouped","sortOptions","b","aSelected","includes","id","bSelected","aMixed","bMixed","map","group","sortedGroupOptions","sort","sortList","_options$","sortedOptions","localeCompare","_useState","useState","_useState2","sortedList","setSortedList","useEffect","_useState3","by","_useState4","hover","setHover","_useState5","_useState6","setFilter","handleEmpty","button","_inputEl$current","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","filterOptions","trimmedFilter","matchesFilter","hidden","nameMatch","hovered","reduce","acc","groupedOption","filteredOptions","list","showDefaultOption","flatOptions","showNoResultCondition","virtualItems","items","index","shouldUseVirtualization","rowVirtualizer","useVirtualizer","count","getScrollElement","estimateSize","overscan","gap","handleInputChange","target","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","createElement","OptionGroup","checked","tooltip","renderOptions","onChange","Option","ref","onMouseEnter","onClick","className","highlightText","concat","handleOnMouseLeave","findIndex","scrollToIndex","align","handleOnKeyDown","handleKeyboardMovement","_inputEl$current2","listenerTarget","document","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\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 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 const sortedGroupOptions = group.options.sort(sortOptions);\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort(sortOptions);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [mixedOptions, selectedOptions]\n );\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const [sortedList, setSortedList] = useState(() => sortList(options));\n\n useEffect(() => {\n setSortedList(sortList(options));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options]);\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 ?? document;\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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"}
@@ -359,13 +359,13 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
359
359
  var showMenu = (0, _react.useMemo)(function () {
360
360
  var hasOptions = (options === null || options === void 0 ? void 0 : options.length) > 0;
361
361
  var valueExists = function valueExists(option) {
362
- return option.id.toString().includes(value) || option.name.includes(value);
362
+ return (option.id.toString().includes(value) || option.name.includes(value)) && !(option !== null && option !== void 0 && option.hidden);
363
363
  };
364
364
  var isValueInOptions = options === null || options === void 0 ? void 0 : options.some(function (option) {
365
365
  return (0, _Autocomplete2.isOptionGroup)(option) ? option.options.some(valueExists) : valueExists(option);
366
366
  });
367
- return hasOptions && (!!defaultValue || !value) || value && (isValueInOptions || emptyValue || noResultText);
368
- }, [defaultValue, emptyValue, noResultText, options, value]);
367
+ return hasOptions && (!!defaultValue || !value) || value && (isValueInOptions || emptyValue && !!handleEmptyAction || noResultText);
368
+ }, [defaultValue, emptyValue, handleEmptyAction, noResultText, options, value]);
369
369
  return /*#__PURE__*/_react.default.createElement("div", {
370
370
  className: "c-combo-box"
371
371
  }, type === "multiple" ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_StyledStyledInputWrapper, {
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["_react","_interopRequireWildcard","require","_reactRemoveScroll","_classnames","_interopRequireDefault","_Styles","_helpers","_ConditionWrapper","_useIsFirstRender","_useOnClickOutside","_useForkRef","_Autocomplete","_Autocomplete2","_Avatar","_Checkbox","_Chip","_IconButton","_InputAdornment","_Styles2","_SpinnerLoader","_MultiAvatar","_Popper","_RadioButton","_OptionContent","_Tooltip","_Trigger","_Typography","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","sizeMap","small","regular","big","biggest","ComboBox","exports","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$loading","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","_ref$open","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","_ref$hideClearButton","hideClearButton","errorMessage","prop","selectedName","useMemo","map","v","find","q","id","_useState","useState","_useState2","setValue","_useState3","_useState4","focused","setFocused","handleOnChange","useCallback","childNode","useRef","elementRef","handleRef","useForkRef","wrapperRef","chipWrapper","comboBoxRef","_useState5","_useState6","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","_comboBoxRef$current","current","contains","handleOnKeyDown","stopPropagation","useEffect","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","Checkbox","RadioButton","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","url","$_css","$_css2","undefined","includes","newSelected","filter","item","showOnClose","Chip","className","label","backgroundColor","chipColor","autoSize","elements","total","forEach","isGrouped","isOptionGroup","groupedOptions","_index","concat","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","MultiAvatar","Avatar","showXIcon","hasSelected","showMenu","hasOptions","valueExists","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","classNames","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","StyledInput","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","Tooltip","title","StyledInfoSmallIcon","StyledInfoIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","wrapperClick","mode","wrapRef","endAdornment","InputAdornment","disablePointerEvents","IconButton","ConditionalWrapper","condition","wrap","children","Portal","Popper","anchorEl","placement","zIndex","clientWidth","strategy","RemoveScroll","noIsolation","allowPinchZoom","StyledComboBoxList","$width","$hide","Autocomplete","inputEl","displayName","_styledComponents","withConfig","componentId","p","Typography","StyledInputWrapper","StyledChipWrapper","Trigger"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** onInputChange callback */\n onInputChange?: (text: string) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper closes */\n onClose?: () => void;\n /** onOpen (f) will be called when Popper opens */\n onOpen?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Error message to display */\n errorMessage?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n onInputChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\n hideClearButton = false,\n errorMessage,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n setFocused(!focused);\n }, [focused, selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n option.id.toString().includes(value) || option.name.includes(value);\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value && (isValueInOptions || emptyValue || noResultText))\n );\n }, [defaultValue, emptyValue, noResultText, options, value]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={() => {\n setFocused(!focused);\n handleOpen();\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList\n className=\"c-combo-box--list\"\n $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\n emptyValue={emptyValue}\n noResultText={noResultText}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n defaultValue={defaultValue}\n handleEmptyAction={emptyAction}\n disableVirtualization={disableVirtualization}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComboBox.js","names":["_react","_interopRequireWildcard","require","_reactRemoveScroll","_classnames","_interopRequireDefault","_Styles","_helpers","_ConditionWrapper","_useIsFirstRender","_useOnClickOutside","_useForkRef","_Autocomplete","_Autocomplete2","_Avatar","_Checkbox","_Chip","_IconButton","_InputAdornment","_Styles2","_SpinnerLoader","_MultiAvatar","_Popper","_RadioButton","_OptionContent","_Tooltip","_Trigger","_Typography","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","sizeMap","small","regular","big","biggest","ComboBox","exports","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$loading","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","_ref$open","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","_ref$hideClearButton","hideClearButton","errorMessage","prop","selectedName","useMemo","map","v","find","q","id","_useState","useState","_useState2","setValue","_useState3","_useState4","focused","setFocused","handleOnChange","useCallback","childNode","useRef","elementRef","handleRef","useForkRef","wrapperRef","chipWrapper","comboBoxRef","_useState5","_useState6","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","_comboBoxRef$current","current","contains","handleOnKeyDown","stopPropagation","useEffect","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","Checkbox","RadioButton","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","url","$_css","$_css2","undefined","includes","newSelected","filter","item","showOnClose","Chip","className","label","backgroundColor","chipColor","autoSize","elements","total","forEach","isGrouped","isOptionGroup","groupedOptions","_index","concat","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","MultiAvatar","Avatar","showXIcon","hasSelected","showMenu","hasOptions","valueExists","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","classNames","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","StyledInput","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","Tooltip","title","StyledInfoSmallIcon","StyledInfoIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","wrapperClick","mode","wrapRef","endAdornment","InputAdornment","disablePointerEvents","IconButton","ConditionalWrapper","condition","wrap","children","Portal","Popper","anchorEl","placement","zIndex","clientWidth","strategy","RemoveScroll","noIsolation","allowPinchZoom","StyledComboBoxList","$width","$hide","Autocomplete","inputEl","displayName","_styledComponents","withConfig","componentId","p","Typography","StyledInputWrapper","StyledChipWrapper","Trigger"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** onInputChange callback */\n onInputChange?: (text: string) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper closes */\n onClose?: () => void;\n /** onOpen (f) will be called when Popper opens */\n onOpen?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Error message to display */\n errorMessage?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n onInputChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\n hideClearButton = false,\n errorMessage,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n setFocused(!focused);\n }, [focused, selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={() => {\n setFocused(!focused);\n handleOpen();\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList\n className=\"c-combo-box--list\"\n $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\n emptyValue={emptyValue}\n noResultText={noResultText}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n defaultValue={defaultValue}\n handleEmptyAction={emptyAction}\n disableVirtualization={disableVirtualization}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Option","exports","forwardRef","_ref","ref","id","name","_ref$tooltip","tooltip","hover","className","renderOption","onMouseEnter","_ref$onClick","onClick","handleOnMouseEnter","useCallback","createElement","StyledOption","title","onTouchStart","classnames","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n /** Color for chip label */\n chipColor?: string;\n /** Value of mixed */\n mixed?: boolean;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n tooltip = \"\",\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={tooltip ? tooltip : name}\n onMouseEnter={handleOnMouseEnter}\n onTouchStart={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Option.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Option","exports","forwardRef","_ref","ref","id","name","_ref$tooltip","tooltip","hover","className","renderOption","onMouseEnter","_ref$onClick","onClick","handleOnMouseEnter","useCallback","createElement","StyledOption","title","onTouchStart","classnames","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n /** Color for chip label */\n chipColor?: string;\n /** Value of mixed */\n mixed?: boolean;\n /** Hide option */\n hidden?: boolean;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n tooltip = \"\",\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={tooltip ? tooltip : name}\n onMouseEnter={handleOnMouseEnter}\n onTouchStart={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":"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"}
@@ -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;AAED,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,CA4rB/C,CAAC"}
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;AAED,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,CAgsB/C,CAAC"}
@@ -139,6 +139,9 @@ export const Autocomplete = _ref => {
139
139
  const trimmedFilter = filter.trim();
140
140
  const isGrouped = options[0] && isOptionGroup(options[0]);
141
141
  const matchesFilter = option => {
142
+ if (option.hidden) {
143
+ return false;
144
+ }
142
145
  const nameMatch = option.name.toLowerCase().includes(trimmedFilter.toLowerCase());
143
146
  if (filterCriteria && trimmedFilter) {
144
147
  return nameMatch || filterCriteria(option, trimmedFilter);