@activecollab/components 2.0.129 → 2.0.130

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Trigger","Typography","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","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","variant","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","Boolean","Number","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","onClick","_elementRef$current","click","$_css3","$_css4","$_css5","$autoSize","$open","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","wrapperClick","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} 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 { 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\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n }\n },\n [focused, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n setFocused(!focused);\n }, [focused, selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const 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 variant=\"Caption 1\"\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(\n () => Boolean(options.length || defaultValue || Number(value.length) > 0),\n [defaultValue, options.length, 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 css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {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={onOpen}\n onFocus={() => {\n setFocused(!focused);\n onOpen();\n }}\n onClick={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {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 $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\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","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Trigger","Typography","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","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","Boolean","Number","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","onClick","_elementRef$current","click","$_css3","$_css4","$_css5","$autoSize","$open","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","wrapperClick","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} 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 { 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\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n }\n },\n [focused, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n setFocused(!focused);\n }, [focused, selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const 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 () => Boolean(options.length || defaultValue || Number(value.length) > 0),\n [defaultValue, options.length, 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 css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {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={onOpen}\n onFocus={() => {\n setFocused(!focused);\n onOpen();\n }}\n onClick={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {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 $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\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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"}
package/dist/index.js CHANGED
@@ -17219,7 +17219,7 @@
17219
17219
  })(["color:var(--color-theme-700);"]);
17220
17220
  ChipCloseIcon.displayName = "ChipCloseIcon";
17221
17221
 
17222
- var _excluded$k = ["startAdornment", "label", "onClose", "size", "color", "backgroundColor", "closeClassName", "variant", "typographyProps"];
17222
+ var _excluded$k = ["startAdornment", "label", "onClose", "size", "color", "backgroundColor", "closeClassName", "typographyProps"];
17223
17223
  var Chip = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
17224
17224
  var startAdornment = _ref.startAdornment,
17225
17225
  label = _ref.label,
@@ -17229,23 +17229,19 @@
17229
17229
  color = _ref.color,
17230
17230
  backgroundColor = _ref.backgroundColor,
17231
17231
  closeClassName = _ref.closeClassName,
17232
- variant = _ref.variant,
17233
17232
  typographyProps = _ref.typographyProps,
17234
17233
  rest = _objectWithoutProperties(_ref, _excluded$k);
17235
17234
  var showClose = typeof onClose === "function";
17236
- var _variant = React.useMemo(function () {
17237
- if (typeof variant !== "undefined") {
17238
- return variant;
17239
- }
17235
+ var variant = React.useMemo(function () {
17240
17236
  switch (size) {
17241
- case "regular":
17242
- return "Body 2";
17243
17237
  case "big":
17244
17238
  return "Body 1";
17239
+ case "biggest":
17240
+ return "Body 1";
17245
17241
  default:
17246
17242
  return "Caption 1";
17247
17243
  }
17248
- }, [variant, size]);
17244
+ }, [size]);
17249
17245
  return /*#__PURE__*/React__default["default"].createElement(ChipContainer, _extends({}, rest, {
17250
17246
  ref: ref,
17251
17247
  size: size,
@@ -17254,8 +17250,9 @@
17254
17250
  backgroundColor: backgroundColor,
17255
17251
  "data-testid": "chip-container"
17256
17252
  }), startAdornment, /*#__PURE__*/React__default["default"].createElement(Typography, _extends({
17257
- variant: _variant,
17258
- "data-testid": "chip-typography"
17253
+ variant: variant,
17254
+ "data-testid": "chip-typography",
17255
+ weight: size === "biggest" ? "medium" : "regular"
17259
17256
  }, typographyProps), label), showClose ? /*#__PURE__*/React__default["default"].createElement(ChipTrigger, {
17260
17257
  size: size,
17261
17258
  onClick: onClose,
@@ -17489,8 +17486,7 @@
17489
17486
  backgroundColor: option.color,
17490
17487
  color: option.chipColor,
17491
17488
  onClose: showOnClose ? onClose : undefined,
17492
- size: size,
17493
- variant: "Caption 1"
17489
+ size: size
17494
17490
  });
17495
17491
  }, [disabled, onChange, renderChip, selected, size]);
17496
17492
  var autoSize = React.useMemo(function () {