@activecollab/components 1.0.324 → 1.0.326

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.
Files changed (63) hide show
  1. package/dist/cjs/components/ComboBox/ComboBox.js +3 -2
  2. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  3. package/dist/cjs/components/CounterButton/CounterButton.js +5 -1
  4. package/dist/cjs/components/CounterButton/CounterButton.js.map +1 -1
  5. package/dist/cjs/components/CounterButton/Styles.js +4 -2
  6. package/dist/cjs/components/CounterButton/Styles.js.map +1 -1
  7. package/dist/cjs/components/Filter/Filter.js +11 -4
  8. package/dist/cjs/components/Filter/Filter.js.map +1 -1
  9. package/dist/cjs/components/Icons/collection/Move.js +48 -0
  10. package/dist/cjs/components/Icons/collection/Move.js.map +1 -0
  11. package/dist/cjs/components/Icons/collection/index.js +7 -0
  12. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  13. package/dist/cjs/components/Input/Input.js +4 -2
  14. package/dist/cjs/components/Input/Input.js.map +1 -1
  15. package/dist/cjs/components/Toolbar/Toolbar.js +34 -0
  16. package/dist/cjs/components/Toolbar/Toolbar.js.map +1 -0
  17. package/dist/cjs/components/Toolbar/Toolbar.styles.js +14 -0
  18. package/dist/cjs/components/Toolbar/Toolbar.styles.js.map +1 -0
  19. package/dist/cjs/components/Toolbar/index.js +17 -0
  20. package/dist/cjs/components/Toolbar/index.js.map +1 -0
  21. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  22. package/dist/esm/components/ComboBox/ComboBox.js +3 -2
  23. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  24. package/dist/esm/components/CounterButton/CounterButton.d.ts +2 -0
  25. package/dist/esm/components/CounterButton/CounterButton.d.ts.map +1 -1
  26. package/dist/esm/components/CounterButton/CounterButton.js +5 -1
  27. package/dist/esm/components/CounterButton/CounterButton.js.map +1 -1
  28. package/dist/esm/components/CounterButton/Styles.d.ts.map +1 -1
  29. package/dist/esm/components/CounterButton/Styles.js +4 -2
  30. package/dist/esm/components/CounterButton/Styles.js.map +1 -1
  31. package/dist/esm/components/Filter/Filter.d.ts +8 -1
  32. package/dist/esm/components/Filter/Filter.d.ts.map +1 -1
  33. package/dist/esm/components/Filter/Filter.js +11 -4
  34. package/dist/esm/components/Filter/Filter.js.map +1 -1
  35. package/dist/esm/components/Icons/collection/Move.d.ts +23 -0
  36. package/dist/esm/components/Icons/collection/Move.d.ts.map +1 -0
  37. package/dist/esm/components/Icons/collection/Move.js +41 -0
  38. package/dist/esm/components/Icons/collection/Move.js.map +1 -0
  39. package/dist/esm/components/Icons/collection/index.d.ts +1 -0
  40. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  41. package/dist/esm/components/Icons/collection/index.js +1 -0
  42. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  43. package/dist/esm/components/Input/Input.d.ts +1 -0
  44. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  45. package/dist/esm/components/Input/Input.js +4 -2
  46. package/dist/esm/components/Input/Input.js.map +1 -1
  47. package/dist/esm/components/Toolbar/Toolbar.d.ts +10 -0
  48. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -0
  49. package/dist/esm/components/Toolbar/Toolbar.js +27 -0
  50. package/dist/esm/components/Toolbar/Toolbar.js.map +1 -0
  51. package/dist/esm/components/Toolbar/Toolbar.styles.d.ts +3 -0
  52. package/dist/esm/components/Toolbar/Toolbar.styles.d.ts.map +1 -0
  53. package/dist/esm/components/Toolbar/Toolbar.styles.js +6 -0
  54. package/dist/esm/components/Toolbar/Toolbar.styles.js.map +1 -0
  55. package/dist/esm/components/Toolbar/index.d.ts +2 -0
  56. package/dist/esm/components/Toolbar/index.d.ts.map +1 -0
  57. package/dist/esm/components/Toolbar/index.js +2 -0
  58. package/dist/esm/components/Toolbar/index.js.map +1 -0
  59. package/dist/index.js +66 -11
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.min.js +1 -1
  62. package/dist/index.min.js.map +1 -1
  63. package/package.json +1 -1
@@ -340,7 +340,7 @@ var ComboBox = function ComboBox(_ref) {
340
340
  className: (0, _classnames.default)("c-combo-box-input-wrapper", inputWrapperClassName),
341
341
  onClick: function onClick() {
342
342
  var _elementRef$current;
343
- (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.focus();
343
+ (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.click();
344
344
  },
345
345
  $_css3: autoSize === "auto" ? "auto" : undefined,
346
346
  $_css4: autoSize === "auto" && scrollWrapper ? "scroll" : undefined,
@@ -379,10 +379,11 @@ var ComboBox = function ComboBox(_ref) {
379
379
  }))))) : /*#__PURE__*/_react.default.createElement(_Styles.StyledComboBoxInput, {
380
380
  className: (0, _classnames.default)("c-combo-box-input", inputWrapperClassName),
381
381
  onBlur: handleBlur,
382
- onClick: onOpen,
382
+ wrapperClick: onOpen,
383
383
  onFocus: function onFocus() {
384
384
  setFocused(!focused);
385
385
  },
386
+ onClick: onOpen,
386
387
  wrapRef: comboBoxRef,
387
388
  ref: handleRef,
388
389
  value: loading && loadingText ? loadingText : value,
@@ -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","focused","setFocused","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 [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n }\n },\n [focused, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (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 setFocused(!focused);\n }, [focused, selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color=\"#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={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <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 onClick={onOpen}\n onFocus={() => {\n setFocused(!focused);\n }}\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","focused","setFocused","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","click","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 [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n }\n },\n [focused, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (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 setFocused(!focused);\n }, [focused, selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color=\"#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?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <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 wrapperClick={onOpen}\n onFocus={() => {\n setFocused(!focused);\n }}\n onClick={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n <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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"}
@@ -10,7 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _Tooltip = require("../Tooltip/Tooltip");
11
11
  var _CloseSmall = _interopRequireDefault(require("../Icons/collection/CloseSmall"));
12
12
  var _Styles = require("./Styles");
13
- var _excluded = ["label", "icon", "active", "counter", "tooltipText", "onClearAll", "className"];
13
+ var _excluded = ["label", "icon", "active", "counter", "tooltipText", "onClearAll", "className", "disabled"];
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  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); }
16
16
  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; }
@@ -26,11 +26,15 @@ var CounterButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
26
26
  tooltipText = _ref.tooltipText,
27
27
  onClearAll = _ref.onClearAll,
28
28
  className = _ref.className,
29
+ _ref$disabled = _ref.disabled,
30
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
29
31
  args = _objectWithoutProperties(_ref, _excluded);
