@activecollab/components 2.0.2 → 2.0.3
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 +8 -11
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +5 -5
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +7 -10
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/index.js +8 -10
- 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
|
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Select = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _Autocomplete = require("../Autocomplete");
|
|
9
|
-
var _Tooltip = require("../Tooltip");
|
|
10
9
|
var _Menu = require("../Menu/Menu");
|
|
11
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
11
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
13
12
|
var _Styles = require("./Styles");
|
|
14
13
|
var _OptionContent = require("./OptionContent/OptionContent");
|
|
15
|
-
var _excluded = ["type", "mode", "target", "options", "selected", "position", "onChange", "
|
|
14
|
+
var _excluded = ["type", "mode", "target", "options", "selected", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment"];
|
|
16
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -39,8 +38,6 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
39
38
|
onChange = _ref$onChange === void 0 ? function () {
|
|
40
39
|
return null;
|
|
41
40
|
} : _ref$onChange,
|
|
42
|
-
actionIcon = _ref.actionIcon,
|
|
43
|
-
actionLabel = _ref.actionLabel,
|
|
44
41
|
placeholder = _ref.placeholder,
|
|
45
42
|
_ref$emptyAction = _ref.emptyAction,
|
|
46
43
|
emptyAction = _ref$emptyAction === void 0 ? function () {
|
|
@@ -58,7 +55,12 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
58
55
|
handleDefaultOptionChange = _ref.handleDefaultOptionChange,
|
|
59
56
|
_ref$preselectDefault = _ref.preselectDefaultValue,
|
|
60
57
|
preselectDefaultValue = _ref$preselectDefault === void 0 ? type === "single" : _ref$preselectDefault,
|
|
58
|
+
startAdornment = _ref.startAdornment,
|
|
59
|
+
endAdornment = _ref.endAdornment,
|
|
61
60
|
prop = _objectWithoutProperties(_ref, _excluded);
|
|
61
|
+
if (disableSearch && (startAdornment || endAdornment)) {
|
|
62
|
+
console.warn("Adornments are not visible when search bar is hidden");
|
|
63
|
+
}
|
|
62
64
|
var childNode = (0, _react.useRef)();
|
|
63
65
|
var elementRef = (0, _react.useRef)(null);
|
|
64
66
|
var handleRef = (0, _useForkRef.default)(childNode, elementRef);
|
|
@@ -196,15 +198,10 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
196
198
|
}, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
|
|
197
199
|
return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
|
|
198
200
|
ref: formRef
|
|
199
|
-
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
201
|
+
}, startAdornment, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
200
202
|
ref: handleRef,
|
|
201
203
|
placeholder: placeholder
|
|
202
|
-
}),
|
|
203
|
-
popperTooltipStyle: {
|
|
204
|
-
zIndex: 1301
|
|
205
|
-
},
|
|
206
|
-
title: actionLabel
|
|
207
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, actionIcon)), actionIcon && !actionLabel && actionIcon) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, _extends({}, prop, {
|
|
204
|
+
}), endAdornment) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, _extends({}, prop, {
|
|
208
205
|
clearInputOnSelect: true,
|
|
209
206
|
inputEl: childNode,
|
|
210
207
|
handleEmptyAction: handleEmptyAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_Autocomplete","_Tooltip","_Menu","_classnames","_interopRequireDefault","_useForkRef","_Styles","_OptionContent","_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","actionIcon","actionLabel","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","prop","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","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","StyledSelectInput","Tooltip","popperTooltipStyle","zIndex","title","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} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\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 /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\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}\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 actionIcon,\n actionLabel,\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 ...prop\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 open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\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 <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\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","_Autocomplete","_Menu","_classnames","_interopRequireDefault","_useForkRef","_Styles","_OptionContent","_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","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","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","StyledSelectInput","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\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\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}\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 ...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 open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\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 <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment}\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,4 +1,4 @@
|
|
|
1
|
-
import { FC, ReactElement, Ref } from "react";
|
|
1
|
+
import { FC, ReactElement, Ref, ReactNode } from "react";
|
|
2
2
|
import { Placement } from "@popperjs/core";
|
|
3
3
|
import { IAutocompleteProps } from "../Autocomplete/Autocomplete";
|
|
4
4
|
interface ElementWithRef<T> extends ReactElement {
|
|
@@ -13,10 +13,6 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
|
|
|
13
13
|
position?: Placement;
|
|
14
14
|
/** onChange callback */
|
|
15
15
|
onChange?: (e: (string | number)[] | string | number) => void;
|
|
16
|
-
/** Set action icon in select */
|
|
17
|
-
actionIcon?: ReactElement;
|
|
18
|
-
/** Set label for action icon */
|
|
19
|
-
actionLabel?: string;
|
|
20
16
|
/** Placeholder for Select input */
|
|
21
17
|
placeholder?: string;
|
|
22
18
|
/** Function that triggers when empty is clicked */
|
|
@@ -31,6 +27,10 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
|
|
|
31
27
|
onSelectOpen?: () => void;
|
|
32
28
|
/** Callback called when the Select menu is closed */
|
|
33
29
|
onSelectClose?: () => void;
|
|
30
|
+
/** Node element on the left side */
|
|
31
|
+
startAdornment?: ReactNode;
|
|
32
|
+
/** Node element on the right side */
|
|
33
|
+
endAdornment?: ReactNode;
|
|
34
34
|
}
|
|
35
35
|
export declare const Select: FC<ISelectProps>;
|
|
36
36
|
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,
|
|
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;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAUlE,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;CAC1B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CA6OnC,CAAC"}
|
|
@@ -8,7 +8,6 @@ exports.Select = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _Autocomplete = require("../Autocomplete");
|
|
11
|
-
var _Tooltip = require("../Tooltip");
|
|
12
11
|
var _Menu = require("../Menu/Menu");
|
|
13
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
13
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
@@ -25,8 +24,6 @@ const Select = _ref => {
|
|
|
25
24
|
selected = [],
|
|
26
25
|
position = "bottom-start",
|
|
27
26
|
onChange = () => null,
|
|
28
|
-
actionIcon,
|
|
29
|
-
actionLabel,
|
|
30
27
|
placeholder,
|
|
31
28
|
emptyAction = () => null,
|
|
32
29
|
disableSearch = false,
|
|
@@ -38,8 +35,13 @@ const Select = _ref => {
|
|
|
38
35
|
renderOption,
|
|
39
36
|
handleDefaultOptionChange,
|
|
40
37
|
preselectDefaultValue = type === "single",
|
|
38
|
+
startAdornment,
|
|
39
|
+
endAdornment,
|
|
41
40
|
...prop
|
|
42
41
|
} = _ref;
|
|
42
|
+
if (disableSearch && (startAdornment || endAdornment)) {
|
|
43
|
+
console.warn("Adornments are not visible when search bar is hidden");
|
|
44
|
+
}
|
|
43
45
|
const childNode = (0, _react.useRef)();
|
|
44
46
|
const elementRef = (0, _react.useRef)(null);
|
|
45
47
|
const handleRef = (0, _useForkRef.default)(childNode, elementRef);
|
|
@@ -157,15 +159,10 @@ const Select = _ref => {
|
|
|
157
159
|
}, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
|
|
158
160
|
return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
|
|
159
161
|
ref: formRef
|
|
160
|
-
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
162
|
+
}, startAdornment, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
161
163
|
ref: handleRef,
|
|
162
164
|
placeholder: placeholder
|
|
163
|
-
}),
|
|
164
|
-
popperTooltipStyle: {
|
|
165
|
-
zIndex: 1301
|
|
166
|
-
},
|
|
167
|
-
title: actionLabel
|
|
168
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, actionIcon)), actionIcon && !actionLabel && actionIcon) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, (0, _extends2.default)({}, prop, {
|
|
165
|
+
}), endAdornment) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, (0, _extends2.default)({}, prop, {
|
|
169
166
|
clearInputOnSelect: true,
|
|
170
167
|
inputEl: childNode,
|
|
171
168
|
handleEmptyAction: handleEmptyAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_Autocomplete","_Tooltip","_Menu","_classnames","_interopRequireDefault","_useForkRef","_Styles","_OptionContent","_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","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","prop","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledSelectInput","Tooltip","popperTooltipStyle","zIndex","title","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} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\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 /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\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}\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 actionIcon,\n actionLabel,\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 ...prop\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 open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\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 <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\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":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAUA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAGA,IAAAI,WAAA,GAAAC,sBAAA,CAAAL,OAAA;AAGA,IAAAM,WAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAMA,IAAAQ,cAAA,GAAAR,OAAA;AAA8D,SAAAS,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAuCvD,MAAMY,MAAwB,GAAGC,IAAA,IAsBlC;EAAA,IAtBmC;IACvCC,IAAI,GAAG,QAAQ;IACfC,IAAI;IACJC,MAAM;IACNC,OAAO;IACPC,QAAQ,GAAG,EAAE;IACbC,QAAQ,GAAG,cAAc;IACzBC,QAAQ,GAAGA,CAAA,KAAM,IAAI;IACrBC,UAAU;IACVC,WAAW;IACXC,WAAW;IACXC,WAAW,GAAGA,CAAA,KAAY,IAAI;IAC9BC,aAAa,GAAG,KAAK;IACrBC,cAAc;IACdC,eAAe;IACfC,oBAAoB,GAAG,KAAK;IAC5BC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,yBAAyB;IACzBC,qBAAqB,GAAGnB,IAAI,KAAK,QAAQ;IACzC,GAAGoB;EACL,CAAC,GAAArB,IAAA;EACC,MAAMsB,SAAS,GAAG,IAAAC,aAAM,EAA0B,CAAC;EACnD,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAA0B,IAAI,CAAC;EAExD,MAAME,SAAS,GAAG,IAAAC,mBAAU,EAACJ,SAAS,EAAEE,UAAU,CAAC;EAEnD,MAAMG,GAAG,GAAG,CAACxB,MAAM,GAAG,KAAK,GAAGyB,UAAI;EAClC,MAAMC,OAAO,GAAG,IAAAN,aAAM,EAAyB,IAAI,CAAC;EAEpD,MAAM,CAACO,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,MAAMC,eAAe,GAAG,IAAAC,cAAO,EAC7B,MAAO7B,QAAQ,YAAY8B,KAAK,GAAG9B,QAAQ,GAAG,CAACA,QAAQ,CAAE,EACzD,CAACA,QAAQ,CACX,CAAC;EAED,MAAM+B,aAAa,GAAG,IAAAF,cAAO,EAAC,MAAM;IAClC,IAAI,CAAC9B,OAAO,EAAE;MACZ,OAAO,EAAE;IACX;IACA,OAAOA,OAAO;EAChB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMiC,eAAe,GAAG,IAAAH,cAAO,EAAC,MAAM;IACpC,OAAOE,aAAa,CAACE,MAAM,CACzB,CACEC,GAAwB,EACxBC,MAA4C,KACzC;MACH,IAAI,CAAC,IAAAC,2BAAa,EAACD,MAAM,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAGD,GAAG,EAAEC,MAAM,CAACE,EAAE,CAAC;MAC5B;MACA,MAAMC,eAAe,GAAGH,MAAM,CAACpC,OAAO,CAACwC,GAAG,CAAEJ,MAAM,IAAKA,MAAM,CAACE,EAAE,CAAC;MACjE,OAAO,CAAC,GAAGH,GAAG,EAAE,GAAGI,eAAe,CAAC;IACrC,CAAC,EACD,EACF,CAAC;EACH,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,MAAMS,mBAAmB,GAAG,IAAAX,cAAO,EACjC,MAAMG,eAAe,CAACS,KAAK,CAAEN,MAAM,IAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC,CAAC,EACzE,CAACH,eAAe,EAAEJ,eAAe,CACnC,CAAC;EAED,MAAMe,kBAAkB,GAAG,IAAAd,cAAO,EAChC,MAAMG,eAAe,CAACY,IAAI,CAAET,MAAM,IAAKP,eAAe,CAACc,QAAQ,CAACP,MAAM,CAAC,CAAC,EACxE,CAACH,eAAe,EAAEJ,eAAe,CACnC,CAAC;EAED,IAAAiB,gBAAS,EAAC,MAAM;IACdpB,IAAI,IAAIR,SAAS,EAAE6B,OAAO,EAAEC,KAAK,CAAC,CAAC;EACrC,CAAC,EAAE,CAAC9B,SAAS,EAAEQ,IAAI,CAAC,CAAC;EAErB,MAAMuB,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,aAAa,IAAK;IACjB,IAAI1C,cAAc,EAAE;MAClB,IAAI,OAAOI,aAAa,KAAK,UAAU,EAAEA,aAAa,CAAC,CAAC;MACxDc,OAAO,CAAC,KAAK,CAAC;IAChB;IACA,IAAIwB,aAAa,KAAKlD,QAAQ,EAAE;MAC9BE,QAAQ,CAACgD,aAAa,CAAC;IACzB;EACF,CAAC,EACD,CAAC1C,cAAc,EAAER,QAAQ,EAAEY,aAAa,EAAEV,QAAQ,CACpD,CAAC;EAED,MAAMiD,OAAO,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAChCvB,OAAO,CAAC,KAAK,CAAC;IACd,IAAId,aAAa,EAAE;MACjBA,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,MAAMwC,MAAM,GAAG,IAAAH,kBAAW,EAAC,MAAM;IAC/BvB,OAAO,CAAC,IAAI,CAAC;IACb,IAAIf,YAAY,EAAE;MAChBA,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAM0C,KAAK,GAAG,IAAAxB,cAAO,EAAC,MAAM;IAC1B,IAAI/B,MAAM,EAAE;MACV,OAAO;QACLwD,aAAa,EAAE,IAAAC,mBAAU,EAAC,UAAU,EAAE9C,eAAe,CAAC;QACtD0C,OAAO;QACPC,MAAM;QACNtD,MAAM;QACND,IAAI;QACJ4B,IAAI;QACJxB,QAAQ;QACRuD,YAAY,EAAEA,CAAA,KAAMrC,UAAU,EAAE2B,OAAO,EAAEC,KAAK,CAAC;MACjD,CAAC;IACH;IACA,OAAO;MAAEU,SAAS,EAAE,IAAAF,mBAAU,EAAC,UAAU,EAAE9C,eAAe;IAAE,CAAC;EAC/D,CAAC,EAAE,CAACX,MAAM,EAAEW,eAAe,EAAE0C,OAAO,EAAEC,MAAM,EAAEvD,IAAI,EAAE4B,IAAI,EAAExB,QAAQ,CAAC,CAAC;EAEpE,MAAMyD,iBAAiB,GAAG,IAAAT,kBAAW,EAClCU,KAAK,IAAK;IACTrD,WAAW,CAACqD,KAAK,CAAC;IAClB,IAAInD,cAAc,EAAE;MAClBkB,OAAO,CAAC,KAAK,CAAC;IAChB;IACAF,OAAO,CAACsB,OAAO,EAAEc,KAAK,CAAC,CAAC;EAC1B,CAAC,EACD,CAACtD,WAAW,EAAEE,cAAc,CAC9B,CAAC;EAED,MAAMqD,iCAAiC,GAAG,IAAAZ,kBAAW,EAAC,MAAM;IAC1D,IAAIrD,IAAI,KAAK,UAAU,EAAE;MACvB,IAAIgC,eAAe,CAACkC,MAAM,KAAK9B,eAAe,CAAC8B,MAAM,EAAE;QACrD,IAAI,OAAOhD,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLZ,QAAQ,CAAC,EAAE,CAAC;QACd;MACF,CAAC,MAAM;QACL,IAAI,OAAOY,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLZ,QAAQ,CAAC8B,eAAe,CAAC;QAC3B;MACF;IACF,CAAC,MAAM;MACL,IAAI,OAAOlB,yBAAyB,KAAK,UAAU,EAAE;QACnDA,yBAAyB,CAAC,CAAC;MAC7B,CAAC,MAAM;QACLZ,QAAQ,CAAC,EAAE,CAAC;MACd;IACF;IACA,IAAIM,cAAc,EAAE;MAClBkB,OAAO,CAAC,KAAK,CAAC;IAChB;EACF,CAAC,EAAE,CACDxB,QAAQ,EACRN,IAAI,EACJY,cAAc,EACdoB,eAAe,CAACkC,MAAM,EACtB9B,eAAe,EACflB,yBAAyB,CAC1B,CAAC;EAEF,MAAMiD,kBAAkB,GAAG,IAAAd,kBAAW,EACpC,CAACd,MAAM,EAAEkB,KAAK,KAAK;IACjB,IAAI,OAAOxC,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,CAACsB,MAAM,EAAEkB,KAAK,CAAC;IACpC;IACA,oBACE3F,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAAtG,MAAA,CAAAiB,OAAA,CAAAsF,QAAA,qBACEvG,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC5F,cAAA,CAAA8F,aAAa;MACZC,QAAQ,EAAEhC,MAAM,CAACiC,KAAM;MACvBC,KAAK,EAAElC,MAAM,CAACkC,KAAM;MACpBC,SAAS,EAAEnC,MAAM,CAACmC,SAAU;MAC5BC,IAAI,EAAEpC,MAAM,CAACoC,IAAK;MAClBC,cAAc,EAAErC,MAAM,CAACqC;IAAe,CACvC,CAAC,EACDrC,MAAM,CAACE,EAAE,KAAK,IAAI,GACjBzC,IAAI,KAAK,UAAU,gBACjBlC,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC7F,OAAA,CAAAsG,cAAc,MAAAC,SAAA,CAAA/F,OAAA;MACbgG,OAAO,EAAEnC,mBAAoB;MAC7BoC,eAAe,EAAEjC,kBAAkB,IAAI,CAACH;IAAoB,GACxDa,KAAK,CACV,CAAC,gBAEF3F,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC7F,OAAA,CAAA0G,iBAAiB,MAAAH,SAAA,CAAA/F,OAAA;MAChBgG,OAAO,EAAE/C,eAAe,CAACkC,MAAM,GAAG,CAAC,IAAI,CAAClC,eAAe,CAAC,CAAC;IAAE,GACvDyB,KAAK,CACV,CACF,GACCzD,IAAI,KAAK,UAAU,gBACrBlC,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC7F,OAAA,CAAAsG,cAAc,EAAKpB,KAAQ,CAAC,gBAE7B3F,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC7F,OAAA,CAAA0G,iBAAiB,EAAKxB,KAAQ,CAEjC,CAAC;EAEP,CAAC,EACD,CACEb,mBAAmB,EACnB3B,YAAY,EACZe,eAAe,EACfhC,IAAI,EACJ+C,kBAAkB,CAEtB,CAAC;EAED,oBACEjF,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC1C,GAAG,EAAK+B,KAAK,eACZ3F,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,cACG,CAACzD,aAAa,gBACb7C,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC7F,OAAA,CAAA2G,gBAAgB;IAACC,GAAG,EAAEvD;EAAQ,gBAC7B9D,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAC7F,OAAA,CAAA6G,iBAAiB;IAACD,GAAG,EAAE3D,SAAU;IAACf,WAAW,EAAEA;EAAY,CAAE,CAAC,EAC9DF,UAAU,IAAIC,WAAW,iBACxB1C,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAAClG,QAAA,CAAAmH,OAAO;IACNC,kBAAkB,EAAE;MAAEC,MAAM,EAAE;IAAK,CAAE;IACrCC,KAAK,EAAEhF;EAAY,gBAEnB1C,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,cAAM7D,UAAgB,CACf,CACV,EACAA,UAAU,IAAI,CAACC,WAAW,IAAID,UACf,CAAC,GACjB,IAAI,eACRzC,MAAA,CAAAiB,OAAA,CAAAqF,aAAA,CAACnG,aAAA,CAAAwH,YAAY,MAAAX,SAAA,CAAA/F,OAAA,MACPqC,IAAI;IACRsE,kBAAkB;IAClBC,OAAO,EAAEtE,SAAU;IACnByC,iBAAiB,EAAEA,iBAAkB;IACrC1D,QAAQ,EAAEA,QAAS;IACnBgD,YAAY,EAAEA,YAAa;IAC3BnC,YAAY,EAAEkD,kBAAmB;IACjChE,OAAO,EAAEA,OAAQ;IACjBe,yBAAyB,EAAE+C,iCAAkC;IAC7DjE,IAAI,EAAEA,IAAK;IACXmB,qBAAqB,EAAEA,qBAAsB;IAC7CL,oBAAoB,EAAEA;EAAqB,EAC5C,CACE,CACF,CAAC;AAEV,CAAC;AAAC8E,OAAA,CAAA9F,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC+F,WAAW,GAAG,QAAQ"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_Autocomplete","_Menu","_classnames","_interopRequireDefault","_useForkRef","_Styles","_OptionContent","_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","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","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledSelectInput","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\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\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}\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 ...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 open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\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 <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment}\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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"}
|
package/dist/index.js
CHANGED
|
@@ -12020,7 +12020,7 @@
|
|
|
12020
12020
|
};
|
|
12021
12021
|
OptionContent.displayName = "OptionContent";
|
|
12022
12022
|
|
|
12023
|
-
var _excluded$M = ["type", "mode", "target", "options", "selected", "position", "onChange", "
|
|
12023
|
+
var _excluded$M = ["type", "mode", "target", "options", "selected", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment"];
|
|
12024
12024
|
var Select = function Select(_ref) {
|
|
12025
12025
|
var _ref$type = _ref.type,
|
|
12026
12026
|
type = _ref$type === void 0 ? "single" : _ref$type,
|
|
@@ -12035,8 +12035,6 @@
|
|
|
12035
12035
|
onChange = _ref$onChange === void 0 ? function () {
|
|
12036
12036
|
return null;
|
|
12037
12037
|
} : _ref$onChange,
|
|
12038
|
-
actionIcon = _ref.actionIcon,
|
|
12039
|
-
actionLabel = _ref.actionLabel,
|
|
12040
12038
|
placeholder = _ref.placeholder,
|
|
12041
12039
|
_ref$emptyAction = _ref.emptyAction,
|
|
12042
12040
|
emptyAction = _ref$emptyAction === void 0 ? function () {
|
|
@@ -12054,7 +12052,12 @@
|
|
|
12054
12052
|
handleDefaultOptionChange = _ref.handleDefaultOptionChange,
|
|
12055
12053
|
_ref$preselectDefault = _ref.preselectDefaultValue,
|
|
12056
12054
|
preselectDefaultValue = _ref$preselectDefault === void 0 ? type === "single" : _ref$preselectDefault,
|
|
12055
|
+
startAdornment = _ref.startAdornment,
|
|
12056
|
+
endAdornment = _ref.endAdornment,
|
|
12057
12057
|
prop = _objectWithoutProperties(_ref, _excluded$M);
|
|
12058
|
+
if (disableSearch && (startAdornment || endAdornment)) {
|
|
12059
|
+
console.warn("Adornments are not visible when search bar is hidden");
|
|
12060
|
+
}
|
|
12058
12061
|
var childNode = React.useRef();
|
|
12059
12062
|
var elementRef = React.useRef(null);
|
|
12060
12063
|
var handleRef = useForkRef(childNode, elementRef);
|
|
@@ -12192,15 +12195,10 @@
|
|
|
12192
12195
|
}, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
|
|
12193
12196
|
return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
|
|
12194
12197
|
ref: formRef
|
|
12195
|
-
}, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
12198
|
+
}, startAdornment, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
12196
12199
|
ref: handleRef,
|
|
12197
12200
|
placeholder: placeholder
|
|
12198
|
-
}),
|
|
12199
|
-
popperTooltipStyle: {
|
|
12200
|
-
zIndex: 1301
|
|
12201
|
-
},
|
|
12202
|
-
title: actionLabel
|
|
12203
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", null, actionIcon)), actionIcon && !actionLabel && actionIcon) : null, /*#__PURE__*/React__default["default"].createElement(Autocomplete, _extends({}, prop, {
|
|
12201
|
+
}), endAdornment) : null, /*#__PURE__*/React__default["default"].createElement(Autocomplete, _extends({}, prop, {
|
|
12204
12202
|
clearInputOnSelect: true,
|
|
12205
12203
|
inputEl: childNode,
|
|
12206
12204
|
handleEmptyAction: handleEmptyAction,
|