@activecollab/components 2.0.297 → 2.0.298
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Select/Select.js +6 -5
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +6 -5
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -137,6 +137,10 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
137
137
|
onSelectOpen();
|
|
138
138
|
}
|
|
139
139
|
}, [onSelectOpen]);
|
|
140
|
+
var onPopperOpen = (0, _react.useCallback)(function () {
|
|
141
|
+
var _elementRef$current;
|
|
142
|
+
elementRef === null || elementRef === void 0 || (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 || _elementRef$current.focus();
|
|
143
|
+
}, []);
|
|
140
144
|
var props = (0, _react.useMemo)(function () {
|
|
141
145
|
if (target) {
|
|
142
146
|
return {
|
|
@@ -147,16 +151,13 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
147
151
|
mode,
|
|
148
152
|
open,
|
|
149
153
|
position,
|
|
150
|
-
onPopperOpen
|
|
151
|
-
var _elementRef$current;
|
|
152
|
-
return elementRef === null || elementRef === void 0 || (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.focus();
|
|
153
|
-
}
|
|
154
|
+
onPopperOpen
|
|
154
155
|
};
|
|
155
156
|
}
|
|
156
157
|
return {
|
|
157
158
|
className: (0, _classnames.default)("c-select", selectClassName)
|
|
158
159
|
};
|
|
159
|
-
}, [target, selectClassName, onClose, onOpen, mode, open, position]);
|
|
160
|
+
}, [target, selectClassName, onClose, onOpen, mode, open, position, onPopperOpen]);
|
|
160
161
|
var handleEmptyAction = (0, _react.useCallback)(function (value) {
|
|
161
162
|
emptyAction(value);
|
|
162
163
|
if (forceCloseMenu) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Select","exports","_ref","_ref$type","type","mode","target","options","_ref$selected","selected","_ref$mixed","mixed","_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","disableVirtualization","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","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","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","StyledStartAdornment","StyledSelectInput","ref","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\nexport interface 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 disableVirtualization?: boolean;\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 disableVirtualization,\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\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 // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\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>\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={disableSearch ? undefined : 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 disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Select","exports","_ref","_ref$type","type","mode","target","options","_ref$selected","selected","_ref$mixed","mixed","_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","disableVirtualization","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","classNames","className","handleEmptyAction","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","StyledStartAdornment","StyledSelectInput","ref","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\nexport interface 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 disableVirtualization?: boolean;\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 disableVirtualization,\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\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 onPopperOpen = useCallback(() => {\n elementRef?.current?.focus();\n }, []);\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,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [\n target,\n selectClassName,\n onClose,\n onOpen,\n mode,\n open,\n position,\n onPopperOpen,\n ]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\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>\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={disableSearch ? undefined : 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 disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IACrD,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;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,
|
|
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,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IACrD,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;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAmSnC,CAAC"}
|
|
@@ -93,6 +93,10 @@ export const Select = _ref => {
|
|
|
93
93
|
onSelectOpen();
|
|
94
94
|
}
|
|
95
95
|
}, [onSelectOpen]);
|
|
96
|
+
const onPopperOpen = useCallback(() => {
|
|
97
|
+
var _elementRef$current;
|
|
98
|
+
elementRef == null || (_elementRef$current = elementRef.current) == null || _elementRef$current.focus();
|
|
99
|
+
}, []);
|
|
96
100
|
const props = useMemo(() => {
|
|
97
101
|
if (target) {
|
|
98
102
|
return {
|
|
@@ -103,16 +107,13 @@ export const Select = _ref => {
|
|
|
103
107
|
mode,
|
|
104
108
|
open,
|
|
105
109
|
position,
|
|
106
|
-
onPopperOpen
|
|
107
|
-
var _elementRef$current;
|
|
108
|
-
return elementRef == null || (_elementRef$current = elementRef.current) == null ? void 0 : _elementRef$current.focus();
|
|
109
|
-
}
|
|
110
|
+
onPopperOpen
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
113
|
return {
|
|
113
114
|
className: classNames("c-select", selectClassName)
|
|
114
115
|
};
|
|
115
|
-
}, [target, selectClassName, onClose, onOpen, mode, open, position]);
|
|
116
|
+
}, [target, selectClassName, onClose, onOpen, mode, open, position, onPopperOpen]);
|
|
116
117
|
const handleEmptyAction = useCallback(value => {
|
|
117
118
|
emptyAction(value);
|
|
118
119
|
if (forceCloseMenu) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","classNames","OptionContent","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","StyledStartAdornment","StyledEndAdornment","useForkRef","Autocomplete","isOptionGroup","Menu","Select","_ref","type","mode","target","options","selected","mixed","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","disableVirtualization","prop","_objectWithoutPropertiesLoose","_excluded","console","warn","childNode","elementRef","handleRef","Tag","open","setOpen","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","onPopperOpen","_elementRef$current","className","handleEmptyAction","value","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","imageUrl","image","color","textColor","name","additionalInfo","_extends","checked","ref","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\nexport interface 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 disableVirtualization?: boolean;\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 disableVirtualization,\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\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 // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\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>\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={disableSearch ? undefined : 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 disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","classNames","OptionContent","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","StyledStartAdornment","StyledEndAdornment","useForkRef","Autocomplete","isOptionGroup","Menu","Select","_ref","type","mode","target","options","selected","mixed","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","disableVirtualization","prop","_objectWithoutPropertiesLoose","_excluded","console","warn","childNode","elementRef","handleRef","Tag","open","setOpen","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","className","handleEmptyAction","value","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","imageUrl","image","color","textColor","name","additionalInfo","_extends","checked","ref","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\nexport interface 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 disableVirtualization?: boolean;\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 disableVirtualization,\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\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 onPopperOpen = useCallback(() => {\n elementRef?.current?.focus();\n }, []);\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,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [\n target,\n selectClassName,\n onClose,\n onOpen,\n mode,\n open,\n position,\n onPopperOpen,\n ]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\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>\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={disableSearch ? undefined : 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 disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -18371,6 +18371,10 @@
|
|
|
18371
18371
|
onSelectOpen();
|
|
18372
18372
|
}
|
|
18373
18373
|
}, [onSelectOpen]);
|
|
18374
|
+
var onPopperOpen = React.useCallback(function () {
|
|
18375
|
+
var _elementRef$current;
|
|
18376
|
+
elementRef === null || elementRef === void 0 || (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 || _elementRef$current.focus();
|
|
18377
|
+
}, []);
|
|
18374
18378
|
var props = React.useMemo(function () {
|
|
18375
18379
|
if (target) {
|
|
18376
18380
|
return {
|
|
@@ -18381,16 +18385,13 @@
|
|
|
18381
18385
|
mode,
|
|
18382
18386
|
open,
|
|
18383
18387
|
position,
|
|
18384
|
-
onPopperOpen
|
|
18385
|
-
var _elementRef$current;
|
|
18386
|
-
return elementRef === null || elementRef === void 0 || (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.focus();
|
|
18387
|
-
}
|
|
18388
|
+
onPopperOpen
|
|
18388
18389
|
};
|
|
18389
18390
|
}
|
|
18390
18391
|
return {
|
|
18391
18392
|
className: classNames__default["default"]("c-select", selectClassName)
|
|
18392
18393
|
};
|
|
18393
|
-
}, [target, selectClassName, onClose, onOpen, mode, open, position]);
|
|
18394
|
+
}, [target, selectClassName, onClose, onOpen, mode, open, position, onPopperOpen]);
|
|
18394
18395
|
var handleEmptyAction = React.useCallback(function (value) {
|
|
18395
18396
|
emptyAction(value);
|
|
18396
18397
|
if (forceCloseMenu) {
|