@activecollab/components 2.0.102 → 2.0.104
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.
- package/dist/cjs/components/Autocomplete/Autocomplete.js +6 -9
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +3 -3
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/Chip/Styles.js +6 -2
- package/dist/cjs/components/Chip/Styles.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js +2 -2
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +6 -9
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Chip/Chip.d.ts +1 -1
- package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
- package/dist/esm/components/Chip/Chip.js +2 -2
- package/dist/esm/components/Chip/Chip.js.map +1 -1
- package/dist/esm/components/Chip/Styles.d.ts.map +1 -1
- package/dist/esm/components/Chip/Styles.js +3 -3
- package/dist/esm/components/Chip/Styles.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +2 -2
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/index.js +17 -16
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -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","ComboBox","exports","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$loading","loading","loadingText","onChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","prop","selectedName","useMemo","map","v","find","q","id","_useState","useState","_useState2","setValue","_useState3","_useState4","focused","setFocused","handleOnChange","useCallback","childNode","useRef","elementRef","handleRef","useForkRef","wrapperRef","chipWrapper","comboBoxRef","_useState5","_useState6","open","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","_comboBoxRef$current","current","contains","handleOnKeyDown","stopPropagation","useEffect","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","Checkbox","RadioButton","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","_StyledAvatar","url","$_css","$_css2","undefined","includes","newSelected","filter","item","showOnClose","Chip","className","label","backgroundColor","chipColor","variant","autoSize","startAdornment","elements","total","forEach","isGrouped","isOptionGroup","groupedOptions","_index","concat","hidden","splice","_StyledTypography","optionItem","child","avatarSize","MultiAvatar","Avatar","showXIcon","hasSelected","showMenu","Boolean","Number","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","classNames","onClick","_elementRef$current","click","$_css3","$_css4","$_css5","StyledChipWrapper","$autoSize","$open","StyledInput","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","wrapperClick","wrapRef","endAdornment","InputAdornment","disablePointerEvents","IconButton","ConditionalWrapper","condition","wrap","children","Portal","Popper","anchorEl","placement","zIndex","clientWidth","strategy","RemoveScroll","noIsolation","allowPinchZoom","StyledComboBoxList","$width","$hide","Autocomplete","inputEl","displayName","_styledComponents","withConfig","componentId","p","Typography","StyledInputWrapper","Trigger"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { 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 leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 1\"\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n 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","_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","ComboBox","exports","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$loading","loading","loadingText","onChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","prop","selectedName","useMemo","map","v","find","q","id","_useState","useState","_useState2","setValue","_useState3","_useState4","focused","setFocused","handleOnChange","useCallback","childNode","useRef","elementRef","handleRef","useForkRef","wrapperRef","chipWrapper","comboBoxRef","_useState5","_useState6","open","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","_comboBoxRef$current","current","contains","handleOnKeyDown","stopPropagation","useEffect","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","Checkbox","RadioButton","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","url","$_css","$_css2","undefined","includes","newSelected","filter","item","showOnClose","Chip","className","label","backgroundColor","chipColor","variant","autoSize","elements","total","forEach","isGrouped","isOptionGroup","groupedOptions","_index","concat","hidden","splice","_StyledTypography","optionItem","child","avatarSize","MultiAvatar","Avatar","showXIcon","hasSelected","showMenu","Boolean","Number","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","classNames","onClick","_elementRef$current","click","$_css3","$_css4","$_css5","StyledChipWrapper","$autoSize","$open","StyledInput","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","SpinnerLoader","_StyledTrigger","onMouseDown","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","wrapperClick","wrapRef","endAdornment","InputAdornment","disablePointerEvents","IconButton","ConditionalWrapper","condition","wrap","children","Portal","Popper","anchorEl","placement","zIndex","clientWidth","strategy","RemoveScroll","noIsolation","allowPinchZoom","StyledComboBoxList","$width","$hide","Autocomplete","inputEl","displayName","_styledComponents","withConfig","componentId","p","Typography","StyledInputWrapper","Trigger"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACZ,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACZ,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA6f/C,CAAC"}
|
|
@@ -330,16 +330,13 @@ export const Autocomplete = _ref => {
|
|
|
330
330
|
});
|
|
331
331
|
}, [filter, flatOptions, toggleSelected, handleDefaultOptionChange, handleEmpty, hover, showAddNew, showDefaultOption]);
|
|
332
332
|
useEffect(() => {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
}
|
|
333
|
+
var _inputEl$current2;
|
|
334
|
+
const listenerTarget = (_inputEl$current2 = inputEl == null ? void 0 : inputEl.current) != null ? _inputEl$current2 : document;
|
|
335
|
+
listenerTarget.addEventListener("input", handleInputChange);
|
|
336
|
+
listenerTarget.addEventListener("keydown", handleOnKeyDown);
|
|
338
337
|
return () => {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
inputRef.removeEventListener("keydown", handleOnKeyDown);
|
|
342
|
-
}
|
|
338
|
+
listenerTarget.removeEventListener("input", handleInputChange);
|
|
339
|
+
listenerTarget.removeEventListener("keydown", handleOnKeyDown);
|
|
343
340
|
};
|
|
344
341
|
}, [handleInputChange, handleOnKeyDown, inputEl]);
|
|
345
342
|
const isDefaultOptionSelected = useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","handleKeyboardMovement","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteScrollShadow","highlightText","Option","StyledOption","OptionGroup","isOptionGroup","item","options","undefined","Autocomplete","_ref","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","mixedOptions","itemRef","listRef","selectedOptions","Array","isArray","handleSort","opts","_opts$","isGrouped","sortOptions","a","b","aSelected","includes","id","bSelected","aMixed","bMixed","map","group","sortedGroupOptions","sort","sortList","_options$","sortedOptions","localeCompare","sortedList","hover","setHover","by","filter","setFilter","handleEmpty","e","button","_inputEl$current","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","ref","key","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","checked","renderOptions","onChange","onClick","className","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","offsetTop","handleOnKeyDown","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","$isHidden","_ref2","onScroll","onMouseLeave","autoHeight","displayName","_styled","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Mixed options values */\n mixedOptions?: (string | number)[];\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n mixedOptions = [],\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n const sortOptions = (a, b) => {\n const aSelected = selectedOptions.includes(a.id);\n const bSelected = selectedOptions.includes(b.id);\n const aMixed = mixedOptions.includes(a.id);\n const bMixed = mixedOptions.includes(b.id);\n\n if (aSelected && !bSelected) {\n return -1;\n }\n if (!aSelected && bSelected) {\n return 1;\n }\n if (aMixed && !bMixed) {\n return -1;\n }\n if (!aMixed && bMixed) {\n return 1;\n }\n return 0;\n };\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort(sortOptions);\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort(sortOptions);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n mixedOptions,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","handleKeyboardMovement","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteScrollShadow","highlightText","Option","StyledOption","OptionGroup","isOptionGroup","item","options","undefined","Autocomplete","_ref","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","mixedOptions","itemRef","listRef","selectedOptions","Array","isArray","handleSort","opts","_opts$","isGrouped","sortOptions","a","b","aSelected","includes","id","bSelected","aMixed","bMixed","map","group","sortedGroupOptions","sort","sortList","_options$","sortedOptions","localeCompare","sortedList","hover","setHover","by","filter","setFilter","handleEmpty","e","button","_inputEl$current","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","ref","key","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","checked","renderOptions","onChange","onClick","className","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","offsetTop","handleOnKeyDown","_inputEl$current2","listenerTarget","document","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","$isHidden","_ref2","onScroll","onMouseLeave","autoHeight","displayName","_styled","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Mixed options values */\n mixedOptions?: (string | number)[];\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n mixedOptions = [],\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n const sortOptions = (a, b) => {\n const aSelected = selectedOptions.includes(a.id);\n const bSelected = selectedOptions.includes(b.id);\n const aMixed = mixedOptions.includes(a.id);\n const bMixed = mixedOptions.includes(b.id);\n\n if (aSelected && !bSelected) {\n return -1;\n }\n if (!aSelected && bSelected) {\n return 1;\n }\n if (aMixed && !bMixed) {\n return -1;\n }\n if (!aMixed && bMixed) {\n return 1;\n }\n return 0;\n };\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort(sortOptions);\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort(sortOptions);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n mixedOptions,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const listenerTarget = inputEl?.current ?? document;\n listenerTarget.addEventListener(\"input\", handleInputChange);\n listenerTarget.addEventListener(\"keydown\", handleOnKeyDown);\n return () => {\n listenerTarget.removeEventListener(\"input\", handleInputChange);\n listenerTarget.removeEventListener(\"keydown\", handleOnKeyDown);\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { Variant, ITypographyProps } from "../Typography/Typography";
|
|
|
4
4
|
export interface ChipProps {
|
|
5
5
|
label: string;
|
|
6
6
|
onClose?: React.MouseEventHandler<HTMLButtonElement>;
|
|
7
|
-
|
|
7
|
+
startAdornment?: ReactNode;
|
|
8
8
|
size?: InputSize;
|
|
9
9
|
color?: string;
|
|
10
10
|
backgroundColor?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAEL,OAAO,EACP,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAEL,OAAO,EACP,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,eAAO,MAAM,IAAI,sMA2DhB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { ChipCloseIcon, ChipContainer, ChipTrigger } from "./Styles";
|
|
|
4
4
|
import { Typography } from "../Typography/Typography";
|
|
5
5
|
export const Chip = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
6
6
|
let {
|
|
7
|
-
|
|
7
|
+
startAdornment,
|
|
8
8
|
label,
|
|
9
9
|
onClose,
|
|
10
10
|
size = "regular",
|
|
@@ -36,7 +36,7 @@ export const Chip = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
36
36
|
color: color,
|
|
37
37
|
backgroundColor: backgroundColor,
|
|
38
38
|
"data-testid": "chip-container"
|
|
39
|
-
}),
|
|
39
|
+
}), startAdornment, /*#__PURE__*/React.createElement(Typography, _extends({
|
|
40
40
|
variant: _variant,
|
|
41
41
|
"data-testid": "chip-typography"
|
|
42
42
|
}, typographyProps), label), showClose ? /*#__PURE__*/React.createElement(ChipTrigger, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","names":["React","useMemo","ChipCloseIcon","ChipContainer","ChipTrigger","Typography","Chip","forwardRef","_ref","ref","
|
|
1
|
+
{"version":3,"file":"Chip.js","names":["React","useMemo","ChipCloseIcon","ChipContainer","ChipTrigger","Typography","Chip","forwardRef","_ref","ref","startAdornment","label","onClose","size","color","backgroundColor","closeClassName","variant","typographyProps","rest","showClose","_variant","createElement","_extends","onClick","className","fill","displayName"],"sources":["../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\n\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport {\n Typography,\n Variant,\n ITypographyProps,\n} from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n startAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n variant?: Variant;\n typographyProps?: ITypographyProps;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n startAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n variant,\n typographyProps,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const _variant = useMemo(() => {\n if (typeof variant !== \"undefined\") {\n return variant;\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [variant, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n size={size}\n showClose={showClose}\n color={color}\n backgroundColor={backgroundColor}\n data-testid=\"chip-container\"\n >\n {startAdornment}\n <Typography\n variant={_variant}\n data-testid=\"chip-typography\"\n {...typographyProps}\n >\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger size={size} onClick={onClose} className={closeClassName}>\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAeC,OAAO,QAAQ,OAAO;AAEjD,SAASC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAQ,UAAU;AAEpE,SACEC,UAAU,QAGL,0BAA0B;AAcjC,OAAO,MAAMC,IAAI,gBAAGN,KAAK,CAACO,UAAU,CAIlC,CAAAC,IAAA,EAaEC,GAAG,KACA;EAAA,IAbH;IACEC,cAAc;IACdC,KAAK;IACLC,OAAO;IACPC,IAAI,GAAG,SAAS;IAChBC,KAAK;IACLC,eAAe;IACfC,cAAc;IACdC,OAAO;IACPC,eAAe;IACf,GAAGC;EACL,CAAC,GAAAX,IAAA;EAGD,MAAMY,SAAS,GAAG,OAAOR,OAAO,KAAK,UAAU;EAC/C,MAAMS,QAAQ,GAAGpB,OAAO,CAAC,MAAM;IAC7B,IAAI,OAAOgB,OAAO,KAAK,WAAW,EAAE;MAClC,OAAOA,OAAO;IAChB;IACA,QAAQJ,IAAI;MACV,KAAK,SAAS;QACZ,OAAO,QAAQ;MACjB,KAAK,KAAK;QACR,OAAO,QAAQ;MACjB;QACE,OAAO,WAAW;IACtB;EACF,CAAC,EAAE,CAACI,OAAO,EAAEJ,IAAI,CAAC,CAAC;EACnB,oBACEb,KAAA,CAAAsB,aAAA,CAACnB,aAAa,EAAAoB,QAAA,KACRJ,IAAI;IACRV,GAAG,EAAEA,GAAI;IACTI,IAAI,EAAEA,IAAK;IACXO,SAAS,EAAEA,SAAU;IACrBN,KAAK,EAAEA,KAAM;IACbC,eAAe,EAAEA,eAAgB;IACjC,eAAY;EAAgB,IAE3BL,cAAc,eACfV,KAAA,CAAAsB,aAAA,CAACjB,UAAU,EAAAkB,QAAA;IACTN,OAAO,EAAEI,QAAS;IAClB,eAAY;EAAiB,GACzBH,eAAe,GAElBP,KACS,CAAC,EACZS,SAAS,gBACRpB,KAAA,CAAAsB,aAAA,CAAClB,WAAW;IAACS,IAAI,EAAEA,IAAK;IAACW,OAAO,EAAEZ,OAAQ;IAACa,SAAS,EAAET;EAAe,gBACnEhB,KAAA,CAAAsB,aAAA,CAACpB,aAAa;IAACwB,IAAI,EAAEZ,KAAK,GAAGA,KAAK,GAAG;EAAe,CAAE,CAC3C,CAAC,GACZ,IACS,CAAC;AAEpB,CACF,CAAC;AAEDR,IAAI,CAACqB,WAAW,GAAG,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Styles.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAQxC,eAAO,MAAM,aAAa;eAAgD,OAAO;
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Styles.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAQxC,eAAO,MAAM,aAAa;eAAgD,OAAO;SAsEhF,CAAC;AAIF,eAAO,MAAM,SAAS,qEAKrB,CAAC;AAIF,eAAO,MAAM,WAAW,4SAqCvB,CAAC;AAIF,eAAO,MAAM,aAAa,6MAEzB,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { StyledTypography } from "../Typography/Styles";
|
|
|
9
9
|
export const ChipContainer = styled.div.withConfig({
|
|
10
10
|
displayName: "Styles__ChipContainer",
|
|
11
11
|
componentId: "sc-7s0bd1-0"
|
|
12
|
-
})(["align-items:center;border-radius:0.25rem;display:flex;height:1.5rem;max-width:220px;overflow:hidden;padding-left:0.375rem;", " ", " background-color:var(--color-theme-400);color:var(--color-theme-900);font-size:0.875rem;font-weight:400;letter-spacing:0.02em;line-height:1.375;", "{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, StyledTypography, _ref => {
|
|
12
|
+
})(["align-items:center;border-radius:0.25rem;display:flex;height:1.5rem;max-width:220px;overflow:hidden;padding-left:0.375rem;", " ", " background-color:var(--color-theme-400);color:var(--color-theme-900);font-size:0.875rem;font-weight:400;letter-spacing:0.02em;line-height:1.375;", "{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}", " ", " ", " ", " ", " ", " ", ""], FontStyle, BoxSizingStyle, StyledTypography, _ref => {
|
|
13
13
|
let {
|
|
14
14
|
color
|
|
15
15
|
} = _ref;
|
|
@@ -19,7 +19,7 @@ export const ChipContainer = styled.div.withConfig({
|
|
|
19
19
|
backgroundColor
|
|
20
20
|
} = _ref2;
|
|
21
21
|
return backgroundColor && css(["background-color:", ";"], backgroundColor);
|
|
22
|
-
}, props => props.showClose ? null : css(["padding-right:0.375rem;"]), props => props.size === "regular" && css(["height:24px;"]), props => props.size === "small" && css(["height:18px;"]), props => props.size === "big" && css(["height:30px;"]));
|
|
22
|
+
}, props => props.showClose ? null : css(["padding-right:0.375rem;"]), props => props.size === "regular" && css(["height:24px;"]), props => props.size === "small" && css(["height:18px;"]), props => props.size === "big" && css(["height:30px;"]), props => props.size === "biggest" && css(["height:40px;"]));
|
|
23
23
|
ChipContainer.displayName = "ChipContainer";
|
|
24
24
|
export const ChipLabel = styled.span.withConfig({
|
|
25
25
|
displayName: "Styles__ChipLabel",
|
|
@@ -29,7 +29,7 @@ ChipLabel.displayName = "ChipLabel";
|
|
|
29
29
|
export const ChipTrigger = styled(Trigger).withConfig({
|
|
30
30
|
displayName: "Styles__ChipTrigger",
|
|
31
31
|
componentId: "sc-7s0bd1-2"
|
|
32
|
-
})(["align-items:center;display:flex;justify-content:center;margin-left:0.125rem;&:hover{background-color:var(--color-theme-transparent-400);}", " ", " ", ""], props => props.size === "regular" && css(["height:24px;width:24px;"]), props => props.size === "small" && css(["height:18px;width:18px;"]), props => props.size === "big" && css(["height:30px;width:30px;"]));
|
|
32
|
+
})(["align-items:center;display:flex;justify-content:center;margin-left:0.125rem;&:hover{background-color:var(--color-theme-transparent-400);}", " ", " ", " ", ""], props => props.size === "regular" && css(["height:24px;width:24px;"]), props => props.size === "small" && css(["height:18px;width:18px;"]), props => props.size === "big" && css(["height:30px;width:30px;"]), props => props.size === "biggest" && css(["height:40px;width:40px;"]));
|
|
33
33
|
ChipTrigger.displayName = "ChipTrigger";
|
|
34
34
|
export const ChipCloseIcon = styled(CloseSmallIcon).withConfig({
|
|
35
35
|
displayName: "Styles__ChipCloseIcon",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","CloseSmallIcon","Trigger","StyledTypography","ChipContainer","div","withConfig","displayName","componentId","_ref","color","_ref2","backgroundColor","props","showClose","size","ChipLabel","span","ChipTrigger","ChipCloseIcon"],"sources":["../../../../src/components/Chip/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport type { ChipProps } from \"./Chip\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { Trigger } from \"../Trigger\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\n// prettier-ignore\nexport const ChipContainer = styled.div<Partial<ChipProps> & { showClose: boolean }>`\n align-items: center;\n border-radius: 0.25rem;\n display: flex;\n height: 1.5rem;\n max-width: 220px;\n overflow: hidden;\n padding-left: 0.375rem;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n line-height: 1.375;\n\n ${StyledTypography} {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ${({ color }) =>\n color &&\n css`\n ${StyledTypography} {\n color: ${color};\n }\n `}\n\n ${({ backgroundColor }) =>\n backgroundColor &&\n css`\n background-color: ${backgroundColor};\n `}\n\n ${(props) =>\n props.showClose\n ? null\n : css`\n padding-right: 0.375rem;\n `}\n\n ${(props) =>\n props.size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 30px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<Pick<ChipProps, \"size\">>`\n align-items: center;\n display: flex;\n justify-content: center;\n margin-left: 0.125rem;\n\n &:hover {\n background-color: var(--color-theme-transparent-400);\n }\n\n ${(props) =>\n props.size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n color: var(--color-theme-700);\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,gBAAgB,QAAQ,sBAAsB;;AAEvD;AACA,OAAO,MAAMC,aAAa,GAAGP,MAAM,CAACQ,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","CloseSmallIcon","Trigger","StyledTypography","ChipContainer","div","withConfig","displayName","componentId","_ref","color","_ref2","backgroundColor","props","showClose","size","ChipLabel","span","ChipTrigger","ChipCloseIcon"],"sources":["../../../../src/components/Chip/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport type { ChipProps } from \"./Chip\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { Trigger } from \"../Trigger\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\n// prettier-ignore\nexport const ChipContainer = styled.div<Partial<ChipProps> & { showClose: boolean }>`\n align-items: center;\n border-radius: 0.25rem;\n display: flex;\n height: 1.5rem;\n max-width: 220px;\n overflow: hidden;\n padding-left: 0.375rem;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n line-height: 1.375;\n\n ${StyledTypography} {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ${({ color }) =>\n color &&\n css`\n ${StyledTypography} {\n color: ${color};\n }\n `}\n\n ${({ backgroundColor }) =>\n backgroundColor &&\n css`\n background-color: ${backgroundColor};\n `}\n\n ${(props) =>\n props.showClose\n ? null\n : css`\n padding-right: 0.375rem;\n `}\n\n ${(props) =>\n props.size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 30px;\n `}\n\n ${(props) =>\n props.size === \"biggest\" &&\n css`\n height: 40px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<Pick<ChipProps, \"size\">>`\n align-items: center;\n display: flex;\n justify-content: center;\n margin-left: 0.125rem;\n\n &:hover {\n background-color: var(--color-theme-transparent-400);\n }\n\n ${(props) =>\n props.size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n\n ${(props) =>\n props.size === \"biggest\" &&\n css`\n height: 40px;\n width: 40px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n color: var(--color-theme-700);\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,gBAAgB,QAAQ,sBAAsB;;AAEvD;AACA,OAAO,MAAMC,aAAa,GAAGP,MAAM,CAACQ,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sYASnCR,SAAS,EACTD,cAAc,EASdI,gBAAgB,EAOhBM,IAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAAA,OACVC,KAAK,IACLZ,GAAG,wBACCK,gBAAgB,EACPO,KAAK,CAEjB;AAAA,GAEDC,KAAA;EAAA,IAAC;IAAEC;EAAgB,CAAC,GAAAD,KAAA;EAAA,OACpBC,eAAe,IACfd,GAAG,6BACmBc,eAAe,CACpC;AAAA,GAEAC,KAAK,IACNA,KAAK,CAACC,SAAS,GACX,IAAI,GACJhB,GAAG,6BAEF,EAEJe,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,SAAS,IACxBjB,GAAG,kBAEF,EAEAe,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,OAAO,IACtBjB,GAAG,kBAEF,EAEAe,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,KAAK,IACpBjB,GAAG,kBAEF,EAEEe,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,SAAS,IACxBjB,GAAG,kBAEF,CACN;AAEDM,aAAa,CAACG,WAAW,GAAG,eAAe;AAE3C,OAAO,MAAMS,SAAS,GAAGnB,MAAM,CAACoB,IAAI,CAAAX,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6EAKnC;AAEDQ,SAAS,CAACT,WAAW,GAAG,WAAW;AAEnC,OAAO,MAAMW,WAAW,GAAGrB,MAAM,CAACK,OAAO,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qKAUrCK,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,SAAS,IACxBjB,GAAG,6BAGF,EAEAe,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,OAAO,IACtBjB,GAAG,6BAGF,EAEAe,KAAK,IACNA,KAAK,CAACE,IAAI,KAAK,KAAK,IACpBjB,GAAG,6BAGF,EAEEe,KAAK,IACRA,KAAK,CAACE,IAAI,KAAK,SAAS,IACxBjB,GAAG,6BAGF,CACJ;AAEDoB,WAAW,CAACX,WAAW,GAAG,aAAa;AAEvC,OAAO,MAAMY,aAAa,GAAGtB,MAAM,CAACI,cAAc,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qCAElD;AAEDW,aAAa,CAACZ,WAAW,GAAG,eAAe"}
|
|
@@ -190,7 +190,7 @@ export const ComboBox = _ref => {
|
|
|
190
190
|
avatarProps.size = 14;
|
|
191
191
|
break;
|
|
192
192
|
}
|
|
193
|
-
const
|
|
193
|
+
const startAdornment = option.image ? /*#__PURE__*/React.createElement(_StyledAvatar, _extends({
|
|
194
194
|
url: option.image
|
|
195
195
|
}, avatarProps, {
|
|
196
196
|
$_css: {
|
|
@@ -220,7 +220,7 @@ export const ComboBox = _ref => {
|
|
|
220
220
|
}
|
|
221
221
|
return /*#__PURE__*/React.createElement(Chip, {
|
|
222
222
|
className: "c-combo-box-chip",
|
|
223
|
-
|
|
223
|
+
startAdornment: startAdornment,
|
|
224
224
|
label: option.name,
|
|
225
225
|
key: index,
|
|
226
226
|
backgroundColor: option.color,
|