@activecollab/components 1.0.249 → 1.0.250

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.
@@ -29,6 +29,7 @@ var _helpers = require("../../helpers");
29
29
  var _ConditionWrapper = require("../../helpers/ConditionWrapper/ConditionWrapper");
30
30
  var _classnames = _interopRequireDefault(require("classnames"));
31
31
  var _useIsFirstRender = require("../../hooks/useIsFirstRender");
32
+ var _MultiAvatar = require("../MultiAvatar");
32
33
  var _excluded = ["options", "selected", "loading", "loadingText", "onChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "scrollWrapper", "onClose", "onClear"];
33
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
35
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -292,6 +293,31 @@ var ComboBox = function ComboBox(_ref) {
292
293
  variant: size === "small" ? "Caption 1" : size === "regular" ? "Body 2" : "Body 1"
293
294
  }, typeof hiddenNumberText === "function" ? hiddenNumberText(_hidden) : "+".concat(_hidden)));
294
295
  }
296
+ if (type === "single" && selected) {
297
+ var optionItem;
298
+ options.forEach(function (option) {
299
+ if ((0, _Autocomplete2.isOptionGroup)(option)) {
300
+ optionItem = option.options.find(function (child) {
301
+ return child.id === selected;
302
+ });
303
+ } else if (!optionItem && option.id === selected) {
304
+ optionItem = option;
305
+ }
306
+ });
307
+ if (optionItem && optionItem.image) {
308
+ var avatarSize = size === "big" ? 22 : size === "regular" ? 18 : 14;
309
+ if (Array.isArray(optionItem.image)) {
310
+ return /*#__PURE__*/_react.default.createElement(_MultiAvatar.MultiAvatar, {
311
+ url: optionItem.image,
312
+ size: avatarSize
313
+ });
314
+ }
315
+ return /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, {
316
+ url: optionItem.image,
317
+ size: avatarSize
318
+ });
319
+ }
320
+ }
295
321
  return undefined;
296
322
  }, [type, selected, options, open, limitChips, hiddenNumberText, renderChipAdornment, size]);
