@activecollab/components 2.0.74 → 2.0.76

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 (41) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.js +6 -3
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/dist/cjs/components/Checkbox/Checkbox.js +29 -5
  4. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  5. package/dist/cjs/components/Checkbox/CheckboxIcon.js +4 -4
  6. package/dist/cjs/components/Checkbox/CheckboxIcon.js.map +1 -1
  7. package/dist/cjs/components/Checkbox/Styles.js +6 -6
  8. package/dist/cjs/components/Checkbox/Styles.js.map +1 -1
  9. package/dist/cjs/components/Select/Option/Option.js.map +1 -1
  10. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +11 -4
  11. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  12. package/dist/cjs/components/Select/Select.js +29 -4
  13. package/dist/cjs/components/Select/Select.js.map +1 -1
  14. package/dist/esm/components/Autocomplete/Autocomplete.d.ts +2 -0
  15. package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  16. package/dist/esm/components/Autocomplete/Autocomplete.js +5 -3
  17. package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  18. package/dist/esm/components/Checkbox/Checkbox.d.ts +4 -2
  19. package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
  20. package/dist/esm/components/Checkbox/Checkbox.js +18 -4
  21. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  22. package/dist/esm/components/Checkbox/CheckboxIcon.d.ts +1 -1
  23. package/dist/esm/components/Checkbox/CheckboxIcon.js +3 -3
  24. package/dist/esm/components/Checkbox/CheckboxIcon.js.map +1 -1
  25. package/dist/esm/components/Checkbox/Styles.js +1 -1
  26. package/dist/esm/components/Checkbox/Styles.js.map +1 -1
  27. package/dist/esm/components/Select/Option/Option.d.ts +2 -0
  28. package/dist/esm/components/Select/Option/Option.d.ts.map +1 -1
  29. package/dist/esm/components/Select/Option/Option.js.map +1 -1
  30. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts +2 -0
  31. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
  32. package/dist/esm/components/Select/OptionGroup/OptionGroup.js +6 -2
  33. package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  34. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  35. package/dist/esm/components/Select/Select.js +25 -4
  36. package/dist/esm/components/Select/Select.js.map +1 -1
  37. package/dist/index.js +79 -26
  38. package/dist/index.js.map +1 -1
  39. package/dist/index.min.js +1 -1
  40. package/dist/index.min.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OptionGroup.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_Checkbox","_List","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","OptionGroup","exports","_ref","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","useMemo","v","toLowerCase","includes","trim","useEffect","_document$getElementB","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","useCallback","some","undefined","allOptionValues","map","handleClick","stopPropagation","values","unique","item","pos","indexOf","createElement","StyledOptionGroupLi","key","className","classNames","StyledOptionGroup","StyledOptionGroupOption","onMouseEnter","StyledOptionGroupHeader","StyledOptionGroupHeaderName","weight","Checkbox","isIndeterminate","List","index","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, FC, ReactNode } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n StyledOptionGroupHeaderName,\n} from \"./Styles\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport { List } from \"../../List\";\nimport { IOptionItemProps } from \"../Option/Option\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => ReactNode;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n filter,\n checked,\n onChange,\n setHover,\n renderOptions,\n optionGroupClassName,\n}) => {\n const list = useMemo(\n () =>\n filter\n ? options.filter((v) =>\n v.name.toLowerCase().includes(filter.trim().toLowerCase())\n )\n : options,\n [filter, options]\n );\n\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (options.some((option) => checked.includes(option.id))) return;\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id, checked, options]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n if (onChange) {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n isIndeterminate={\n options.some((option) => checked.includes(option.id)) &&\n !isAllOptionsChecked\n }\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n <List>\n {list.map((item: IOptionItemProps, index) => {\n return typeof renderOptions === \"function\"\n ? renderOptions(item, index)\n : item.name;\n })}\n </List>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"OptionGroup.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_Checkbox","_List","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","OptionGroup","exports","_ref","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","_ref$mixedOptions","mixedOptions","list","useMemo","v","toLowerCase","includes","trim","useEffect","_document$getElementB","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","useCallback","some","undefined","allOptionValues","map","isMixed","item","handleClick","stopPropagation","values","unique","pos","indexOf","createElement","StyledOptionGroupLi","key","className","classNames","StyledOptionGroup","StyledOptionGroupOption","onMouseEnter","StyledOptionGroupHeader","StyledOptionGroupHeaderName","weight","Checkbox","mixed","List","index","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, FC, ReactNode } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n StyledOptionGroupHeaderName,\n} from \"./Styles\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport { List } from \"../../List\";\nimport { IOptionItemProps } from \"../Option/Option\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** Mixed options values */\n mixedOptions: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => ReactNode;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n filter,\n checked,\n onChange,\n setHover,\n renderOptions,\n optionGroupClassName,\n mixedOptions = [],\n}) => {\n const list = useMemo(\n () =>\n filter\n ? options.filter((v) =>\n v.name.toLowerCase().includes(filter.trim().toLowerCase())\n )\n : options,\n [filter, options]\n );\n\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (options.some((option) => checked.includes(option.id))) return;\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id, checked, options]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const isMixed: boolean = useMemo(() => {\n return (\n (options.some((option) => checked.includes(option.id)) ||\n mixedOptions.some((item) => allOptionValues.includes(item))) &&\n !isAllOptionsChecked\n );\n }, [allOptionValues, checked, isAllOptionsChecked, mixedOptions, options]);\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n if (onChange) {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n mixed={isMixed}\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n <List>\n {list.map((item: IOptionItemProps, index) => {\n return typeof renderOptions === \"function\"\n ? renderOptions(item, index)\n : item.name;\n })}\n </List>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n"],"mappings":"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"}