30
32
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledCounterButtonWrapper, {
31
33
  ref: ref,
32
34
  className: className
33
35
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledCounterButton, _extends({
36
+ disabled: disabled,
37
+ "aria-disabled": disabled,
34
38
  className: (0, _classnames.default)("c-counter-button", {
35
39
  "c-counter-button__selected": counter
36
40
  })
@@ -1 +1 @@
1
- {"version":3,"file":"CounterButton.js","names":["CounterButton","forwardRef","ref","label","icon","active","counter","tooltipText","onClearAll","className","args","classNames","React","cloneElement","displayName"],"sources":["../../../../src/components/CounterButton/CounterButton.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport CloseSmallIcon from \"../Icons/collection/CloseSmall\";\nimport {\n StyledCounterButton,\n StyledCounterButtonCounter,\n StyledCounterButtonLabel,\n StyledCounterButtonReset,\n StyledCounterButtonWrapper,\n} from \"./Styles\";\n\nexport interface ICounterButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Icon */\n icon?: ReactElement;\n /** Number of applied filters */\n counter?: number;\n /** OnClearAll callback */\n onClearAll: (event?) => void;\n /** Tooltip content */\n tooltipText?: string;\n /** Applies passed classes */\n className?: string;\n}\n\nexport const CounterButton = forwardRef<HTMLDivElement, ICounterButtonProps>(\n (\n {\n label,\n icon,\n active,\n counter = 0,\n tooltipText,\n onClearAll,\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledCounterButtonWrapper ref={ref} className={className}>\n <StyledCounterButton\n className={classNames(\"c-counter-button\", {\n \"c-counter-button__selected\": counter,\n })}\n {...args}\n variant=\"text gray\"\n $active={counter > 0 || active}\n $selected={counter > 0}\n >\n {icon &&\n React.cloneElement(icon, {\n className: classNames(\"c-counter-button__icon\"),\n })}\n {label && (\n <StyledCounterButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-counter-button__label\"\n $active={counter > 0 || active}\n >\n {label}\n </StyledCounterButtonLabel>\n )}\n {counter > 0 ? (\n <StyledCounterButtonCounter className=\"c-counter-button__counter\">\n {counter}\n </StyledCounterButtonCounter>\n ) : null}\n </StyledCounterButton>\n {counter > 0 ? (\n <Tooltip\n title={`${tooltipText}`}\n popperTooltipClassName=\"z-index-1300\"\n >\n <StyledCounterButtonReset\n variant=\"text colored\"\n className=\"c-counter-button__reset\"\n onClick={onClearAll}\n >\n <CloseSmallIcon />\n </StyledCounterButtonReset>\n </Tooltip>\n ) : null}\n </StyledCounterButtonWrapper>\n );\n }\n);\n\nCounterButton.displayName = \"CounterButton\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAMkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBX,IAAMA,aAAa,gBAAG,IAAAC,iBAAU,EACrC,gBAWEC,GAAG,EACA;EAAA,IAVDC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,oBACNC,OAAO;IAAPA,OAAO,6BAAG,CAAC;IACXC,WAAW,QAAXA,WAAW;IACXC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIT,oBACE,6BAAC,kCAA0B;IAAC,GAAG,EAAER,GAAI;IAAC,SAAS,EAAEO;EAAU,gBACzD,6BAAC,2BAAmB;IAClB,SAAS,EAAE,IAAAE,mBAAU,EAAC,kBAAkB,EAAE;MACxC,4BAA4B,EAAEL;IAChC,CAAC;EAAE,GACCI,IAAI;IACR,OAAO,EAAC,WAAW;IACnB,OAAO,EAAEJ,OAAO,GAAG,CAAC,IAAID,MAAO;IAC/B,SAAS,EAAEC,OAAO,GAAG;EAAE,IAEtBF,IAAI,iBACHQ,cAAK,CAACC,YAAY,CAACT,IAAI,EAAE;IACvBK,SAAS,EAAE,IAAAE,mBAAU,EAAC,wBAAwB;EAChD,CAAC,CAAC,EACHR,KAAK,iBACJ,6BAAC,gCAAwB;IACvB,KAAK,EAAC,WAAW;IACjB,MAAM,EAAC,QAAQ;IACf,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEG,OAAO,GAAG,CAAC,IAAID;EAAO,GAE9BF,KAAK,CAET,EACAG,OAAO,GAAG,CAAC,gBACV,6BAAC,kCAA0B;IAAC,SAAS,EAAC;EAA2B,GAC9DA,OAAO,CACmB,GAC3B,IAAI,CACY,EACrBA,OAAO,GAAG,CAAC,gBACV,6BAAC,gBAAO;IACN,KAAK,YAAKC,WAAW,CAAG;IACxB,sBAAsB,EAAC;EAAc,gBAErC,6BAAC,gCAAwB;IACvB,OAAO,EAAC,cAAc;IACtB,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEC;EAAW,gBAEpB,6BAAC,mBAAc,OAAG,CACO,CACnB,GACR,IAAI,CACmB;AAEjC,CAAC,CACF;AAAC;AAEFR,aAAa,CAACc,WAAW,GAAG,eAAe"}
1
+ {"version":3,"file":"CounterButton.js","names":["CounterButton","forwardRef","ref","label","icon","active","counter","tooltipText","onClearAll","className","disabled","args","classNames","React","cloneElement","displayName"],"sources":["../../../../src/components/CounterButton/CounterButton.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport CloseSmallIcon from \"../Icons/collection/CloseSmall\";\nimport {\n StyledCounterButton,\n StyledCounterButtonCounter,\n StyledCounterButtonLabel,\n StyledCounterButtonReset,\n StyledCounterButtonWrapper,\n} from \"./Styles\";\n\nexport interface ICounterButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Icon */\n icon?: ReactElement;\n /** Number of applied filters */\n counter?: number;\n /** OnClearAll callback */\n onClearAll: (event?) => void;\n /** Tooltip content */\n tooltipText?: string;\n /** Applies passed classes */\n className?: string;\n /** Disabled state of a button */\n disabled?: boolean;\n}\n\nexport const CounterButton = forwardRef<HTMLDivElement, ICounterButtonProps>(\n (\n {\n label,\n icon,\n active,\n counter = 0,\n tooltipText,\n onClearAll,\n className,\n disabled = false,\n ...args\n },\n ref\n ) => {\n return (\n <StyledCounterButtonWrapper ref={ref} className={className}>\n <StyledCounterButton\n disabled={disabled}\n aria-disabled={disabled}\n className={classNames(\"c-counter-button\", {\n \"c-counter-button__selected\": counter,\n })}\n {...args}\n variant=\"text gray\"\n $active={counter > 0 || active}\n $selected={counter > 0}\n >\n {icon &&\n React.cloneElement(icon, {\n className: classNames(\"c-counter-button__icon\"),\n })}\n {label && (\n <StyledCounterButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-counter-button__label\"\n $active={counter > 0 || active}\n >\n {label}\n </StyledCounterButtonLabel>\n )}\n {counter > 0 ? (\n <StyledCounterButtonCounter className=\"c-counter-button__counter\">\n {counter}\n </StyledCounterButtonCounter>\n ) : null}\n </StyledCounterButton>\n {counter > 0 ? (\n <Tooltip\n title={`${tooltipText}`}\n popperTooltipClassName=\"z-index-1300\"\n >\n <StyledCounterButtonReset\n variant=\"text colored\"\n className=\"c-counter-button__reset\"\n onClick={onClearAll}\n >\n <CloseSmallIcon />\n </StyledCounterButtonReset>\n </Tooltip>\n ) : null}\n </StyledCounterButtonWrapper>\n );\n }\n);\n\nCounterButton.displayName = \"CounterButton\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAMkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBX,IAAMA,aAAa,gBAAG,IAAAC,iBAAU,EACrC,gBAYEC,GAAG,EACA;EAAA,IAXDC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,oBACNC,OAAO;IAAPA,OAAO,6BAAG,CAAC;IACXC,WAAW,QAAXA,WAAW;IACXC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IAAA,qBACTC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IACbC,IAAI;EAIT,oBACE,6BAAC,kCAA0B;IAAC,GAAG,EAAET,GAAI;IAAC,SAAS,EAAEO;EAAU,gBACzD,6BAAC,2BAAmB;IAClB,QAAQ,EAAEC,QAAS;IACnB,iBAAeA,QAAS;IACxB,SAAS,EAAE,IAAAE,mBAAU,EAAC,kBAAkB,EAAE;MACxC,4BAA4B,EAAEN;IAChC,CAAC;EAAE,GACCK,IAAI;IACR,OAAO,EAAC,WAAW;IACnB,OAAO,EAAEL,OAAO,GAAG,CAAC,IAAID,MAAO;IAC/B,SAAS,EAAEC,OAAO,GAAG;EAAE,IAEtBF,IAAI,iBACHS,cAAK,CAACC,YAAY,CAACV,IAAI,EAAE;IACvBK,SAAS,EAAE,IAAAG,mBAAU,EAAC,wBAAwB;EAChD,CAAC,CAAC,EACHT,KAAK,iBACJ,6BAAC,gCAAwB;IACvB,KAAK,EAAC,WAAW;IACjB,MAAM,EAAC,QAAQ;IACf,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEG,OAAO,GAAG,CAAC,IAAID;EAAO,GAE9BF,KAAK,CAET,EACAG,OAAO,GAAG,CAAC,gBACV,6BAAC,kCAA0B;IAAC,SAAS,EAAC;EAA2B,GAC9DA,OAAO,CACmB,GAC3B,IAAI,CACY,EACrBA,OAAO,GAAG,CAAC,gBACV,6BAAC,gBAAO;IACN,KAAK,YAAKC,WAAW,CAAG;IACxB,sBAAsB,EAAC;EAAc,gBAErC,6BAAC,gCAAwB;IACvB,OAAO,EAAC,cAAc;IACtB,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEC;EAAW,gBAEpB,6BAAC,mBAAc,OAAG,CACO,CACnB,GACR,IAAI,CACmB;AAEjC,CAAC,CACF;AAAC;AAEFR,aAAa,CAACe,WAAW,GAAG,eAAe"}
@@ -23,10 +23,12 @@ StyledCounterButtonWrapper.displayName = "StyledCounterButtonWrapper";
23
23
  var StyledCounterButton = (0, _styledComponents.default)(_Button.Button).withConfig({
24
24
  displayName: "Styles__StyledCounterButton",
25
25
  componentId: "sc-1ecrcba-1"
26
- })(["", " ", ""], function (props) {
27
- return props.$active && (0, _styledComponents.css)(["padding:0 8px;svg{fill:var(--color-primary);}&:hover{background:var(--color-primary-300);}"]);
26
+ })(["", " ", " ", ""], function (props) {
27
+ return props.$active && !props.disabled && (0, _styledComponents.css)(["padding:0 8px;svg{fill:var(--color-primary);}&:hover{background:var(--color-primary-300);}"]);
28
28
  }, function (props) {
29
29
  return props.$selected && (0, _styledComponents.css)(["border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--color-primary-200);"]);
30
+ }, function (props) {
31
+ return props.disabled && (0, _styledComponents.css)(["pointer-events:none;opacity:0.5;"]);
30
32
  });
31
33
  exports.StyledCounterButton = StyledCounterButton;
32
34
  StyledCounterButton.displayName = "StyledCounterButton";
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["StyledCounterButtonWrapper","styled","div","FontStyle","BoxSizingStyle","displayName","StyledCounterButton","Button","props","$active","css","$selected","StyledCounterButtonCounter","StyledCounterButtonReset","StyledCounterButtonLabel","Body2"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\nimport { Button } from \"../Button/Button\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonCounter = styled.div<{ $selected?: boolean }>`\n border-radius: 50%;\n background-color: var(--color-primary);\n color: var(--page-paper-main);\n line-height: 15px;\n width: 15px;\n font-weight: bold;\n font-size: 10px;\n text-align: center;\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledCounterButtonCounter.displayName = \"StyledCounterButtonCounter\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;AAAyC;AAAA;AAOlC,IAAMA,0BAA0B,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,0CAC9C;EAAA;AAAQ,CAAC,EACXC,oBAAS,EACTC,8BAAc,CAEjB;AAAC;AAEFJ,0BAA0B,CAACK,WAAW,GAAG,4BAA4B;AAE9D,IAAMC,mBAAmB,GAAG,IAAAL,yBAAM,EAACM,cAAM,CAAC;EAAA;EAAA;AAAA,kBAC7C,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,OAAO,QACbC,qBAAG,iGAUF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,SAAS,QACfD,qBAAG,wGAIF;AAAA,EACJ;AAAC;AAEFJ,mBAAmB,CAACD,WAAW,GAAG,qBAAqB;AAEhD,IAAMO,0BAA0B,GAAGX,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,6MAWnD;AAAC;AAEFU,0BAA0B,CAACP,WAAW,GAAG,4BAA4B;AAE9D,IAAMQ,wBAAwB,GAAG,IAAAZ,yBAAM,EAACM,cAAM,CAAC;EAAA;EAAA;AAAA,+NAWrD;AAAC;AAEFM,wBAAwB,CAACR,WAAW,GAAG,0BAA0B;AAE1D,IAAMS,wBAAwB,GAAG,IAAAb,yBAAM,EAACc,WAAK,CAAC;EAAA;EAAA;AAAA,qCAC/C;EAAA;AAAuB,CAAC,EAE1BT,mBAAmB,EACjB,UAACE,KAAK;EAAA,OACN,CAACA,KAAK,CAACC,OAAO,QACdC,qBAAG,oCAEF;AAAA,GAGH,UAACF,KAAK;EAAA,OACNA,KAAK,CAACC,OAAO,QACbC,qBAAG,kCAEF;AAAA,EACJ;AAAC;AAEFI,wBAAwB,CAACT,WAAW,GAAG,0BAA0B"}
1
+ {"version":3,"file":"Styles.js","names":["StyledCounterButtonWrapper","styled","div","FontStyle","BoxSizingStyle","displayName","StyledCounterButton","Button","props","$active","disabled","css","$selected","StyledCounterButtonCounter","StyledCounterButtonReset","StyledCounterButtonLabel","Body2"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\nimport { Button } from \"../Button/Button\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonCounter = styled.div<{ $selected?: boolean }>`\n border-radius: 50%;\n background-color: var(--color-primary);\n color: var(--page-paper-main);\n line-height: 15px;\n width: 15px;\n font-weight: bold;\n font-size: 10px;\n text-align: center;\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledCounterButtonCounter.displayName = \"StyledCounterButtonCounter\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;AAAyC;AAAA;AAOlC,IAAMA,0BAA0B,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,0CAC9C;EAAA;AAAQ,CAAC,EACXC,oBAAS,EACTC,8BAAc,CAEjB;AAAC;AAEFJ,0BAA0B,CAACK,WAAW,GAAG,4BAA4B;AAE9D,IAAMC,mBAAmB,GAAG,IAAAL,yBAAM,EAACM,cAAM,CAAC;EAAA;EAAA;AAAA,uBAC7C,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,OAAO,IACb,CAACD,KAAK,CAACE,QAAQ,QACfC,qBAAG,iGAUF;AAAA,GAED,UAACH,KAAK;EAAA,OACNA,KAAK,CAACI,SAAS,QACfD,qBAAG,wGAIF;AAAA,GAEC,UAACH,KAAK;EAAA,OACRA,KAAK,CAACE,QAAQ,QACdC,qBAAG,uCAGF;AAAA,EACJ;AAAC;AAEFL,mBAAmB,CAACD,WAAW,GAAG,qBAAqB;AAEhD,IAAMQ,0BAA0B,GAAGZ,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,6MAWnD;AAAC;AAEFW,0BAA0B,CAACR,WAAW,GAAG,4BAA4B;AAE9D,IAAMS,wBAAwB,GAAG,IAAAb,yBAAM,EAACM,cAAM,CAAC;EAAA;EAAA;AAAA,+NAWrD;AAAC;AAEFO,wBAAwB,CAACT,WAAW,GAAG,0BAA0B;AAE1D,IAAMU,wBAAwB,GAAG,IAAAd,yBAAM,EAACe,WAAK,CAAC;EAAA;EAAA;AAAA,qCAC/C;EAAA;AAAuB,CAAC,EAE1BV,mBAAmB,EACjB,UAACE,KAAK;EAAA,OACN,CAACA,KAAK,CAACC,OAAO,QACdE,qBAAG,oCAEF;AAAA,GAGH,UAACH,KAAK;EAAA,OACNA,KAAK,CAACC,OAAO,QACbE,qBAAG,kCAEF;AAAA,EACJ;AAAC;AAEFI,wBAAwB,CAACV,WAAW,GAAG,0BAA0B"}
@@ -40,7 +40,13 @@ var Filter = function Filter(_ref) {
40
40
  width = _ref$width === void 0 ? 260 : _ref$width,
41
41
  noResultText = _ref.noResultText,
42
42
  emptyFilterText = _ref.emptyFilterText,
43
- children = _ref.children;
43
+ children = _ref.children,
44
+ _ref$icon = _ref.icon,
45
+ icon = _ref$icon === void 0 ? /*#__PURE__*/_react.default.createElement(_Icons.FilterIcon, null) : _ref$icon,
46
+ _ref$position = _ref.position,
47
+ position = _ref$position === void 0 ? "bottom-end" : _ref$position,
48
+ _ref$disabled = _ref.disabled,
49
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
44
50
  var _useState = (0, _react.useState)(false),
45
51
  _useState2 = _slicedToArray(_useState, 2),
46
52
  open = _useState2[0],
@@ -146,14 +152,15 @@ var Filter = function Filter(_ref) {
146
152
  open: open,
147
153
  onOpen: handleOpen,
148
154
  onClose: handleClose,
149
- position: "bottom-end",
155
+ position: position,
150
156
  target: /*#__PURE__*/_react.default.createElement(_CounterButton.CounterButton, {
151
157
  active: open,
152
158
  label: label,
153
- icon: /*#__PURE__*/_react.default.createElement(_Icons.FilterIcon, null),
159
+ icon: icon,
154
160
  counter: count,
155
161
  tooltipText: clearAllText,
156
- onClearAll: handleClearAll
162
+ onClearAll: handleClearAll,
163
+ disabled: disabled
157
164
  })
158
165
  }, /*#__PURE__*/_react.default.createElement(_Transitions.ResizeTransition, {
159
166
  in: true
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.js","names":["Filter","data","selected","label","clearAllText","resetLabel","onChange","width","noResultText","emptyFilterText","children","useState","open","setOpen","menu","setMenu","isLeft","setIsLeft","height","setHeight","enteredMenu","setEnteredMenu","filter","setFilter","useEffect","Object","keys","length","handleOpen","useCallback","handleClose","handleHeight","element","offsetHeight","handleItemClick","value","setIndex","handleChange","selectedArray","newFilters","handleClearAll","event","stopPropagation","handleReset","count","useMemo","c","values","forEach","entry","shouldRenderSubmenus","submenu","map","index","id","title","searchPlaceholder","disableInternalSort","isSingleSelect","defaultValue","Boolean"],"sources":["../../../../src/components/Filter/Filter.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\nimport { Button } from \"../Button\";\nimport { CounterButton } from \"../CounterButton\";\nimport { FilterIcon } from \"../Icons\";\nimport { IOptionGroupProps, IOptionItemProps, Select } from \"../Select\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\nimport { StartMenu } from \"./StartMenu\";\nimport { StyledMenu, StyledMenuFooter } from \"./Styles\";\nimport { Submenu } from \"./Submenu\";\n\nexport type DataType = {\n id: number | string;\n title: string;\n searchPlaceholder?: string;\n disableInternalSort?: boolean;\n submenu: Array<IOptionGroupProps | IOptionItemProps>;\n isSingleSelect?: boolean;\n defaultValue?: string;\n};\n\nexport type SelectedType = {\n [key: number | string]: Array<string>;\n};\n\nexport interface FilterProps {\n /** Data rendered in submenus */\n data: Array<DataType>;\n /** Selected data inside submenus */\n selected?: SelectedType;\n /** Main filter label */\n label: string;\n /** Filter width */\n width?: number;\n /** Text displayed for the tooltip of clear all button */\n clearAllText: string;\n /** Handler for changes on the filter */\n onChange: (selected: SelectedType) => void;\n /** Label for reset button inside submenu */\n resetLabel?: string;\n /** Text to show when search results are empty */\n noResultText: string;\n /** Text to show when there are no submenus to display */\n emptyFilterText?: string;\n}\n\nexport const Filter: FC<FilterProps> = ({\n data,\n selected = {},\n label,\n clearAllText,\n resetLabel = \"Reset\",\n onChange,\n width = 260,\n noResultText,\n emptyFilterText,\n children,\n}) => {\n const [open, setOpen] = useState(false);\n const [menu, setMenu] = useState<number | string>(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [enteredMenu, setEnteredMenu] = useState<number | string>(\"index\");\n const [filter, setFilter] = useState<SelectedType>(() => selected);\n\n useEffect(() => {\n if (Object.keys(selected).length > 0 || Object.keys(filter).length > 0) {\n setFilter(selected);\n }\n }, [selected, filter]);\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setMenu(\"index\");\n setHeight(0);\n }, []);\n\n const handleHeight = useCallback((element) => {\n setHeight(element?.offsetHeight ?? 0);\n }, []);\n\n const handleItemClick = useCallback((value) => {\n setMenu(value);\n setIsLeft(true);\n }, []);\n\n const setIndex = useCallback(() => {\n setMenu(\"index\");\n setIsLeft(false);\n }, []);\n\n const handleChange = useCallback(\n (selectedArray) => {\n let newFilters = {};\n if (selectedArray.length) {\n newFilters = {\n ...filter,\n [menu]: selectedArray,\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[menu];\n }\n setFilter(newFilters);\n onChange(newFilters);\n },\n [filter, menu, onChange]\n );\n\n const handleClearAll = useCallback(\n (event) => {\n event.stopPropagation();\n setFilter({});\n onChange({});\n },\n [onChange]\n );\n\n const handleReset = useCallback(() => {\n const newFilters = { ...filter };\n delete newFilters[menu];\n setFilter(newFilters);\n onChange(newFilters);\n }, [filter, menu, onChange]);\n\n const count = useMemo(() => {\n let c = 0;\n Object.values(filter).forEach((entry) => (c += entry.length));\n return c;\n }, [filter]);\n\n const shouldRenderSubmenus = useMemo(() => {\n if (data.length === 0) {\n return false;\n }\n\n for (const entry of data) {\n if (entry.submenu?.length > 1) {\n return true;\n }\n }\n\n return false;\n }, [data]);\n\n return (\n <StyledMenu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position=\"bottom-end\"\n target={\n <CounterButton\n active={open}\n label={label}\n icon={<FilterIcon />}\n counter={count}\n tooltipText={clearAllText}\n onClearAll={handleClearAll}\n />\n }\n >\n <ResizeTransition in>\n <div style={{ height, width }}>\n <SlideLeftRightTransition\n in={menu === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(\"index\")}\n >\n <MoveFocusInside>\n <StartMenu\n data={data}\n selected={filter}\n style={{ width }}\n onHeightChange={setHeight}\n onItemClick={handleItemClick}\n shouldRenderSubmenus={shouldRenderSubmenus}\n emptyFilterText={emptyFilterText}\n >\n {children}\n </StartMenu>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {shouldRenderSubmenus &&\n data.map(\n (\n {\n id,\n title,\n submenu,\n searchPlaceholder,\n disableInternalSort,\n isSingleSelect,\n defaultValue,\n }: DataType,\n index: number\n ) => (\n <SlideLeftRightTransition\n key={`filter-submenu-${index}`}\n in={menu === id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(id)}\n >\n <Submenu\n title={title}\n onBack={setIndex}\n onHeightChange={setHeight}\n style={{ width }}\n indexPage={menu === \"index\"}\n >\n <MoveFocusInside disabled={enteredMenu !== id}>\n <Select\n options={submenu}\n selected={filter[id]}\n onChange={handleChange}\n type={isSingleSelect ? \"single\" : \"multiple\"}\n autoHeightMax={255}\n placeholder={searchPlaceholder}\n noResultText={noResultText}\n keepSameOptionsOrder={Boolean(submenu.length <= 7)}\n disableSearch={Boolean(submenu.length <= 7)}\n disabledInternalSort={disableInternalSort}\n defaultValue={defaultValue}\n />\n {filter[id]?.length ? (\n <StyledMenuFooter>\n <Button\n variant=\"text colored\"\n size=\"small\"\n onClick={handleReset}\n >\n {resetLabel}\n </Button>\n </StyledMenuFooter>\n ) : null}\n </MoveFocusInside>\n </Submenu>\n </SlideLeftRightTransition>\n )\n )}\n </div>\n </ResizeTransition>\n </StyledMenu>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Filter.js","names":["Filter","data","selected","label","clearAllText","resetLabel","onChange","width","noResultText","emptyFilterText","children","icon","position","disabled","useState","open","setOpen","menu","setMenu","isLeft","setIsLeft","height","setHeight","enteredMenu","setEnteredMenu","filter","setFilter","useEffect","Object","keys","length","handleOpen","useCallback","handleClose","handleHeight","element","offsetHeight","handleItemClick","value","setIndex","handleChange","selectedArray","newFilters","handleClearAll","event","stopPropagation","handleReset","count","useMemo","c","values","forEach","entry","shouldRenderSubmenus","submenu","map","index","id","title","searchPlaceholder","disableInternalSort","isSingleSelect","defaultValue","Boolean"],"sources":["../../../../src/components/Filter/Filter.tsx"],"sourcesContent":["import React, {\n FC,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\nimport { Placement } from \"@popperjs/core\";\nimport { Button } from \"../Button\";\nimport { CounterButton } from \"../CounterButton\";\nimport { FilterIcon } from \"../Icons\";\nimport { IOptionGroupProps, IOptionItemProps, Select } from \"../Select\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\nimport { StartMenu } from \"./StartMenu\";\nimport { StyledMenu, StyledMenuFooter } from \"./Styles\";\nimport { Submenu } from \"./Submenu\";\n\nexport type DataType = {\n id: number | string;\n title: string;\n searchPlaceholder?: string;\n disableInternalSort?: boolean;\n submenu: Array<IOptionGroupProps | IOptionItemProps>;\n isSingleSelect?: boolean;\n defaultValue?: string;\n};\n\nexport type SelectedType = {\n [key: number | string]: Array<string>;\n};\n\nexport interface FilterProps {\n /** Data rendered in submenus */\n data: Array<DataType>;\n /** Selected data inside submenus */\n selected?: SelectedType;\n /** Main filter label */\n label: string;\n /** Filter width */\n width?: number;\n /** Text displayed for the tooltip of clear all button */\n clearAllText: string;\n /** Handler for changes on the filter */\n onChange: (selected: SelectedType) => void;\n /** Label for reset button inside submenu */\n resetLabel?: string;\n /** Text to show when search results are empty */\n noResultText: string;\n /** Text to show when there are no submenus to display */\n emptyFilterText?: string;\n /** Position of the dropped menu. */\n position?: Placement;\n /** Icon of the trigger element. */\n icon?: ReactElement;\n /** Disabled state of the trigger. */\n disabled?: boolean;\n}\n\nexport const Filter: FC<FilterProps> = ({\n data,\n selected = {},\n label,\n clearAllText,\n resetLabel = \"Reset\",\n onChange,\n width = 260,\n noResultText,\n emptyFilterText,\n children,\n icon = <FilterIcon />,\n position = \"bottom-end\",\n disabled = false,\n}) => {\n const [open, setOpen] = useState(false);\n const [menu, setMenu] = useState<number | string>(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [enteredMenu, setEnteredMenu] = useState<number | string>(\"index\");\n const [filter, setFilter] = useState<SelectedType>(() => selected);\n\n useEffect(() => {\n if (Object.keys(selected).length > 0 || Object.keys(filter).length > 0) {\n setFilter(selected);\n }\n }, [selected, filter]);\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setMenu(\"index\");\n setHeight(0);\n }, []);\n\n const handleHeight = useCallback((element) => {\n setHeight(element?.offsetHeight ?? 0);\n }, []);\n\n const handleItemClick = useCallback((value) => {\n setMenu(value);\n setIsLeft(true);\n }, []);\n\n const setIndex = useCallback(() => {\n setMenu(\"index\");\n setIsLeft(false);\n }, []);\n\n const handleChange = useCallback(\n (selectedArray) => {\n let newFilters = {};\n if (selectedArray.length) {\n newFilters = {\n ...filter,\n [menu]: selectedArray,\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[menu];\n }\n setFilter(newFilters);\n onChange(newFilters);\n },\n [filter, menu, onChange]\n );\n\n const handleClearAll = useCallback(\n (event) => {\n event.stopPropagation();\n setFilter({});\n onChange({});\n },\n [onChange]\n );\n\n const handleReset = useCallback(() => {\n const newFilters = { ...filter };\n delete newFilters[menu];\n setFilter(newFilters);\n onChange(newFilters);\n }, [filter, menu, onChange]);\n\n const count = useMemo(() => {\n let c = 0;\n Object.values(filter).forEach((entry) => (c += entry.length));\n return c;\n }, [filter]);\n\n const shouldRenderSubmenus = useMemo(() => {\n if (data.length === 0) {\n return false;\n }\n\n for (const entry of data) {\n if (entry.submenu?.length > 1) {\n return true;\n }\n }\n\n return false;\n }, [data]);\n\n return (\n <StyledMenu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position={position}\n target={\n <CounterButton\n active={open}\n label={label}\n icon={icon}\n counter={count}\n tooltipText={clearAllText}\n onClearAll={handleClearAll}\n disabled={disabled}\n />\n }\n >\n <ResizeTransition in>\n <div style={{ height, width }}>\n <SlideLeftRightTransition\n in={menu === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(\"index\")}\n >\n <MoveFocusInside>\n <StartMenu\n data={data}\n selected={filter}\n style={{ width }}\n onHeightChange={setHeight}\n onItemClick={handleItemClick}\n shouldRenderSubmenus={shouldRenderSubmenus}\n emptyFilterText={emptyFilterText}\n >\n {children}\n </StartMenu>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {shouldRenderSubmenus &&\n data.map(\n (\n {\n id,\n title,\n submenu,\n searchPlaceholder,\n disableInternalSort,\n isSingleSelect,\n defaultValue,\n }: DataType,\n index: number\n ) => (\n <SlideLeftRightTransition\n key={`filter-submenu-${index}`}\n in={menu === id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(id)}\n >\n <Submenu\n title={title}\n onBack={setIndex}\n onHeightChange={setHeight}\n style={{ width }}\n indexPage={menu === \"index\"}\n >\n <MoveFocusInside disabled={enteredMenu !== id}>\n <Select\n options={submenu}\n selected={filter[id]}\n onChange={handleChange}\n type={isSingleSelect ? \"single\" : \"multiple\"}\n autoHeightMax={255}\n placeholder={searchPlaceholder}\n noResultText={noResultText}\n keepSameOptionsOrder={Boolean(submenu.length <= 7)}\n disableSearch={Boolean(submenu.length <= 7)}\n disabledInternalSort={disableInternalSort}\n defaultValue={defaultValue}\n />\n {filter[id]?.length ? (\n <StyledMenuFooter>\n <Button\n variant=\"text colored\"\n size=\"small\"\n onClick={handleReset}\n >\n {resetLabel}\n </Button>\n </StyledMenuFooter>\n ) : null}\n </MoveFocusInside>\n </Submenu>\n </SlideLeftRightTransition>\n )\n )}\n </div>\n </ResizeTransition>\n </StyledMenu>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
+ /**
11
+ * @component MoveIcon
12
+ * @description
13
+ *
14
+ * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.
15
+ * The Icon component is
16
+ * customizable, allowing for variations in size, color, and style to fit the needs of the application.
17
+ *
18
+ *
19
+ * @example
20
+ * return (
21
+ * <MoveIcon className="mr-2" />
22
+ * )
23
+ *
24
+ * @see
25
+ * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons
26
+ * @see
27
+ * https://design.activecollab.com/docs/foundations/icons
28
+ */
29
+ var MoveIcon = /*#__PURE__*/_react.default.forwardRef(function (props, svgRef) {
30
+ return /*#__PURE__*/_react.default.createElement("svg", _extends({
31
+ width: 24,
32
+ height: 24,
33
+ viewBox: "0 0 24 24",
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ "data-testid": "MoveIcon",
36
+ fill: "var(--color-theme-600)",
37
+ focusable: false,
38
+ ref: svgRef
39
+ }, props), /*#__PURE__*/_react.default.createElement("path", {
40
+ fillRule: "evenodd",
41
+ clipRule: "evenodd",
42
+ d: "M4 16a2 2 0 01-2-2V4a2 2 0 012-2h10a2 2 0 011.995 1.85L16 4H4v10h7v-3l4 4-4 4v-3H4zm15 4V8H8v4H6V8a2 2 0 012-2h11a2 2 0 012 2v12a2 2 0 01-2 2H8a2 2 0 01-2-2v-2h2v2h11z"
43
+ }));
44
+ });
45
+ MoveIcon.displayName = "MoveIcon";
46
+ var _default = MoveIcon;
47
+ exports.default = _default;
48
+ //# sourceMappingURL=Move.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Move.js","names":["MoveIcon","React","forwardRef","props","svgRef","displayName"],"sources":["../../../../../src/components/Icons/collection/Move.tsx"],"sourcesContent":["import React from \"react\";\n\n/**\n * @component MoveIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <MoveIcon className=\"mr-2\" />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst MoveIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"MoveIcon\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 16a2 2 0 01-2-2V4a2 2 0 012-2h10a2 2 0 011.995 1.85L16 4H4v10h7v-3l4 4-4 4v-3H4zm15 4V8H8v4H6V8a2 2 0 012-2h11a2 2 0 012 2v12a2 2 0 01-2 2H8a2 2 0 01-2-2v-2h2v2h11z\"\n />\n </svg>\n )\n);\nMoveIcon.displayName = \"MoveIcon\";\nexport default MoveIcon;\n"],"mappings":";;;;;;AAAA;AAA0B;AAAA;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,QAAQ,gBAAGC,cAAK,CAACC,UAAU,CAC/B,UAACC,KAAoC,EAAEC,MAAiC;EAAA,oBACtE;IACE,KAAK,EAAE,EAAG;IACV,MAAM,EAAE,EAAG;IACX,OAAO,EAAC,WAAW;IACnB,KAAK,EAAC,4BAA4B;IAClC,eAAY,UAAU;IACtB,IAAI,EAAC,wBAAwB;IAC7B,SAAS,EAAE,KAAM;IACjB,GAAG,EAAEA;EAAO,GACRD,KAAK,gBAET;IACE,QAAQ,EAAC,SAAS;IAClB,QAAQ,EAAC,SAAS;IAClB,CAAC,EAAC;EAAyK,EAC3K,CACE;AAAA,CACP,CACF;AACDH,QAAQ,CAACK,WAAW,GAAG,UAAU;AAAC,eACnBL,QAAQ;AAAA"}
@@ -591,6 +591,12 @@ Object.defineProperty(exports, "MinusIcon", {
591
591
  return _Minus.default;
592
592
  }
593
593
  });
594
+ Object.defineProperty(exports, "MoveIcon", {
595
+ enumerable: true,
596
+ get: function get() {
597
+ return _Move.default;
598
+ }
599
+ });
594
600
  Object.defineProperty(exports, "MoveTriggerIcon", {
595
601
  enumerable: true,
596
602
  get: function get() {
@@ -1092,6 +1098,7 @@ var _MessageSmall = _interopRequireDefault(require("./MessageSmall"));
1092
1098
  var _Message = _interopRequireDefault(require("./Message"));
1093
1099
  var _Minus = _interopRequireDefault(require("./Minus"));
1094
1100
  var _MoveTrigger = _interopRequireDefault(require("./MoveTrigger"));
1101
+ var _Move = _interopRequireDefault(require("./Move"));
1095
1102
  var _MyWork = _interopRequireDefault(require("./MyWork"));
1096
1103
  var _NoteAdd = _interopRequireDefault(require("./NoteAdd"));
1097
1104
  var _Note = _interopRequireDefault(require("./Note"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Icons/collection/index.tsx"],"sourcesContent":["export { default as AccessLogIcon } from \"./AccessLog\";\nexport { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArrowBackMobileIcon } from \"./ArrowBackMobile\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowDownLongIcon } from \"./ArrowDownLong\";\nexport { default as ArrowDownIcon } from \"./ArrowDown\";\nexport { default as ArrowExpandeMultipleIcon } from \"./ArrowExpandeMultiple\";\nexport { default as ArrowLeftBoxIcon } from \"./ArrowLeftBox\";\nexport { default as ArrowLeftIcon } from \"./ArrowLeft\";\nexport { default as ArrowRefreshIcon } from \"./ArrowRefresh\";\nexport { default as ArrowRightIcon } from \"./ArrowRight\";\nexport { default as ArrowUpLongIcon } from \"./ArrowUpLong\";\nexport { default as ArrowUpIcon } from \"./ArrowUp\";\nexport { default as AssignIcon } from \"./Assign\";\nexport { default as AttachmentIcon } from \"./Attachment\";\nexport { default as BellOffSmallIcon } from \"./BellOffSmall\";\nexport { default as BellOffIcon } from \"./BellOff\";\nexport { default as BillingIcon } from \"./Billing\";\nexport { default as BudgetAlertIcon } from \"./BudgetAlert\";\nexport { default as CalendarAddXIcon } from \"./CalendarAddX\";\nexport { default as CalendarIcon } from \"./Calendar\";\nexport { default as CancelCrossIcon } from \"./CancelCross\";\nexport { default as CaretLeftIcon } from \"./CaretLeft\";\nexport { default as CaretRightIcon } from \"./CaretRight\";\nexport { default as ChatIcon } from \"./Chat\";\nexport { default as CheckIcon } from \"./Check\";\nexport { default as CheckboxBlankTogglerIcon } from \"./CheckboxBlankToggler\";\nexport { default as CheckboxCircleArrowIcon } from \"./CheckboxCircleArrow\";\nexport { default as CheckboxIcon } from \"./Checkbox\";\nexport { default as ChecklistSmallIcon } from \"./ChecklistSmall\";\nexport { default as ChecklistIcon } from \"./Checklist\";\nexport { default as CircleMultipleIcon } from \"./CircleMultiple\";\nexport { default as ClockAddIcon } from \"./ClockAdd\";\nexport { default as ClockSmallIcon } from \"./ClockSmall\";\nexport { default as ClockStopwatchSmallIcon } from \"./ClockStopwatchSmall\";\nexport { default as ClockStopwatchIcon } from \"./ClockStopwatch\";\nexport { default as ClockIcon } from \"./Clock\";\nexport { default as CloseSmallIcon } from \"./CloseSmall\";\nexport { default as CloseIcon } from \"./Close\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as CompanyIcon } from \"./Company\";\nexport { default as ComputerIcon } from \"./Computer\";\nexport { default as CopyIcon } from \"./Copy\";\nexport { default as CrownBlankIcon } from \"./CrownBlank\";\nexport { default as CrownSelectedIcon } from \"./CrownSelected\";\nexport { default as DependencySmallIcon } from \"./DependencySmall\";\nexport { default as DependencyIcon } from \"./Dependency\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DiscussionIcon } from \"./Discussion\";\nexport { default as DollarCheckmarkSmallIcon } from \"./DollarCheckmarkSmall\";\nexport { default as DollarCheckmarkIcon } from \"./DollarCheckmark\";\nexport { default as DollarClockSmallIcon } from \"./DollarClockSmall\";\nexport { default as DollarClockIcon } from \"./DollarClock\";\nexport { default as DollarDocumentIcon } from \"./DollarDocument\";\nexport { default as DollarOffSmallIcon } from \"./DollarOffSmall\";\nexport { default as DollarOffIcon } from \"./DollarOff\";\nexport { default as DollarSmallIcon } from \"./DollarSmall\";\nexport { default as DollarIcon } from \"./Dollar\";\nexport { default as DownloadIcon } from \"./Download\";\nexport { default as DriveIcon } from \"./Drive\";\nexport { default as DropboxIcon } from \"./Dropbox\";\nexport { default as DuplicateIcon } from \"./Duplicate\";\nexport { default as EditMultipleIcon } from \"./EditMultiple\";\nexport { default as EditIcon } from \"./Edit\";\nexport { default as EmojiIcon } from \"./Emoji\";\nexport { default as EstimatePlusIcon } from \"./EstimatePlus\";\nexport { default as EstimatesIcon } from \"./Estimates\";\nexport { default as ExpandAllIcon } from \"./ExpandAll\";\nexport { default as ExpenseAddIcon } from \"./ExpenseAdd\";\nexport { default as EyeOffSmallIcon } from \"./EyeOffSmall\";\nexport { default as EyeOffIcon } from \"./EyeOff\";\nexport { default as EyeSmallIcon } from \"./EyeSmall\";\nexport { default as EyeIcon } from \"./Eye\";\nexport { default as FilterIcon } from \"./Filter\";\nexport { default as FolderMoveIcon } from \"./FolderMove\";\nexport { default as FolderOutlineIcon } from \"./FolderOutline\";\nexport { default as GiftIcon } from \"./Gift\";\nexport { default as HashtagIcon } from \"./Hashtag\";\nexport { default as HelpIcon } from \"./Help\";\nexport { default as ImageIcon } from \"./Image\";\nexport { default as InfoSmallIcon } from \"./InfoSmall\";\nexport { default as InfoIcon } from \"./Info\";\nexport { default as InsertLinkIcon } from \"./InsertLink\";\nexport { default as IntegrationsIcon } from \"./Integrations\";\nexport { default as InvoicesIcon } from \"./Invoices\";\nexport { default as LabelsIcon } from \"./Labels\";\nexport { default as LockSmallIcon } from \"./LockSmall\";\nexport { default as LockIcon } from \"./Lock\";\nexport { default as MarkerIcon } from \"./Marker\";\nexport { default as MessageAddIcon } from \"./MessageAdd\";\nexport { default as MessageEmptyIcon } from \"./MessageEmpty\";\nexport { default as MessageSmallIcon } from \"./MessageSmall\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OpenSheetIcon } from \"./OpenSheet\";\nexport { default as OrderFirstIcon } from \"./OrderFirst\";\nexport { default as PaidSmallIcon } from \"./PaidSmall\";\nexport { default as PauseCircleOutlineIcon } from \"./PauseCircleOutline\";\nexport { default as PauseIcon } from \"./PauseIcon\";\nexport { default as PauseSmallIcon } from \"./PauseSmall\";\nexport { default as PencilSmallIcon } from \"./PencilSmall\";\nexport { default as PencilIcon } from \"./Pencil\";\nexport { default as PendingPaymentSmallIcon } from \"./PendingPaymentSmall\";\nexport { default as PeopleIcon } from \"./People\";\nexport { default as PersonCircleOffIcon } from \"./PersonCircleOff\";\nexport { default as PersonCircleIcon } from \"./PersonCircle\";\nexport { default as PersonPlusIcon } from \"./PersonPlus\";\nexport { default as PersonIcon } from \"./Person\";\nexport { default as PinIcon } from \"./Pin\";\nexport { default as PlayCircleOutlineIcon } from \"./PlayCircleOutline\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as PlaySmallIcon } from \"./PlaySmall\";\nexport { default as PriorityLowIcon } from \"./PriorityLow\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectSearchIcon } from \"./ProjectSearch\";\nexport { default as ProjectStarIcon } from \"./ProjectStar\";\nexport { default as ProjectTemplateAddIcon } from \"./ProjectTemplateAdd\";\nexport { default as ProjectTemplateConvertIcon } from \"./ProjectTemplateConvert\";\nexport { default as ProjectTemplateIcon } from \"./ProjectTemplate\";\nexport { default as ProjectsIcon } from \"./Projects\";\nexport { default as RadioBlankIcon } from \"./RadioBlank\";\nexport { default as RadioButtonIcon } from \"./RadioButton\";\nexport { default as RearangeIcon } from \"./Rearange\";\nexport { default as RearrangeSmallIcon } from \"./RearrangeSmall\";\nexport { default as RecurringCheckmarkSmallIcon } from \"./RecurringCheckmarkSmall\";\nexport { default as RecurringCheckmarkIcon } from \"./RecurringCheckmark\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as RocketIcon } from \"./Rocket\";\nexport { default as SearchLargeIcon } from \"./SearchLarge\";\nexport { default as SearchIcon } from \"./Search\";\nexport { default as SendBlankIcon } from \"./SendBlank\";\nexport { default as SendFilledIcon } from \"./SendFilled\";\nexport { default as SettingsIcon } from \"./Settings\";\nexport { default as SortGeneralIcon } from \"./SortGeneral\";\nexport { default as SortIcon } from \"./SortIcon\";\nexport { default as StarOutlineIcon } from \"./StarOutline\";\nexport { default as StarIcon } from \"./Star\";\nexport { default as SystemSettingsIcon } from \"./SystemSettings\";\nexport { default as TaskAddIcon } from \"./TaskAdd\";\nexport { default as TaskListAddIcon } from \"./TaskListAdd\";\nexport { default as TaskListCompleteIcon } from \"./TaskListComplete\";\nexport { default as TaskListIcon } from \"./TaskList\";\nexport { default as ThumbUpOutlineIcon } from \"./ThumbUpOutline\";\nexport { default as TrashIcon } from \"./Trash\";\nexport { default as TreeDotsIcon } from \"./TreeDots\";\nexport { default as UploadIcon } from \"./Upload\";\nexport { default as ViewGridIcon } from \"./ViewGrid\";\nexport { default as ViewListIcon } from \"./ViewList\";\nexport { default as ViewTimelineIcon } from \"./ViewTimeline\";\nexport { default as VolumeHighIcon } from \"./VolumeHigh\";\nexport { default as WarningTriangleSmallIcon } from \"./WarningTriangleSmall\";\nexport { default as WarningTriangleIcon } from \"./WarningTriangle\";\nexport { default as WarningIcon } from \"./Warning\";\nexport { default as WorkloadIcon } from \"./Workload\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAqD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Icons/collection/index.tsx"],"sourcesContent":["export { default as AccessLogIcon } from \"./AccessLog\";\nexport { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArrowBackMobileIcon } from \"./ArrowBackMobile\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowDownLongIcon } from \"./ArrowDownLong\";\nexport { default as ArrowDownIcon } from \"./ArrowDown\";\nexport { default as ArrowExpandeMultipleIcon } from \"./ArrowExpandeMultiple\";\nexport { default as ArrowLeftBoxIcon } from \"./ArrowLeftBox\";\nexport { default as ArrowLeftIcon } from \"./ArrowLeft\";\nexport { default as ArrowRefreshIcon } from \"./ArrowRefresh\";\nexport { default as ArrowRightIcon } from \"./ArrowRight\";\nexport { default as ArrowUpLongIcon } from \"./ArrowUpLong\";\nexport { default as ArrowUpIcon } from \"./ArrowUp\";\nexport { default as AssignIcon } from \"./Assign\";\nexport { default as AttachmentIcon } from \"./Attachment\";\nexport { default as BellOffSmallIcon } from \"./BellOffSmall\";\nexport { default as BellOffIcon } from \"./BellOff\";\nexport { default as BillingIcon } from \"./Billing\";\nexport { default as BudgetAlertIcon } from \"./BudgetAlert\";\nexport { default as CalendarAddXIcon } from \"./CalendarAddX\";\nexport { default as CalendarIcon } from \"./Calendar\";\nexport { default as CancelCrossIcon } from \"./CancelCross\";\nexport { default as CaretLeftIcon } from \"./CaretLeft\";\nexport { default as CaretRightIcon } from \"./CaretRight\";\nexport { default as ChatIcon } from \"./Chat\";\nexport { default as CheckIcon } from \"./Check\";\nexport { default as CheckboxBlankTogglerIcon } from \"./CheckboxBlankToggler\";\nexport { default as CheckboxCircleArrowIcon } from \"./CheckboxCircleArrow\";\nexport { default as CheckboxIcon } from \"./Checkbox\";\nexport { default as ChecklistSmallIcon } from \"./ChecklistSmall\";\nexport { default as ChecklistIcon } from \"./Checklist\";\nexport { default as CircleMultipleIcon } from \"./CircleMultiple\";\nexport { default as ClockAddIcon } from \"./ClockAdd\";\nexport { default as ClockSmallIcon } from \"./ClockSmall\";\nexport { default as ClockStopwatchSmallIcon } from \"./ClockStopwatchSmall\";\nexport { default as ClockStopwatchIcon } from \"./ClockStopwatch\";\nexport { default as ClockIcon } from \"./Clock\";\nexport { default as CloseSmallIcon } from \"./CloseSmall\";\nexport { default as CloseIcon } from \"./Close\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as CompanyIcon } from \"./Company\";\nexport { default as ComputerIcon } from \"./Computer\";\nexport { default as CopyIcon } from \"./Copy\";\nexport { default as CrownBlankIcon } from \"./CrownBlank\";\nexport { default as CrownSelectedIcon } from \"./CrownSelected\";\nexport { default as DependencySmallIcon } from \"./DependencySmall\";\nexport { default as DependencyIcon } from \"./Dependency\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DiscussionIcon } from \"./Discussion\";\nexport { default as DollarCheckmarkSmallIcon } from \"./DollarCheckmarkSmall\";\nexport { default as DollarCheckmarkIcon } from \"./DollarCheckmark\";\nexport { default as DollarClockSmallIcon } from \"./DollarClockSmall\";\nexport { default as DollarClockIcon } from \"./DollarClock\";\nexport { default as DollarDocumentIcon } from \"./DollarDocument\";\nexport { default as DollarOffSmallIcon } from \"./DollarOffSmall\";\nexport { default as DollarOffIcon } from \"./DollarOff\";\nexport { default as DollarSmallIcon } from \"./DollarSmall\";\nexport { default as DollarIcon } from \"./Dollar\";\nexport { default as DownloadIcon } from \"./Download\";\nexport { default as DriveIcon } from \"./Drive\";\nexport { default as DropboxIcon } from \"./Dropbox\";\nexport { default as DuplicateIcon } from \"./Duplicate\";\nexport { default as EditMultipleIcon } from \"./EditMultiple\";\nexport { default as EditIcon } from \"./Edit\";\nexport { default as EmojiIcon } from \"./Emoji\";\nexport { default as EstimatePlusIcon } from \"./EstimatePlus\";\nexport { default as EstimatesIcon } from \"./Estimates\";\nexport { default as ExpandAllIcon } from \"./ExpandAll\";\nexport { default as ExpenseAddIcon } from \"./ExpenseAdd\";\nexport { default as EyeOffSmallIcon } from \"./EyeOffSmall\";\nexport { default as EyeOffIcon } from \"./EyeOff\";\nexport { default as EyeSmallIcon } from \"./EyeSmall\";\nexport { default as EyeIcon } from \"./Eye\";\nexport { default as FilterIcon } from \"./Filter\";\nexport { default as FolderMoveIcon } from \"./FolderMove\";\nexport { default as FolderOutlineIcon } from \"./FolderOutline\";\nexport { default as GiftIcon } from \"./Gift\";\nexport { default as HashtagIcon } from \"./Hashtag\";\nexport { default as HelpIcon } from \"./Help\";\nexport { default as ImageIcon } from \"./Image\";\nexport { default as InfoSmallIcon } from \"./InfoSmall\";\nexport { default as InfoIcon } from \"./Info\";\nexport { default as InsertLinkIcon } from \"./InsertLink\";\nexport { default as IntegrationsIcon } from \"./Integrations\";\nexport { default as InvoicesIcon } from \"./Invoices\";\nexport { default as LabelsIcon } from \"./Labels\";\nexport { default as LockSmallIcon } from \"./LockSmall\";\nexport { default as LockIcon } from \"./Lock\";\nexport { default as MarkerIcon } from \"./Marker\";\nexport { default as MessageAddIcon } from \"./MessageAdd\";\nexport { default as MessageEmptyIcon } from \"./MessageEmpty\";\nexport { default as MessageSmallIcon } from \"./MessageSmall\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MoveIcon } from \"./Move\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OpenSheetIcon } from \"./OpenSheet\";\nexport { default as OrderFirstIcon } from \"./OrderFirst\";\nexport { default as PaidSmallIcon } from \"./PaidSmall\";\nexport { default as PauseCircleOutlineIcon } from \"./PauseCircleOutline\";\nexport { default as PauseIcon } from \"./PauseIcon\";\nexport { default as PauseSmallIcon } from \"./PauseSmall\";\nexport { default as PencilSmallIcon } from \"./PencilSmall\";\nexport { default as PencilIcon } from \"./Pencil\";\nexport { default as PendingPaymentSmallIcon } from \"./PendingPaymentSmall\";\nexport { default as PeopleIcon } from \"./People\";\nexport { default as PersonCircleOffIcon } from \"./PersonCircleOff\";\nexport { default as PersonCircleIcon } from \"./PersonCircle\";\nexport { default as PersonPlusIcon } from \"./PersonPlus\";\nexport { default as PersonIcon } from \"./Person\";\nexport { default as PinIcon } from \"./Pin\";\nexport { default as PlayCircleOutlineIcon } from \"./PlayCircleOutline\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as PlaySmallIcon } from \"./PlaySmall\";\nexport { default as PriorityLowIcon } from \"./PriorityLow\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectSearchIcon } from \"./ProjectSearch\";\nexport { default as ProjectStarIcon } from \"./ProjectStar\";\nexport { default as ProjectTemplateAddIcon } from \"./ProjectTemplateAdd\";\nexport { default as ProjectTemplateConvertIcon } from \"./ProjectTemplateConvert\";\nexport { default as ProjectTemplateIcon } from \"./ProjectTemplate\";\nexport { default as ProjectsIcon } from \"./Projects\";\nexport { default as RadioBlankIcon } from \"./RadioBlank\";\nexport { default as RadioButtonIcon } from \"./RadioButton\";\nexport { default as RearangeIcon } from \"./Rearange\";\nexport { default as RearrangeSmallIcon } from \"./RearrangeSmall\";\nexport { default as RecurringCheckmarkSmallIcon } from \"./RecurringCheckmarkSmall\";\nexport { default as RecurringCheckmarkIcon } from \"./RecurringCheckmark\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as RocketIcon } from \"./Rocket\";\nexport { default as SearchLargeIcon } from \"./SearchLarge\";\nexport { default as SearchIcon } from \"./Search\";\nexport { default as SendBlankIcon } from \"./SendBlank\";\nexport { default as SendFilledIcon } from \"./SendFilled\";\nexport { default as SettingsIcon } from \"./Settings\";\nexport { default as SortGeneralIcon } from \"./SortGeneral\";\nexport { default as SortIcon } from \"./SortIcon\";\nexport { default as StarOutlineIcon } from \"./StarOutline\";\nexport { default as StarIcon } from \"./Star\";\nexport { default as SystemSettingsIcon } from \"./SystemSettings\";\nexport { default as TaskAddIcon } from \"./TaskAdd\";\nexport { default as TaskListAddIcon } from \"./TaskListAdd\";\nexport { default as TaskListCompleteIcon } from \"./TaskListComplete\";\nexport { default as TaskListIcon } from \"./TaskList\";\nexport { default as ThumbUpOutlineIcon } from \"./ThumbUpOutline\";\nexport { default as TrashIcon } from \"./Trash\";\nexport { default as TreeDotsIcon } from \"./TreeDots\";\nexport { default as UploadIcon } from \"./Upload\";\nexport { default as ViewGridIcon } from \"./ViewGrid\";\nexport { default as ViewListIcon } from \"./ViewList\";\nexport { default as ViewTimelineIcon } from \"./ViewTimeline\";\nexport { default as VolumeHighIcon } from \"./VolumeHigh\";\nexport { default as WarningTriangleSmallIcon } from \"./WarningTriangleSmall\";\nexport { default as WarningTriangleIcon } from \"./WarningTriangle\";\nexport { default as WarningIcon } from \"./Warning\";\nexport { default as WorkloadIcon } from \"./Workload\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAqD"}
@@ -9,7 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _Styles = require("./Styles");
11
11
  var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
12
- var _excluded = ["className", "style", "type", "disabled", "size", "invalid", "startAdornment", "endAdornment", "wrapRef"];
12
+ var _excluded = ["className", "style", "type", "disabled", "size", "invalid", "startAdornment", "endAdornment", "wrapRef", "wrapperClick"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  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); }
15
15
  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; }
@@ -31,13 +31,15 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
31
31
  startAdornment = _ref.startAdornment,
32
32
  endAdornment = _ref.endAdornment,
33
33
  wrapRef = _ref.wrapRef,
34
+ wrapperClick = _ref.wrapperClick,
34
35
  rest = _objectWithoutProperties(_ref, _excluded);
35
36
  var intInputRef = (0, _react.useRef)(null);
36
37
  var handleRef = (0, _useForkRef.default)(ref, intInputRef);
37
38
  var handleWrapperClick = (0, _react.useCallback)(function () {
38
39
  var _intInputRef$current;
39
40
  (_intInputRef$current = intInputRef.current) === null || _intInputRef$current === void 0 ? void 0 : _intInputRef$current.focus();
40
- }, []);
41
+ wrapperClick && wrapperClick();
42
+ }, [wrapperClick]);
41
43
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledInputWrapper, {
42
44
  $size: size,
43
45
  $invalid: invalid,
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["Input","React","forwardRef","ref","className","style","type","disabled","size","invalid","startAdornment","endAdornment","wrapRef","rest","intInputRef","useRef","handleRef","useForkRef","handleWrapperClick","useCallback","current","focus","classnames","displayName"],"sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, { ReactNode, Ref, useCallback, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputSize } from \"./types\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const Input = React.forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n }, []);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n aria-invalid={invalid}\n data-form-type=\"other\"\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAAgD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWzC,IAAMA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAInC,gBAaEC,GAAG,EACA;EAAA,0BAZDC,SAAS;IAATA,SAAS,+BAAG,EAAE;IACdC,KAAK,QAALA,KAAK;IAAA,iBACLC,IAAI;IAAJA,IAAI,0BAAG,MAAM;IAAA,qBACbC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAAA,iBAChBC,IAAI;IAAJA,IAAI,0BAAG,SAAS;IAAA,oBAChBC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IACfC,cAAc,QAAdA,cAAc;IACdC,YAAY,QAAZA,YAAY;IACZC,OAAO,QAAPA,OAAO;IACJC,IAAI;EAIT,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAClD,IAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACd,GAAG,EAAEW,WAAW,CAAC;EAE9C,IAAMI,kBAAkB,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAAA;IAC3C,wBAAAL,WAAW,CAACM,OAAO,yDAAnB,qBAAqBC,KAAK,EAAE;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,6BAAC,0BAAkB;IACjB,KAAK,EAAEb,IAAK;IACZ,QAAQ,EAAEC,OAAQ;IAClB,SAAS,EAAEF,QAAS;IACpB,KAAK,EAAEF,KAAM;IACb,SAAS,EAAE,IAAAiB,mBAAU,EAAC,iBAAiB,EAAElB,SAAS,CAAE;IACpD,OAAO,EAAEc,kBAAmB;IAC5B,GAAG,EAAEN;EAAQ,GAEZF,cAAc,eACf,6BAAC,mBAAW;IACV,GAAG,EAAEM,SAAU;IACf,IAAI,EAAEV,IAAK;IACX,KAAK,EAAEE,IAAK;IACZ,QAAQ,EAAED,QAAS;IACnB,SAAS,EAAC,SAAS;IACnB,gBAAcE,OAAQ;IACtB,kBAAe;EAAO,GAClBI,IAAI,EACR,EACDF,YAAY,CACM;AAEzB,CAAC,CACF;AAAC;AAEFX,KAAK,CAACuB,WAAW,GAAG,OAAO"}
1
+ {"version":3,"file":"Input.js","names":["Input","React","forwardRef","ref","className","style","type","disabled","size","invalid","startAdornment","endAdornment","wrapRef","wrapperClick","rest","intInputRef","useRef","handleRef","useForkRef","handleWrapperClick","useCallback","current","focus","classnames","displayName"],"sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, { ReactNode, Ref, useCallback, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputSize } from \"./types\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n wrapperClick?: () => void;\n}\n\nexport const Input = React.forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n wrapperClick,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n wrapperClick && wrapperClick();\n }, [wrapperClick]);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n aria-invalid={invalid}\n data-form-type=\"other\"\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAAgD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYzC,IAAMA,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAInC,gBAcEC,GAAG,EACA;EAAA,0BAbDC,SAAS;IAATA,SAAS,+BAAG,EAAE;IACdC,KAAK,QAALA,KAAK;IAAA,iBACLC,IAAI;IAAJA,IAAI,0BAAG,MAAM;IAAA,qBACbC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAAA,iBAChBC,IAAI;IAAJA,IAAI,0BAAG,SAAS;IAAA,oBAChBC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IACfC,cAAc,QAAdA,cAAc;IACdC,YAAY,QAAZA,YAAY;IACZC,OAAO,QAAPA,OAAO;IACPC,YAAY,QAAZA,YAAY;IACTC,IAAI;EAIT,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAClD,IAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACf,GAAG,EAAEY,WAAW,CAAC;EAE9C,IAAMI,kBAAkB,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAAA;IAC3C,wBAAAL,WAAW,CAACM,OAAO,yDAAnB,qBAAqBC,KAAK,EAAE;IAC5BT,YAAY,IAAIA,YAAY,EAAE;EAChC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,oBACE,6BAAC,0BAAkB;IACjB,KAAK,EAAEL,IAAK;IACZ,QAAQ,EAAEC,OAAQ;IAClB,SAAS,EAAEF,QAAS;IACpB,KAAK,EAAEF,KAAM;IACb,SAAS,EAAE,IAAAkB,mBAAU,EAAC,iBAAiB,EAAEnB,SAAS,CAAE;IACpD,OAAO,EAAEe,kBAAmB;IAC5B,GAAG,EAAEP;EAAQ,GAEZF,cAAc,eACf,6BAAC,mBAAW;IACV,GAAG,EAAEO,SAAU;IACf,IAAI,EAAEX,IAAK;IACX,KAAK,EAAEE,IAAK;IACZ,QAAQ,EAAED,QAAS;IACnB,SAAS,EAAC,SAAS;IACnB,gBAAcE,OAAQ;IACtB,kBAAe;EAAO,GAClBK,IAAI,EACR,EACDH,YAAY,CACM;AAEzB,CAAC,CACF;AAAC;AAEFX,KAAK,CAACwB,WAAW,GAAG,OAAO"}