@activecollab/components 2.0.1 → 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/Menu/Menu.js +1 -1
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +8 -11
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts +3 -1
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js +1 -1
- package/dist/esm/components/Menu/Menu.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 +9 -11
- 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
|
@@ -123,7 +123,7 @@ var Menu = exports.Menu = function Menu(_ref) {
|
|
|
123
123
|
open,
|
|
124
124
|
setOpen
|
|
125
125
|
}
|
|
126
|
-
},
|
|
126
|
+
}, typeof children === "function" ? children(childProps) : children)))) : null);
|
|
127
127
|
};
|
|
128
128
|
Menu.displayName = "Menu";
|
|
129
129
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Popper","_useForkRef","_Overlay","_Window","_context","_Styles","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","Menu","exports","_ref","children","_ref$disableFocusLock","disableFocusLock","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","_ref$open","open","defaultOpen","onOpen","onClose","onBeforeClose","_ref$position","position","target","className","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","onPopperOpen","_useState","useState","_useState2","setOpen","_useState3","_useState4","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","$mode","onMouseDown","MenuContextProvider","isValidElement","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | (string & {});\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {React.isValidElement(children)\n ? React.cloneElement(\n children as React.ReactElement,\n childProps\n )\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Popper","_useForkRef","_Overlay","_Window","_context","_Styles","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","Menu","exports","_ref","children","_ref$disableFocusLock","disableFocusLock","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","_ref$open","open","defaultOpen","onOpen","onClose","onBeforeClose","_ref$position","position","target","className","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","onPopperOpen","_useState","useState","_useState2","setOpen","_useState3","_useState4","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","$mode","onMouseDown","MenuContextProvider","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | (string & {});\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -6,7 +6,9 @@ interface ElementWithRef<T> extends ReactElement {
|
|
|
6
6
|
export type MenuMode = "normal" | "wider" | "tiny" | (string & {});
|
|
7
7
|
export interface IMenu {
|
|
8
8
|
/** Menu content */
|
|
9
|
-
children: ReactNode
|
|
9
|
+
children: ReactNode | ((childProps: {
|
|
10
|
+
forceClose: () => void;
|
|
11
|
+
}) => JSX.Element);
|
|
10
12
|
/** On menu element click */
|
|
11
13
|
onMenuClick?: (event: MouseEvent<HTMLElement>) => void;
|
|
12
14
|
/** Handle scroll bar */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAID,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,KAAK;IACpB,mBAAmB;IACnB,QAAQ,
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAID,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,KAAK;IACpB,mBAAmB;IACnB,QAAQ,EACJ,SAAS,GACT,CAAC,CAAC,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,4BAA4B;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACvD,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qBAAqB;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,qBAAqB;IACrB,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CA0H1B,CAAC"}
|
|
@@ -105,7 +105,7 @@ const Menu = _ref => {
|
|
|
105
105
|
open,
|
|
106
106
|
setOpen
|
|
107
107
|
}
|
|
108
|
-
},
|
|
108
|
+
}, typeof children === "function" ? children(childProps) : children)))) : null);
|
|
109
109
|
};
|
|
110
110
|
exports.Menu = Menu;
|
|
111
111
|
Menu.displayName = "Menu";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Popper","_useForkRef","_Overlay","_Window","_context","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Menu","_ref","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","onPopperOpen","setOpen","useState","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","$mode","onMouseDown","MenuContextProvider","value","isValidElement","exports","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | (string & {});\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {React.isValidElement(children)\n ? React.cloneElement(\n children as React.ReactElement,\n childProps\n )\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Popper","_useForkRef","_Overlay","_Window","_context","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Menu","_ref","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","onPopperOpen","setOpen","useState","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","$mode","onMouseDown","MenuContextProvider","value","exports","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | (string & {});\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\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":"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"}
|
|
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
|
@@ -939,7 +939,7 @@
|
|
|
939
939
|
open,
|
|
940
940
|
setOpen
|
|
941
941
|
}
|
|
942
|
-
},
|
|
942
|
+
}, typeof children === "function" ? children(childProps) : children)))) : null);
|
|
943
943
|
};
|
|
944
944
|
Menu.displayName = "Menu";
|
|
945
945
|
|
|
@@ -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,
|