@@ -92,6 +92,27 @@ var Select = exports.Select = function Select(_ref) {
92
92
  return [...acc, ...allGroupOptions];
93
93
  }, []);
94
94
  }, [selectOptions]);
95
+ var getMixedOptionsRecursively = (0, _react.useCallback)(function (options) {
96
+ var mixedOptions = [];
97
+ options.forEach(function (option) {
98
+ if (option.mixed) {
99
+ mixedOptions.push(option);
100
+ }
101
+ if ((0, _Autocomplete.isOptionGroup)(option) && option.options && option.options.length > 0) {
102
+ var nestedMixedOptions = getMixedOptionsRecursively(option.options);
103
+ mixedOptions = mixedOptions.concat(nestedMixedOptions);
104
+ }
105
+ });
106
+ return mixedOptions;
107
+ }, []);
108
+ var mixedOptions = (0, _react.useRef)(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(function (item) {
109
+ return item.id;
110
+ }) : []);
111
+ var removeFromMixedOptions = (0, _react.useCallback)(function (idsToRemove) {
112
+ mixedOptions.current = mixedOptions.current.filter(function (mixedOption) {
113
+ return !idsToRemove.includes(mixedOption);
114
+ });
115
+ }, []);
95
116
  var isAllOptionsChecked = (0, _react.useMemo)(function () {
96
117
  return allOptionValues.every(function (option) {
97
118
  return selectedOptions.includes(option);
@@ -115,8 +136,9 @@ var Select = exports.Select = function Select(_ref) {
115
136
  }
116
137
  if (selectedValue !== undefined && selectedValue !== selected && !(selectedValue instanceof Array && selectedValue.includes(undefined))) {
117
138
  onChange(selectedValue);
139
+ type === "multiple" && mixedOptions.current.length && removeFromMixedOptions(selectedValue);
118
140
  }
119
- }, [forceCloseMenu, selected, onSelectClose, onChange]);
141
+ }, [forceCloseMenu, selected, onSelectClose, onChange, type, removeFromMixedOptions]);
120
142
  var onClose = (0, _react.useCallback)(function () {
121
143
  setOpen(false);
122
144
  if (onSelectClose) {
@@ -195,11 +217,13 @@ var Select = exports.Select = function Select(_ref) {
195
217
  additionalInfo: option.additionalInfo
196
218
  }), option.id === null ? type === "multiple" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledCheckbox, _extends({
197
219
  checked: isAllOptionsChecked,
198
- isIndeterminate: someOptionsChecked && !isAllOptionsChecked
220
+ mixed: someOptionsChecked && !isAllOptionsChecked
199
221
  }, props)) : /*#__PURE__*/_react.default.createElement(_Styles.StyledRadioButton, _extends({
200
222
  checked: selectedOptions.length < 1 || !selectedOptions[0]
201
- }, props)) : type === "multiple" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledCheckbox, props) : /*#__PURE__*/_react.default.createElement(_Styles.StyledRadioButton, props));
202
- }, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
223
+ }, props)) : type === "multiple" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledCheckbox, _extends({
224
+ mixed: mixedOptions.current.includes(option.id)
225
+ }, props)) : /*#__PURE__*/_react.default.createElement(_Styles.StyledRadioButton, props));
226
+ }, [isAllOptionsChecked, renderOption, type, someOptionsChecked, selectedOptions]);
203
227
  return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
204
228
  ref: formRef
