@activecollab/components 2.0.2 → 2.0.4

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.
Files changed (31) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.js +1 -1
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +3 -3
  4. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  5. package/dist/cjs/components/ComboBox/ComboBox.js +7 -7
  6. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  7. package/dist/cjs/components/CommandPalette/CommandPalette.js +2 -2
  8. package/dist/cjs/components/CommandPalette/CommandPalette.js.map +1 -1
  9. package/dist/cjs/components/Filter/Submenu.js +1 -1
  10. package/dist/cjs/components/Filter/Submenu.js.map +1 -1
  11. package/dist/cjs/components/Input/Input.js +1 -1
  12. package/dist/cjs/components/Input/Input.js.map +1 -1
  13. package/dist/cjs/components/Menu/Menu.js +4 -4
  14. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  15. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +1 -1
  16. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  17. package/dist/cjs/components/Select/Select.js +11 -14
  18. package/dist/cjs/components/Select/Select.js.map +1 -1
  19. package/dist/cjs/components/Window/Window.js +1 -1
  20. package/dist/cjs/components/Window/Window.js.map +1 -1
  21. package/dist/cjs/hooks/useInputHours.js +7 -7
  22. package/dist/cjs/hooks/useInputHours.js.map +1 -1
  23. package/dist/esm/components/Select/Select.d.ts +5 -5
  24. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  25. package/dist/esm/components/Select/Select.js +7 -10
  26. package/dist/esm/components/Select/Select.js.map +1 -1
  27. package/dist/index.js +39 -41
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.min.js +1 -1
  30. package/dist/index.min.js.map +1 -1
  31. package/package.json +5 -4
@@ -144,7 +144,7 @@ var Autocomplete = exports.Autocomplete = function Autocomplete(_ref) {
144
144
  }
