@activecollab/components 2.0.82 → 2.0.84

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.
@@ -4,7 +4,7 @@ import { IAutocompleteProps } from "../Autocomplete/Autocomplete";
4
4
  interface ElementWithRef<T> extends ReactElement {
5
5
  ref?: Ref<T>;
6
6
  }
7
- export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" | "inputEl" | "handleEmptyAction" | "clearInputOnSelect"> {
7
+ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" | "inputEl" | "handleEmptyAction" | "clearInputOnSelect" | "mixedOptions"> {
8
8
  /** Menu width mode */
9
9
  mode?: "normal" | "wider" | "tiny";
10
10
  /** Set select target element */
@@ -33,6 +33,8 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
33
33
  endAdornment?: ReactNode;
34
34
  /** Focus search input on inline select */
35
35
  focusInput?: boolean;
36
+ /** Mixed options values */
37
+ mixed?: (string | number)[];
36
38
  }
37
39
  export declare const Select: FC<ISelectProps>;
38
40
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,CACxE;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CA4SnC,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAChB,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,CACjB;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAkRnC,CAAC"}
@@ -22,6 +22,7 @@ const Select = _ref => {
22
22
  target,
23
23
  options,
24
24
  selected = [],
25
+ mixed = [],
25
26
  position = "bottom-start",
26
27
  onChange = () => null,
27
28
  placeholder,
@@ -65,20 +66,7 @@ const Select = _ref => {
65
66
  return [...acc, ...allGroupOptions];
66
67
  }, []);
67
68
  }, [selectOptions]);