297
323
  var showXIcon = Array.isArray(selected) && type === "multiple" && selected.length > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","prop","selectedName","useMemo","value","map","v","find","q","id","name","useState","setValue","handleOnChange","useCallback","e","target","childNode","useRef","elementRef","handleRef","useForkRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","current","contains","handleOnKeyDown","key","stopPropagation","useEffect","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","isOptionGroup","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","classNames","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\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}\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 ...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 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 if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [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) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [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 (type === \"multiple\") {\n onChange?.([]);\n onClear?.();\n } else {\n onChange?.(\"\");\n onClear?.();\n }\n\n setOpen(false);\n },\n [type, onChange, onClear]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [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=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\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 return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\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={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComboBox.js","names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","prop","selectedName","useMemo","value","map","v","find","q","id","name","useState","setValue","handleOnChange","useCallback","e","target","childNode","useRef","elementRef","handleRef","useForkRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","useIsFirstRender","useOnClickOutside","current","contains","handleOnKeyDown","key","stopPropagation","useEffect","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","isOptionGroup","push","groupedOptions","o","_index","hidden","splice","optionItem","child","avatarSize","showXIcon","hasSelected","classNames","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { MultiAvatar } from \"../MultiAvatar\";\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n}\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 ...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 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 if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [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) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [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 (type === \"multiple\") {\n onChange?.([]);\n onClear?.();\n } else {\n onChange?.(\"\");\n onClear?.();\n }\n\n setOpen(false);\n },\n [type, onChange, onClear]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [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=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\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={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","names":["Option","forwardRef","ref","id","name","hover","className","renderOption","onMouseEnter","onClick","handleOnMouseEnter","useCallback","classnames","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={name}\n onMouseEnter={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":";;;;;;;AAAA;AAOA;AACA;AAAwC;AAAA;AAAA;AA4BjC,IAAMA,MAAM,gBAAG,IAAAC,iBAAU,EAC9B,gBAUEC,GAAuB,EACpB;EAAA,IATDC,EAAE,QAAFA,EAAE;IACFC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,YAAY,QAAZA,YAAY;IACZC,YAAY,QAAZA,YAAY;IAAA,oBACZC,OAAO;IAAPA,OAAO,6BAAG;MAAA,OAAM,IAAI;IAAA;EAItB,IAAMC,kBAAkB,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAC3C,IAAIH,YAAY,EAAE;MAChBA,YAAY,CAACL,EAAE,CAAC;IAClB;EACF,CAAC,EAAE,CAACK,YAAY,EAAEL,EAAE,CAAC,CAAC;EAEtB,oBACE,6BAAC,oBAAY;IACX,GAAG,EAAEE,KAAK,GAAGH,GAAG,GAAG,IAAK;IACxB,KAAK,EAAEE,IAAK;IACZ,YAAY,EAAEM,kBAAmB;IACjC,SAAS,EAAE,IAAAE,mBAAU,EAAC,UAAU,EAAEN,SAAS,CAAE;IAC7C,KAAK,EAAED,KAAM;IACb,OAAO,EAAEI;EAAQ,GAEhBF,YAAY,GAAGA,YAAY,GAAGH,IAAI,CACtB;AAEnB,CAAC,CACF;AAAC;AAEFJ,MAAM,CAACa,WAAW,GAAG,QAAQ"}
1
+ {"version":3,"file":"Option.js","names":["Option","forwardRef","ref","id","name","hover","className","renderOption","onMouseEnter","onClick","handleOnMouseEnter","useCallback","classnames","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={name}\n onMouseEnter={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":";;;;;;;AAAA;AAOA;AACA;AAAwC;AAAA;AAAA;AAgCjC,IAAMA,MAAM,gBAAG,IAAAC,iBAAU,EAC9B,gBAUEC,GAAuB,EACpB;EAAA,IATDC,EAAE,QAAFA,EAAE;IACFC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,YAAY,QAAZA,YAAY;IACZC,YAAY,QAAZA,YAAY;IAAA,oBACZC,OAAO;IAAPA,OAAO,6BAAG;MAAA,OAAM,IAAI;IAAA;EAItB,IAAMC,kBAAkB,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAC3C,IAAIH,YAAY,EAAE;MAChBA,YAAY,CAACL,EAAE,CAAC;IAClB;EACF,CAAC,EAAE,CAACK,YAAY,EAAEL,EAAE,CAAC,CAAC;EAEtB,oBACE,6BAAC,oBAAY;IACX,GAAG,EAAEE,KAAK,GAAGH,GAAG,GAAG,IAAK;IACxB,KAAK,EAAEE,IAAK;IACZ,YAAY,EAAEM,kBAAmB;IACjC,SAAS,EAAE,IAAAE,mBAAU,EAAC,UAAU,EAAEN,SAAS,CAAE;IAC7C,KAAK,EAAED,KAAM;IACb,OAAO,EAAEI;EAAQ,GAEhBF,YAAY,GAAGA,YAAY,GAAGH,IAAI,CACtB;AAEnB,CAAC,CACF;AAAC;AAEFJ,MAAM,CAACa,WAAW,GAAG,QAAQ"}
@@ -7,6 +7,7 @@ exports.OptionContent = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _Avatar = require("../../Avatar/Avatar");
9
9
  var _Styles = require("./Styles");
10
+ var _MultiAvatar = require("../../MultiAvatar");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  var OptionContent = function OptionContent(_ref) {
12
13
  var imageUrl = _ref.imageUrl,
@@ -17,10 +18,13 @@ var OptionContent = function OptionContent(_ref) {
17
18
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionContentWrapper, null, imageUrl || color ? /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionIndicator, {
18
19
  className: "c-option--label",
19
20
  backgroundColor: color
20
- }, imageUrl ? /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, {
21
+ }, imageUrl ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Array.isArray(imageUrl) ? /*#__PURE__*/_react.default.createElement(_MultiAvatar.MultiAvatar, {
22
+ className: "c-option--multi-avatar",
23
+ url: imageUrl
24
+ }) : /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, {
21
25
  className: "c-option--avatar",
22
26
  url: imageUrl
23
- }) : null) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionText, {
27
+ })) : null) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionText, {
24
28
  className: "c-option--text",
25
29
  textColor: textColor
26
30
  }, name), additionalInfo ? /*#__PURE__*/_react.default.createElement(_Styles.StyledAdditionalInfo, null, additionalInfo) : null);