205
229
  }, startAdornment ? /*#__PURE__*/_react.default.createElement(_Styles.StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
@@ -213,6 +237,7 @@ var Select = exports.Select = function Select(_ref) {
213
237
  handleChange: handleChange,
214
238
  renderOption: handleRenderOption,
215
239
  options: options,
240
+ mixedOptions: mixedOptions.current,
216
241
  handleDefaultOptionChange: handleDefaultOptionChangeCallback,
217
242
  type: type,
218
243
  preselectDefaultValue: preselectDefaultValue,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Select","exports","_ref","_ref$type","type","mode","options","_ref$selected","selected","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","_childNode$current","current","focus","handleChange","useCallback","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","_elementRef$current","className","handleEmptyAction","_formRef$current","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Select","exports","_ref","_ref$type","type","mode","options","_ref$selected","selected","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","getMixedOptionsRecursively","useCallback","mixedOptions","forEach","mixed","nestedMixedOptions","concat","item","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","_elementRef$current","className","handleEmptyAction","_formRef$current","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const getMixedOptionsRecursively = useCallback(\n (options: (IOptionGroupProps | IOptionItemProps)[]) => {\n let mixedOptions: (IOptionGroupProps | IOptionItemProps)[] = [];\n\n options.forEach((option) => {\n if (option.mixed) {\n mixedOptions.push(option);\n }\n if (\n isOptionGroup(option) &&\n option.options &&\n option.options.length > 0\n ) {\n const nestedMixedOptions = getMixedOptionsRecursively(option.options);\n mixedOptions = mixedOptions.concat(nestedMixedOptions);\n }\n });\n\n return mixedOptions;\n },\n []\n );\n\n const mixedOptions = useRef(\n type === \"multiple\" && selectOptions\n ? getMixedOptionsRecursively(selectOptions).map((item) => item.id)\n : []\n );\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface IAutocompleteProps {
9
9
  options?: (IOptionGroupProps | IOptionItemProps)[];
10
10
  /** Selected values */
11
11
  selected?: (string | number)[] | string | number;
12
+ /** Mixed options values */
13
+ mixedOptions?: (string | number)[];
12
14
  /** Input Element. */
13
15
  inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;
14
16
  /** Text for empty value */
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACZ,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA8f/C,CAAC"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACZ,gBAAgB,EACjB,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAigB/C,CAAC"}
@@ -40,7 +40,8 @@ const Autocomplete = _ref => {
40
40
  preselectDefaultValue,
41
41
  keepSameOptionsOrder = false,
42
42
  autoHeightMax = 340,
43
- clearInputOnSelect
43
+ clearInputOnSelect,
44
+ mixedOptions = []
44
45
  } = _ref;
45
46
  const itemRef = (0, _react.useRef)(null);
46
47
  const listRef = (0, _react.useRef)(null);
@@ -259,7 +260,8 @@ const Autocomplete = _ref => {
259
260
  renderOptions: handleRenderOption,
260
261
  type: type,
261
262
  onChange: handleChange,
262
- filter: filter
263
+ filter: filter,
264
+ mixedOptions: mixedOptions
263
265
  });
264
266
  }
265
267
  return /*#__PURE__*/_react.default.createElement(_Option.Option, {
@@ -281,7 +283,7 @@ const Autocomplete = _ref => {
281
283
  onChange: () => null
282
284
  })
283
285
  });