68
- const getMixedOptionsRecursively = (0, _react.useCallback)(options => {
69
- let mixedOptions = [];
70
- options.forEach(option => {
71
- if (option.mixed) {
72
- mixedOptions.push(option);
73
- }
74
- if ((0, _Autocomplete.isOptionGroup)(option) && option.options && option.options.length > 0) {
75
- const nestedMixedOptions = getMixedOptionsRecursively(option.options);
76
- mixedOptions = mixedOptions.concat(nestedMixedOptions);
77
- }
78
- });
79
- return mixedOptions;
80
- }, []);
81
- const mixedOptions = (0, _react.useRef)(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(item => item.id) : []);
69
+ const mixedOptions = (0, _react.useRef)(type === "multiple" && mixed.length ? mixed : []);
82
70
  const removeFromMixedOptions = (0, _react.useCallback)(idsToRemove => {
83
71
  mixedOptions.current = mixedOptions.current.filter(mixedOption => !idsToRemove.includes(mixedOption));
84
72
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","getMixedOptionsRecursively","useCallback","mixedOptions","forEach","mixed","push","length","nestedMixedOptions","concat","item","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","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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"}
1
+ {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","mixed","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","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\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\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 /** Mixed options values */\n mixed?: (string | number)[];\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\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 mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\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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"}
package/dist/index.js CHANGED
@@ -11213,7 +11213,7 @@
11213
11213
  viewBox: "0 0 16 16",
11214
11214
  fill: "none",
11215
11215
  xmlns: "http://www.w3.org/2000/svg",
11216
- "data-testid": testId
11216
+ "data-testid": "checkbox-mixed-icon"
11217
11217
  }, /*#__PURE__*/React__default["default"].createElement("path", {
11218
11218
  fillRule: "evenodd",
11219
11219
  clipRule: "evenodd",
@@ -11269,7 +11269,9 @@
11269
11269
  var StyledCheckbox$1 = styled__default["default"].div.withConfig({
11270
11270
  displayName: "Styles__StyledCheckbox",
11271
11271
  componentId: "sc-y7zymm-2"
11272
- })(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{pointer-events:none;opacity:0.5;}", ":focus ~ ", "{", "}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], function (props) {
11272
+ })(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}", " rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{opacity:0.5;cursor:not-allowed;}", ":focus ~ ", "{", "}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], function (props) {
11273
+ return props.$disabled && styled.css(["svg{cursor:not-allowed;}"]);
11274
+ }, function (props) {
11273
11275
  return !props.mixed && styled.css(["stroke:var(--color-theme-500);"]);
11274
11276
  }, function (props) {
11275
11277
  return props.mixed && styled.css(["stroke:transparent;"]);
@@ -11286,7 +11288,7 @@
11286
11288
  });
11287
11289
  StyledCheckbox$1.displayName = "StyledCheckbox";
11288
11290
 
11289
- var _excluded$R = ["className", "hover", "id", "mixed", "onChange"];
11291
+ var _excluded$R = ["className", "hover", "id", "mixed", "checked", "onChange", "disabled"];
11290
11292
  /**
11291
11293
  * Checkbox component
11292
11294
  */
@@ -11297,18 +11299,34 @@
11297
11299
  id = _ref$id === void 0 ? "checkbox" : _ref$id,
11298
11300
  _ref$mixed = _ref.mixed,
11299
11301
  mixed = _ref$mixed === void 0 ? false : _ref$mixed,
11302
+ checked = _ref.checked,
11300
11303
  onChange = _ref.onChange,
11304
+ disabled = _ref.disabled,
11301
11305
  rest = _objectWithoutProperties(_ref, _excluded$R);
11302
- var _useState = React.useState(mixed),
11306
+ var _useState = React.useState(mixed && !checked),
11303
11307
  _useState2 = _slicedToArray(_useState, 2),
11304
11308
  indeterminate = _useState2[0],
11305
11309
  setIndeterminate = _useState2[1];
11310
+ var _useState3 = React.useState(checked),
11311
+ _useState4 = _slicedToArray(_useState3, 2),
11312
+ initialChecked = _useState4[0],
11313
+ setInitialChecked = _useState4[1];
11306
11314
  var handleChange = React.useCallback(function (e) {
11307
11315
  typeof onChange === "function" && onChange(e);
11316
+ setInitialChecked(function (prev) {
11317
+ return !prev;
11318
+ });
11308
11319
  setIndeterminate(false);
11309
11320
  }, [onChange]);
11310
11321
  React.useEffect(function () {
11311
- if (mixed !== indeterminate) {
11322
+ if (checked !== initialChecked) {
11323
+ setInitialChecked(checked);
11324
+ setIndeterminate(false);
11325
+ }
11326
+ // eslint-disable-next-line react-hooks/exhaustive-deps
11327
+ }, [checked]);
11328
+ React.useEffect(function () {
11329
+ if (mixed !== indeterminate && !checked) {
11312
11330
  setIndeterminate(mixed);
11313
11331
  }
11314
11332
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -11320,7 +11338,8 @@
11320
11338
  }, className),
11321
11339
  hover: hover,
11322
11340
  tabIndex: -1,
11323
- mixed: indeterminate
11341
+ mixed: indeterminate,
11342
+ $disabled: disabled
11324
11343
  }, /*#__PURE__*/React__default["default"].createElement(StyledInput$3, _extends({
11325
11344
  role: "checkbox",
11326
11345
  id: id,
@@ -11328,7 +11347,9 @@
11328
11347
  type: "checkbox",
11329
11348
  ref: ref
11330
11349
  }, rest, {
11331
- onChange: handleChange
11350
+ checked: initialChecked,
11351
+ onChange: handleChange,
11352
+ disabled: disabled
11332
11353
  })), /*#__PURE__*/React__default["default"].createElement(StyledLabel, {
11333
11354
  htmlFor: id,
11334
11355
  className: "c-checkbox--label"
@@ -12603,7 +12624,7 @@
12603
12624
  componentId: "sc-9x4q7e-0"
12604
12625
  })(["cursor:auto"]);
12605
12626
 
12606
- var _excluded$M = ["type", "mode", "target", "options", "selected", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment", "focusInput"];
12627
+ var _excluded$M = ["type", "mode", "target", "options", "selected", "mixed", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment", "focusInput"];
12607
12628
  var Select = function Select(_ref) {
12608
12629
  var _ref$type = _ref.type,
12609
12630
  type = _ref$type === void 0 ? "single" : _ref$type,
@@ -12612,6 +12633,8 @@
12612
12633
  options = _ref.options,
12613
12634
  _ref$selected = _ref.selected,
12614
12635
  selected = _ref$selected === void 0 ? [] : _ref$selected,
12636
+ _ref$mixed = _ref.mixed,
12637
+ mixed = _ref$mixed === void 0 ? [] : _ref$mixed,
12615
12638
  _ref$position = _ref.position,
12616
12639
  position = _ref$position === void 0 ? "bottom-start" : _ref$position,
12617
12640
  _ref$onChange = _ref.onChange,
@@ -12672,22 +12695,7 @@
12672
12695
  return [...acc, ...allGroupOptions];
12673
12696
  }, []);
12674
12697
  }, [selectOptions]);
12675
- var getMixedOptionsRecursively = React.useCallback(function (options) {
12676
- var mixedOptions = [];
12677
- options.forEach(function (option) {
12678
- if (option.mixed) {
12679
- mixedOptions.push(option);
12680
- }
12681
- if (isOptionGroup(option) && option.options && option.options.length > 0) {
12682
- var nestedMixedOptions = getMixedOptionsRecursively(option.options);
12683
- mixedOptions = mixedOptions.concat(nestedMixedOptions);
12684
- }
12685
- });
12686
- return mixedOptions;
12687
- }, []);
12688
- var mixedOptions = React.useRef(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(function (item) {
12689
- return item.id;
12690
- }) : []);
12698
+ var mixedOptions = React.useRef(type === "multiple" && mixed.length ? mixed : []);
12691
12699
  var removeFromMixedOptions = React.useCallback(function (idsToRemove) {
12692
12700
  mixedOptions.current = mixedOptions.current.filter(function (mixedOption) {
12693
12701
  return !idsToRemove.includes(mixedOption);