145
145
  if (handleEmptyAction) {
146
146
  var _inputEl$current;
147
- inputEl === null || inputEl === void 0 ? void 0 : (_inputEl$current = inputEl.current) === null || _inputEl$current === void 0 ? void 0 : _inputEl$current.focus();
147
+ inputEl === null || inputEl === void 0 || (_inputEl$current = inputEl.current) === null || _inputEl$current === void 0 || _inputEl$current.focus();
148
148
  setFilter("");
149
149
  handleEmptyAction(filter);
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactCustomScrollbars","_useHighlightText","_interopRequireDefault","_HandleKeyboard","_Option","_OptionGroup","_Styles","_Styles2","_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","itemRef","useRef","listRef","selectedOptions","useMemo","handleSort","useCallback","opts","_opts$","isGrouped","map","group","sortedGroupOptions","sort","b","includes","id","sortList","_options$","sortedOptions","localeCompare","sortedList","_useState","useState","by","_useState2","hover","setHover","_useState3","_useState4","setFilter","handleEmpty","button","_inputEl$current","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","StyledAutocompleteNewItem","ref","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","list","showDefaultOption","flatOptions","handleInputChange","target","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","OptionGroup","checked","renderOptions","onChange","Option","onClick","className","highlightText","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","useEffect","offsetTop","handleOnKeyDown","handleKeyboardMovement","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","Scrollbars","autoHeight","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport { StyledOption } from \"../Select/Option/Styles\";\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 /** 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}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\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}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(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((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) => {\n if (\n selectedOptions.includes(b.id) &&\n !selectedOptions.includes(a.id)\n ) {\n return 1;\n }\n if (\n selectedOptions.includes(a.id) &&\n !selectedOptions.includes(b.id)\n ) {\n return -1;\n }\n return 0;\n });\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort((a, b) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\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 = useMemo(() => sortList(options), [options, sortList]);\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 renderAddNew = useMemo(() => {\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 }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\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((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\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]\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 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 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 />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\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 ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\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 inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\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 showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\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 <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\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 {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\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","_reactCustomScrollbars","_useHighlightText","_interopRequireDefault","_HandleKeyboard","_Option","_OptionGroup","_Styles","_Styles2","_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","itemRef","useRef","listRef","selectedOptions","useMemo","handleSort","useCallback","opts","_opts$","isGrouped","map","group","sortedGroupOptions","sort","b","includes","id","sortList","_options$","sortedOptions","localeCompare","sortedList","_useState","useState","by","_useState2","hover","setHover","_useState3","_useState4","setFilter","handleEmpty","button","_inputEl$current","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","StyledAutocompleteNewItem","ref","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","list","showDefaultOption","flatOptions","handleInputChange","target","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","OptionGroup","checked","renderOptions","onChange","Option","onClick","className","highlightText","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","useEffect","offsetTop","handleOnKeyDown","handleKeyboardMovement","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","Scrollbars","autoHeight","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport { StyledOption } from \"../Select/Option/Styles\";\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 /** 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}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\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}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(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((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) => {\n if (\n selectedOptions.includes(b.id) &&\n !selectedOptions.includes(a.id)\n ) {\n return 1;\n }\n if (\n selectedOptions.includes(a.id) &&\n !selectedOptions.includes(b.id)\n ) {\n return -1;\n }\n return 0;\n });\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort((a, b) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\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 = useMemo(() => sortList(options), [options, sortList]);\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 renderAddNew = useMemo(() => {\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 }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\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((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\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]\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 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 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 />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\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 ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\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 inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\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 showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\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 <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\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 {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
@@ -59,9 +59,9 @@ var Breadcrumbs = exports.Breadcrumbs = /*#__PURE__*/_react.default.forwardRef(f
59
59
  (0, _react.useEffect)(function () {
60
60
  var diffWidth = childWidth - parentWidth;
61
61
  if (diffWidth > 0) {
62
- var _offsetWidth, _olRef$current, _olRef$current$queryS, _olRef$current$queryS2, _olRef$current2, _breadcrumbItems$leng;
63
- var separatorWidth = (_offsetWidth = (_olRef$current = olRef.current) === null || _olRef$current === void 0 ? void 0 : (_olRef$current$queryS = _olRef$current.querySelectorAll(`[data-role="separator"]`)[0]) === null || _olRef$current$queryS === void 0 ? void 0 : _olRef$current$queryS.offsetWidth) !== null && _offsetWidth !== void 0 ? _offsetWidth : 0;
64
- var breadcrumbItems = (_olRef$current$queryS2 = (_olRef$current2 = olRef.current) === null || _olRef$current2 === void 0 ? void 0 : _olRef$current2.querySelectorAll(`[data-role="item"]`)) !== null && _olRef$current$queryS2 !== void 0 ? _olRef$current$queryS2 : [];
62
+ var _offsetWidth, _olRef$current, _olRef$current$queryS, _olRef$current2, _breadcrumbItems$leng;
63
+ var separatorWidth = (_offsetWidth = (_olRef$current = olRef.current) === null || _olRef$current === void 0 || (_olRef$current = _olRef$current.querySelectorAll(`[data-role="separator"]`)[0]) === null || _olRef$current === void 0 ? void 0 : _olRef$current.offsetWidth) !== null && _offsetWidth !== void 0 ? _offsetWidth : 0;
64
+ var breadcrumbItems = (_olRef$current$queryS = (_olRef$current2 = olRef.current) === null || _olRef$current2 === void 0 ? void 0 : _olRef$current2.querySelectorAll(`[data-role="item"]`)) !== null && _olRef$current$queryS !== void 0 ? _olRef$current$queryS : [];
65
65
  var childWidthCollection = [];
66
66
  var maxIndex = ((_breadcrumbItems$leng = breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : breadcrumbItems.length) !== null && _breadcrumbItems$leng !== void 0 ? _breadcrumbItems$leng : 1) - 1;
67
67
  var currentIndex = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","names":["_react","_interopRequireWildcard","require","_utils","_Menu","_List","_IconButton","_Icons","_Styles","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_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","Breadcrumbs","exports","React","forwardRef","_ref","ref","_dimensions$width","_childDimensions$widt","children","className","_ref$separator","separator","rest","internalRef","useRef","listWrapperRef","olRef","widthCollectionRef","handleRef","useForkRef","_useState","useState","_useState2","menuBreadcrumbs","setMenuBreadcrumbs","dimensions","useResizeObserver","childDimensions","parentWidth","width","childWidth","childrenCollection","useMemo","Children","toArray","_useMemo","_useMemo2","menuCollection","listCollection","useEffect","current","diffWidth","_offsetWidth","_olRef$current","_olRef$current$queryS","_olRef$current$queryS2","_olRef$current2","_breadcrumbItems$leng","separatorWidth","querySelectorAll","offsetWidth","breadcrumbItems","childWidthCollection","maxIndex","currentIndex","childSumWidth","_offsetWidth2","_breadcrumbItems$curr","result","pop","oldVal","total","collection","sumWidth","_collection","lastWidth","_collection$pop","totalToDecrease","newValue","end","createElement","StyledNavElement","StyledListWrapper","StyledOList","StyledBreadcrumbListItem","Menu","IconButton","variant","TreeDotsIcon","StyledMenuList","map","child","index","ListItem","Fragment","displayName"],"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useRef,\n useMemo,\n useEffect,\n useState,\n} from \"react\";\nimport { useForkRef, useResizeObserver } from \"../../utils\";\nimport { Menu } from \"../Menu\";\nimport { ListItem } from \"../List\";\nimport { IconButton } from \"../IconButton\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport {\n StyledNavElement,\n StyledOList,\n StyledMenuList,\n StyledListWrapper,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const listWrapperRef = useRef<HTMLDivElement | null>(null);\n const olRef = useRef<HTMLOListElement | null>(null);\n const widthCollectionRef = useRef<number[]>([]);\n const handleRef = useForkRef(ref, internalRef);\n const [menuBreadcrumbs, setMenuBreadcrumbs] = useState(0);\n const dimensions = useResizeObserver(internalRef);\n const childDimensions = useResizeObserver(listWrapperRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [menuCollection, listCollection] = useMemo(() => {\n return [\n childrenCollection.slice(0, menuBreadcrumbs),\n childrenCollection.slice(menuBreadcrumbs, childrenCollection.length),\n ];\n }, [childrenCollection, menuBreadcrumbs]);\n\n useEffect(() => {\n widthCollectionRef.current = [];\n setMenuBreadcrumbs(0);\n }, [childrenCollection.length]);\n\n useEffect(() => {\n const diffWidth = childWidth - parentWidth;\n\n if (diffWidth > 0) {\n const separatorWidth =\n (\n olRef.current?.querySelectorAll(\n `[data-role=\"separator\"]`\n )[0] as HTMLLIElement\n )?.offsetWidth ?? 0;\n const breadcrumbItems =\n olRef.current?.querySelectorAll(`[data-role=\"item\"]`) ?? [];\n const childWidthCollection: number[] = [];\n\n const maxIndex = (breadcrumbItems?.length ?? 1) - 1;\n let currentIndex = 0;\n let childSumWidth = 0;\n\n while (diffWidth > childSumWidth && maxIndex >= currentIndex) {\n const childWidth =\n (breadcrumbItems[currentIndex] as HTMLLIElement)?.offsetWidth ?? 0;\n const result = separatorWidth + childWidth;\n childWidthCollection.push(result);\n childSumWidth += result;\n currentIndex += 1;\n }\n\n if (childWidthCollection.length === listCollection.length) {\n childWidthCollection.pop();\n }\n\n widthCollectionRef.current = [\n ...widthCollectionRef.current,\n ...childWidthCollection,\n ];\n\n setMenuBreadcrumbs((oldVal) => oldVal + childWidthCollection.length);\n }\n }, [listCollection.length, parentWidth, childWidth]);\n\n useEffect(() => {\n const diffWidth = parentWidth - childWidth;\n\n if (diffWidth > 0 && widthCollectionRef.current.length > 0) {\n const total = widthCollectionRef.current.length;\n const collection = [...widthCollectionRef.current];\n\n let sumWidth = 0;\n\n while (diffWidth > sumWidth && collection.length > 0) {\n const lastWidth = collection[collection.length - 1] ?? 0;\n if (diffWidth < lastWidth + sumWidth) {\n sumWidth = diffWidth;\n } else {\n sumWidth += collection.pop() ?? 0;\n }\n }\n\n const totalToDecrease = total - collection.length;\n\n setMenuBreadcrumbs((oldVal) => {\n const newValue = oldVal - totalToDecrease;\n return newValue > 0 ? newValue : 0;\n });\n\n const end = total - totalToDecrease;\n\n widthCollectionRef.current =\n end > 0 ? widthCollectionRef.current.slice(0, end) : [];\n }\n }, [parentWidth, childWidth]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledListWrapper ref={listWrapperRef}>\n <StyledOList ref={olRef}>\n {menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"menu\">\n <Menu\n target={\n <IconButton variant=\"text gray\">\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <StyledMenuList>\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </StyledMenuList>\n </Menu>\n </StyledBreadcrumbListItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"separator\">\n {separator}\n </StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem data-role=\"item\">\n {child}\n </StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledListWrapper>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs.js","names":["_react","_interopRequireWildcard","require","_utils","_Menu","_List","_IconButton","_Icons","_Styles","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_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","Breadcrumbs","exports","React","forwardRef","_ref","ref","_dimensions$width","_childDimensions$widt","children","className","_ref$separator","separator","rest","internalRef","useRef","listWrapperRef","olRef","widthCollectionRef","handleRef","useForkRef","_useState","useState","_useState2","menuBreadcrumbs","setMenuBreadcrumbs","dimensions","useResizeObserver","childDimensions","parentWidth","width","childWidth","childrenCollection","useMemo","Children","toArray","_useMemo","_useMemo2","menuCollection","listCollection","useEffect","current","diffWidth","_offsetWidth","_olRef$current","_olRef$current$queryS","_olRef$current2","_breadcrumbItems$leng","separatorWidth","querySelectorAll","offsetWidth","breadcrumbItems","childWidthCollection","maxIndex","currentIndex","childSumWidth","_offsetWidth2","_breadcrumbItems$curr","result","pop","oldVal","total","collection","sumWidth","_collection","lastWidth","_collection$pop","totalToDecrease","newValue","end","createElement","StyledNavElement","StyledListWrapper","StyledOList","StyledBreadcrumbListItem","Menu","IconButton","variant","TreeDotsIcon","StyledMenuList","map","child","index","ListItem","Fragment","displayName"],"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useRef,\n useMemo,\n useEffect,\n useState,\n} from \"react\";\nimport { useForkRef, useResizeObserver } from \"../../utils\";\nimport { Menu } from \"../Menu\";\nimport { ListItem } from \"../List\";\nimport { IconButton } from \"../IconButton\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport {\n StyledNavElement,\n StyledOList,\n StyledMenuList,\n StyledListWrapper,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const listWrapperRef = useRef<HTMLDivElement | null>(null);\n const olRef = useRef<HTMLOListElement | null>(null);\n const widthCollectionRef = useRef<number[]>([]);\n const handleRef = useForkRef(ref, internalRef);\n const [menuBreadcrumbs, setMenuBreadcrumbs] = useState(0);\n const dimensions = useResizeObserver(internalRef);\n const childDimensions = useResizeObserver(listWrapperRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [menuCollection, listCollection] = useMemo(() => {\n return [\n childrenCollection.slice(0, menuBreadcrumbs),\n childrenCollection.slice(menuBreadcrumbs, childrenCollection.length),\n ];\n }, [childrenCollection, menuBreadcrumbs]);\n\n useEffect(() => {\n widthCollectionRef.current = [];\n setMenuBreadcrumbs(0);\n }, [childrenCollection.length]);\n\n useEffect(() => {\n const diffWidth = childWidth - parentWidth;\n\n if (diffWidth > 0) {\n const separatorWidth =\n (\n olRef.current?.querySelectorAll(\n `[data-role=\"separator\"]`\n )[0] as HTMLLIElement\n )?.offsetWidth ?? 0;\n const breadcrumbItems =\n olRef.current?.querySelectorAll(`[data-role=\"item\"]`) ?? [];\n const childWidthCollection: number[] = [];\n\n const maxIndex = (breadcrumbItems?.length ?? 1) - 1;\n let currentIndex = 0;\n let childSumWidth = 0;\n\n while (diffWidth > childSumWidth && maxIndex >= currentIndex) {\n const childWidth =\n (breadcrumbItems[currentIndex] as HTMLLIElement)?.offsetWidth ?? 0;\n const result = separatorWidth + childWidth;\n childWidthCollection.push(result);\n childSumWidth += result;\n currentIndex += 1;\n }\n\n if (childWidthCollection.length === listCollection.length) {\n childWidthCollection.pop();\n }\n\n widthCollectionRef.current = [\n ...widthCollectionRef.current,\n ...childWidthCollection,\n ];\n\n setMenuBreadcrumbs((oldVal) => oldVal + childWidthCollection.length);\n }\n }, [listCollection.length, parentWidth, childWidth]);\n\n useEffect(() => {\n const diffWidth = parentWidth - childWidth;\n\n if (diffWidth > 0 && widthCollectionRef.current.length > 0) {\n const total = widthCollectionRef.current.length;\n const collection = [...widthCollectionRef.current];\n\n let sumWidth = 0;\n\n while (diffWidth > sumWidth && collection.length > 0) {\n const lastWidth = collection[collection.length - 1] ?? 0;\n if (diffWidth < lastWidth + sumWidth) {\n sumWidth = diffWidth;\n } else {\n sumWidth += collection.pop() ?? 0;\n }\n }\n\n const totalToDecrease = total - collection.length;\n\n setMenuBreadcrumbs((oldVal) => {\n const newValue = oldVal - totalToDecrease;\n return newValue > 0 ? newValue : 0;\n });\n\n const end = total - totalToDecrease;\n\n widthCollectionRef.current =\n end > 0 ? widthCollectionRef.current.slice(0, end) : [];\n }\n }, [parentWidth, childWidth]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledListWrapper ref={listWrapperRef}>\n <StyledOList ref={olRef}>\n {menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"menu\">\n <Menu\n target={\n <IconButton variant=\"text gray\">\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <StyledMenuList>\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </StyledMenuList>\n </Menu>\n </StyledBreadcrumbListItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"separator\">\n {separator}\n </StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem data-role=\"item\">\n {child}\n </StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledListWrapper>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"mappings":"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"}
@@ -142,8 +142,8 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
142
142
  }, [focused, open, selectedName, type]);
143
143
  (0, _react.useEffect)(function () {
144
144
  var _childNode$current, _childNode$current2;
145
- open && (childNode === null || childNode === void 0 ? void 0 : (_childNode$current = childNode.current) === null || _childNode$current === void 0 ? void 0 : _childNode$current.focus());
146
- !open && (childNode === null || childNode === void 0 ? void 0 : (_childNode$current2 = childNode.current) === null || _childNode$current2 === void 0 ? void 0 : _childNode$current2.blur());
145
+ open && (childNode === null || childNode === void 0 || (_childNode$current = childNode.current) === null || _childNode$current === void 0 ? void 0 : _childNode$current.focus());
146
+ !open && (childNode === null || childNode === void 0 || (_childNode$current2 = childNode.current) === null || _childNode$current2 === void 0 ? void 0 : _childNode$current2.blur());
147
147
  }, [childNode, open]);
148
148
  (0, _react.useEffect)(function () {
149
149
  setValue(selectedName);
@@ -156,7 +156,7 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
156
156
  }
157
157
  }, [focused, isFirstRender, onClose, open]);
158
158
  var emptyAction = (0, _react.useCallback)(function (v) {
159
- handleEmptyAction === null || handleEmptyAction === void 0 ? void 0 : handleEmptyAction(v);
159
+ handleEmptyAction === null || handleEmptyAction === void 0 || handleEmptyAction(v);
160
160
  setOpen(false);
161
161
  }, [handleEmptyAction]);
162
162
  var handleChange = (0, _react.useCallback)(function (selectedValue) {
@@ -196,11 +196,11 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
196
196
  if (typeof onDeselect === "function") {
197
197
  onDeselect();
198
198
  } else if (type === "multiple") {
199
- onChange === null || onChange === void 0 ? void 0 : onChange([]);
199
+ onChange === null || onChange === void 0 || onChange([]);
200
200
  } else {
201
- onChange === null || onChange === void 0 ? void 0 : onChange("");
201
+ onChange === null || onChange === void 0 || onChange("");
202
202
  }
203
- onClear === null || onClear === void 0 ? void 0 : onClear();
203
+ onClear === null || onClear === void 0 || onClear();
204
204
  setOpen(false);
205
205
  }, [type, onChange, onClear, onDeselect]);
206
206
  var handleMouseDown = (0, _react.useCallback)(function (e) {
@@ -341,7 +341,7 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
341
341
  className: (0, _classnames.default)("c-combo-box-input-wrapper", inputWrapperClassName),
342
342
  onClick: function onClick() {
343
343
  var _elementRef$current;
344
- (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.click();
344
+ (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 || _elementRef$current.click();
345
345
  },
346
346
  $_css3: autoSize === "auto" ? "auto" : undefined,
347
347
  $_css4: autoSize === "auto" && scrollWrapper ? "scroll" : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["_react","_interopRequireWildcard","require","_RadioButton","_Autocomplete","_IconButton","_Autocomplete2","_useForkRef","_interopRequireDefault","_Popper","_reactRemoveScroll","_SpinnerLoader","_OptionContent","_Styles","_InputAdornment","_Checkbox","_Chip","_Styles2","_useOnClickOutside","_Avatar","_Trigger","_Typography","_helpers","_ConditionWrapper","_classnames","_useIsFirstRender","_MultiAvatar","_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","ComboBox","exports","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$loading","loading","loadingText","onChange","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","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","open","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","_comboBoxRef$current","current","contains","handleOnKeyDown","stopPropagation","useEffect","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","Checkbox","RadioButton","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","_StyledAvatar","url","$_css","$_css2","undefined","includes","newSelected","filter","item","showOnClose","Chip","className","label","backgroundColor","chipColor","variant","autoSize","startAdornment","elements","total","forEach","isGrouped","isOptionGroup","groupedOptions","_index","hidden","splice","_StyledTypography","optionItem","child","avatarSize","MultiAvatar","Avatar","showXIcon","hasSelected","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","classNames","onClick","_elementRef$current","click","$_css3","$_css4","$_css5","StyledChipWrapper","$autoSize","$open","StyledInput","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","wrapperClick","wrapRef","endAdornment","InputAdornment","disablePointerEvents","IconButton","ConditionalWrapper","condition","wrap","children","Portal","Popper","anchorEl","placement","zIndex","clientWidth","strategy","RemoveScroll","noIsolation","allowPinchZoom","StyledComboBoxList","$width","Autocomplete","inputEl","displayName","_styledComponents","withConfig","componentId","p","Typography","StyledInputWrapper","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 { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { MultiAvatar } from \"../MultiAvatar\";\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 /** 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 close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\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 ...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((e) => setValue(e.target.value), []);\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(false);\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 }\n },\n [focused, 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 && !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 onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\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 leftAdornment = 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 leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 1\"\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) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\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 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 max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\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 >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\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 <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={onOpen}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\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 ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\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 $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\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","_RadioButton","_Autocomplete","_IconButton","_Autocomplete2","_useForkRef","_interopRequireDefault","_Popper","_reactRemoveScroll","_SpinnerLoader","_OptionContent","_Styles","_InputAdornment","_Checkbox","_Chip","_Styles2","_useOnClickOutside","_Avatar","_Trigger","_Typography","_helpers","_ConditionWrapper","_classnames","_useIsFirstRender","_MultiAvatar","_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","ComboBox","exports","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$loading","loading","loadingText","onChange","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","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","open","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","_comboBoxRef$current","current","contains","handleOnKeyDown","stopPropagation","useEffect","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","Checkbox","RadioButton","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","_StyledAvatar","url","$_css","$_css2","undefined","includes","newSelected","filter","item","showOnClose","Chip","className","label","backgroundColor","chipColor","variant","autoSize","startAdornment","elements","total","forEach","isGrouped","isOptionGroup","groupedOptions","_index","hidden","splice","_StyledTypography","optionItem","child","avatarSize","MultiAvatar","Avatar","showXIcon","hasSelected","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","classNames","onClick","_elementRef$current","click","$_css3","$_css4","$_css5","StyledChipWrapper","$autoSize","$open","StyledInput","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","wrapperClick","wrapRef","endAdornment","InputAdornment","disablePointerEvents","IconButton","ConditionalWrapper","condition","wrap","children","Portal","Popper","anchorEl","placement","zIndex","clientWidth","strategy","RemoveScroll","noIsolation","allowPinchZoom","StyledComboBoxList","$width","Autocomplete","inputEl","displayName","_styledComponents","withConfig","componentId","p","Typography","StyledInputWrapper","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 { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { MultiAvatar } from \"../MultiAvatar\";\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 /** 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 close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\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 ...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((e) => setValue(e.target.value), []);\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(false);\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 }\n },\n [focused, 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 && !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 onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\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 leftAdornment = 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 leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 1\"\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) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\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 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 max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\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 >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\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 <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={onOpen}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\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 ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\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 $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\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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"}