284
- }, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
286
+ }, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange, mixedOptions]);
285
287
  const handleOnMouseLeave = (0, _react.useCallback)(() => {
286
288
  setHover({
287
289
  item: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactCustomScrollbars","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isOptionGroup","item","options","undefined","Autocomplete","_ref","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","itemRef","useRef","listRef","selectedOptions","useMemo","Array","isArray","handleSort","useCallback","opts","isGrouped","map","group","sortedGroupOptions","sort","b","includes","id","sortList","sortedOptions","localeCompare","sortedList","hover","setHover","useState","by","filter","setFilter","handleEmpty","button","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","StyledAutocompleteNewItem","ref","key","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","OptionGroup","checked","renderOptions","onChange","Option","onClick","className","highlightText","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","useEffect","offsetTop","handleOnKeyDown","handleKeyboardMovement","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","Scrollbars","autoHeight","exports","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) => {\n if (\n selectedOptions.includes(b.id) &&\n !selectedOptions.includes(a.id)\n ) {\n return 1;\n }\n if (\n selectedOptions.includes(a.id) &&\n !selectedOptions.includes(b.id)\n ) {\n return -1;\n }\n return 0;\n });\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort((a, b) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactCustomScrollbars","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isOptionGroup","item","options","undefined","Autocomplete","_ref","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","mixedOptions","itemRef","useRef","listRef","selectedOptions","useMemo","Array","isArray","handleSort","useCallback","opts","isGrouped","map","group","sortedGroupOptions","sort","b","includes","id","sortList","sortedOptions","localeCompare","sortedList","hover","setHover","useState","by","filter","setFilter","handleEmpty","button","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","StyledAutocompleteNewItem","ref","key","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","OptionGroup","checked","renderOptions","onChange","Option","onClick","className","highlightText","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","useEffect","offsetTop","handleOnKeyDown","handleKeyboardMovement","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","Scrollbars","autoHeight","exports","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Mixed options values */\n mixedOptions?: (string | number)[];\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n mixedOptions = [],\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) => {\n if (\n selectedOptions.includes(b.id) &&\n !selectedOptions.includes(a.id)\n ) {\n return 1;\n }\n if (\n selectedOptions.includes(a.id) &&\n !selectedOptions.includes(b.id)\n ) {\n return -1;\n }\n return 0;\n });\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort((a, b) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n mixedOptions={mixedOptions}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n mixedOptions,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React, { InputHTMLAttributes } from "react";
2
- export interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {
2
+ export interface CheckBoxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChange"> {
3
3
  /** CSS classes */
4
4
  className?: string;
5
5
  /** Set hover style */
@@ -7,7 +7,9 @@ export interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {
7
7
  /** Id of input and for of label */
8
8
  id?: string;
9
9
  /** mixed state */
10
- isIndeterminate?: boolean;
10
+ mixed?: boolean;
11
+ /** On change callback */
12
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
11
13
  }
12
14
  /**
13
15
  * Checkbox component
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAOpE,MAAM,WAAW,aAAc,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IAC1E,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,wFA4CpB,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC/D,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,wFA8DpB,CAAC"}
@@ -20,9 +20,21 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
20
20
  className,
21
21
  hover,
22
22
  id = "checkbox",
23
- isIndeterminate,
23
+ mixed = false,
24
+ onChange,
24
25
  ...rest
25
26
  } = _ref;
27
+ const [indeterminate, setIndeterminate] = (0, _react.useState)(mixed);
28
+ const handleChange = (0, _react.useCallback)(e => {
29
+ typeof onChange === "function" && onChange(e);
30
+ setIndeterminate(false);
31
+ }, [onChange]);
32
+ (0, _react.useEffect)(() => {
33
+ if (mixed !== indeterminate) {
34
+ setIndeterminate(mixed);
35
+ }
36
+ // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ }, [mixed]);
26
38
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledCheckbox, {
27
39
  className: (0, _classnames.default)("c-checkbox", {
28
40
  "c-checkbox__hover": hover,
@@ -30,21 +42,23 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
30
42
  }, className),
31
43
  hover: hover,
32
44
  tabIndex: -1,
33
- isIndeterminate: isIndeterminate
45
+ mixed: indeterminate
34
46
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledInput, (0, _extends2.default)({
35
47
  role: "checkbox",
36
48
  id: id,
37
49
  className: "c-checkbox--input",
38
50
  type: "checkbox",
39
51
  ref: ref
40
- }, rest)), /*#__PURE__*/_react.default.createElement(_Styles.StyledLabel, {
52
+ }, rest, {
53
+ onChange: handleChange
54
+ })), /*#__PURE__*/_react.default.createElement(_Styles.StyledLabel, {
41
55
  htmlFor: id,
42
56
  className: "c-checkbox--label"
43
57
  }, /*#__PURE__*/_react.default.createElement(_CheckboxIcon.default, {
44
58
  "data-testid": "checkbox-icon",
45
59
  height: 16,
46
60
  width: 16,
47
- isIndeterminate: isIndeterminate
61
+ mixed: indeterminate
48
62
  })));
49
63
  });
50
64
  Checkbox.displayName = "Checkbox";
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Checkbox","exports","forwardRef","_ref","ref","className","hover","id","isIndeterminate","rest","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","_extends2","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, Ref, InputHTMLAttributes } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps extends InputHTMLAttributes<HTMLInputElement> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n isIndeterminate?: boolean;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n isIndeterminate,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n isIndeterminate={isIndeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n isIndeterminate={isIndeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Checkbox","exports","forwardRef","_ref","ref","className","hover","id","mixed","onChange","rest","indeterminate","setIndeterminate","useState","handleChange","useCallback","useEffect","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","_extends2","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n onChange,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (mixed !== indeterminate) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n onChange={handleChange}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ import React from "react";
19
19
  * https://design.activecollab.com/docs/foundations/icons
20
20
  */
21
21
  declare const CheckboxIcon: React.ForwardRefExoticComponent<Omit<{
22
- isIndeterminate?: boolean | undefined;
22
+ mixed?: boolean | undefined;
23
23
  "data-testid"?: string | undefined;
24
24
  } & React.SVGProps<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
25
25
  export default CheckboxIcon;