@activecollab/components 2.0.200 → 2.0.202

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.
@@ -368,6 +368,7 @@ var ComboBox = exports.ComboBox = function ComboBox(_ref) {
368
368
  $size: size,
369
369
  $invalid: invalid,
370
370
  ref: comboBoxRef,
371
+ $mode: triggerMode,
371
372
  className: (0, _classnames.default)("c-combo-box-input-wrapper", inputWrapperClassName),
372
373
  onClick: function onClick() {
373
374
  var _elementRef$current;
@@ -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","_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","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","classNames","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","StyledInput","onBlur","onFocus","onKeyDown","$mode","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","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} 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 { 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?: boolean;\n triggerMode?: InputMode;\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 ...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) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n option.id.toString().includes(value) || option.name.includes(value);\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value && (isValueInOptions || emptyValue || noResultText))\n );\n }, [defaultValue, emptyValue, noResultText, options, value]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n 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 {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 ? (\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 {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 />\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","_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","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","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} 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 { 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?: boolean;\n triggerMode?: InputMode;\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 ...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) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n option.id.toString().includes(value) || option.name.includes(value);\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value && (isValueInOptions || emptyValue || noResultText))\n );\n }, [defaultValue, emptyValue, noResultText, options, value]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {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 ? (\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 {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 />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
@@ -159,20 +159,22 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
159
159
  setSelected(range);
160
160
  if (onChange) onChange({
161
161
  from: range.from.utc().unix(),
162
- to: (0, _momentTimezone.default)(range.to).utc().unix()
162
+ to: range !== null && range !== void 0 && range.to ? (0, _momentTimezone.default)(range.to).utc().unix() : null
163
163
  });
164
164
  if (instant && onSave) {
165
165
  onSave({
166
166
  from: range.from.utc().unix(),
167
- to: (0, _momentTimezone.default)(range.to).utc().unix()
167
+ to: range !== null && range !== void 0 && range.to ? (0, _momentTimezone.default)(range.to).utc().unix() : null
168
168
  });
169
169
  }
170
170
  }
171
171
  }, [onChange, onSave, instant]);
172
172
  var toggleCalendar = (0, _react.useCallback)(function () {
173
- setIsOpen(!isOpen);
174
- if (onCalendarToggle) onCalendarToggle(!isOpen);
175
- }, [isOpen, onCalendarToggle]);
173
+ if (target) {
174
+ setIsOpen(!isOpen);
175
+ if (onCalendarToggle) onCalendarToggle(!isOpen);
176
+ }
177
+ }, [isOpen, onCalendarToggle, target]);
176
178
  var toggleYearSelect = (0, _react.useCallback)(function () {
177
179
  setIsYearSelectOpen(!isYearSelectOpen);
178
180
  setIsMonthSelectOpen(true);
@@ -250,9 +252,9 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
250
252
  from: date.utc(),
251
253
  to: null
252
254
  });
253
- onChange && onChange({
254
- from: date.utc().unix(),
255
- to: date.utc().unix()
255
+ handleSelection({
256
+ from: date,
257
+ to: null
256
258
  });
257
259
  return;
258
260
  }
@@ -265,30 +267,30 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
265
267
  to: selected.from
266
268
  };
267
269
  setSelected(newSelection);
268
- onChange && onChange({
269
- from: newSelection.from.utc().unix(),
270
- to: newSelection.to.utc().unix()
270
+ handleSelection({
271
+ from: newSelection.from,
272
+ to: newSelection.to
271
273
  });
272
274
  } else if (_momentTimezone.default.isMoment(selected === null || selected === void 0 ? void 0 : selected.from) && _momentTimezone.default.isMoment(selected === null || selected === void 0 ? void 0 : selected.to)) {
273
275
  setSelected({
274
- from: date.utc(),
276
+ from: date,
275
277
  to: null
276
278
  });
277
- onChange && onChange({
278
- from: date.utc().unix(),
279
+ handleSelection({
280
+ from: date,
279
281
  to: null
280
282
  });
281
283
  } else if (_momentTimezone.default.isMoment(selected === null || selected === void 0 ? void 0 : selected.from) && selected !== null && selected !== void 0 && selected.from.isSame(date.utc(), "day") && !required) {
282
284
  setSelected(null);
283
- onChange && onChange(undefined);
285
+ handleSelection(undefined);
284
286
  } else if (selected.from === null && selected.to === null) {
285
287
  setSelected({
286
288
  from: date.utc(),
287
289
  to: null
288
290
  });
289
- onChange && onChange({
290
- from: date.utc().unix(),
291
- to: date.utc().unix()
291
+ handleSelection({
292
+ from: date,
293
+ to: date
292
294
  });
293
295
  }
294
296
  };
@@ -661,6 +663,7 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
661
663
  };
662
664
  }, [isOpen, handleMonthChange]);
663
665
  var saveIsDisabled = function saveIsDisabled() {
666
+ if (!target) return false;
664
667
  if (!defaultSelected && !selected) {
665
668
  return true;
666
669
  }