@@ -1 +1 @@
1
- {"version":3,"file":"OptionContent.js","names":["OptionContent","imageUrl","color","textColor","name","additionalInfo","displayName"],"sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\n\ninterface OptionContentProps {\n imageUrl?: string;\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAKkB;AAUX,IAAMA,aAAqC,GAAG,SAAxCA,aAAqC,OAM5C;EAAA,IALJC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,IAAI,QAAJA,IAAI;IACJC,cAAc,QAAdA,cAAc;EAEd,oBACE,6BAAC,kCAA0B,QACxBJ,QAAQ,IAAIC,KAAK,gBAChB,6BAAC,6BAAqB;IACpB,SAAS,EAAC,iBAAiB;IAC3B,eAAe,EAAEA;EAAM,GAEtBD,QAAQ,gBACP,6BAAC,cAAM;IAAC,SAAS,EAAC,kBAAkB;IAAC,GAAG,EAAEA;EAAS,EAAG,GACpD,IAAI,CACc,GACtB,IAAI,eACR,6BAAC,wBAAgB;IAAC,SAAS,EAAC,gBAAgB;IAAC,SAAS,EAAEE;EAAU,GAC/DC,IAAI,CACY,EAClBC,cAAc,gBACb,6BAAC,4BAAoB,QAAEA,cAAc,CAAwB,GAC3D,IAAI,CACmB;AAEjC,CAAC;AAAC;AAEFL,aAAa,CAACM,WAAW,GAAG,eAAe"}
1
+ {"version":3,"file":"OptionContent.js","names":["OptionContent","imageUrl","color","textColor","name","additionalInfo","Array","isArray","displayName"],"sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\nimport { MultiAvatar } from \"../../MultiAvatar\";\n\ninterface OptionContentProps {\n imageUrl?: string | string[];\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <>\n {Array.isArray(imageUrl) ? (\n <MultiAvatar\n className=\"c-option--multi-avatar\"\n url={imageUrl}\n />\n ) : (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n )}\n </>\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAMA;AAAgD;AAUzC,IAAMA,aAAqC,GAAG,SAAxCA,aAAqC,OAM5C;EAAA,IALJC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,IAAI,QAAJA,IAAI;IACJC,cAAc,QAAdA,cAAc;EAEd,oBACE,6BAAC,kCAA0B,QACxBJ,QAAQ,IAAIC,KAAK,gBAChB,6BAAC,6BAAqB;IACpB,SAAS,EAAC,iBAAiB;IAC3B,eAAe,EAAEA;EAAM,GAEtBD,QAAQ,gBACP,4DACGK,KAAK,CAACC,OAAO,CAACN,QAAQ,CAAC,gBACtB,6BAAC,wBAAW;IACV,SAAS,EAAC,wBAAwB;IAClC,GAAG,EAAEA;EAAS,EACd,gBAEF,6BAAC,cAAM;IAAC,SAAS,EAAC,kBAAkB;IAAC,GAAG,EAAEA;EAAS,EACpD,CACA,GACD,IAAI,CACc,GACtB,IAAI,eACR,6BAAC,wBAAgB;IAAC,SAAS,EAAC,gBAAgB;IAAC,SAAS,EAAEE;EAAU,GAC/DC,IAAI,CACY,EAClBC,cAAc,gBACb,6BAAC,4BAAoB,QAAEA,cAAc,CAAwB,GAC3D,IAAI,CACmB;AAEjC,CAAC;AAAC;AAEFL,aAAa,CAACQ,WAAW,GAAG,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAOH,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAWhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAe3C,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAClD;IACD,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EACtC,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,KAClB,GAAG,CAAC,OAAO,CAAC;IACjB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,CAievC,CAAC"}
1
+ {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAOH,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAWhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgB3C,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAClD;IACD,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EACtC,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,KAClB,GAAG,CAAC,OAAO,CAAC;IACjB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,CAmfvC,CAAC"}
@@ -25,6 +25,7 @@ import { Portal } from "../../helpers";
25
25
  import { ConditionalWrapper } from "../../helpers/ConditionWrapper/ConditionWrapper";
26
26
  import classNames from "classnames";
27
27
  import { useIsFirstRender } from "../../hooks/useIsFirstRender";
28
+ import { MultiAvatar } from "../MultiAvatar";
28
29
  export var ComboBox = function ComboBox(_ref) {
29
30
  var _comboBoxRef$current2, _comboBoxRef$current3;
30
31
  var _ref$options = _ref.options,
@@ -273,6 +274,31 @@ export var ComboBox = function ComboBox(_ref) {
273
274
  variant: size === "small" ? "Caption 1" : size === "regular" ? "Body 2" : "Body 1"
274
275
  }, typeof hiddenNumberText === "function" ? hiddenNumberText(_hidden) : "+" + _hidden));
275
276
  }
