rsuite 5.7.1 → 5.8.0
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/CHANGELOG.md +13 -0
- package/cjs/Cascader/Cascader.d.ts +2 -0
- package/cjs/Cascader/Cascader.js +10 -7
- package/cjs/DateRangePicker/index.d.ts +1 -0
- package/cjs/RangeSlider/RangeSlider.js +3 -1
- package/cjs/SelectPicker/SelectPicker.d.ts +1 -1
- package/cjs/SelectPicker/SelectPicker.js +2 -1
- package/cjs/Toggle/Toggle.js +7 -2
- package/dist/rsuite.js +4 -4
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Cascader/Cascader.d.ts +2 -0
- package/esm/Cascader/Cascader.js +10 -7
- package/esm/DateRangePicker/index.d.ts +1 -0
- package/esm/RangeSlider/RangeSlider.js +3 -1
- package/esm/SelectPicker/SelectPicker.d.ts +1 -1
- package/esm/SelectPicker/SelectPicker.js +2 -1
- package/esm/Toggle/Toggle.js +8 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# [5.8.0](https://github.com/rsuite/rsuite/compare/v5.7.1...v5.8.0) (2022-04-07)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **RangeSlider:** fix RangeSlider progress bar misalignment ([#2435](https://github.com/rsuite/rsuite/issues/2435)) ([e612ee3](https://github.com/rsuite/rsuite/commit/e612ee3b6bb97217ad08744c6b57b47e21397944))
|
|
6
|
+
- **SelectPicker:** call onSearch with empty string when closed ([#2411](https://github.com/rsuite/rsuite/issues/2411)) ([c6e5d54](https://github.com/rsuite/rsuite/commit/c6e5d54bdda0cdc61b65fbed78518ccef5d7672f))
|
|
7
|
+
- **Toggle:** add missing properties to onChange event target ([#2422](https://github.com/rsuite/rsuite/issues/2422)) ([5d1d5a2](https://github.com/rsuite/rsuite/commit/5d1d5a29a03f642c88aa66851163c9bb20d69684))
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **Cascader:** add `renderSearchItem` for customizing search result ([#2427](https://github.com/rsuite/rsuite/issues/2427)) ([e1b1dbd](https://github.com/rsuite/rsuite/commit/e1b1dbd2fd6cde10dfb1e041d9483b6748a0855f))
|
|
12
|
+
- **DateRangePicker:** export type definition ([#2434](https://github.com/rsuite/rsuite/issues/2434)) ([76e4bc3](https://github.com/rsuite/rsuite/commit/76e4bc38e8e939ae6ffbcf5bc154281b4ec9360c))
|
|
13
|
+
|
|
1
14
|
## [5.7.1](https://github.com/rsuite/rsuite/compare/v5.7.0...v5.7.1) (2022-04-02)
|
|
2
15
|
|
|
3
16
|
### Bug Fixes
|
|
@@ -18,6 +18,8 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T |
|
|
|
18
18
|
renderMenu?: (items: ItemDataType[], menu: React.ReactNode, parentNode?: any, layer?: number) => React.ReactNode;
|
|
19
19
|
/** Custom render menu items */
|
|
20
20
|
renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
|
|
21
|
+
/** Custom render search items */
|
|
22
|
+
renderSearchItem?: (itemLabel: React.ReactNode, items: ItemDataType[]) => React.ReactNode;
|
|
21
23
|
/** Custom render selected items */
|
|
22
24
|
renderValue?: (value: T, selectedPaths: ItemDataType[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
23
25
|
/** Called when the option is selected */
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -75,6 +75,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
75
75
|
placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
|
|
76
76
|
id = props.id,
|
|
77
77
|
renderMenuItem = props.renderMenuItem,
|
|
78
|
+
renderSearchItem = props.renderSearchItem,
|
|
78
79
|
renderValue = props.renderValue,
|
|
79
80
|
renderMenu = props.renderMenu,
|
|
80
81
|
renderExtraFooter = props.renderExtraFooter,
|
|
@@ -87,7 +88,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
87
88
|
onClose = props.onClose,
|
|
88
89
|
onOpen = props.onOpen,
|
|
89
90
|
getChildren = props.getChildren,
|
|
90
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
|
|
91
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "inline", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "searchable", "parentSelectable", "placement", "id", "renderMenuItem", "renderSearchItem", "renderValue", "renderMenu", "renderExtraFooter", "onEnter", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren"]); // Use component active state to support keyboard events.
|
|
91
92
|
|
|
92
93
|
var _useState = (0, _react.useState)(false),
|
|
93
94
|
active = _useState[0],
|
|
@@ -380,6 +381,12 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
380
381
|
'cascader-row-disabled': disabled,
|
|
381
382
|
'cascader-row-focus': item[valueKey] === focusItemValue
|
|
382
383
|
});
|
|
384
|
+
var label = formattedNodes.map(function (node, index) {
|
|
385
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
386
|
+
key: "col-" + index,
|
|
387
|
+
className: prefix('cascader-col')
|
|
388
|
+
}, node[labelKey]);
|
|
389
|
+
});
|
|
383
390
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
384
391
|
key: key,
|
|
385
392
|
"aria-disabled": disabled,
|
|
@@ -390,12 +397,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
390
397
|
handleSearchRowSelect(item, nodes, event);
|
|
391
398
|
}
|
|
392
399
|
}
|
|
393
|
-
},
|
|
394
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
395
|
-
key: "col-" + index,
|
|
396
|
-
className: prefix('cascader-col')
|
|
397
|
-
}, node[labelKey]);
|
|
398
|
-
}));
|
|
400
|
+
}, renderSearchItem ? renderSearchItem(label, nodes) : label);
|
|
399
401
|
};
|
|
400
402
|
|
|
401
403
|
var renderSearchResultPanel = function renderSearchResultPanel() {
|
|
@@ -533,6 +535,7 @@ Cascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {
|
|
|
533
535
|
onSearch: _propTypes.default.func,
|
|
534
536
|
cleanable: _propTypes.default.bool,
|
|
535
537
|
renderMenuItem: _propTypes.default.func,
|
|
538
|
+
renderSearchItem: _propTypes.default.func,
|
|
536
539
|
menuWidth: _propTypes.default.number,
|
|
537
540
|
menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
538
541
|
searchable: _propTypes.default.bool,
|
|
@@ -278,7 +278,9 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
278
278
|
end = v;
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
-
var nextValue = getValidValue([start, end].sort()
|
|
281
|
+
var nextValue = getValidValue([start, end].sort(function (a, b) {
|
|
282
|
+
return a - b;
|
|
283
|
+
}));
|
|
282
284
|
|
|
283
285
|
if (isRangeMatchingConstraint(nextValue)) {
|
|
284
286
|
setValue(nextValue);
|
|
@@ -32,7 +32,7 @@ export interface SelectProps<T> {
|
|
|
32
32
|
/** Called after clicking the group title */
|
|
33
33
|
onGroupTitleClick?: (event: React.SyntheticEvent) => void;
|
|
34
34
|
/** Called when searching */
|
|
35
|
-
onSearch?: (searchKeyword: string, event
|
|
35
|
+
onSearch?: (searchKeyword: string, event?: React.SyntheticEvent) => void;
|
|
36
36
|
/** Called when clean */
|
|
37
37
|
onClean?: (event: React.SyntheticEvent) => void;
|
|
38
38
|
}
|
|
@@ -202,8 +202,9 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
202
202
|
var handleExited = (0, _react.useCallback)(function () {
|
|
203
203
|
setSearchKeyword('');
|
|
204
204
|
setActive(false);
|
|
205
|
+
onSearch === null || onSearch === void 0 ? void 0 : onSearch('');
|
|
205
206
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
206
|
-
}, [onClose, setSearchKeyword]);
|
|
207
|
+
}, [onClose, setSearchKeyword, onSearch]);
|
|
207
208
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
208
209
|
setActive(true);
|
|
209
210
|
setFocusItemValue(value);
|
package/cjs/Toggle/Toggle.js
CHANGED
|
@@ -61,6 +61,11 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
61
61
|
}));
|
|
62
62
|
var inner = checked ? checkedChildren : unCheckedChildren;
|
|
63
63
|
var label = checked ? locale.on : locale.off;
|
|
64
|
+
|
|
65
|
+
var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(rest),
|
|
66
|
+
htmlInputProps = _partitionHTMLProps[0],
|
|
67
|
+
restProps = _partitionHTMLProps[1];
|
|
68
|
+
|
|
64
69
|
var handleInputChange = (0, _react.useCallback)(function (e) {
|
|
65
70
|
if (disabled || readOnly || loading) {
|
|
66
71
|
return;
|
|
@@ -78,7 +83,7 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
78
83
|
return /*#__PURE__*/_react.default.createElement("label", (0, _extends2.default)({
|
|
79
84
|
ref: ref,
|
|
80
85
|
className: classes
|
|
81
|
-
},
|
|
86
|
+
}, restProps), /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, htmlInputProps, {
|
|
82
87
|
ref: inputRef,
|
|
83
88
|
type: "checkbox",
|
|
84
89
|
checked: checkedProp,
|
|
@@ -92,7 +97,7 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
92
97
|
"aria-disabled": disabled,
|
|
93
98
|
"aria-label": typeof inner === 'string' ? inner : label,
|
|
94
99
|
"aria-busy": loading || undefined
|
|
95
|
-
}), /*#__PURE__*/_react.default.createElement(Component, {
|
|
100
|
+
})), /*#__PURE__*/_react.default.createElement(Component, {
|
|
96
101
|
className: prefix('presentation')
|
|
97
102
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
98
103
|
className: prefix('inner')
|
package/dist/rsuite.js
CHANGED
|
@@ -1979,7 +1979,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
1979
1979
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1980
1980
|
|
|
1981
1981
|
"use strict";
|
|
1982
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n valueProp = props.value,\n inline = props.inline,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n parentSelectable = props.parentSelectable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n id = props.id,\n renderMenuItem = props.renderMenuItem,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n getChildren = props.getChildren,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"childrenKey\", \"valueKey\", \"labelKey\", \"defaultValue\", \"placeholder\", \"disabled\", \"disabledItemValues\", \"appearance\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"value\", \"inline\", \"menuClassName\", \"menuStyle\", \"menuWidth\", \"menuHeight\", \"searchable\", \"parentSelectable\", \"placement\", \"id\", \"renderMenuItem\", \"renderValue\", \"renderMenu\", \"renderExtraFooter\", \"onEnter\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"getChildren\"]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)((0, _treeUtils.flattenTree)(data, childrenKey)),\n flattenData = _useState2[0],\n setFlattenData = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _usePaths = (0, _utils.usePaths)({\n data: data,\n valueKey: valueKey,\n childrenKey: childrenKey,\n value: value\n }),\n selectedPaths = _usePaths.selectedPaths,\n valueToPaths = _usePaths.valueToPaths,\n columnData = _usePaths.columnData,\n addColumn = _usePaths.addColumn,\n setValueToPaths = _usePaths.setValueToPaths,\n setColumnData = _usePaths.setColumnData,\n setSelectedPaths = _usePaths.setSelectedPaths,\n enforceUpdate = _usePaths.enforceUpdate;\n\n (0, _react.useEffect)(function () {\n setFlattenData((0, _treeUtils.flattenTree)(data, childrenKey));\n }, [data, childrenKey]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValue = valueToPaths.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils2.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState3 = (0, _react.useState)(''),\n searchKeyword = _useState3[0],\n setSearchKeyword = _useState3[1];\n\n var someKeyword = (0, _react.useCallback)(function (item, keyword) {\n if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n }, [labelKey, searchKeyword]);\n var getSearchResult = (0, _react.useCallback)(function (keyword) {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (!parentSelectable && item[childrenKey]) {\n return false;\n }\n\n return someKeyword(item, keyword);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]); // A maximum of 100 search results are returned.\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n }, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: valueToPaths !== null && valueToPaths !== void 0 && valueToPaths.length ? valueToPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n enforceUpdate(value, true);\n }, [enforceUpdate])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearch = (0, _react.useCallback)(function (value, event) {\n var items = getSearchResult(value);\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (items.length > 0) {\n setFocusItemValue(items[0][valueKey]);\n setLayer(0);\n setKeys([]);\n }\n }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);\n var handleEntered = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n setSearchKeyword('');\n }, [onClose]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setColumnData([data]);\n setValue(null);\n setSelectedPaths([]);\n setValueToPaths([]);\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n }, [data, disabled, onChange, setSelectedPaths, setColumnData, setValueToPaths, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var isLeafNode = focusItem && !focusItem[childrenKey];\n\n if (isLeafNode) {\n setValue(focusItemValue);\n setValueToPaths(selectedPaths);\n\n if (selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n if (!(0, _shallowEqual.default)(value, focusItemValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);\n }\n\n handleClose();\n }\n }, [childrenKey, data, focusItemValue, handleClose, onChange, selectedPaths, setLayer, setValue, setValueToPaths, value, valueKey]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter\n }, rest));\n\n var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;\n\n var nextValue = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths); // Lazy load node's children\n\n if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {\n node.loading = true;\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (data) {\n node.loading = false;\n node[childrenKey] = data;\n\n if (targetRef.current) {\n addColumn(data, cascadePaths.length);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\n }\n\n if (isLeafNode) {\n // Determines whether the option is a leaf node, and if so, closes the picker.\n handleClose(); // Update the selected path to the value path.\n // That is, the selected path will be displayed on the button after clicking the child node.\n\n setValueToPaths(cascadePaths);\n setValue(nextValue);\n\n if (!(0, _shallowEqual.default)(value, nextValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n\n return;\n }\n /** When the parent is optional, the value and the displayed path are updated. */\n\n\n if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n setValueToPaths(cascadePaths);\n } // Update menu position\n\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();\n };\n /**\n * The search structure option is processed after being selected.\n */\n\n\n var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {\n var nextValue = node[valueKey];\n handleClose();\n setSearchKeyword('');\n setValue(nextValue);\n setValueToPaths(nodes);\n enforceUpdate(nextValue);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n };\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n var formattedNodes = nodes.map(function (node) {\n var _extends2;\n\n var labelElements = [];\n var a = node[labelKey].split(regx);\n var b = node[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b && b[i]) {\n labelElements.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: i,\n className: prefix('cascader-search-match'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 433,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));\n });\n var disabled = disabledItemValues.some(function (value) {\n return formattedNodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = prefix('cascader-row', {\n 'cascader-row-disabled': disabled,\n 'cascader-row-focus': item[valueKey] === focusItemValue\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n handleSearchRowSelect(item, nodes, event);\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 451,\n columnNumber: 7\n }\n }, formattedNodes.map(function (node, index) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n key: \"col-\" + index,\n className: prefix('cascader-col'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 463,\n columnNumber: 11\n }\n }, node[labelKey]);\n }));\n };\n\n var renderSearchResultPanel = function renderSearchResultPanel() {\n if (searchKeyword === '') {\n return null;\n }\n\n var items = getSearchResult();\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('cascader-search-panel'),\n \"data-layer\": 0,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 478,\n columnNumber: 7\n }\n }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 482,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.className;\n\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var classes = merge(className, menuClassName, prefix('cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 494,\n columnNumber: 7\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 502,\n columnNumber: 11\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n activeItemValue: value,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 512,\n columnNumber: 11\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (valueToPaths.length > 0) {\n selectedElement = [];\n valueToPaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: key,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 28\n }\n }, item[labelKey]));\n\n if (index < valueToPaths.length - 1) {\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 544,\n columnNumber: 11\n }\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, valueToPaths, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n hasValue: hasValue,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design\n // consider an isolated Menu component\n\n\n if (inline) {\n return renderDropdownMenu();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 576,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 584,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value !== null && value !== void 0 ? value : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 585,\n columnNumber: 9\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCascader.displayName = 'Cascader';\nCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n cleanable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n searchable: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n parentSelectable: _propTypes.default.bool\n});\nvar _default = Cascader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
|
|
1982
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n valueProp = props.value,\n inline = props.inline,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n parentSelectable = props.parentSelectable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n id = props.id,\n renderMenuItem = props.renderMenuItem,\n renderSearchItem = props.renderSearchItem,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n getChildren = props.getChildren,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"childrenKey\", \"valueKey\", \"labelKey\", \"defaultValue\", \"placeholder\", \"disabled\", \"disabledItemValues\", \"appearance\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"value\", \"inline\", \"menuClassName\", \"menuStyle\", \"menuWidth\", \"menuHeight\", \"searchable\", \"parentSelectable\", \"placement\", \"id\", \"renderMenuItem\", \"renderSearchItem\", \"renderValue\", \"renderMenu\", \"renderExtraFooter\", \"onEnter\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"getChildren\"]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)((0, _treeUtils.flattenTree)(data, childrenKey)),\n flattenData = _useState2[0],\n setFlattenData = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _usePaths = (0, _utils.usePaths)({\n data: data,\n valueKey: valueKey,\n childrenKey: childrenKey,\n value: value\n }),\n selectedPaths = _usePaths.selectedPaths,\n valueToPaths = _usePaths.valueToPaths,\n columnData = _usePaths.columnData,\n addColumn = _usePaths.addColumn,\n setValueToPaths = _usePaths.setValueToPaths,\n setColumnData = _usePaths.setColumnData,\n setSelectedPaths = _usePaths.setSelectedPaths,\n enforceUpdate = _usePaths.enforceUpdate;\n\n (0, _react.useEffect)(function () {\n setFlattenData((0, _treeUtils.flattenTree)(data, childrenKey));\n }, [data, childrenKey]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValue = valueToPaths.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils2.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState3 = (0, _react.useState)(''),\n searchKeyword = _useState3[0],\n setSearchKeyword = _useState3[1];\n\n var someKeyword = (0, _react.useCallback)(function (item, keyword) {\n if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n }, [labelKey, searchKeyword]);\n var getSearchResult = (0, _react.useCallback)(function (keyword) {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (!parentSelectable && item[childrenKey]) {\n return false;\n }\n\n return someKeyword(item, keyword);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]); // A maximum of 100 search results are returned.\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n }, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: valueToPaths !== null && valueToPaths !== void 0 && valueToPaths.length ? valueToPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n enforceUpdate(value, true);\n }, [enforceUpdate])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearch = (0, _react.useCallback)(function (value, event) {\n var items = getSearchResult(value);\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (items.length > 0) {\n setFocusItemValue(items[0][valueKey]);\n setLayer(0);\n setKeys([]);\n }\n }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);\n var handleEntered = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n setSearchKeyword('');\n }, [onClose]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setColumnData([data]);\n setValue(null);\n setSelectedPaths([]);\n setValueToPaths([]);\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n }, [data, disabled, onChange, setSelectedPaths, setColumnData, setValueToPaths, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var isLeafNode = focusItem && !focusItem[childrenKey];\n\n if (isLeafNode) {\n setValue(focusItemValue);\n setValueToPaths(selectedPaths);\n\n if (selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n if (!(0, _shallowEqual.default)(value, focusItemValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);\n }\n\n handleClose();\n }\n }, [childrenKey, data, focusItemValue, handleClose, onChange, selectedPaths, setLayer, setValue, setValueToPaths, value, valueKey]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter\n }, rest));\n\n var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;\n\n var nextValue = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths); // Lazy load node's children\n\n if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {\n node.loading = true;\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (data) {\n node.loading = false;\n node[childrenKey] = data;\n\n if (targetRef.current) {\n addColumn(data, cascadePaths.length);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\n }\n\n if (isLeafNode) {\n // Determines whether the option is a leaf node, and if so, closes the picker.\n handleClose(); // Update the selected path to the value path.\n // That is, the selected path will be displayed on the button after clicking the child node.\n\n setValueToPaths(cascadePaths);\n setValue(nextValue);\n\n if (!(0, _shallowEqual.default)(value, nextValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n\n return;\n }\n /** When the parent is optional, the value and the displayed path are updated. */\n\n\n if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n setValueToPaths(cascadePaths);\n } // Update menu position\n\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();\n };\n /**\n * The search structure option is processed after being selected.\n */\n\n\n var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {\n var nextValue = node[valueKey];\n handleClose();\n setSearchKeyword('');\n setValue(nextValue);\n setValueToPaths(nodes);\n enforceUpdate(nextValue);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n };\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n var formattedNodes = nodes.map(function (node) {\n var _extends2;\n\n var labelElements = [];\n var a = node[labelKey].split(regx);\n var b = node[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b && b[i]) {\n labelElements.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: i,\n className: prefix('cascader-search-match'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 437,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));\n });\n var disabled = disabledItemValues.some(function (value) {\n return formattedNodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = prefix('cascader-row', {\n 'cascader-row-disabled': disabled,\n 'cascader-row-focus': item[valueKey] === focusItemValue\n });\n var label = formattedNodes.map(function (node, index) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n key: \"col-\" + index,\n className: prefix('cascader-col'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 458,\n columnNumber: 7\n }\n }, node[labelKey]);\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n handleSearchRowSelect(item, nodes, event);\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 464,\n columnNumber: 7\n }\n }, renderSearchItem ? renderSearchItem(label, nodes) : label);\n };\n\n var renderSearchResultPanel = function renderSearchResultPanel() {\n if (searchKeyword === '') {\n return null;\n }\n\n var items = getSearchResult();\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('cascader-search-panel'),\n \"data-layer\": 0,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 487,\n columnNumber: 7\n }\n }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 491,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.className;\n\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var classes = merge(className, menuClassName, prefix('cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 503,\n columnNumber: 7\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 511,\n columnNumber: 11\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n activeItemValue: value,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 521,\n columnNumber: 11\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (valueToPaths.length > 0) {\n selectedElement = [];\n valueToPaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: key,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 550,\n columnNumber: 28\n }\n }, item[labelKey]));\n\n if (index < valueToPaths.length - 1) {\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 553,\n columnNumber: 11\n }\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, valueToPaths, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n hasValue: hasValue,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design\n // consider an isolated Menu component\n\n\n if (inline) {\n return renderDropdownMenu();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 585,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 593,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value !== null && value !== void 0 ? value : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 594,\n columnNumber: 9\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCascader.displayName = 'Cascader';\nCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n cleanable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderSearchItem: _propTypes.default.func,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n searchable: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n parentSelectable: _propTypes.default.bool\n});\nvar _default = Cascader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
|
|
1983
1983
|
|
|
1984
1984
|
/***/ }),
|
|
1985
1985
|
|
|
@@ -4047,7 +4047,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4047
4047
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4048
4048
|
|
|
4049
4049
|
"use strict";
|
|
4050
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _getOffset = _interopRequireDefault(__webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Slider = __webpack_require__(/*! ../Slider/Slider */ \"./src/Slider/Slider.tsx\");\n\nvar _ProgressBar = _interopRequireDefault(__webpack_require__(/*! ../Slider/ProgressBar */ \"./src/Slider/ProgressBar.tsx\"));\n\nvar _Handle = _interopRequireDefault(__webpack_require__(/*! ../Slider/Handle */ \"./src/Slider/Handle.tsx\"));\n\nvar _Graduated = _interopRequireDefault(__webpack_require__(/*! ../Slider/Graduated */ \"./src/Slider/Graduated.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ../Slider/utils */ \"./src/Slider/utils.ts\");\n\nvar _propTypeChecker = __webpack_require__(/*! ../utils/propTypeChecker */ \"./src/utils/propTypeChecker.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RangeSlider/RangeSlider.tsx\",\n _this = void 0;\n\nvar defaultDefaultValue = [0, 0];\n\nvar RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n barClassName = props.barClassName,\n className = props.className,\n constraint = props.constraint,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,\n graduated = props.graduated,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? true : _props$progress,\n vertical = props.vertical,\n disabled = props.disabled,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n maxProp = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n valueProp = props.value,\n handleClassName = props.handleClassName,\n handleStyle = props.handleStyle,\n handleTitle = props.handleTitle,\n _props$tooltip = props.tooltip,\n tooltip = _props$tooltip === void 0 ? true : _props$tooltip,\n getAriaValueText = props.getAriaValueText,\n renderTooltip = props.renderTooltip,\n renderMark = props.renderMark,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"as\", \"barClassName\", \"className\", \"constraint\", \"defaultValue\", \"graduated\", \"progress\", \"vertical\", \"disabled\", \"classPrefix\", \"min\", \"max\", \"step\", \"value\", \"handleClassName\", \"handleStyle\", \"handleTitle\", \"tooltip\", \"getAriaValueText\", \"renderTooltip\", \"renderMark\", \"onChange\", \"onChangeCommitted\"]);\n var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle\n\n var handleIndexs = (0, _react.useRef)([0, 1]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('RangeSlider'),\n rtl = _useCustom.rtl;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n disabled: disabled,\n graduated: graduated,\n 'with-mark': renderMark\n }));\n var max = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)(Math.floor((maxProp - min) / step) * step + min);\n }, [maxProp, min, step]);\n /**\n * Returns a valid value that does not exceed the specified range of values.\n */\n\n var getValidValue = (0, _react.useCallback)(function (value) {\n if (typeof value === 'undefined') {\n return;\n }\n\n return [(0, _utils2.checkValue)(value[0], min, max), (0, _utils2.checkValue)(value[1], min, max)];\n }, [max, min]);\n\n var _useControlled = (0, _utils.useControlled)(getValidValue(valueProp), getValidValue(defaultValue)),\n value = _useControlled[0],\n setValue = _useControlled[1]; // The count of values that can be entered.\n\n\n var count = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)((max - min) / step);\n }, [max, min, step]); // Get the height of the progress bar\n\n var getBarHeight = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getHeight.default)(barRef.current) : 0;\n }, []); // Get the width of the progress bar\n\n var getBarWidth = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getWidth.default)(barRef.current) : 0;\n }, []);\n var getValueByOffset = (0, _react.useCallback)(function (offset) {\n var val = 0;\n\n if (isNaN(offset)) {\n return val;\n }\n\n if (vertical) {\n var barHeight = getBarHeight();\n val = Math.round(offset / (barHeight / count)) * step;\n } else {\n var barWidth = getBarWidth();\n val = Math.round(offset / (barWidth / count)) * step;\n }\n\n return (0, _utils2.precisionMath)(val);\n }, [count, getBarHeight, getBarWidth, step, vertical]);\n var getValueByPosition = (0, _react.useCallback)(function (event) {\n var barOffset = (0, _getOffset.default)(barRef.current);\n var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;\n var val = rtl && !vertical ? barOffset.width - offset : offset;\n return getValueByOffset(val) + min;\n }, [getValueByOffset, min, rtl, vertical]);\n var getRangeValue = (0, _react.useCallback)(function (value, key, event) {\n // Get the corresponding value according to the cursor position\n var v = getValueByPosition(event); // Judge the handle key and put the corresponding value at the start or end.\n\n if (key === 'start') {\n return [v, value[1]];\n } else if (key === 'end') {\n return [value[0], v];\n }\n\n return value;\n }, [getValueByPosition]);\n var getNextValue = (0, _react.useCallback)(function (event, dataset) {\n var eventKey = dataset.key,\n range = dataset.range;\n var value = range.split(',').map(function (i) {\n return +i;\n });\n var nextValue = getValidValue(getRangeValue(value, eventKey, event));\n\n if (nextValue[0] >= nextValue[1]) {\n /**\n * When the value of `start` is greater than the value of` end`,\n * the position of the handle is reversed.\n */\n handleIndexs.current.reverse();\n\n if (eventKey === 'start') {\n nextValue[0] = value[1];\n } else {\n nextValue[1] = value[0];\n }\n }\n\n return nextValue;\n }, [getRangeValue, getValidValue]);\n /**\n * Whether a range is valid against given constraint (if any)\n * Should check before every `setValue` calls\n */\n\n var isRangeMatchingConstraint = (0, _react.useCallback)(function (range) {\n // If no constraint is defined, any range is valid\n if (!constraint) return true;\n return constraint(range);\n }, [constraint]);\n /**\n * Callback function that is fired when the mousemove is triggered\n */\n\n var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n });\n /**\n * Callback function that is fired when the mouseup is triggered\n */\n\n var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);\n }\n }, [getNextValue, onChangeCommitted, isRangeMatchingConstraint, setValue]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var _event$target$dataset = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target['dataset'],\n key = _event$target$dataset.key;\n\n var nextValue = [].concat(value);\n var increaseKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n var valueIndex = key === 'start' ? 0 : 1;\n\n switch (event.key) {\n case 'Home':\n nextValue[valueIndex] = min;\n break;\n\n case 'End':\n nextValue[valueIndex] = max;\n break;\n\n case increaseKey:\n case 'ArrowUp':\n nextValue[valueIndex] = Math.min(max, value[valueIndex] + step);\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n nextValue[valueIndex] = Math.max(min, value[valueIndex] - step);\n break;\n\n default:\n return;\n } // When the start value is greater than the end value, let the handle and value switch positions.\n\n\n if (nextValue[0] >= nextValue[1]) {\n nextValue.reverse();\n handleIndexs.current.reverse();\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [max, min, onChange, rtl, isRangeMatchingConstraint, setValue, step, value]);\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n var start = value[0],\n end = value[1];\n var v = getValueByPosition(event); // Judging that the current click value is closer to the values of `start` and` end`.\n\n if (Math.abs(start - v) < Math.abs(end - v)) {\n start = v;\n } else {\n end = v;\n }\n\n var nextValue = getValidValue([start, end].sort());\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [disabled, getValidValue, getValueByPosition, isRangeMatchingConstraint, onChange, setValue, value]);\n var handleProps = (0, _react.useMemo)(function () {\n return [{\n value: value[0],\n 'data-key': 'start',\n 'aria-valuenow': value[0],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[0], 'start') : ariaValuetext,\n position: (value[0] - min) / (max - min) * 100\n }, {\n value: value[1],\n 'data-key': 'end',\n 'aria-valuenow': value[1],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[1], 'end') : ariaValuetext,\n position: (value[1] - min) / (max - min) * 100\n }];\n }, [ariaValuetext, getAriaValueText, max, min, value]);\n var handleCommonProps = {\n rtl: rtl,\n disabled: disabled,\n vertical: vertical,\n tooltip: tooltip,\n className: handleClassName,\n style: handleStyle,\n renderTooltip: renderTooltip,\n onDragMove: handleDragMove,\n onDragEnd: handleChangeCommitted,\n onKeyDown: handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-disabled': disabled,\n 'aria-valuemax': max,\n 'aria-valuemin': min,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n };\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: merge(barClassName, prefix('bar')),\n ref: barRef,\n onClick: handleClick,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 343,\n columnNumber: 7\n }\n }, progress && /*#__PURE__*/_react.default.createElement(_ProgressBar.default, {\n rtl: rtl,\n vertical: vertical,\n start: (value[0] - min) / (max - min) * 100,\n end: (value[1] - min) / (max - min) * 100,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 345,\n columnNumber: 11\n }\n }), graduated && /*#__PURE__*/_react.default.createElement(_Graduated.default, {\n step: step,\n min: min,\n max: max,\n count: count,\n value: value,\n renderMark: renderMark,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[0]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 7\n }\n }), handleTitle), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[1]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 7\n }\n }), handleTitle));\n});\n\nRangeSlider.displayName = 'RangeSlider';\nRangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {\n value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),\n defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)\n});\nvar _default = RangeSlider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RangeSlider/RangeSlider.tsx?");
|
|
4050
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _getOffset = _interopRequireDefault(__webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Slider = __webpack_require__(/*! ../Slider/Slider */ \"./src/Slider/Slider.tsx\");\n\nvar _ProgressBar = _interopRequireDefault(__webpack_require__(/*! ../Slider/ProgressBar */ \"./src/Slider/ProgressBar.tsx\"));\n\nvar _Handle = _interopRequireDefault(__webpack_require__(/*! ../Slider/Handle */ \"./src/Slider/Handle.tsx\"));\n\nvar _Graduated = _interopRequireDefault(__webpack_require__(/*! ../Slider/Graduated */ \"./src/Slider/Graduated.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ../Slider/utils */ \"./src/Slider/utils.ts\");\n\nvar _propTypeChecker = __webpack_require__(/*! ../utils/propTypeChecker */ \"./src/utils/propTypeChecker.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RangeSlider/RangeSlider.tsx\",\n _this = void 0;\n\nvar defaultDefaultValue = [0, 0];\n\nvar RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n barClassName = props.barClassName,\n className = props.className,\n constraint = props.constraint,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,\n graduated = props.graduated,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? true : _props$progress,\n vertical = props.vertical,\n disabled = props.disabled,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n maxProp = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n valueProp = props.value,\n handleClassName = props.handleClassName,\n handleStyle = props.handleStyle,\n handleTitle = props.handleTitle,\n _props$tooltip = props.tooltip,\n tooltip = _props$tooltip === void 0 ? true : _props$tooltip,\n getAriaValueText = props.getAriaValueText,\n renderTooltip = props.renderTooltip,\n renderMark = props.renderMark,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"as\", \"barClassName\", \"className\", \"constraint\", \"defaultValue\", \"graduated\", \"progress\", \"vertical\", \"disabled\", \"classPrefix\", \"min\", \"max\", \"step\", \"value\", \"handleClassName\", \"handleStyle\", \"handleTitle\", \"tooltip\", \"getAriaValueText\", \"renderTooltip\", \"renderMark\", \"onChange\", \"onChangeCommitted\"]);\n var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle\n\n var handleIndexs = (0, _react.useRef)([0, 1]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('RangeSlider'),\n rtl = _useCustom.rtl;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n disabled: disabled,\n graduated: graduated,\n 'with-mark': renderMark\n }));\n var max = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)(Math.floor((maxProp - min) / step) * step + min);\n }, [maxProp, min, step]);\n /**\n * Returns a valid value that does not exceed the specified range of values.\n */\n\n var getValidValue = (0, _react.useCallback)(function (value) {\n if (typeof value === 'undefined') {\n return;\n }\n\n return [(0, _utils2.checkValue)(value[0], min, max), (0, _utils2.checkValue)(value[1], min, max)];\n }, [max, min]);\n\n var _useControlled = (0, _utils.useControlled)(getValidValue(valueProp), getValidValue(defaultValue)),\n value = _useControlled[0],\n setValue = _useControlled[1]; // The count of values that can be entered.\n\n\n var count = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)((max - min) / step);\n }, [max, min, step]); // Get the height of the progress bar\n\n var getBarHeight = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getHeight.default)(barRef.current) : 0;\n }, []); // Get the width of the progress bar\n\n var getBarWidth = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getWidth.default)(barRef.current) : 0;\n }, []);\n var getValueByOffset = (0, _react.useCallback)(function (offset) {\n var val = 0;\n\n if (isNaN(offset)) {\n return val;\n }\n\n if (vertical) {\n var barHeight = getBarHeight();\n val = Math.round(offset / (barHeight / count)) * step;\n } else {\n var barWidth = getBarWidth();\n val = Math.round(offset / (barWidth / count)) * step;\n }\n\n return (0, _utils2.precisionMath)(val);\n }, [count, getBarHeight, getBarWidth, step, vertical]);\n var getValueByPosition = (0, _react.useCallback)(function (event) {\n var barOffset = (0, _getOffset.default)(barRef.current);\n var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;\n var val = rtl && !vertical ? barOffset.width - offset : offset;\n return getValueByOffset(val) + min;\n }, [getValueByOffset, min, rtl, vertical]);\n var getRangeValue = (0, _react.useCallback)(function (value, key, event) {\n // Get the corresponding value according to the cursor position\n var v = getValueByPosition(event); // Judge the handle key and put the corresponding value at the start or end.\n\n if (key === 'start') {\n return [v, value[1]];\n } else if (key === 'end') {\n return [value[0], v];\n }\n\n return value;\n }, [getValueByPosition]);\n var getNextValue = (0, _react.useCallback)(function (event, dataset) {\n var eventKey = dataset.key,\n range = dataset.range;\n var value = range.split(',').map(function (i) {\n return +i;\n });\n var nextValue = getValidValue(getRangeValue(value, eventKey, event));\n\n if (nextValue[0] >= nextValue[1]) {\n /**\n * When the value of `start` is greater than the value of` end`,\n * the position of the handle is reversed.\n */\n handleIndexs.current.reverse();\n\n if (eventKey === 'start') {\n nextValue[0] = value[1];\n } else {\n nextValue[1] = value[0];\n }\n }\n\n return nextValue;\n }, [getRangeValue, getValidValue]);\n /**\n * Whether a range is valid against given constraint (if any)\n * Should check before every `setValue` calls\n */\n\n var isRangeMatchingConstraint = (0, _react.useCallback)(function (range) {\n // If no constraint is defined, any range is valid\n if (!constraint) return true;\n return constraint(range);\n }, [constraint]);\n /**\n * Callback function that is fired when the mousemove is triggered\n */\n\n var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n });\n /**\n * Callback function that is fired when the mouseup is triggered\n */\n\n var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);\n }\n }, [getNextValue, onChangeCommitted, isRangeMatchingConstraint, setValue]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var _event$target$dataset = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target['dataset'],\n key = _event$target$dataset.key;\n\n var nextValue = [].concat(value);\n var increaseKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n var valueIndex = key === 'start' ? 0 : 1;\n\n switch (event.key) {\n case 'Home':\n nextValue[valueIndex] = min;\n break;\n\n case 'End':\n nextValue[valueIndex] = max;\n break;\n\n case increaseKey:\n case 'ArrowUp':\n nextValue[valueIndex] = Math.min(max, value[valueIndex] + step);\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n nextValue[valueIndex] = Math.max(min, value[valueIndex] - step);\n break;\n\n default:\n return;\n } // When the start value is greater than the end value, let the handle and value switch positions.\n\n\n if (nextValue[0] >= nextValue[1]) {\n nextValue.reverse();\n handleIndexs.current.reverse();\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [max, min, onChange, rtl, isRangeMatchingConstraint, setValue, step, value]);\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n var start = value[0],\n end = value[1];\n var v = getValueByPosition(event); // Judging that the current click value is closer to the values of `start` and` end`.\n\n if (Math.abs(start - v) < Math.abs(end - v)) {\n start = v;\n } else {\n end = v;\n }\n\n var nextValue = getValidValue([start, end].sort(function (a, b) {\n return a - b;\n }));\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [disabled, getValidValue, getValueByPosition, isRangeMatchingConstraint, onChange, setValue, value]);\n var handleProps = (0, _react.useMemo)(function () {\n return [{\n value: value[0],\n 'data-key': 'start',\n 'aria-valuenow': value[0],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[0], 'start') : ariaValuetext,\n position: (value[0] - min) / (max - min) * 100\n }, {\n value: value[1],\n 'data-key': 'end',\n 'aria-valuenow': value[1],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[1], 'end') : ariaValuetext,\n position: (value[1] - min) / (max - min) * 100\n }];\n }, [ariaValuetext, getAriaValueText, max, min, value]);\n var handleCommonProps = {\n rtl: rtl,\n disabled: disabled,\n vertical: vertical,\n tooltip: tooltip,\n className: handleClassName,\n style: handleStyle,\n renderTooltip: renderTooltip,\n onDragMove: handleDragMove,\n onDragEnd: handleChangeCommitted,\n onKeyDown: handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-disabled': disabled,\n 'aria-valuemax': max,\n 'aria-valuemin': min,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n };\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: merge(barClassName, prefix('bar')),\n ref: barRef,\n onClick: handleClick,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 343,\n columnNumber: 7\n }\n }, progress && /*#__PURE__*/_react.default.createElement(_ProgressBar.default, {\n rtl: rtl,\n vertical: vertical,\n start: (value[0] - min) / (max - min) * 100,\n end: (value[1] - min) / (max - min) * 100,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 345,\n columnNumber: 11\n }\n }), graduated && /*#__PURE__*/_react.default.createElement(_Graduated.default, {\n step: step,\n min: min,\n max: max,\n count: count,\n value: value,\n renderMark: renderMark,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[0]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 7\n }\n }), handleTitle), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[1]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 7\n }\n }), handleTitle));\n});\n\nRangeSlider.displayName = 'RangeSlider';\nRangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {\n value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),\n defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)\n});\nvar _default = RangeSlider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RangeSlider/RangeSlider.tsx?");
|
|
4051
4051
|
|
|
4052
4052
|
/***/ }),
|
|
4053
4053
|
|
|
@@ -4201,7 +4201,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4201
4201
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4202
4202
|
|
|
4203
4203
|
"use strict";
|
|
4204
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/SelectPicker/SelectPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n valueProp = props.value,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n placeholder = props.placeholder,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n groupBy = props.groupBy,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n virtualized = props.virtualized,\n listProps = props.listProps,\n id = props.id,\n onGroupTitleClick = props.onGroupTitleClick,\n searchBy = props.searchBy,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n sort = props.sort,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"data\", \"valueKey\", \"labelKey\", \"value\", \"classPrefix\", \"placeholder\", \"defaultValue\", \"disabled\", \"cleanable\", \"placement\", \"menuClassName\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuStyle\", \"groupBy\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"disabledItemValues\", \"virtualized\", \"listProps\", \"id\", \"onGroupTitleClick\", \"searchBy\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"sort\", \"renderValue\", \"renderMenu\", \"renderMenuGroup\", \"renderMenuItem\", \"renderExtraFooter\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _ref = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown; // Use search keywords to filter options.\n\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: function callback(searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n updateFilteredData = _useSearch.updateFilteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch;\n\n (0, _react.useEffect)(function () {\n updateFilteredData(data);\n }, [data, updateFilteredData]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n var _targetRef$current;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onSelect]);\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n if (!focusItemValue) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n setValue(focusItemValue);\n handleSelect(focusItemValue, focusItem, event);\n handleChangeValue(focusItemValue, event);\n handleClose();\n }, [data, focusItemValue, handleChangeValue, handleClose, handleSelect, setValue, valueKey]);\n var handleItemSelect = (0, _react.useCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n handleSelect(value, item, event);\n handleChangeValue(value, event);\n handleClose();\n }, [setValue, setFocusItemValue, handleSelect, handleChangeValue, handleClose]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue(null);\n setFocusItemValue(value);\n handleChangeValue(null, event);\n }, [value, disabled, cleanable, setValue, handleChangeValue, setFocusItemValue]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter,\n onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setActive(false);\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n setFocusItemValue(value);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen, setFocusItemValue, value]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n }); // Find active `MenuItem` by `value`\n\n var activeItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = !!activeItem || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n selectedElement = activeItem[labelKey];\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, activeItem, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('select-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData; // Create a tree structure data when set `groupBy`\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-select-menu',\n dropdownMenuItemClassPrefix: 'picker-select-menu-item',\n dropdownMenuItemAs: _Picker.DropdownMenuItem,\n activeItemValues: [value],\n focusItemValue: focusItemValue,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 362,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 9\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 375,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'select',\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 399,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n disabled: disabled,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n inputValue: value !== null && value !== void 0 ? value : '',\n active: active,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nSelectPicker.displayName = 'SelectPicker';\nSelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n\n /**\n * group by key in `data`\n */\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = SelectPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/SelectPicker/SelectPicker.tsx?");
|
|
4204
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/SelectPicker/SelectPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n valueProp = props.value,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n placeholder = props.placeholder,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n groupBy = props.groupBy,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n virtualized = props.virtualized,\n listProps = props.listProps,\n id = props.id,\n onGroupTitleClick = props.onGroupTitleClick,\n searchBy = props.searchBy,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n sort = props.sort,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"data\", \"valueKey\", \"labelKey\", \"value\", \"classPrefix\", \"placeholder\", \"defaultValue\", \"disabled\", \"cleanable\", \"placement\", \"menuClassName\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuStyle\", \"groupBy\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"disabledItemValues\", \"virtualized\", \"listProps\", \"id\", \"onGroupTitleClick\", \"searchBy\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"sort\", \"renderValue\", \"renderMenu\", \"renderMenuGroup\", \"renderMenuItem\", \"renderExtraFooter\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _ref = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown; // Use search keywords to filter options.\n\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: function callback(searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n updateFilteredData = _useSearch.updateFilteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch;\n\n (0, _react.useEffect)(function () {\n updateFilteredData(data);\n }, [data, updateFilteredData]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n var _targetRef$current;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onSelect]);\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n if (!focusItemValue) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n setValue(focusItemValue);\n handleSelect(focusItemValue, focusItem, event);\n handleChangeValue(focusItemValue, event);\n handleClose();\n }, [data, focusItemValue, handleChangeValue, handleClose, handleSelect, setValue, valueKey]);\n var handleItemSelect = (0, _react.useCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n handleSelect(value, item, event);\n handleChangeValue(value, event);\n handleClose();\n }, [setValue, setFocusItemValue, handleSelect, handleChangeValue, handleClose]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue(null);\n setFocusItemValue(value);\n handleChangeValue(null, event);\n }, [value, disabled, cleanable, setValue, handleChangeValue, setFocusItemValue]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter,\n onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setActive(false);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword, onSearch]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n setFocusItemValue(value);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen, setFocusItemValue, value]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n }); // Find active `MenuItem` by `value`\n\n var activeItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = !!activeItem || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n selectedElement = activeItem[labelKey];\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, activeItem, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('select-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData; // Create a tree structure data when set `groupBy`\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-select-menu',\n dropdownMenuItemClassPrefix: 'picker-select-menu-item',\n dropdownMenuItemAs: _Picker.DropdownMenuItem,\n activeItemValues: [value],\n focusItemValue: focusItemValue,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 9\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 376,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'select',\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n disabled: disabled,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n inputValue: value !== null && value !== void 0 ? value : '',\n active: active,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 409,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nSelectPicker.displayName = 'SelectPicker';\nSelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n\n /**\n * group by key in `data`\n */\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = SelectPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/SelectPicker/SelectPicker.tsx?");
|
|
4205
4205
|
|
|
4206
4206
|
/***/ }),
|
|
4207
4207
|
|
|
@@ -4619,7 +4619,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4619
4619
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4620
4620
|
|
|
4621
4621
|
"use strict";
|
|
4622
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _Loader = _interopRequireDefault(__webpack_require__(/*! ../Loader */ \"./src/Loader/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Toggle/Toggle.tsx\",\n _this = void 0;\n\nvar Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'span' : _props$as,\n disabled = props.disabled,\n readOnly = props.readOnly,\n _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n plaintext = props.plaintext,\n className = props.className,\n checkedChildren = props.checkedChildren,\n unCheckedChildren = props.unCheckedChildren,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'toggle' : _props$classPrefix,\n checkedProp = props.checked,\n defaultChecked = props.defaultChecked,\n size = props.size,\n localeProp = props.locale,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"disabled\", \"readOnly\", \"loading\", \"plaintext\", \"className\", \"checkedChildren\", \"unCheckedChildren\", \"classPrefix\", \"checked\", \"defaultChecked\", \"size\", \"locale\", \"onChange\"]);\n var inputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils.useControlled)(checkedProp, defaultChecked),\n checked = _useControlled[0],\n setChecked = _useControlled[1];\n\n var _useCustom = (0, _utils.useCustom)('Toggle', localeProp),\n locale = _useCustom.locale;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(size, {\n checked: checked,\n disabled: disabled,\n loading: loading\n }));\n var inner = checked ? checkedChildren : unCheckedChildren;\n var label = checked ? locale.on : locale.off;\n var handleInputChange = (0, _react.useCallback)(function (e) {\n if (disabled || readOnly || loading) {\n return;\n }\n\n var checked = e.target.checked;\n setChecked(checked);\n onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);\n }, [disabled, readOnly, loading, setChecked, onChange]);\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber:
|
|
4622
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _Loader = _interopRequireDefault(__webpack_require__(/*! ../Loader */ \"./src/Loader/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Toggle/Toggle.tsx\",\n _this = void 0;\n\nvar Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'span' : _props$as,\n disabled = props.disabled,\n readOnly = props.readOnly,\n _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n plaintext = props.plaintext,\n className = props.className,\n checkedChildren = props.checkedChildren,\n unCheckedChildren = props.unCheckedChildren,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'toggle' : _props$classPrefix,\n checkedProp = props.checked,\n defaultChecked = props.defaultChecked,\n size = props.size,\n localeProp = props.locale,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"disabled\", \"readOnly\", \"loading\", \"plaintext\", \"className\", \"checkedChildren\", \"unCheckedChildren\", \"classPrefix\", \"checked\", \"defaultChecked\", \"size\", \"locale\", \"onChange\"]);\n var inputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils.useControlled)(checkedProp, defaultChecked),\n checked = _useControlled[0],\n setChecked = _useControlled[1];\n\n var _useCustom = (0, _utils.useCustom)('Toggle', localeProp),\n locale = _useCustom.locale;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(size, {\n checked: checked,\n disabled: disabled,\n loading: loading\n }));\n var inner = checked ? checkedChildren : unCheckedChildren;\n var label = checked ? locale.on : locale.off;\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(rest),\n htmlInputProps = _partitionHTMLProps[0],\n restProps = _partitionHTMLProps[1];\n\n var handleInputChange = (0, _react.useCallback)(function (e) {\n if (disabled || readOnly || loading) {\n return;\n }\n\n var checked = e.target.checked;\n setChecked(checked);\n onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);\n }, [disabled, readOnly, loading, setChecked, onChange]);\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 12\n }\n }, inner || label);\n }\n\n return /*#__PURE__*/_react.default.createElement(\"label\", (0, _extends2.default)({\n ref: ref,\n className: classes\n }, restProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({}, htmlInputProps, {\n ref: inputRef,\n type: \"checkbox\",\n checked: checkedProp,\n defaultChecked: defaultChecked,\n disabled: disabled,\n readOnly: readOnly,\n onChange: handleInputChange,\n className: prefix('input'),\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-disabled\": disabled,\n \"aria-label\": typeof inner === 'string' ? inner : label,\n \"aria-busy\": loading || undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 95,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(Component, {\n className: prefix('presentation'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('inner'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 112,\n columnNumber: 9\n }\n }, inner), loading && /*#__PURE__*/_react.default.createElement(_Loader.default, {\n className: prefix('loader'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 113,\n columnNumber: 21\n }\n })));\n});\n\nToggle.displayName = 'Toggle';\nToggle.propTypes = {\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n checked: _propTypes.default.bool,\n defaultChecked: _propTypes.default.bool,\n checkedChildren: _propTypes.default.node,\n unCheckedChildren: _propTypes.default.node,\n loading: _propTypes.default.bool,\n classPrefix: _propTypes.default.string,\n className: _propTypes.default.string,\n onChange: _propTypes.default.func,\n as: _propTypes.default.elementType,\n size: _propTypes.default.oneOf(['sm', 'md', 'lg']),\n locale: _propTypes.default.shape({\n on: _propTypes.default.string,\n off: _propTypes.default.string\n })\n};\nvar _default = Toggle;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Toggle/Toggle.tsx?");
|
|
4623
4623
|
|
|
4624
4624
|
/***/ }),
|
|
4625
4625
|
|