@activecollab/components 2.0.244 → 2.0.245

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.
@@ -30,7 +30,7 @@ var _OptionContent = require("../Select/OptionContent/OptionContent");
30
30
  var _Tooltip = require("../Tooltip");
31
31
  var _Trigger = require("../Trigger");
32
32
  var _Typography = require("../Typography/Typography");
33
- var _excluded = ["options", "selected", "loading", "loadingText", "onChange", "onInputChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "scrollWrapper", "onClose", "onClear", "onDeselect", "defaultValue", "open", "onOpen", "triggerMode", "noResultText", "emptyValue", "disableVirtualization", "hideClearButton", "errorMessage"];
33
+ var _excluded = ["options", "selected", "loading", "loadingText", "onChange", "onInputChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "scrollWrapper", "onClose", "onClear", "onDeselect", "defaultValue", "open", "onOpen", "triggerMode", "noResultText", "emptyValue", "disableVirtualization", "hideClearButton", "errorMessage", "onCancel"];
34
34
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
35
35
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
36
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -94,6 +94,7 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
94
94
  _ref$hideClearButton = _ref.hideClearButton,
95
95
  hideClearButton = _ref$hideClearButton === void 0 ? false : _ref$hideClearButton,
96
96
  errorMessage = _ref.errorMessage,
97
+ onCancel = _ref.onCancel,
97
98
  prop = _objectWithoutProperties(_ref, _excluded);
98
99
  var selectedName = (0, _react.useMemo)(function () {
99
100
  var value = "";
@@ -145,12 +146,14 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
145
146
  if (e.target && (_comboBoxRef$current = comboBoxRef.current) !== null && _comboBoxRef$current !== void 0 && _comboBoxRef$current.contains(e.target)) {
146
147
  return;
147
148
  }
149
+ onCancel === null || onCancel === void 0 || onCancel(selectedName);
148
150
  setOpen(false);
149
151
  });
150
152
  var handleOnKeyDown = (0, _react.useCallback)(function (e) {
151
153
  if (e.key === "Escape" && open) {
152
154
  setOpen(false);
153
155
  setValue(selectedName);
156
+ onCancel === null || onCancel === void 0 || onCancel(selectedName);
154
157
  e.stopPropagation();
155
158
  }
156
159
  if (e.key === "Enter" && type === "multiple") {
@@ -160,7 +163,7 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
160
163
  setOpen(true);
161
164
  onOpen === null || onOpen === void 0 || onOpen();
162
165
  }
163
- }, [focused, onOpen, open, selectedName, type]);
166
+ }, [focused, onCancel, onOpen, open, selectedName, type]);
164
167
  (0, _react.useEffect)(function () {
165
168
  var _childNode$current, _childNode$current2;
166
169
  open && (childNode === null || childNode === void 0 || (_childNode$current = childNode.current) === null || _childNode$current === void 0 ? void 0 : _childNode$current.focus());
@@ -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 !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
+ {"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","onCancel","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 onCancel?: (value?: string) => 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 onCancel,\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 onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n onCancel?.(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, onCancel, 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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"}
@@ -39,6 +39,7 @@ export interface IComboBoxProps extends Omit<IAutocompleteProps, "handleChange"
39
39
  onOpen?: () => void;
40
40
  /** onClear (f) will be called when user clear input on X icon*/
41
41
  onClear?: () => void;
42
+ onCancel?: (value?: string) => void;
42
43
  onDeselect?: () => void;
43
44
  /** Open state */
44
45
  open?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAOH,MAAM,OAAO,CAAC;AAqBf,OAAO,EACL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKtD,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAahE,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAClD;IACD,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,6BAA6B;IAC7B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EACtC,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,KAClB,GAAG,CAAC,OAAO,CAAC;IACjB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,iBAAiB;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,CA0lBvC,CAAC"}
1
+ {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAOH,MAAM,OAAO,CAAC;AAqBf,OAAO,EACL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKtD,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAahE,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAClD;IACD,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,6BAA6B;IAC7B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EACtC,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,KAClB,GAAG,CAAC,OAAO,CAAC;IACjB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,iBAAiB;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,CA6lBvC,CAAC"}
@@ -66,6 +66,7 @@ export const ComboBox = _ref => {
66
66
  disableVirtualization,
67
67
  hideClearButton = false,
68
68
  errorMessage,
69
+ onCancel,
69
70
  ...prop
70
71
  } = _ref;
71
72
  const selectedName = useMemo(() => {
@@ -109,12 +110,14 @@ export const ComboBox = _ref => {
109
110
  if (e.target && (_comboBoxRef$current = comboBoxRef.current) != null && _comboBoxRef$current.contains(e.target)) {
110
111
  return;
111
112
  }
113
+ onCancel == null || onCancel(selectedName);
112
114
  setOpen(false);
113
115
  });
114
116
  const handleOnKeyDown = useCallback(e => {
115
117
  if (e.key === "Escape" && open) {
116
118
  setOpen(false);
117
119
  setValue(selectedName);
120
+ onCancel == null || onCancel(selectedName);
118
121
  e.stopPropagation();
119
122
  }
120
123
  if (e.key === "Enter" && type === "multiple") {
@@ -124,7 +127,7 @@ export const ComboBox = _ref => {
124
127
  setOpen(true);
125
128
  onOpen == null || onOpen();
126
129
  }
127
- }, [focused, onOpen, open, selectedName, type]);
130
+ }, [focused, onCancel, onOpen, open, selectedName, type]);
128
131
  useEffect(() => {
129
132
  var _childNode$current, _childNode$current2;
130
133
  open && (childNode == null || (_childNode$current = childNode.current) == null ? void 0 : _childNode$current.focus());
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","options","selected","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","hideClearButton","errorMessage","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","zIndex","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","withConfig","componentId","p"],"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
+ {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","options","selected","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","hideClearButton","errorMessage","onCancel","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","zIndex","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","withConfig","componentId","p"],"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 onCancel?: (value?: string) => 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 onCancel,\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 onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n onCancel?.(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, onCancel, 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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"}