277
+ if (type === "single" && selected) {
278
+ var optionItem;
279
+ options.forEach(function (option) {
280
+ if (isOptionGroup(option)) {
281
+ optionItem = option.options.find(function (child) {
282
+ return child.id === selected;
283
+ });
284
+ } else if (!optionItem && option.id === selected) {
285
+ optionItem = option;
286
+ }
287
+ });
288
+ if (optionItem && optionItem.image) {
289
+ var avatarSize = size === "big" ? 22 : size === "regular" ? 18 : 14;
290
+ if (Array.isArray(optionItem.image)) {
291
+ return /*#__PURE__*/React.createElement(MultiAvatar, {
292
+ url: optionItem.image,
293
+ size: avatarSize
294
+ });
295
+ }
296
+ return /*#__PURE__*/React.createElement(Avatar, {
297
+ url: optionItem.image,
298
+ size: avatarSize
299
+ });
300
+ }
301
+ }
276
302
  return undefined;
277
303
  }, [type, selected, options, open, limitChips, hiddenNumberText, renderChipAdornment, size]);
278
304
  var showXIcon = Array.isArray(selected) && type === "multiple" && selected.length > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RadioButton","Autocomplete","IconButton","isOptionGroup","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","InputAdornment","Checkbox","Chip","StyledInput","StyledInputWrapper","useOnClickOutside","Avatar","Trigger","Typography","Portal","ConditionalWrapper","classNames","useIsFirstRender","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\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}\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 ...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 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 if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [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) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [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 (type === \"multiple\") {\n onChange?.([]);\n onClear?.();\n } else {\n onChange?.(\"\");\n onClear?.();\n }\n\n setOpen(false);\n },\n [type, onChange, onClear]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [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=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\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 return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\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={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RadioButton","Autocomplete","IconButton","isOptionGroup","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","InputAdornment","Checkbox","Chip","StyledInput","StyledInputWrapper","useOnClickOutside","Avatar","Trigger","Typography","Portal","ConditionalWrapper","classNames","useIsFirstRender","MultiAvatar","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","optionItem","child","avatarSize","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { MultiAvatar } from \"../MultiAvatar\";\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n}\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 ...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 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 if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [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) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [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 (type === \"multiple\") {\n onChange?.([]);\n onClear?.();\n } else {\n onChange?.(\"\");\n onClear?.();\n }\n\n setOpen(false);\n },\n [type, onChange, onClear]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [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=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\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={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
@@ -6,6 +6,10 @@ export interface IOptionItemProps {
6
6
  name: string;
7
7
  /** Additional info right-side of name */
8
8
  additionalInfo?: string;
9
+ /** image url for Avatar or MultiAvatar */
10
+ image?: string | string[];
11
+ /** Hex color for label */
12
+ color?: string;
9
13
  }
10
14
  interface IAdditionalOptionItemProps {
11
15
  /** Value of option */
@@ -1 +1 @@
1
- {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/Option/Option.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,iBAAiB,EACjB,SAAS,EAGV,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,0BAA0B;IAClC,sBAAsB;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,qBAAqB;IACrB,OAAO,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,MAAM,kGAgClB,CAAC"}
1
+ {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/Option/Option.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,iBAAiB,EACjB,SAAS,EAGV,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,0BAA0B;IAClC,sBAAsB;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,qBAAqB;IACrB,OAAO,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,MAAM,kGAgClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","names":["React","forwardRef","useCallback","classnames","StyledOption","Option","ref","id","name","hover","className","renderOption","onMouseEnter","onClick","handleOnMouseEnter","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={name}\n onMouseEnter={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,UAAU,EAIVC,WAAW,QACN,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,UAAU;AA4BvC,OAAO,IAAMC,MAAM,gBAAGJ,UAAU,CAC9B,gBAUEK,GAAuB,EACpB;EAAA,IATDC,EAAE,QAAFA,EAAE;IACFC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,YAAY,QAAZA,YAAY;IACZC,YAAY,QAAZA,YAAY;IAAA,oBACZC,OAAO;IAAPA,OAAO,6BAAG;MAAA,OAAM,IAAI;IAAA;EAItB,IAAMC,kBAAkB,GAAGZ,WAAW,CAAC,YAAM;IAC3C,IAAIU,YAAY,EAAE;MAChBA,YAAY,CAACL,EAAE,CAAC;IAClB;EACF,CAAC,EAAE,CAACK,YAAY,EAAEL,EAAE,CAAC,CAAC;EAEtB,oBACE,oBAAC,YAAY;IACX,GAAG,EAAEE,KAAK,GAAGH,GAAG,GAAG,IAAK;IACxB,KAAK,EAAEE,IAAK;IACZ,YAAY,EAAEM,kBAAmB;IACjC,SAAS,EAAEX,UAAU,CAAC,UAAU,EAAEO,SAAS,CAAE;IAC7C,KAAK,EAAED,KAAM;IACb,OAAO,EAAEI;EAAQ,GAEhBF,YAAY,GAAGA,YAAY,GAAGH,IAAI,CACtB;AAEnB,CAAC,CACF;AAEDH,MAAM,CAACU,WAAW,GAAG,QAAQ"}
1
+ {"version":3,"file":"Option.js","names":["React","forwardRef","useCallback","classnames","StyledOption","Option","ref","id","name","hover","className","renderOption","onMouseEnter","onClick","handleOnMouseEnter","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledOption } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={name}\n onMouseEnter={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n {renderOption ? renderOption : name}\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,UAAU,EAIVC,WAAW,QACN,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,UAAU;AAgCvC,OAAO,IAAMC,MAAM,gBAAGJ,UAAU,CAC9B,gBAUEK,GAAuB,EACpB;EAAA,IATDC,EAAE,QAAFA,EAAE;IACFC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,YAAY,QAAZA,YAAY;IACZC,YAAY,QAAZA,YAAY;IAAA,oBACZC,OAAO;IAAPA,OAAO,6BAAG;MAAA,OAAM,IAAI;IAAA;EAItB,IAAMC,kBAAkB,GAAGZ,WAAW,CAAC,YAAM;IAC3C,IAAIU,YAAY,EAAE;MAChBA,YAAY,CAACL,EAAE,CAAC;IAClB;EACF,CAAC,EAAE,CAACK,YAAY,EAAEL,EAAE,CAAC,CAAC;EAEtB,oBACE,oBAAC,YAAY;IACX,GAAG,EAAEE,KAAK,GAAGH,GAAG,GAAG,IAAK;IACxB,KAAK,EAAEE,IAAK;IACZ,YAAY,EAAEM,kBAAmB;IACjC,SAAS,EAAEX,UAAU,CAAC,UAAU,EAAEO,SAAS,CAAE;IAC7C,KAAK,EAAED,KAAM;IACb,OAAO,EAAEI;EAAQ,GAEhBF,YAAY,GAAGA,YAAY,GAAGH,IAAI,CACtB;AAEnB,CAAC,CACF;AAEDH,MAAM,CAACU,WAAW,GAAG,QAAQ"}
@@ -1,6 +1,6 @@
1
1
  import { FC } from "react";
2
2
  interface OptionContentProps {
3
- imageUrl?: string;
3
+ imageUrl?: string | string[];
4
4
  color?: string;
5
5
  textColor?: string;
6
6
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OptionContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AASlC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA2BhD,CAAC"}
1
+ {"version":3,"file":"OptionContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAUlC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAoChD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { Avatar } from "../../Avatar/Avatar";
3
3
  import { StyledOptionIndicator, StyledOptionText, StyledAdditionalInfo, StyledOptionContentWrapper } from "./Styles";
4
+ import { MultiAvatar } from "../../MultiAvatar";
4
5
  export var OptionContent = function OptionContent(_ref) {
5
6
  var imageUrl = _ref.imageUrl,
6
7
  color = _ref.color,
@@ -10,10 +11,13 @@ export var OptionContent = function OptionContent(_ref) {
10
11
  return /*#__PURE__*/React.createElement(StyledOptionContentWrapper, null, imageUrl || color ? /*#__PURE__*/React.createElement(StyledOptionIndicator, {
11
12
  className: "c-option--label",
12
13
  backgroundColor: color
13
- }, imageUrl ? /*#__PURE__*/React.createElement(Avatar, {
14
+ }, imageUrl ? /*#__PURE__*/React.createElement(React.Fragment, null, Array.isArray(imageUrl) ? /*#__PURE__*/React.createElement(MultiAvatar, {
15
+ className: "c-option--multi-avatar",
16
+ url: imageUrl
17
+ }) : /*#__PURE__*/React.createElement(Avatar, {
14
18
  className: "c-option--avatar",
15
19
  url: imageUrl
16
- }) : null) : null, /*#__PURE__*/React.createElement(StyledOptionText, {
20
+ })) : null) : null, /*#__PURE__*/React.createElement(StyledOptionText, {
17
21
  className: "c-option--text",
18
22
  textColor: textColor
19
23
  }, name), additionalInfo ? /*#__PURE__*/React.createElement(StyledAdditionalInfo, null, additionalInfo) : null);
@@ -1 +1 @@
1
- {"version":3,"file":"OptionContent.js","names":["React","Avatar","StyledOptionIndicator","StyledOptionText","StyledAdditionalInfo","StyledOptionContentWrapper","OptionContent","imageUrl","color","textColor","name","additionalInfo","displayName"],"sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\n\ninterface OptionContentProps {\n imageUrl?: string;\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SACEC,qBAAqB,EACrBC,gBAAgB,EAChBC,oBAAoB,EACpBC,0BAA0B,QACrB,UAAU;AAUjB,OAAO,IAAMC,aAAqC,GAAG,SAAxCA,aAAqC,OAM5C;EAAA,IALJC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,IAAI,QAAJA,IAAI;IACJC,cAAc,QAAdA,cAAc;EAEd,oBACE,oBAAC,0BAA0B,QACxBJ,QAAQ,IAAIC,KAAK,gBAChB,oBAAC,qBAAqB;IACpB,SAAS,EAAC,iBAAiB;IAC3B,eAAe,EAAEA;EAAM,GAEtBD,QAAQ,gBACP,oBAAC,MAAM;IAAC,SAAS,EAAC,kBAAkB;IAAC,GAAG,EAAEA;EAAS,EAAG,GACpD,IAAI,CACc,GACtB,IAAI,eACR,oBAAC,gBAAgB;IAAC,SAAS,EAAC,gBAAgB;IAAC,SAAS,EAAEE;EAAU,GAC/DC,IAAI,CACY,EAClBC,cAAc,gBACb,oBAAC,oBAAoB,QAAEA,cAAc,CAAwB,GAC3D,IAAI,CACmB;AAEjC,CAAC;AAEDL,aAAa,CAACM,WAAW,GAAG,eAAe"}
1
+ {"version":3,"file":"OptionContent.js","names":["React","Avatar","StyledOptionIndicator","StyledOptionText","StyledAdditionalInfo","StyledOptionContentWrapper","MultiAvatar","OptionContent","imageUrl","color","textColor","name","additionalInfo","Array","isArray","displayName"],"sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\nimport { MultiAvatar } from \"../../MultiAvatar\";\n\ninterface OptionContentProps {\n imageUrl?: string | string[];\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <>\n {Array.isArray(imageUrl) ? (\n <MultiAvatar\n className=\"c-option--multi-avatar\"\n url={imageUrl}\n />\n ) : (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n )}\n </>\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAc,OAAO;AACjC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SACEC,qBAAqB,EACrBC,gBAAgB,EAChBC,oBAAoB,EACpBC,0BAA0B,QACrB,UAAU;AACjB,SAASC,WAAW,QAAQ,mBAAmB;AAU/C,OAAO,IAAMC,aAAqC,GAAG,SAAxCA,aAAqC,OAM5C;EAAA,IALJC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,IAAI,QAAJA,IAAI;IACJC,cAAc,QAAdA,cAAc;EAEd,oBACE,oBAAC,0BAA0B,QACxBJ,QAAQ,IAAIC,KAAK,gBAChB,oBAAC,qBAAqB;IACpB,SAAS,EAAC,iBAAiB;IAC3B,eAAe,EAAEA;EAAM,GAEtBD,QAAQ,gBACP,0CACGK,KAAK,CAACC,OAAO,CAACN,QAAQ,CAAC,gBACtB,oBAAC,WAAW;IACV,SAAS,EAAC,wBAAwB;IAClC,GAAG,EAAEA;EAAS,EACd,gBAEF,oBAAC,MAAM;IAAC,SAAS,EAAC,kBAAkB;IAAC,GAAG,EAAEA;EAAS,EACpD,CACA,GACD,IAAI,CACc,GACtB,IAAI,eACR,oBAAC,gBAAgB;IAAC,SAAS,EAAC,gBAAgB;IAAC,SAAS,EAAEE;EAAU,GAC/DC,IAAI,CACY,EAClBC,cAAc,gBACb,oBAAC,oBAAoB,QAAEA,cAAc,CAAwB,GAC3D,IAAI,CACmB;AAEjC,CAAC;AAEDL,aAAa,CAACQ,WAAW,GAAG,eAAe"}