rsuite 6.0.1 → 6.1.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/Accordion/styles/index.scss +3 -0
- package/Animation/styles/_animation.scss +95 -0
- package/Animation/styles/_bounce.scss +36 -0
- package/Animation/styles/_collapse.scss +23 -0
- package/Animation/styles/_fade.scss +10 -0
- package/Animation/styles/_mixin.scss +15 -0
- package/Animation/styles/_slide.scss +34 -0
- package/Animation/styles/_variables.scss +4 -0
- package/Animation/styles/index.scss +8 -0
- package/AutoComplete/styles/index.scss +43 -0
- package/Avatar/styles/index.scss +48 -0
- package/AvatarGroup/styles/index.scss +27 -0
- package/Badge/styles/_variables.scss +48 -0
- package/Badge/styles/index.scss +111 -0
- package/Box/styles/index.scss +1 -0
- package/Breadcrumb/styles/index.scss +50 -0
- package/Button/styles/_mixin.scss +83 -0
- package/Button/styles/_variables.scss +38 -0
- package/Button/styles/index.scss +374 -0
- package/ButtonGroup/styles/index.scss +96 -0
- package/ButtonToolbar/styles/index.scss +9 -0
- package/CHANGELOG.md +20 -0
- package/Calendar/styles/_variables.scss +16 -0
- package/Calendar/styles/index.scss +673 -0
- package/Card/styles/index.scss +63 -0
- package/CardGroup/styles/index.scss +10 -0
- package/Carousel/styles/index.scss +204 -0
- package/CascadeTree/styles/_search.scss +39 -0
- package/CascadeTree/styles/index.scss +83 -0
- package/Cascader/styles/index.scss +5 -0
- package/Center/styles/index.scss +11 -0
- package/CheckPicker/styles/index.scss +23 -0
- package/CheckTree/styles/_variables.scss +5 -0
- package/CheckTree/styles/index.scss +121 -0
- package/CheckTreePicker/styles/index.scss +20 -0
- package/Checkbox/styles/_mixin.scss +5 -0
- package/Checkbox/styles/_variables.scss +4 -0
- package/Checkbox/styles/index.scss +158 -0
- package/CheckboxGroup/styles/index.scss +14 -0
- package/Col/styles/index.scss +2 -0
- package/Container/stories/styles.scss +23 -0
- package/Container/styles/index.scss +16 -0
- package/Content/styles/index.scss +6 -0
- package/DateInput/styles/index.scss +1 -0
- package/DatePicker/styles/_mixin.scss +10 -0
- package/DatePicker/styles/index.scss +171 -0
- package/DateRangeInput/styles/index.scss +1 -0
- package/DateRangePicker/styles/index.scss +151 -0
- package/Divider/styles/index.scss +85 -0
- package/Drawer/styles/_mixin.scss +23 -0
- package/Drawer/styles/_variables.scss +18 -0
- package/Drawer/styles/index.scss +244 -0
- package/Dropdown/styles/_mixin.scss +4 -0
- package/Dropdown/styles/_variables.scss +12 -0
- package/Dropdown/styles/index.scss +334 -0
- package/FlexboxGrid/styles/index.scss +82 -0
- package/Footer/styles/index.scss +5 -0
- package/Form/styles/index.scss +3 -0
- package/FormControl/styles/_variables.scss +4 -0
- package/FormControl/styles/index.scss +82 -0
- package/FormControlLabel/styles/index.scss +7 -0
- package/FormErrorMessage/styles/_animation.scss +43 -0
- package/FormErrorMessage/styles/_variables.scss +7 -0
- package/FormErrorMessage/styles/index.scss +146 -0
- package/FormGroup/styles/index.scss +75 -0
- package/FormHelpText/styles/index.scss +21 -0
- package/FormStack/styles/index.scss +15 -0
- package/Grid/styles/_columns.scss +23 -0
- package/Grid/styles/_mixin.scss +110 -0
- package/Grid/styles/_row.scss +44 -0
- package/Grid/styles/_variables.scss +6 -0
- package/Grid/styles/index.scss +115 -0
- package/Header/styles/index.scss +5 -0
- package/Heading/styles/_variables.scss +19 -0
- package/Heading/styles/index.scss +42 -0
- package/HeadingGroup/styles/index.scss +5 -0
- package/Highlight/styles/index.scss +9 -0
- package/IconButton/styles/index.scss +90 -0
- package/Image/styles/index.scss +36 -0
- package/InlineEdit/styles/index.scss +51 -0
- package/Input/styles/_mixin.scss +39 -0
- package/Input/styles/_variables.scss +27 -0
- package/Input/styles/index.scss +23 -0
- package/InputGroup/styles/index.scss +264 -0
- package/InputNumber/styles/index.scss +1 -0
- package/InputPicker/styles/_mixin.scss +7 -0
- package/InputPicker/styles/index.scss +64 -0
- package/Kbd/styles/_mixin.scss +24 -0
- package/Kbd/styles/_variables.scss +13 -0
- package/Kbd/styles/index.scss +21 -0
- package/Link/styles/index.scss +41 -0
- package/List/styles/index.scss +111 -0
- package/Loader/styles/_mixin.scss +37 -0
- package/Loader/styles/_variables.scss +19 -0
- package/Loader/styles/index.scss +120 -0
- package/Menu/styles/index.scss +109 -0
- package/Message/styles/index.scss +189 -0
- package/Modal/styles/_animation.scss +15 -0
- package/Modal/styles/_variables.scss +16 -0
- package/Modal/styles/index.scss +186 -0
- package/MultiCascadeTree/styles/index.scss +35 -0
- package/MultiCascader/styles/index.scss +3 -0
- package/Nav/styles/index.scss +383 -0
- package/Navbar/styles/index.scss +253 -0
- package/Notification/styles/index.scss +116 -0
- package/NumberInput/styles/_mixin.scss +11 -0
- package/NumberInput/styles/index.scss +78 -0
- package/Pagination/styles/_pagination-group.scss +52 -0
- package/Pagination/styles/index.scss +77 -0
- package/Panel/styles/index.scss +122 -0
- package/PanelGroup/styles/index.scss +34 -0
- package/PasswordInput/styles/index.scss +3 -0
- package/PasswordStrengthMeter/styles/index.scss +41 -0
- package/PinInput/styles/index.scss +93 -0
- package/Placeholder/styles/_mixin.scss +9 -0
- package/Placeholder/styles/index.scss +155 -0
- package/Popover/styles/index.scss +224 -0
- package/Popover/styles/mixins.scss +54 -0
- package/Progress/styles/_animation.scss +69 -0
- package/Progress/styles/_mixins.scss +6 -0
- package/Progress/styles/_progress-line.scss +343 -0
- package/Progress/styles/index.scss +3 -0
- package/ProgressCircle/styles/index.scss +2 -0
- package/ProgressCircle/styles/progress-circle.scss +49 -0
- package/Radio/styles/_mixin.scss +5 -0
- package/Radio/styles/_variables.scss +5 -0
- package/Radio/styles/index.scss +147 -0
- package/RadioGroup/styles/_variables.scss +10 -0
- package/RadioGroup/styles/index.scss +83 -0
- package/RadioTile/styles/index.scss +80 -0
- package/RadioTileGroup/styles/index.scss +1 -0
- package/RangeSlider/styles/index.scss +4 -0
- package/Rate/styles/index.scss +141 -0
- package/Row/styles/index.scss +2 -0
- package/SegmentedControl/styles/_mixin.scss +7 -0
- package/SegmentedControl/styles/_variables.scss +43 -0
- package/SegmentedControl/styles/index.scss +147 -0
- package/SelectPicker/styles/index.scss +44 -0
- package/Sidebar/styles/index.scss +17 -0
- package/Sidenav/styles/index.scss +635 -0
- package/Sidenav/styles/mixin.scss +23 -0
- package/Slider/styles/index.scss +298 -0
- package/Stack/styles/_variables.scss +11 -0
- package/Stack/styles/index.scss +79 -0
- package/Stat/styles/index.scss +126 -0
- package/StatGroup/styles/index.scss +10 -0
- package/Steps/styles/index.scss +222 -0
- package/Table/styles/index.scss +473 -0
- package/Table/styles/mixin.scss +8 -0
- package/Tabs/styles/index.scss +24 -0
- package/Tag/styles/_variables.scss +13 -0
- package/Tag/styles/index.scss +62 -0
- package/TagGroup/styles/index.scss +14 -0
- package/TagInput/styles/index.scss +5 -0
- package/TagPicker/styles/index.scss +141 -0
- package/Text/styles/index.scss +142 -0
- package/Text/styles/variables.scss +9 -0
- package/Textarea/styles/index.scss +9 -0
- package/TimePicker/styles/index.scss +1 -0
- package/TimeRangePicker/styles/index.scss +1 -0
- package/Timeline/stories/styles.scss +29 -0
- package/Timeline/styles/_mixin.scss +13 -0
- package/Timeline/styles/index.scss +187 -0
- package/Toggle/styles/index.scss +284 -0
- package/Tooltip/styles/index.scss +160 -0
- package/Tooltip/styles/mixins.scss +56 -0
- package/Tree/styles/_indent-line.scss +8 -0
- package/Tree/styles/_toggle.scss +32 -0
- package/Tree/styles/_variables.scss +8 -0
- package/Tree/styles/index.scss +184 -0
- package/TreePicker/styles/index.scss +16 -0
- package/Uploader/styles/_mixin.scss +11 -0
- package/Uploader/styles/index.scss +491 -0
- package/VisuallyHidden/styles/index.scss +11 -0
- package/cjs/Breadcrumb/BreadcrumbItem.js +12 -7
- package/cjs/CheckTree/CheckTree.js +3 -0
- package/cjs/CheckTree/CheckTreeView.js +7 -3
- package/cjs/CheckTree/hooks/useTreeCheckState.d.ts +1 -0
- package/cjs/CheckTree/hooks/useTreeCheckState.js +54 -3
- package/cjs/CheckTree/utils.d.ts +9 -2
- package/cjs/CheckTree/utils.js +70 -11
- package/cjs/CheckTreePicker/CheckTreePicker.js +1 -0
- package/cjs/Checkbox/Checkbox.js +2 -1
- package/cjs/Checkbox/hooks/useIndeterminateCheckbox.d.ts +19 -0
- package/cjs/Checkbox/hooks/useIndeterminateCheckbox.js +32 -0
- package/cjs/DateInput/DateInput.js +24 -0
- package/cjs/DateInput/hooks/useKeyboardInputEvent.d.ts +2 -1
- package/cjs/DateInput/hooks/useKeyboardInputEvent.js +14 -0
- package/cjs/DateRangeInput/DateRangeInput.js +24 -0
- package/cjs/Form/Form.js +5 -1
- package/cjs/Rate/Rate.d.ts +8 -0
- package/cjs/Rate/Rate.js +3 -1
- package/cjs/Tree/hooks/useFlattenTree.d.ts +4 -0
- package/cjs/Tree/hooks/useFlattenTree.js +22 -1
- package/cjs/Tree/hooks/useFocusTree.js +19 -1
- package/cjs/Tree/hooks/useVirtualizedTreeData.d.ts +1 -0
- package/cjs/Tree/hooks/useVirtualizedTreeData.js +5 -2
- package/cjs/Tree/utils/focusableTree.d.ts +8 -0
- package/cjs/Tree/utils/focusableTree.js +40 -2
- package/cjs/Tree/utils/index.d.ts +1 -1
- package/cjs/Tree/utils/index.js +3 -1
- package/cjs/internals/Picker/utils.d.ts +2 -0
- package/cjs/internals/Picker/utils.js +13 -1
- package/cjs/internals/StyledBox/StyledBox.d.ts +1 -1
- package/cjs/internals/StyledBox/StyledBox.js +2 -2
- package/dist/rsuite.js +34 -23
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Breadcrumb/BreadcrumbItem.js +10 -5
- package/esm/CheckTree/CheckTree.js +3 -0
- package/esm/CheckTree/CheckTreeView.js +7 -3
- package/esm/CheckTree/hooks/useTreeCheckState.d.ts +1 -0
- package/esm/CheckTree/hooks/useTreeCheckState.js +55 -4
- package/esm/CheckTree/utils.d.ts +9 -2
- package/esm/CheckTree/utils.js +71 -12
- package/esm/CheckTreePicker/CheckTreePicker.js +1 -0
- package/esm/Checkbox/Checkbox.js +3 -2
- package/esm/Checkbox/hooks/useIndeterminateCheckbox.d.ts +19 -0
- package/esm/Checkbox/hooks/useIndeterminateCheckbox.js +29 -0
- package/esm/DateInput/DateInput.js +24 -0
- package/esm/DateInput/hooks/useKeyboardInputEvent.d.ts +2 -1
- package/esm/DateInput/hooks/useKeyboardInputEvent.js +14 -0
- package/esm/DateRangeInput/DateRangeInput.js +24 -0
- package/esm/Form/Form.js +5 -1
- package/esm/Rate/Rate.d.ts +8 -0
- package/esm/Rate/Rate.js +3 -1
- package/esm/Tree/hooks/useFlattenTree.d.ts +4 -0
- package/esm/Tree/hooks/useFlattenTree.js +22 -1
- package/esm/Tree/hooks/useFocusTree.js +20 -2
- package/esm/Tree/hooks/useVirtualizedTreeData.d.ts +1 -0
- package/esm/Tree/hooks/useVirtualizedTreeData.js +5 -2
- package/esm/Tree/utils/focusableTree.d.ts +8 -0
- package/esm/Tree/utils/focusableTree.js +36 -0
- package/esm/Tree/utils/index.d.ts +1 -1
- package/esm/Tree/utils/index.js +1 -1
- package/esm/internals/Picker/utils.d.ts +2 -0
- package/esm/internals/Picker/utils.js +13 -1
- package/esm/internals/StyledBox/StyledBox.d.ts +1 -1
- package/esm/internals/StyledBox/StyledBox.js +2 -2
- package/internals/Box/styles/index.scss +31 -0
- package/internals/Burger/styles/index.scss +72 -0
- package/internals/CloseButton/styles/index.scss +14 -0
- package/internals/Picker/styles/_mixin.scss +219 -0
- package/internals/Picker/styles/_variables.scss +9 -0
- package/internals/Picker/styles/index.scss +476 -0
- package/internals/Ripple/styles/_mixins.scss +10 -0
- package/internals/Ripple/styles/index.scss +40 -0
- package/internals/ScrollView/styles/index.scss +77 -0
- package/internals/SearchBox/styles/index.scss +7 -0
- package/package.json +4 -4
- package/styles/_base.scss +37 -0
- package/styles/_css-reset.scss +345 -0
- package/styles/_themes.scss +132 -0
- package/styles/_variables.scss +48 -0
- package/styles/color-modes/_dark.scss +458 -0
- package/styles/color-modes/_high-contrast.scss +469 -0
- package/styles/color-modes/_light.scss +475 -0
- package/styles/colors/_colors-base.scss +39 -0
- package/styles/colors/_dark.scss +114 -0
- package/styles/colors/_high-contrast.scss +114 -0
- package/styles/colors/_light.scss +115 -0
- package/styles/colors/_palette.scss +413 -0
- package/styles/components.scss +114 -0
- package/styles/index.scss +2 -0
- package/styles/mixins/_color-modes.scss +20 -0
- package/styles/mixins/_combobox.scss +6 -0
- package/styles/mixins/_hacks.scss +33 -0
- package/styles/mixins/_input.scss +30 -0
- package/styles/mixins/_listbox.scss +70 -0
- package/styles/mixins/_menu.scss +12 -0
- package/styles/mixins/_utilities.scss +130 -0
- package/toaster/styles/animation.scss +54 -0
- package/toaster/styles/index.scss +109 -0
- package/useToaster/styles/index.scss +1 -0
package/dist/rsuite.js
CHANGED
|
@@ -1346,7 +1346,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
1346
1346
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1347
1347
|
|
|
1348
1348
|
"use strict";
|
|
1349
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _SafeAnchor = _interopRequireDefault(__webpack_require__(/*! ../internals/SafeAnchor */ \"./src/internals/SafeAnchor/index.tsx\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Breadcrumb/BreadcrumbItem.tsx\";\n/**\n * The `<Breadcrumb.Item>` component is used to specify each section of the Breadcrumb.\n * @see https://rsuitejs.com/components/breadcrumb\n */\nconst BreadcrumbItem = (0,
|
|
1349
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _SafeAnchor = _interopRequireDefault(__webpack_require__(/*! ../internals/SafeAnchor */ \"./src/internals/SafeAnchor/index.tsx\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _utils = __webpack_require__(/*! ../internals/Box/utils */ \"./src/internals/Box/utils.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Breadcrumb/BreadcrumbItem.tsx\";\n/**\n * The `<Breadcrumb.Item>` component is used to specify each section of the Breadcrumb.\n * @see https://rsuitejs.com/components/breadcrumb\n */\nconst BreadcrumbItem = (0, _utils2.forwardRef)((props, ref) => {\n const {\n wrapperAs: Wrapper = 'li',\n href,\n as: Component = href ? _SafeAnchor.default : 'span',\n classPrefix = 'breadcrumb-item',\n title,\n target,\n className,\n style,\n active,\n children,\n separator,\n icon,\n ...rest\n } = props;\n const {\n merge,\n withPrefix\n } = (0, _hooks.useStyles)(classPrefix);\n const classes = merge(className, withPrefix());\n\n // Separate BoxProps for wrapper and other props for inner component\n const boxProps = (0, _utils.extractBoxProps)(rest);\n const componentProps = (0, _utils.omitBoxProps)(rest);\n return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({\n as: Wrapper,\n style: style,\n className: classes,\n \"data-active\": active\n }, boxProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 7\n }\n }), icon, active ? /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 11\n }\n }, children) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: ref,\n href: href,\n title: title,\n target: target\n }, componentProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 11\n }\n }), children), separator);\n});\nBreadcrumbItem.displayName = 'BreadcrumbItem';\nvar _default = exports[\"default\"] = BreadcrumbItem;\n\n//# sourceURL=webpack://rsuite/./src/Breadcrumb/BreadcrumbItem.tsx?");
|
|
1350
1350
|
|
|
1351
1351
|
/***/ }),
|
|
1352
1352
|
|
|
@@ -2039,7 +2039,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2039
2039
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2040
2040
|
|
|
2041
2041
|
"use strict";
|
|
2042
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _useTreeValue = _interopRequireDefault(__webpack_require__(/*! ./hooks/useTreeValue */ \"./src/CheckTree/hooks/useTreeValue.ts\"));\nvar _CheckTreeView = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeView */ \"./src/CheckTree/CheckTreeView.tsx\"));\nvar _useFlattenTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useFlattenTree */ \"./src/Tree/hooks/useFlattenTree.ts\"));\nvar _useTreeWithChildren = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useTreeWithChildren */ \"./src/Tree/hooks/useTreeWithChildren.ts\"));\nvar _useExpandTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useExpandTree */ \"./src/Tree/hooks/useExpandTree.ts\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTree/CheckTree.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The `CheckTree` component is used for selecting multiple options which are organized in a tree structure.\n * @see https://rsuitejs.com/components/check-tree\n */\nconst CheckTree = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('CheckTree', props);\n const {\n value: controlledValue,\n data,\n defaultValue,\n defaultExpandAll = false,\n defaultExpandItemValues = [],\n uncheckableItemValues,\n expandItemValues: controlledExpandItemValues,\n childrenKey = 'children',\n labelKey = 'label',\n valueKey = 'value',\n virtualized,\n cascade = true,\n scrollShadow,\n renderTreeIcon,\n renderTreeNode,\n getChildren,\n onExpand,\n onChange,\n ...rest\n } = propsWithDefaults;\n const [value, setValue] = (0, _useTreeValue.default)(controlledValue, {\n defaultValue,\n uncheckableItemValues\n });\n const itemDataKeys = {\n childrenKey,\n labelKey,\n valueKey\n };\n const {\n treeData,\n loadingNodeValues,\n appendChild\n } = (0, _useTreeWithChildren.default)(data, itemDataKeys);\n const {\n expandItemValues,\n handleExpandTreeNode\n } = (0, _useExpandTree.default)(data, {\n ...itemDataKeys,\n defaultExpandAll,\n defaultExpandItemValues,\n controlledExpandItemValues,\n onExpand,\n getChildren,\n appendChild\n });\n const flattenedNodes = (0, _useFlattenTree.default)(treeData, {\n ...itemDataKeys,\n uncheckableItemValues,\n multiple: true,\n cascade,\n value\n });\n const handleChange = (0, _hooks.useEventCallback)((nextValue, event) => {\n setValue(nextValue);\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n });\n const treeContext = (0, _react.useMemo)(() => ({\n props: {\n labelKey,\n valueKey,\n childrenKey,\n virtualized,\n scrollShadow,\n renderTreeIcon,\n renderTreeNode\n }\n }), [childrenKey, labelKey, valueKey, virtualized, scrollShadow, renderTreeIcon, renderTreeNode]);\n return /*#__PURE__*/_react.default.createElement(_TreeProvider.TreeProvider, {\n value: treeContext,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber:
|
|
2042
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _useTreeValue = _interopRequireDefault(__webpack_require__(/*! ./hooks/useTreeValue */ \"./src/CheckTree/hooks/useTreeValue.ts\"));\nvar _CheckTreeView = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeView */ \"./src/CheckTree/CheckTreeView.tsx\"));\nvar _useFlattenTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useFlattenTree */ \"./src/Tree/hooks/useFlattenTree.ts\"));\nvar _useTreeWithChildren = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useTreeWithChildren */ \"./src/Tree/hooks/useTreeWithChildren.ts\"));\nvar _useExpandTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useExpandTree */ \"./src/Tree/hooks/useExpandTree.ts\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTree/CheckTree.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The `CheckTree` component is used for selecting multiple options which are organized in a tree structure.\n * @see https://rsuitejs.com/components/check-tree\n */\nconst CheckTree = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('CheckTree', props);\n const {\n value: controlledValue,\n data,\n defaultValue,\n defaultExpandAll = false,\n defaultExpandItemValues = [],\n uncheckableItemValues,\n disabledItemValues,\n expandItemValues: controlledExpandItemValues,\n childrenKey = 'children',\n labelKey = 'label',\n valueKey = 'value',\n virtualized,\n cascade = true,\n scrollShadow,\n renderTreeIcon,\n renderTreeNode,\n getChildren,\n onExpand,\n onChange,\n ...rest\n } = propsWithDefaults;\n const [value, setValue] = (0, _useTreeValue.default)(controlledValue, {\n defaultValue,\n uncheckableItemValues\n });\n const itemDataKeys = {\n childrenKey,\n labelKey,\n valueKey\n };\n const {\n treeData,\n loadingNodeValues,\n appendChild\n } = (0, _useTreeWithChildren.default)(data, itemDataKeys);\n const {\n expandItemValues,\n handleExpandTreeNode\n } = (0, _useExpandTree.default)(data, {\n ...itemDataKeys,\n defaultExpandAll,\n defaultExpandItemValues,\n controlledExpandItemValues,\n onExpand,\n getChildren,\n appendChild\n });\n const flattenedNodes = (0, _useFlattenTree.default)(treeData, {\n ...itemDataKeys,\n uncheckableItemValues,\n disabledItemValues,\n multiple: true,\n cascade,\n value\n });\n const handleChange = (0, _hooks.useEventCallback)((nextValue, event) => {\n setValue(nextValue);\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n });\n const treeContext = (0, _react.useMemo)(() => ({\n props: {\n labelKey,\n valueKey,\n childrenKey,\n virtualized,\n scrollShadow,\n renderTreeIcon,\n renderTreeNode\n }\n }), [childrenKey, labelKey, valueKey, virtualized, scrollShadow, renderTreeIcon, renderTreeNode]);\n return /*#__PURE__*/_react.default.createElement(_TreeProvider.TreeProvider, {\n value: treeContext,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 102,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeView.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n value: value,\n cascade: cascade,\n data: treeData,\n loadingNodeValues: loadingNodeValues,\n flattenedNodes: flattenedNodes,\n uncheckableItemValues: uncheckableItemValues,\n disabledItemValues: disabledItemValues,\n expandItemValues: expandItemValues,\n onChange: handleChange,\n onExpand: handleExpandTreeNode,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 103,\n columnNumber: 7\n }\n })));\n});\nCheckTree.displayName = 'CheckTree';\nvar _default = exports[\"default\"] = CheckTree;\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/CheckTree.tsx?");
|
|
2043
2043
|
|
|
2044
2044
|
/***/ }),
|
|
2045
2045
|
|
|
@@ -2061,7 +2061,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2061
2061
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2062
2062
|
|
|
2063
2063
|
"use strict";
|
|
2064
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _CheckTreeNode = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeNode */ \"./src/CheckTree/CheckTreeNode.tsx\"));\nvar _IndentLine = _interopRequireDefault(__webpack_require__(/*! ../Tree/IndentLine */ \"./src/Tree/IndentLine.tsx\"));\nvar _SearchBox = _interopRequireDefault(__webpack_require__(/*! ../internals/SearchBox */ \"./src/internals/SearchBox/index.tsx\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _useTreeSearch = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useTreeSearch */ \"./src/Tree/hooks/useTreeSearch.ts\"));\nvar _useFocusTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useFocusTree */ \"./src/Tree/hooks/useFocusTree.ts\"));\nvar _useVirtualizedTreeData = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useVirtualizedTreeData */ \"./src/Tree/hooks/useVirtualizedTreeData.ts\"));\nvar _useTreeCheckState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useTreeCheckState */ \"./src/CheckTree/hooks/useTreeCheckState.ts\"));\nvar _useTreeNodeProps = _interopRequireDefault(__webpack_require__(/*! ./hooks/useTreeNodeProps */ \"./src/CheckTree/hooks/useTreeNodeProps.tsx\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _Windowing = __webpack_require__(/*! ../internals/Windowing */ \"./src/internals/Windowing/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/Tree/utils */ \"./src/internals/Tree/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _Tree = __webpack_require__(/*! ../internals/Tree */ \"./src/internals/Tree/index.ts\");\nvar _utils3 = __webpack_require__(/*! ./utils */ \"./src/CheckTree/utils.ts\");\nvar _utils4 = __webpack_require__(/*! ../Tree/utils */ \"./src/Tree/utils/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTree/CheckTreeView.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * Props for the CheckTreeView component.\n */\n\nconst CheckTreeView = (0, _utils.forwardRef)((props, ref) => {\n const {\n as,\n className,\n classPrefix = 'check-tree',\n cascade = true,\n data = [],\n disabledItemValues = [],\n expandItemValues = [],\n height = 360,\n locale: overrideLocale,\n listProps,\n listRef,\n style,\n searchKeyword,\n showIndentLine,\n searchable,\n searchInputRef,\n uncheckableItemValues = [],\n loadingNodeValues = [],\n flattenedNodes = {},\n searchBy,\n onChange,\n onSearch,\n onSelect,\n onSelectItem,\n onScroll,\n onExpand,\n onFocusItem,\n ...rest\n } = props;\n const {\n getLocale\n } = (0, _hooks.useCustom)();\n const {\n searchPlaceholder,\n noResultsText\n } = getLocale('Combobox', overrideLocale);\n const {\n childrenKey,\n valueKey,\n virtualized,\n scrollShadow\n } = (0, _TreeProvider.useTreeContextProps)();\n const {\n prefix,\n merge,\n withPrefix\n } = (0, _hooks.useStyles)(classPrefix);\n const {\n getCheckedValues\n } = (0, _useTreeCheckState.default)({\n cascade,\n flattenedNodes,\n uncheckableItemValues\n });\n const handleSearchCallback = (value, _data, event) => {\n onSearch === null || onSearch === void 0 || onSearch(value, event);\n };\n const {\n filteredData,\n keyword,\n setFilteredData,\n handleSearch\n } = (0, _useTreeSearch.default)({\n callback: handleSearchCallback,\n data,\n searchKeyword,\n searchBy\n });\n const {\n focusItemValue,\n setFocusItemValue,\n onTreeKeydown,\n saveTreeNodeRef\n } = (0, _useFocusTree.default)({\n filteredData,\n disabledItemValues,\n expandItemValues,\n searchKeyword: keyword,\n flattenedNodes,\n onFocused: onFocusItem,\n onExpand\n });\n const transformation = (0, _useVirtualizedTreeData.default)(flattenedNodes, filteredData, {\n cascade,\n expandItemValues,\n searchKeyword: keyword\n });\n\n /**\n * Get formatted nodes for render tree\n * @params render - renderNode function. only used when virtualized setting false\n */\n const getFormattedNodes = render => {\n if (virtualized) {\n return transformation().filter(item => item.visible);\n }\n return (0, _utils3.getFormattedTree)(flattenedNodes, filteredData, {\n childrenKey,\n cascade\n }).map(node => render === null || render === void 0 ? void 0 : render(node, 1)).filter(item => item);\n };\n const getTreeNodeProps = (0, _useTreeNodeProps.default)({\n uncheckableItemValues,\n disabledItemValues,\n loadingNodeValues,\n focusItemValue,\n flattenedNodes,\n keyword\n });\n (0, _react.useEffect)(() => {\n setFilteredData(data, keyword);\n }, [data, keyword, setFilteredData]);\n\n // TODO-Doma\n // Replace `getKeyParentMap` with `getParentMap`\n const itemParentMap = (0, _react.useMemo)(() => (0, _utils2.getKeyParentMap)(data, node => node[valueKey], node => node[childrenKey]), [childrenKey, data, valueKey]);\n const handleSelect = (0, _hooks.useEventCallback)((node, event) => {\n const currentNode = node.refKey ? flattenedNodes[node.refKey] : null;\n if (!node || !currentNode) {\n return;\n }\n const checkedValues = getCheckedValues(node, !currentNode.check);\n const path = (0, _utils2.getPathTowardsItem)(node, item => itemParentMap.get(item[valueKey]));\n setFocusItemValue(node[valueKey]);\n onChange === null || onChange === void 0 || onChange(checkedValues, event);\n onSelect === null || onSelect === void 0 || onSelect(node, checkedValues, event);\n onSelectItem === null || onSelectItem === void 0 || onSelectItem(node, path);\n });\n const selectActiveItem = event => {\n if ((0, _isNil.default)(focusItemValue)) return;\n const activeItem = (0, _utils4.getActiveItem)(focusItemValue, flattenedNodes, valueKey);\n if (!(0, _utils3.isNodeUncheckable)(activeItem, {\n uncheckableItemValues,\n valueKey\n }) && activeItem !== null) {\n handleSelect(activeItem, event);\n }\n };\n const handleTreeKeyDown = (0, _hooks.useEventCallback)(event => {\n onTreeKeydown(event);\n (0, _Picker.onMenuKeyDown)(event, {\n enter: selectActiveItem\n });\n });\n const renderNode = (node, layer) => {\n const {\n visible,\n refKey,\n parent\n } = node;\n\n // when searching, all nodes should be expand\n const expanded = (0, _utils4.isExpand)(keyword, expandItemValues.includes(node[valueKey]));\n if (!visible) {\n return null;\n }\n const children = node[childrenKey];\n const hasChildren = keyword ? (0, _utils4.hasVisibleChildren)(node, childrenKey) : Boolean(children);\n const treeNodeProps = {\n // The spread operator does not copy non-enumerable properties,\n // so we need to copy the `parent` property manually.\n ...getTreeNodeProps({\n ...node,\n parent\n }),\n layer,\n expanded,\n hasChildren,\n onSelect: handleSelect,\n onExpand\n };\n if (hasChildren) {\n layer += 1;\n const childClassName = merge(prefix('node-children'), {\n [prefix('node-expanded')]: expanded\n });\n const nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childClassName,\n key: node[valueKey],\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 287,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, treeNodeProps, {\n treeItemRef: ref => saveTreeNodeRef(ref, refKey),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 288,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('group'),\n role: \"group\",\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 11\n }\n }, nodes.map(child => renderNode(child, layer)), showIndentLine && /*#__PURE__*/_react.default.createElement(_IndentLine.default, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 291,\n columnNumber: 32\n }\n })));\n }\n return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n key: node[valueKey],\n treeItemRef: ref => saveTreeNodeRef(ref, refKey)\n }, treeNodeProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 7\n }\n }));\n };\n const renderVirtualListNode = ({\n index,\n style,\n data\n }) => {\n const node = data[index];\n const {\n layer,\n refKey,\n visible,\n hasChildren,\n parent\n } = node;\n const expanded = (0, _utils4.isExpand)(keyword, expandItemValues.includes(node[valueKey]));\n const treeNodeProps = {\n // The spread operator does not copy non-enumerable properties,\n // so we need to copy the `parent` property manually.\n ...getTreeNodeProps({\n ...node,\n parent\n }),\n onSelect: handleSelect,\n onExpand,\n expanded,\n layer,\n hasChildren\n };\n return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n style: style,\n ref: ref => saveTreeNodeRef(ref, refKey)\n }, treeNodeProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 9\n }\n }));\n };\n const classes = merge(className, withPrefix({\n 'without-children': !(0, _utils3.hasGrandchild)(data, childrenKey),\n virtualized\n }));\n const formattedNodes = getFormattedNodes(renderNode);\n const treeNodesClass = merge(prefix('root'), {\n [prefix('all-uncheckable')]: (0, _utils3.isEveryFirstLevelNodeUncheckable)(flattenedNodes, uncheckableItemValues, valueKey)\n });\n return /*#__PURE__*/_react.default.createElement(_Box.default, {\n as: as,\n ref: ref,\n className: classes,\n style: style,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 348,\n columnNumber: 5\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_SearchBox.default, {\n placeholder: searchPlaceholder,\n onChange: handleSearch,\n value: keyword,\n inputRef: searchInputRef,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 9\n }\n }) : null, keyword && formattedNodes.length === 0 ? /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('empty'),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 359,\n columnNumber: 9\n }\n }, noResultsText) : null, /*#__PURE__*/_react.default.createElement(_Tree.TreeView, (0, _extends2.default)({}, rest, {\n multiselectable: true,\n treeRootClassName: treeNodesClass,\n className: prefix('view'),\n onScroll: onScroll,\n onKeyDown: handleTreeKeyDown,\n height: height,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 362,\n columnNumber: 7\n }\n }), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {\n defaultHeight: height,\n style: {\n width: 'auto',\n height: 'auto'\n },\n className: prefix('virt-auto-sizer'),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 372,\n columnNumber: 11\n }\n }, ({\n height\n }) => /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({\n ref: listRef,\n height: height,\n itemSize: _Windowing.defaultItemSize,\n itemCount: formattedNodes.length,\n itemData: formattedNodes,\n className: prefix('virt-list'),\n scrollShadow: scrollShadow\n }, listProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 378,\n columnNumber: 15\n }\n }), renderVirtualListNode)) : formattedNodes));\n});\nCheckTreeView.displayName = 'CheckTreeView';\nvar _default = exports[\"default\"] = CheckTreeView;\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/CheckTreeView.tsx?");
|
|
2064
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _CheckTreeNode = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeNode */ \"./src/CheckTree/CheckTreeNode.tsx\"));\nvar _IndentLine = _interopRequireDefault(__webpack_require__(/*! ../Tree/IndentLine */ \"./src/Tree/IndentLine.tsx\"));\nvar _SearchBox = _interopRequireDefault(__webpack_require__(/*! ../internals/SearchBox */ \"./src/internals/SearchBox/index.tsx\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _useTreeSearch = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useTreeSearch */ \"./src/Tree/hooks/useTreeSearch.ts\"));\nvar _useFocusTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useFocusTree */ \"./src/Tree/hooks/useFocusTree.ts\"));\nvar _useVirtualizedTreeData = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useVirtualizedTreeData */ \"./src/Tree/hooks/useVirtualizedTreeData.ts\"));\nvar _useTreeCheckState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useTreeCheckState */ \"./src/CheckTree/hooks/useTreeCheckState.ts\"));\nvar _useTreeNodeProps = _interopRequireDefault(__webpack_require__(/*! ./hooks/useTreeNodeProps */ \"./src/CheckTree/hooks/useTreeNodeProps.tsx\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _Windowing = __webpack_require__(/*! ../internals/Windowing */ \"./src/internals/Windowing/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/Tree/utils */ \"./src/internals/Tree/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _Tree = __webpack_require__(/*! ../internals/Tree */ \"./src/internals/Tree/index.ts\");\nvar _utils3 = __webpack_require__(/*! ./utils */ \"./src/CheckTree/utils.ts\");\nvar _utils4 = __webpack_require__(/*! ../Tree/utils */ \"./src/Tree/utils/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTree/CheckTreeView.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * Props for the CheckTreeView component.\n */\n\nconst CheckTreeView = (0, _utils.forwardRef)((props, ref) => {\n const {\n as,\n className,\n classPrefix = 'check-tree',\n cascade = true,\n data = [],\n disabledItemValues = [],\n expandItemValues = [],\n height = 360,\n locale: overrideLocale,\n listProps,\n listRef,\n style,\n searchKeyword,\n showIndentLine,\n searchable,\n searchInputRef,\n uncheckableItemValues = [],\n loadingNodeValues = [],\n flattenedNodes = {},\n searchBy,\n onChange,\n onSearch,\n onSelect,\n onSelectItem,\n onScroll,\n onExpand,\n onFocusItem,\n ...rest\n } = props;\n const {\n getLocale\n } = (0, _hooks.useCustom)();\n const {\n searchPlaceholder,\n noResultsText\n } = getLocale('Combobox', overrideLocale);\n const {\n childrenKey,\n valueKey,\n virtualized,\n scrollShadow\n } = (0, _TreeProvider.useTreeContextProps)();\n const {\n prefix,\n merge,\n withPrefix\n } = (0, _hooks.useStyles)(classPrefix);\n const {\n getCheckedValues\n } = (0, _useTreeCheckState.default)({\n cascade,\n flattenedNodes,\n uncheckableItemValues,\n disabledItemValues\n });\n const handleSearchCallback = (value, _data, event) => {\n onSearch === null || onSearch === void 0 || onSearch(value, event);\n };\n const {\n filteredData,\n keyword,\n setFilteredData,\n handleSearch\n } = (0, _useTreeSearch.default)({\n callback: handleSearchCallback,\n data,\n searchKeyword,\n searchBy\n });\n const {\n focusItemValue,\n setFocusItemValue,\n onTreeKeydown,\n saveTreeNodeRef\n } = (0, _useFocusTree.default)({\n filteredData,\n disabledItemValues,\n expandItemValues,\n searchKeyword: keyword,\n flattenedNodes,\n onFocused: onFocusItem,\n onExpand\n });\n const transformation = (0, _useVirtualizedTreeData.default)(flattenedNodes, filteredData, {\n cascade,\n expandItemValues,\n searchKeyword: keyword,\n disabledItemValues\n });\n\n /**\n * Get formatted nodes for render tree\n * @params render - renderNode function. only used when virtualized setting false\n */\n const getFormattedNodes = render => {\n if (virtualized) {\n return transformation().filter(item => item.visible);\n }\n return (0, _utils3.getFormattedTree)(flattenedNodes, filteredData, {\n childrenKey,\n cascade,\n disabledItemValues,\n valueKey\n }).map(node => render === null || render === void 0 ? void 0 : render(node, 1)).filter(item => item);\n };\n const getTreeNodeProps = (0, _useTreeNodeProps.default)({\n uncheckableItemValues,\n disabledItemValues,\n loadingNodeValues,\n focusItemValue,\n flattenedNodes,\n keyword\n });\n (0, _react.useEffect)(() => {\n setFilteredData(data, keyword);\n }, [data, keyword, setFilteredData]);\n\n // TODO-Doma\n // Replace `getKeyParentMap` with `getParentMap`\n const itemParentMap = (0, _react.useMemo)(() => (0, _utils2.getKeyParentMap)(data, node => node[valueKey], node => node[childrenKey]), [childrenKey, data, valueKey]);\n const handleSelect = (0, _hooks.useEventCallback)((node, event) => {\n const currentNode = node.refKey ? flattenedNodes[node.refKey] : null;\n if (!node || !currentNode) {\n return;\n }\n const checkedValues = getCheckedValues(node, !currentNode.check);\n const path = (0, _utils2.getPathTowardsItem)(node, item => itemParentMap.get(item[valueKey]));\n setFocusItemValue(node[valueKey]);\n onChange === null || onChange === void 0 || onChange(checkedValues, event);\n onSelect === null || onSelect === void 0 || onSelect(node, checkedValues, event);\n onSelectItem === null || onSelectItem === void 0 || onSelectItem(node, path);\n });\n const selectActiveItem = event => {\n if ((0, _isNil.default)(focusItemValue)) return;\n const activeItem = (0, _utils4.getActiveItem)(focusItemValue, flattenedNodes, valueKey);\n if (!(0, _utils3.isNodeUncheckable)(activeItem, {\n uncheckableItemValues,\n valueKey\n }) && activeItem !== null) {\n handleSelect(activeItem, event);\n }\n };\n const handleTreeKeyDown = (0, _hooks.useEventCallback)(event => {\n onTreeKeydown(event);\n (0, _Picker.onMenuKeyDown)(event, {\n enter: selectActiveItem\n });\n });\n const renderNode = (node, layer) => {\n const {\n visible,\n refKey,\n parent\n } = node;\n\n // when searching, all nodes should be expand\n const expanded = (0, _utils4.isExpand)(keyword, expandItemValues.includes(node[valueKey]));\n if (!visible) {\n return null;\n }\n const children = node[childrenKey];\n const hasChildren = keyword ? (0, _utils4.hasVisibleChildren)(node, childrenKey) : Boolean(children);\n const treeNodeProps = {\n // The spread operator does not copy non-enumerable properties,\n // so we need to copy the `parent` property manually.\n ...getTreeNodeProps({\n ...node,\n parent\n }),\n layer,\n expanded,\n hasChildren,\n onSelect: handleSelect,\n onExpand\n };\n if (hasChildren) {\n layer += 1;\n const childClassName = merge(prefix('node-children'), {\n [prefix('node-expanded')]: expanded\n });\n const nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childClassName,\n key: node[valueKey],\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 294,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, treeNodeProps, {\n treeItemRef: ref => saveTreeNodeRef(ref, refKey),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 295,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('group'),\n role: \"group\",\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 296,\n columnNumber: 11\n }\n }, nodes.map(child => renderNode(child, layer)), showIndentLine && /*#__PURE__*/_react.default.createElement(_IndentLine.default, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 32\n }\n })));\n }\n return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n key: node[valueKey],\n treeItemRef: ref => saveTreeNodeRef(ref, refKey)\n }, treeNodeProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 305,\n columnNumber: 7\n }\n }));\n };\n const renderVirtualListNode = ({\n index,\n style,\n data\n }) => {\n const node = data[index];\n const {\n layer,\n refKey,\n visible,\n hasChildren,\n parent\n } = node;\n const expanded = (0, _utils4.isExpand)(keyword, expandItemValues.includes(node[valueKey]));\n const treeNodeProps = {\n // The spread operator does not copy non-enumerable properties,\n // so we need to copy the `parent` property manually.\n ...getTreeNodeProps({\n ...node,\n parent\n }),\n onSelect: handleSelect,\n onExpand,\n expanded,\n layer,\n hasChildren\n };\n return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n style: style,\n ref: ref => saveTreeNodeRef(ref, refKey)\n }, treeNodeProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 331,\n columnNumber: 9\n }\n }));\n };\n const classes = merge(className, withPrefix({\n 'without-children': !(0, _utils3.hasGrandchild)(data, childrenKey),\n virtualized\n }));\n const formattedNodes = getFormattedNodes(renderNode);\n const treeNodesClass = merge(prefix('root'), {\n [prefix('all-uncheckable')]: (0, _utils3.isEveryFirstLevelNodeUncheckable)(flattenedNodes, uncheckableItemValues, valueKey)\n });\n return /*#__PURE__*/_react.default.createElement(_Box.default, {\n as: as,\n ref: ref,\n className: classes,\n style: style,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 355,\n columnNumber: 5\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_SearchBox.default, {\n placeholder: searchPlaceholder,\n onChange: handleSearch,\n value: keyword,\n inputRef: searchInputRef,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 357,\n columnNumber: 9\n }\n }) : null, keyword && formattedNodes.length === 0 ? /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('empty'),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 9\n }\n }, noResultsText) : null, /*#__PURE__*/_react.default.createElement(_Tree.TreeView, (0, _extends2.default)({}, rest, {\n multiselectable: true,\n treeRootClassName: treeNodesClass,\n className: prefix('view'),\n onScroll: onScroll,\n onKeyDown: handleTreeKeyDown,\n height: height,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 369,\n columnNumber: 7\n }\n }), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {\n defaultHeight: height,\n style: {\n width: 'auto',\n height: 'auto'\n },\n className: prefix('virt-auto-sizer'),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 379,\n columnNumber: 11\n }\n }, ({\n height\n }) => /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({\n ref: listRef,\n height: height,\n itemSize: _Windowing.defaultItemSize,\n itemCount: formattedNodes.length,\n itemData: formattedNodes,\n className: prefix('virt-list'),\n scrollShadow: scrollShadow\n }, listProps, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 385,\n columnNumber: 15\n }\n }), renderVirtualListNode)) : formattedNodes));\n});\nCheckTreeView.displayName = 'CheckTreeView';\nvar _default = exports[\"default\"] = CheckTreeView;\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/CheckTreeView.tsx?");
|
|
2065
2065
|
|
|
2066
2066
|
/***/ }),
|
|
2067
2067
|
|
|
@@ -2072,7 +2072,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2072
2072
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2073
2073
|
|
|
2074
2074
|
"use strict";
|
|
2075
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _cloneDeep = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar _hooks = __webpack_require__(/*! ../../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/CheckTree/utils.ts\");\nfunction useTreeCheckState(props) {\n const {\n cascade,\n flattenedNodes,\n uncheckableItemValues\n } = props;\n const {\n valueKey,\n childrenKey\n } = (0, _TreeProvider.useItemDataKeys)();\n const checkParentNode = (0, _hooks.useEventCallback)((nodes, node, checked) => {\n const currentNode = node.refKey ? nodes[node.refKey] : null;\n if (cascade && currentNode) {\n if (!checked) {\n currentNode.check = checked;\n currentNode.checkAll = checked;\n } else {\n if ((0, _utils.isEveryChildChecked)(currentNode, {\n nodes,\n childrenKey\n })) {\n currentNode.check = true;\n currentNode.checkAll = true;\n } else {\n currentNode.check = false;\n currentNode.checkAll = false;\n }\n }\n if (currentNode.parent) {\n checkParentNode(nodes, currentNode.parent, checked);\n }\n }\n });\n const checkChildNode = (0, _hooks.useEventCallback)((nodes, node, isChecked) => {\n const currentNode = node.refKey ? nodes[node.refKey] : null;\n if (!currentNode) {\n return;\n }\n currentNode.check = isChecked;\n if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {\n currentNode.checkAll = false;\n } else {\n currentNode.checkAll = isChecked;\n currentNode[childrenKey].forEach(child => {\n checkChildNode(nodes, child, isChecked);\n });\n }\n });\n const getCheckedValuesByParent = (0, _react.useCallback)(nodes => {\n const values = [];\n for (const key in nodes) {\n const currentNode = nodes[key];\n if (!(0, _isNil.default)(currentNode.parent) && !(0, _isNil.default)(currentNode.parent.refKey)) {\n const parentNode = nodes[currentNode.parent.refKey];\n if (currentNode.check) {\n if (!(parentNode !== null && parentNode !== void 0 && parentNode.checkAll)) {\n values.push(currentNode[valueKey]);\n } else if (parentNode !== null && parentNode !== void 0 && parentNode.uncheckable) {\n values.push(currentNode[valueKey]);\n }\n }\n } else if (currentNode.check) {\n values.push(currentNode[valueKey]);\n }\n }\n return values;\n }, [valueKey]);\n const getCheckedValues = (0, _hooks.useEventCallback)((node, isChecked) => {\n const nodes = (0, _cloneDeep.default)(flattenedNodes);\n checkChildNode(nodes, node, isChecked);\n if (node.parent) {\n checkParentNode(nodes, node.parent, isChecked);\n }\n const values = getCheckedValuesByParent(nodes);\n return values.filter(v => !uncheckableItemValues.includes(v));\n });\n return {\n getCheckedValues\n };\n}\nvar _default = exports[\"default\"] = useTreeCheckState;\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/hooks/useTreeCheckState.ts?");
|
|
2075
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _cloneDeep = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar _hooks = __webpack_require__(/*! ../../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/CheckTree/utils.ts\");\nfunction useTreeCheckState(props) {\n const {\n cascade,\n flattenedNodes,\n uncheckableItemValues,\n disabledItemValues = []\n } = props;\n const {\n valueKey,\n childrenKey\n } = (0, _TreeProvider.useItemDataKeys)();\n const checkParentNode = (0, _hooks.useEventCallback)((nodes, node, checked) => {\n const currentNode = node.refKey ? nodes[node.refKey] : null;\n if (cascade && currentNode) {\n if (!checked) {\n currentNode.check = checked;\n currentNode.checkAll = checked;\n } else {\n if ((0, _utils.isEveryChildChecked)(currentNode, {\n nodes,\n childrenKey,\n disabledItemValues,\n valueKey\n })) {\n currentNode.check = true;\n currentNode.checkAll = true;\n } else {\n currentNode.check = false;\n currentNode.checkAll = false;\n }\n }\n if (currentNode.parent) {\n checkParentNode(nodes, currentNode.parent, checked);\n }\n }\n });\n\n /**\n * Recursively checks if a node has any disabled descendants.\n * This is used to determine if a parent node's checkAll state should be true.\n * If any descendant is disabled, checkAll must be false because not all descendants can be checked.\n * @param nodes - The flattened tree node map\n * @param node - The node to check for disabled descendants\n * @returns true if any descendant (at any depth) is disabled, false otherwise\n */\n const hasDisabledDescendant = (0, _hooks.useEventCallback)((nodes, node) => {\n if (!node[childrenKey] || !node[childrenKey].length) {\n return false;\n }\n return node[childrenKey].some(child => {\n const isChildDisabled = (0, _utils.getDisabledState)(nodes, child, {\n disabledItemValues,\n valueKey\n });\n if (isChildDisabled) {\n return true;\n }\n // Recursively check descendants\n return hasDisabledDescendant(nodes, child);\n });\n });\n const checkChildNode = (0, _hooks.useEventCallback)((nodes, node, isChecked) => {\n const currentNode = node.refKey ? nodes[node.refKey] : null;\n if (!currentNode) {\n return;\n }\n\n // Check if the current node is disabled\n const isDisabled = (0, _utils.getDisabledState)(nodes, node, {\n disabledItemValues,\n valueKey\n });\n\n // Skip checking disabled nodes\n if (isDisabled) {\n return;\n }\n currentNode.check = isChecked;\n if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {\n currentNode.checkAll = false;\n } else {\n // Check if any descendant (not just direct children) is disabled\n const hasDisabledDesc = hasDisabledDescendant(nodes, currentNode);\n\n // Only set checkAll to true if all descendants will be checked\n // If there are any disabled descendants, checkAll should be false\n currentNode.checkAll = isChecked && !hasDisabledDesc;\n currentNode[childrenKey].forEach(child => {\n checkChildNode(nodes, child, isChecked);\n });\n }\n });\n const getCheckedValuesByParent = (0, _react.useCallback)(nodes => {\n const values = [];\n for (const key in nodes) {\n const currentNode = nodes[key];\n if (!(0, _isNil.default)(currentNode.parent) && !(0, _isNil.default)(currentNode.parent.refKey)) {\n const parentNode = nodes[currentNode.parent.refKey];\n if (currentNode.check) {\n // Optimization: When a parent node is checked with checkAll=true, it represents\n // the entire checked subtree. If the current node also has checkAll=true and its\n // parent is checked, skip adding this node's value to avoid redundant representation.\n // The parent's value already implies all descendants are checked.\n if (currentNode.checkAll && parentNode.check) {\n continue;\n }\n if (!(parentNode !== null && parentNode !== void 0 && parentNode.checkAll)) {\n values.push(currentNode[valueKey]);\n } else if (parentNode !== null && parentNode !== void 0 && parentNode.uncheckable) {\n values.push(currentNode[valueKey]);\n }\n }\n } else if (currentNode.check) {\n values.push(currentNode[valueKey]);\n }\n }\n return values;\n }, [valueKey]);\n const getCheckedValues = (0, _hooks.useEventCallback)((node, isChecked) => {\n const nodes = (0, _cloneDeep.default)(flattenedNodes);\n checkChildNode(nodes, node, isChecked);\n if (node.parent) {\n checkParentNode(nodes, node.parent, isChecked);\n }\n const values = getCheckedValuesByParent(nodes);\n return values.filter(v => !uncheckableItemValues.includes(v));\n });\n return {\n getCheckedValues\n };\n}\nvar _default = exports[\"default\"] = useTreeCheckState;\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/hooks/useTreeCheckState.ts?");
|
|
2076
2076
|
|
|
2077
2077
|
/***/ }),
|
|
2078
2078
|
|
|
@@ -2116,7 +2116,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2116
2116
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2117
2117
|
|
|
2118
2118
|
"use strict";
|
|
2119
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports.getCheckTreeDefaultValue = getCheckTreeDefaultValue;\nexports.getDisabledState = getDisabledState;\nexports.getFormattedTree = getFormattedTree;\nexports.getNodeCheckState = getNodeCheckState;\nexports.getSelectedItems = getSelectedItems;\nexports.hasGrandchild = hasGrandchild;\nexports.isAllSiblingNodeUncheckable = isAllSiblingNodeUncheckable;\nexports.isEveryChildChecked = isEveryChildChecked;\nexports.isEveryFirstLevelNodeUncheckable = isEveryFirstLevelNodeUncheckable;\nexports.isNodeUncheckable = isNodeUncheckable;\nexports.isSomeChildChecked = isSomeChildChecked;\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../Tree/utils */ \"./src/Tree/utils/index.ts\");\n/**\n * Retrieves the children of a given parent node from a flattened node map.\n */\nfunction getChildrenByFlattenNodes(nodes, parent) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return [];\n }\n return Object.values(nodes).filter(item => {\n var _item$parent;\n return (item === null || item === void 0 || (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && item.refKey && !nodes[item.refKey].uncheckable;\n });\n}\n\n/**\n * Checks if every child of a given parent node is checked.\n */\nfunction isEveryChildChecked(parent, options) {\n const {\n nodes,\n childrenKey\n } = options;\n if ((0, _isNil2.default)(parent.refKey) || (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n const children = getChildrenByFlattenNodes(nodes, parent);\n if (!children.length) {\n var _nodes$parent$refKey$;\n return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;\n }\n return children.every(child => {\n var _child$childrenKey;\n if ((child === null || child === void 0 || (_child$childrenKey = child[childrenKey]) === null || _child$childrenKey === void 0 ? void 0 : _child$childrenKey.length) > 0) {\n // fix: #3559\n return isEveryChildChecked(child, {\n nodes,\n childrenKey\n });\n }\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\n/**\n * Checks if any child node is checked.\n */\nfunction isSomeChildChecked(nodes, parent, childrenKey) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n const children = getChildrenByFlattenNodes(nodes, parent);\n return children.some(child => {\n var _child$childrenKey2;\n if ((child === null || child === void 0 || (_child$childrenKey2 = child[childrenKey]) === null || _child$childrenKey2 === void 0 ? void 0 : _child$childrenKey2.length) > 0) {\n return isSomeChildChecked(nodes, child, childrenKey);\n }\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\n/**\n * Checks if any node in the data has a grandchild.\n */\nfunction hasGrandchild(data, childrenKey) {\n return data.some(node => Array.isArray(node[childrenKey]));\n}\n\n/**\n * Checks if all sibling nodes of a given node are uncheckable.\n */\nfunction isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {\n const list = [];\n const parentNodeRefKey = node.parent ? node.parent.refKey : '';\n Object.keys(nodes).forEach(refKey => {\n var _curNode$parent;\n const curNode = nodes[refKey];\n if ((0, _isNil2.default)(node.parent) && (0, _isNil2.default)(curNode.parent)) {\n list.push(curNode);\n } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {\n list.push(curNode);\n }\n });\n return list.every(node => isNodeUncheckable(node, {\n uncheckableItemValues,\n valueKey\n }));\n}\n\n/**\n * Checks if every first-level node is uncheckable based on the provided criteria.\n */\nfunction isEveryFirstLevelNodeUncheckable(nodes, uncheckableItemValues, valueKey) {\n const list = [];\n Object.keys(nodes).forEach(refKey => {\n const curNode = nodes[refKey];\n if (!curNode.parent) {\n list.push(curNode);\n }\n });\n return list.every(node => isNodeUncheckable(node, {\n uncheckableItemValues,\n valueKey\n }));\n}\n\n/**\n * Checks if a node is uncheckable.\n */\nfunction isNodeUncheckable(node, props) {\n const {\n uncheckableItemValues = [],\n valueKey\n } = props;\n return uncheckableItemValues.some(value => node[valueKey] === value);\n}\nfunction getFormattedTree(nodes, data, props) {\n const {\n childrenKey,\n cascade\n } = props;\n return data.map(node => {\n const formatted = {\n ...node\n };\n const curNode = nodes[node.refKey];\n if (curNode) {\n var _node$childrenKey;\n const checkState = !(0, _isUndefined2.default)(cascade) ? getNodeCheckState(curNode, {\n cascade,\n nodes,\n childrenKey\n }) : undefined;\n formatted.check = curNode.check;\n formatted.uncheckable = curNode.uncheckable;\n (0, _utils.attachParent)(formatted, curNode.parent);\n formatted.checkState = checkState;\n if (((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) > 0) {\n formatted[childrenKey] = getFormattedTree(nodes, formatted[childrenKey], props);\n }\n }\n return formatted;\n });\n}\n\n/**\n * Determines the disabled state of a tree node.\n */\nfunction getDisabledState(nodes, node, props) {\n const {\n disabledItemValues = [],\n valueKey\n } = props;\n if (!(0, _isNil2.default)(node.refKey) && (0, _isNil2.default)(nodes[node.refKey])) {\n return false;\n }\n return disabledItemValues.some(value => node.refKey && nodes[node.refKey][valueKey] === value);\n}\n\n/**\n * Returns the default value for the check tree.\n */\nfunction getCheckTreeDefaultValue(value, uncheckableItemValues) {\n if (Array.isArray(value) && Array.isArray(uncheckableItemValues)) {\n return value.filter(v => !uncheckableItemValues.includes(v));\n }\n return value;\n}\n\n/**\n * Retrieves the selected items from the given nodes.\n */\nfunction getSelectedItems(nodes, values) {\n const checkedItems = [];\n values.forEach(value => {\n const refKey = (0, _utils2.formatNodeRefKey)(value);\n const node = nodes[refKey];\n if (!(0, _isNil2.default)(node)) {\n checkedItems.push(node);\n }\n });\n return checkedItems;\n}\n/**\n * Calculates the check state of a node in a check tree.\n */\nfunction getNodeCheckState(node, options) {\n const {\n nodes,\n cascade,\n childrenKey\n } = options;\n if (node.refKey === undefined) {\n return _constants.CHECK_STATE.UNCHECK;\n }\n if ((0, _isNil2.default)(nodes[node.refKey])) {\n return _constants.CHECK_STATE.UNCHECK;\n }\n if (!node[childrenKey] || !node[childrenKey].length || !cascade) {\n nodes[node.refKey].checkAll = false;\n return node.check ? _constants.CHECK_STATE.CHECK : _constants.CHECK_STATE.UNCHECK;\n }\n if (isEveryChildChecked(node, {\n nodes,\n childrenKey\n })) {\n nodes[node.refKey].checkAll = true;\n nodes[node.refKey].check = true;\n return _constants.CHECK_STATE.CHECK;\n }\n if (isSomeChildChecked(nodes, node, childrenKey)) {\n nodes[node.refKey].checkAll = false;\n return _constants.CHECK_STATE.INDETERMINATE;\n }\n return _constants.CHECK_STATE.UNCHECK;\n}\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/utils.ts?");
|
|
2119
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports.getCheckTreeDefaultValue = getCheckTreeDefaultValue;\nexports.getDisabledState = getDisabledState;\nexports.getFormattedTree = getFormattedTree;\nexports.getNodeCheckState = getNodeCheckState;\nexports.getSelectedItems = getSelectedItems;\nexports.hasGrandchild = hasGrandchild;\nexports.isAllSiblingNodeUncheckable = isAllSiblingNodeUncheckable;\nexports.isEveryChildChecked = isEveryChildChecked;\nexports.isEveryFirstLevelNodeUncheckable = isEveryFirstLevelNodeUncheckable;\nexports.isNodeUncheckable = isNodeUncheckable;\nexports.isSomeChildChecked = isSomeChildChecked;\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../Tree/utils */ \"./src/Tree/utils/index.ts\");\n/**\n * Retrieves the children of a given parent node from a flattened node map.\n * Filters out uncheckable children.\n * Note: Does NOT filter disabled children - disabled children are still considered in check state calculations\n */\nfunction getChildrenByFlattenNodes(nodes, parent) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return [];\n }\n return Object.values(nodes).filter(item => {\n var _item$parent;\n return (item === null || item === void 0 || (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && item.refKey && !nodes[item.refKey].uncheckable;\n });\n}\n\n/**\n * Checks if every child of a given parent node is checked.\n * Disabled children are ignored in this check.\n */\nfunction isEveryChildChecked(parent, options) {\n const {\n nodes,\n childrenKey,\n disabledItemValues = [],\n valueKey = 'value'\n } = options;\n if ((0, _isNil2.default)(parent.refKey) || (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n const children = getChildrenByFlattenNodes(nodes, parent);\n if (!children.length) {\n var _nodes$parent$refKey$;\n return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;\n }\n\n // Filter out disabled children\n const enabledChildren = children.filter(child => {\n const isDisabled = getDisabledState(nodes, child, {\n disabledItemValues,\n valueKey\n });\n return !isDisabled;\n });\n\n // If all children are disabled, return the parent's own check state\n if (enabledChildren.length === 0) {\n var _nodes$parent$refKey$2;\n return (_nodes$parent$refKey$2 = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$2 !== void 0 ? _nodes$parent$refKey$2 : false;\n }\n\n // Check if all enabled children are checked\n return enabledChildren.every(child => {\n var _child$childrenKey;\n if ((child === null || child === void 0 || (_child$childrenKey = child[childrenKey]) === null || _child$childrenKey === void 0 ? void 0 : _child$childrenKey.length) > 0) {\n // fix: #3559\n return isEveryChildChecked(child, {\n nodes,\n childrenKey,\n disabledItemValues,\n valueKey\n });\n }\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\n/**\n * Checks if any child node is checked.\n * Disabled children are ignored in this check.\n */\nfunction isSomeChildChecked(nodes, parent, childrenKey, disabledItemValues = [], valueKey = 'value') {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n const children = getChildrenByFlattenNodes(nodes, parent);\n return children.some(child => {\n var _child$childrenKey2;\n // Skip disabled children\n const isDisabled = getDisabledState(nodes, child, {\n disabledItemValues,\n valueKey\n });\n if (isDisabled) {\n return false; // Disabled children don't count as \"some checked\"\n }\n if ((child === null || child === void 0 || (_child$childrenKey2 = child[childrenKey]) === null || _child$childrenKey2 === void 0 ? void 0 : _child$childrenKey2.length) > 0) {\n return isSomeChildChecked(nodes, child, childrenKey, disabledItemValues, valueKey);\n }\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\n/**\n * Checks if any node in the data has a grandchild.\n */\nfunction hasGrandchild(data, childrenKey) {\n return data.some(node => Array.isArray(node[childrenKey]));\n}\n\n/**\n * Checks if all sibling nodes of a given node are uncheckable.\n */\nfunction isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {\n const list = [];\n const parentNodeRefKey = node.parent ? node.parent.refKey : '';\n Object.keys(nodes).forEach(refKey => {\n var _curNode$parent;\n const curNode = nodes[refKey];\n if ((0, _isNil2.default)(node.parent) && (0, _isNil2.default)(curNode.parent)) {\n list.push(curNode);\n } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {\n list.push(curNode);\n }\n });\n return list.every(node => isNodeUncheckable(node, {\n uncheckableItemValues,\n valueKey\n }));\n}\n\n/**\n * Checks if every first-level node is uncheckable based on the provided criteria.\n */\nfunction isEveryFirstLevelNodeUncheckable(nodes, uncheckableItemValues, valueKey) {\n const list = [];\n Object.keys(nodes).forEach(refKey => {\n const curNode = nodes[refKey];\n if (!curNode.parent) {\n list.push(curNode);\n }\n });\n return list.every(node => isNodeUncheckable(node, {\n uncheckableItemValues,\n valueKey\n }));\n}\n\n/**\n * Checks if a node is uncheckable.\n */\nfunction isNodeUncheckable(node, props) {\n const {\n uncheckableItemValues = [],\n valueKey\n } = props;\n return uncheckableItemValues.some(value => node[valueKey] === value);\n}\nfunction getFormattedTree(nodes, data, props) {\n const {\n childrenKey,\n cascade,\n disabledItemValues,\n valueKey\n } = props;\n return data.map(node => {\n const formatted = {\n ...node\n };\n const curNode = nodes[node.refKey];\n if (curNode) {\n var _node$childrenKey;\n const checkState = !(0, _isUndefined2.default)(cascade) ? getNodeCheckState(curNode, {\n cascade,\n nodes,\n childrenKey,\n disabledItemValues,\n valueKey\n }) : undefined;\n formatted.check = curNode.check;\n formatted.uncheckable = curNode.uncheckable;\n (0, _utils.attachParent)(formatted, curNode.parent);\n formatted.checkState = checkState;\n if (((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) > 0) {\n formatted[childrenKey] = getFormattedTree(nodes, formatted[childrenKey], props);\n }\n }\n return formatted;\n });\n}\n\n/**\n * Determines the disabled state of a tree node.\n * If a parent node is disabled, all its children should also be disabled.\n */\nfunction getDisabledState(nodes, node, props) {\n const {\n disabledItemValues = [],\n valueKey\n } = props;\n if (!(0, _isNil2.default)(node.refKey) && (0, _isNil2.default)(nodes[node.refKey])) {\n return false;\n }\n\n // Check if the current node is disabled\n const isCurrentNodeDisabled = disabledItemValues.some(value => node.refKey && (0, _utils.shallowEqual)(nodes[node.refKey][valueKey], value));\n if (isCurrentNodeDisabled) {\n return true;\n }\n\n // Check if any parent node is disabled\n let currentNode = node;\n while (currentNode.parent) {\n const parentNode = currentNode.parent;\n const parentRefKey = parentNode.refKey;\n if (!(0, _isNil2.default)(parentRefKey) && !(0, _isNil2.default)(nodes[parentRefKey]) && disabledItemValues.some(value => (0, _utils.shallowEqual)(nodes[parentRefKey][valueKey], value))) {\n return true;\n }\n currentNode = parentNode;\n }\n return false;\n}\n\n/**\n * Returns the default value for the check tree.\n */\nfunction getCheckTreeDefaultValue(value, uncheckableItemValues) {\n if (Array.isArray(value) && Array.isArray(uncheckableItemValues)) {\n return value.filter(v => !uncheckableItemValues.includes(v));\n }\n return value;\n}\n\n/**\n * Retrieves the selected items from the given nodes.\n */\nfunction getSelectedItems(nodes, values) {\n const checkedItems = [];\n values.forEach(value => {\n const refKey = (0, _utils2.formatNodeRefKey)(value);\n const node = nodes[refKey];\n if (!(0, _isNil2.default)(node)) {\n checkedItems.push(node);\n }\n });\n return checkedItems;\n}\n/**\n * Calculates the check state of a node in a check tree.\n */\nfunction getNodeCheckState(node, options) {\n const {\n nodes,\n cascade,\n childrenKey,\n disabledItemValues = [],\n valueKey = 'value'\n } = options;\n if (node.refKey === undefined) {\n return _constants.CHECK_STATE.UNCHECK;\n }\n if ((0, _isNil2.default)(nodes[node.refKey])) {\n return _constants.CHECK_STATE.UNCHECK;\n }\n if (!node[childrenKey] || !node[childrenKey].length || !cascade) {\n nodes[node.refKey].checkAll = false;\n return node.check ? _constants.CHECK_STATE.CHECK : _constants.CHECK_STATE.UNCHECK;\n }\n if (isEveryChildChecked(node, {\n nodes,\n childrenKey,\n disabledItemValues,\n valueKey\n })) {\n nodes[node.refKey].checkAll = true;\n nodes[node.refKey].check = true;\n return _constants.CHECK_STATE.CHECK;\n }\n if (isSomeChildChecked(nodes, node, childrenKey, disabledItemValues, valueKey)) {\n nodes[node.refKey].checkAll = false;\n return _constants.CHECK_STATE.INDETERMINATE;\n }\n return _constants.CHECK_STATE.UNCHECK;\n}\n\n//# sourceURL=webpack://rsuite/./src/CheckTree/utils.ts?");
|
|
2120
2120
|
|
|
2121
2121
|
/***/ }),
|
|
2122
2122
|
|
|
@@ -2127,7 +2127,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2127
2127
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2128
2128
|
|
|
2129
2129
|
"use strict";
|
|
2130
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\nvar _CheckTreeView = _interopRequireDefault(__webpack_require__(/*! ../CheckTree/CheckTreeView */ \"./src/CheckTree/CheckTreeView.tsx\"));\nvar _useTreeValue = _interopRequireDefault(__webpack_require__(/*! ../CheckTree/hooks/useTreeValue */ \"./src/CheckTree/hooks/useTreeValue.ts\"));\nvar _useFlattenTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useFlattenTree */ \"./src/Tree/hooks/useFlattenTree.ts\"));\nvar _useTreeWithChildren = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useTreeWithChildren */ \"./src/Tree/hooks/useTreeWithChildren.ts\"));\nvar _useExpandTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useExpandTree */ \"./src/Tree/hooks/useExpandTree.ts\"));\nvar _useFocusState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFocusState */ \"./src/CheckTreePicker/hooks/useFocusState.ts\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../CheckTree/utils */ \"./src/CheckTree/utils.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTreePicker/CheckTreePicker.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The `CheckTreePicker` component is used for selecting multiple options which are organized in a tree structure.\n *\n * @see https://rsuitejs.com/components/check-tree-picker\n */\nconst CheckTreePicker = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('CheckTreePicker', props);\n const {\n as,\n id,\n appearance = 'default',\n block,\n cleanable = true,\n countable = true,\n cascade = true,\n className,\n classPrefix = 'picker',\n childrenKey = 'children',\n disabled,\n data = [],\n defaultValue = [],\n defaultExpandAll = false,\n disabledItemValues = [],\n expandItemValues: controlledExpandItemValues,\n defaultExpandItemValues = [],\n placeholder,\n popupClassName,\n popupStyle,\n popupAutoWidth = true,\n placement = 'bottomStart',\n treeHeight = 320,\n toggleAs,\n searchBy,\n searchKeyword,\n showIndentLine,\n searchable = true,\n style,\n size,\n valueKey = 'value',\n value: controlledValue,\n virtualized = false,\n uncheckableItemValues = [],\n locale,\n labelKey = 'label',\n listProps,\n getChildren,\n renderExtraFooter,\n onEnter,\n onChange,\n onClean,\n onExit,\n onSearch,\n onSelect,\n onSelectItem,\n onScroll,\n onExpand,\n renderValue,\n renderTree,\n renderTreeIcon,\n renderTreeNode,\n onCascadeChange,\n ...rest\n } = propsWithDefaults;\n const {\n trigger,\n root,\n target,\n overlay,\n list,\n searchInput,\n treeView\n } = (0, _Picker.usePickerRef)(ref);\n const {\n prefix\n } = (0, _hooks.useStyles)(classPrefix);\n const [value, setValue] = (0, _useTreeValue.default)(controlledValue, {\n defaultValue,\n uncheckableItemValues\n });\n const itemDataKeys = {\n childrenKey,\n labelKey,\n valueKey\n };\n const {\n treeData,\n loadingNodeValues,\n appendChild\n } = (0, _useTreeWithChildren.default)(data, itemDataKeys);\n const {\n expandItemValues,\n handleExpandTreeNode\n } = (0, _useExpandTree.default)(data, {\n ...itemDataKeys,\n defaultExpandAll,\n defaultExpandItemValues,\n controlledExpandItemValues,\n onExpand,\n getChildren,\n appendChild\n });\n const flattenedNodes = (0, _useFlattenTree.default)(treeData, {\n ...itemDataKeys,\n uncheckableItemValues,\n multiple: true,\n cascade,\n value\n });\n const selectedNodes = (0, _utils2.getSelectedItems)(flattenedNodes, value);\n const {\n register,\n focusFirstNode\n } = (0, _TreeProvider.useTreeImperativeHandle)();\n const {\n focusItemValue,\n setFocusItemValue,\n active,\n triggerProps\n } = (0, _useFocusState.default)({\n target,\n onEnter,\n onExit\n });\n const handleClean = (0, _hooks.useEventCallback)(event => {\n const target = event.target;\n // exclude searchbox\n if (target.matches('input[role=\"searchbox\"]') || disabled || !cleanable) {\n return;\n }\n setFocusItemValue(null);\n setValue([]);\n onChange === null || onChange === void 0 || onChange([], event);\n onCascadeChange === null || onCascadeChange === void 0 || onCascadeChange([], event);\n });\n const handleTreeKeyDown = (0, _hooks.useEventCallback)(event => {\n (0, _Picker.onMenuKeyDown)(event, {\n del: handleClean,\n down: () => focusFirstNode()\n });\n });\n const onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)({\n toggle: !focusItemValue || !active,\n trigger,\n target,\n overlay,\n searchInput,\n active,\n onExit: handleClean,\n onMenuKeyDown: handleTreeKeyDown,\n ...rest\n });\n\n // transform the parent node value to the leaf node value\n const handleTransValue2Children = (0, _hooks.useEventCallback)(nextSelectedNodes => {\n return nextSelectedNodes.map(node => {\n const currentNode = node.refKey ? flattenedNodes[node.refKey] : null;\n if (currentNode && currentNode[childrenKey] && currentNode[childrenKey].length) {\n const childNodes = currentNode[childrenKey].filter(child => {\n const childValue = child[valueKey];\n return !disabledItemValues.includes(childValue) && !uncheckableItemValues.includes(childValue);\n });\n return handleTransValue2Children(childNodes);\n }\n return node;\n }).flat();\n });\n const handleChangeCascade = (0, _hooks.useEventCallback)((nextValue, event) => {\n if (!cascade) {\n onCascadeChange === null || onCascadeChange === void 0 || onCascadeChange(nextValue, event);\n } else {\n const nextSelectedNodes = (0, _utils2.getSelectedItems)(flattenedNodes, nextValue);\n const childrenNodes = handleTransValue2Children(nextSelectedNodes);\n const childrenValue = childrenNodes.map(node => node[valueKey]);\n onCascadeChange === null || onCascadeChange === void 0 || onCascadeChange(childrenValue, event);\n }\n });\n const handleChange = (0, _hooks.useEventCallback)((nextValue, event) => {\n setValue(nextValue);\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n handleChangeCascade(nextValue, event);\n });\n const treeContext = (0, _react.useMemo)(() => ({\n register,\n props: {\n labelKey,\n valueKey,\n childrenKey,\n virtualized,\n renderTreeIcon,\n renderTreeNode\n }\n }), [childrenKey, labelKey, valueKey, virtualized, register, renderTreeIcon, renderTreeNode]);\n const checkTreeView = /*#__PURE__*/_react.default.createElement(_TreeProvider.TreeProvider, {\n value: treeContext,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 250,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeView.default, {\n ref: treeView,\n disabledItemValues: disabledItemValues,\n expandItemValues: expandItemValues,\n uncheckableItemValues: uncheckableItemValues,\n cascade: cascade,\n data: treeData,\n height: treeHeight,\n showIndentLine: showIndentLine,\n listProps: listProps,\n listRef: list,\n locale: locale,\n searchBy: searchBy,\n searchable: searchable,\n searchKeyword: searchKeyword,\n searchInputRef: searchInput,\n onScroll: onScroll,\n onSelect: onSelect,\n onSelectItem: onSelectItem,\n onExpand: handleExpandTreeNode,\n onSearch: onSearch,\n onChange: handleChange,\n onFocusItem: setFocusItemValue,\n value: value,\n loadingNodeValues: loadingNodeValues,\n flattenedNodes: flattenedNodes,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 251,\n columnNumber: 7\n }\n }));\n const renderTreeView = (positionProps, speakerRef) => {\n const {\n className\n } = positionProps;\n const classes = (0, _classnames.default)(className, popupClassName, prefix('check-tree-menu'));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n autoWidth: popupAutoWidth,\n className: classes,\n style: popupStyle,\n onKeyDown: onPickerKeydown,\n target: trigger,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 285,\n columnNumber: 7\n }\n }, renderTree ? renderTree(checkTreeView) : checkTreeView, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\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 let hasValidValue = selectedNodes.length > 0 || value.length > 0 && (0, _isFunction.default)(renderValue);\n let selectedElement = placeholder;\n if (hasValidValue) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedNodes,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n badgeSize: size,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 7\n }\n });\n if ((0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, selectedNodes, selectedElement);\n if ((0, _isNil.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n as: as,\n id: id,\n pickerType: \"check-tree\",\n block: block,\n disabled: disabled,\n appearance: appearance,\n popupType: \"tree\",\n multiple: true,\n triggerProps: {\n ...(0, _pick.default)(props, _Picker.triggerPropKeys),\n ...triggerProps\n },\n ref: trigger,\n placement: placement,\n speaker: renderTreeView,\n rootRef: root,\n style: style,\n classPrefix: classPrefix,\n className: className,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 329,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({\n ref: target,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n countable: countable,\n disabled: disabled,\n as: toggleAs,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n size: size\n }, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 7\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));\n});\nCheckTreePicker.displayName = 'CheckTreePicker';\nvar _default = exports[\"default\"] = CheckTreePicker;\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/CheckTreePicker.tsx?");
|
|
2130
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\nvar _CheckTreeView = _interopRequireDefault(__webpack_require__(/*! ../CheckTree/CheckTreeView */ \"./src/CheckTree/CheckTreeView.tsx\"));\nvar _useTreeValue = _interopRequireDefault(__webpack_require__(/*! ../CheckTree/hooks/useTreeValue */ \"./src/CheckTree/hooks/useTreeValue.ts\"));\nvar _useFlattenTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useFlattenTree */ \"./src/Tree/hooks/useFlattenTree.ts\"));\nvar _useTreeWithChildren = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useTreeWithChildren */ \"./src/Tree/hooks/useTreeWithChildren.ts\"));\nvar _useExpandTree = _interopRequireDefault(__webpack_require__(/*! ../Tree/hooks/useExpandTree */ \"./src/Tree/hooks/useExpandTree.ts\"));\nvar _useFocusState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFocusState */ \"./src/CheckTreePicker/hooks/useFocusState.ts\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../CheckTree/utils */ \"./src/CheckTree/utils.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTreePicker/CheckTreePicker.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The `CheckTreePicker` component is used for selecting multiple options which are organized in a tree structure.\n *\n * @see https://rsuitejs.com/components/check-tree-picker\n */\nconst CheckTreePicker = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('CheckTreePicker', props);\n const {\n as,\n id,\n appearance = 'default',\n block,\n cleanable = true,\n countable = true,\n cascade = true,\n className,\n classPrefix = 'picker',\n childrenKey = 'children',\n disabled,\n data = [],\n defaultValue = [],\n defaultExpandAll = false,\n disabledItemValues = [],\n expandItemValues: controlledExpandItemValues,\n defaultExpandItemValues = [],\n placeholder,\n popupClassName,\n popupStyle,\n popupAutoWidth = true,\n placement = 'bottomStart',\n treeHeight = 320,\n toggleAs,\n searchBy,\n searchKeyword,\n showIndentLine,\n searchable = true,\n style,\n size,\n valueKey = 'value',\n value: controlledValue,\n virtualized = false,\n uncheckableItemValues = [],\n locale,\n labelKey = 'label',\n listProps,\n getChildren,\n renderExtraFooter,\n onEnter,\n onChange,\n onClean,\n onExit,\n onSearch,\n onSelect,\n onSelectItem,\n onScroll,\n onExpand,\n renderValue,\n renderTree,\n renderTreeIcon,\n renderTreeNode,\n onCascadeChange,\n ...rest\n } = propsWithDefaults;\n const {\n trigger,\n root,\n target,\n overlay,\n list,\n searchInput,\n treeView\n } = (0, _Picker.usePickerRef)(ref);\n const {\n prefix\n } = (0, _hooks.useStyles)(classPrefix);\n const [value, setValue] = (0, _useTreeValue.default)(controlledValue, {\n defaultValue,\n uncheckableItemValues\n });\n const itemDataKeys = {\n childrenKey,\n labelKey,\n valueKey\n };\n const {\n treeData,\n loadingNodeValues,\n appendChild\n } = (0, _useTreeWithChildren.default)(data, itemDataKeys);\n const {\n expandItemValues,\n handleExpandTreeNode\n } = (0, _useExpandTree.default)(data, {\n ...itemDataKeys,\n defaultExpandAll,\n defaultExpandItemValues,\n controlledExpandItemValues,\n onExpand,\n getChildren,\n appendChild\n });\n const flattenedNodes = (0, _useFlattenTree.default)(treeData, {\n ...itemDataKeys,\n uncheckableItemValues,\n disabledItemValues,\n multiple: true,\n cascade,\n value\n });\n const selectedNodes = (0, _utils2.getSelectedItems)(flattenedNodes, value);\n const {\n register,\n focusFirstNode\n } = (0, _TreeProvider.useTreeImperativeHandle)();\n const {\n focusItemValue,\n setFocusItemValue,\n active,\n triggerProps\n } = (0, _useFocusState.default)({\n target,\n onEnter,\n onExit\n });\n const handleClean = (0, _hooks.useEventCallback)(event => {\n const target = event.target;\n // exclude searchbox\n if (target.matches('input[role=\"searchbox\"]') || disabled || !cleanable) {\n return;\n }\n setFocusItemValue(null);\n setValue([]);\n onChange === null || onChange === void 0 || onChange([], event);\n onCascadeChange === null || onCascadeChange === void 0 || onCascadeChange([], event);\n });\n const handleTreeKeyDown = (0, _hooks.useEventCallback)(event => {\n (0, _Picker.onMenuKeyDown)(event, {\n del: handleClean,\n down: () => focusFirstNode()\n });\n });\n const onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)({\n toggle: !focusItemValue || !active,\n trigger,\n target,\n overlay,\n searchInput,\n active,\n onExit: handleClean,\n onMenuKeyDown: handleTreeKeyDown,\n ...rest\n });\n\n // transform the parent node value to the leaf node value\n const handleTransValue2Children = (0, _hooks.useEventCallback)(nextSelectedNodes => {\n return nextSelectedNodes.map(node => {\n const currentNode = node.refKey ? flattenedNodes[node.refKey] : null;\n if (currentNode && currentNode[childrenKey] && currentNode[childrenKey].length) {\n const childNodes = currentNode[childrenKey].filter(child => {\n const childValue = child[valueKey];\n return !disabledItemValues.includes(childValue) && !uncheckableItemValues.includes(childValue);\n });\n return handleTransValue2Children(childNodes);\n }\n return node;\n }).flat();\n });\n const handleChangeCascade = (0, _hooks.useEventCallback)((nextValue, event) => {\n if (!cascade) {\n onCascadeChange === null || onCascadeChange === void 0 || onCascadeChange(nextValue, event);\n } else {\n const nextSelectedNodes = (0, _utils2.getSelectedItems)(flattenedNodes, nextValue);\n const childrenNodes = handleTransValue2Children(nextSelectedNodes);\n const childrenValue = childrenNodes.map(node => node[valueKey]);\n onCascadeChange === null || onCascadeChange === void 0 || onCascadeChange(childrenValue, event);\n }\n });\n const handleChange = (0, _hooks.useEventCallback)((nextValue, event) => {\n setValue(nextValue);\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n handleChangeCascade(nextValue, event);\n });\n const treeContext = (0, _react.useMemo)(() => ({\n register,\n props: {\n labelKey,\n valueKey,\n childrenKey,\n virtualized,\n renderTreeIcon,\n renderTreeNode\n }\n }), [childrenKey, labelKey, valueKey, virtualized, register, renderTreeIcon, renderTreeNode]);\n const checkTreeView = /*#__PURE__*/_react.default.createElement(_TreeProvider.TreeProvider, {\n value: treeContext,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 251,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeView.default, {\n ref: treeView,\n disabledItemValues: disabledItemValues,\n expandItemValues: expandItemValues,\n uncheckableItemValues: uncheckableItemValues,\n cascade: cascade,\n data: treeData,\n height: treeHeight,\n showIndentLine: showIndentLine,\n listProps: listProps,\n listRef: list,\n locale: locale,\n searchBy: searchBy,\n searchable: searchable,\n searchKeyword: searchKeyword,\n searchInputRef: searchInput,\n onScroll: onScroll,\n onSelect: onSelect,\n onSelectItem: onSelectItem,\n onExpand: handleExpandTreeNode,\n onSearch: onSearch,\n onChange: handleChange,\n onFocusItem: setFocusItemValue,\n value: value,\n loadingNodeValues: loadingNodeValues,\n flattenedNodes: flattenedNodes,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 252,\n columnNumber: 7\n }\n }));\n const renderTreeView = (positionProps, speakerRef) => {\n const {\n className\n } = positionProps;\n const classes = (0, _classnames.default)(className, popupClassName, prefix('check-tree-menu'));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n autoWidth: popupAutoWidth,\n className: classes,\n style: popupStyle,\n onKeyDown: onPickerKeydown,\n target: trigger,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 286,\n columnNumber: 7\n }\n }, renderTree ? renderTree(checkTreeView) : checkTreeView, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\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 let hasValidValue = selectedNodes.length > 0 || value.length > 0 && (0, _isFunction.default)(renderValue);\n let selectedElement = placeholder;\n if (hasValidValue) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedNodes,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n badgeSize: size,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 7\n }\n });\n if ((0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, selectedNodes, selectedElement);\n if ((0, _isNil.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n as: as,\n id: id,\n pickerType: \"check-tree\",\n block: block,\n disabled: disabled,\n appearance: appearance,\n popupType: \"tree\",\n multiple: true,\n triggerProps: {\n ...(0, _pick.default)(props, _Picker.triggerPropKeys),\n ...triggerProps\n },\n ref: trigger,\n placement: placement,\n speaker: renderTreeView,\n rootRef: root,\n style: style,\n classPrefix: classPrefix,\n className: className,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 330,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({\n ref: target,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n countable: countable,\n disabled: disabled,\n as: toggleAs,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n size: size\n }, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 351,\n columnNumber: 7\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));\n});\nCheckTreePicker.displayName = 'CheckTreePicker';\nvar _default = exports[\"default\"] = CheckTreePicker;\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/CheckTreePicker.tsx?");
|
|
2131
2131
|
|
|
2132
2132
|
/***/ }),
|
|
2133
2133
|
|
|
@@ -2160,7 +2160,18 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2160
2160
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2161
2161
|
|
|
2162
2162
|
"use strict";
|
|
2163
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _CheckboxGroup = __webpack_require__(/*! ../CheckboxGroup */ \"./src/CheckboxGroup/index.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Checkbox/Checkbox.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The Checkbox component is used for selecting multiple options from a set.\n * @see https://rsuitejs.com/components/checkbox\n */\nconst Checkbox = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('Checkbox', props);\n const checkboxGroupContext = (0, _react.useContext)(_CheckboxGroup.CheckboxGroupContext);\n const {\n inline: inlineContext,\n name: nameContext,\n disabled: disabledContext,\n readOnly: readOnlyContext,\n plaintext: plaintextContext,\n onChange: onGroupChange\n } = checkboxGroupContext !== null && checkboxGroupContext !== void 0 ? checkboxGroupContext : {};\n const {\n as,\n checked: controlledChecked,\n className,\n children,\n classPrefix = 'checkbox',\n checkable = true,\n color,\n defaultChecked = false,\n title,\n inputRef,\n inputProps,\n indeterminate,\n labelClickable = true,\n tabIndex = 0,\n disabled = disabledContext,\n readOnly = readOnlyContext,\n plaintext = plaintextContext,\n inline = inlineContext,\n name = nameContext,\n value,\n onClick,\n onCheckboxClick,\n onChange,\n ...rest\n } = propsWithDefaults;\n const [selfChecked, setSelfChecked, selfControlled] = (0, _hooks.useControlled)(controlledChecked, defaultChecked);\n\n // Either <Checkbox> is checked itself or by parent <CheckboxGroup>\n const checked = (0, _react.useMemo)(() => {\n var _checkboxGroupContext, _checkboxGroupContext2;\n if (!checkboxGroupContext) {\n return selfChecked;\n }\n\n // fixme value from group should not be nullable\n return (_checkboxGroupContext = (_checkboxGroupContext2 = checkboxGroupContext.value) === null || _checkboxGroupContext2 === void 0 ? void 0 : _checkboxGroupContext2.some(checkedValue => checkedValue === value)) !== null && _checkboxGroupContext !== void 0 ? _checkboxGroupContext : false;\n }, [checkboxGroupContext, selfChecked, value]);\n const {\n merge,\n prefix,\n withPrefix\n } = (0, _hooks.useStyles)(classPrefix);\n const classes = merge(className, withPrefix());\n const [htmlInputProps, restProps] = (0, _utils.partitionHTMLProps)(rest);\n\n // If <Checkbox> is within a <CheckboxGroup>, it's bound to be controlled\n // because its checked state is inferred from group's value, not retrieved from the DOM\n const controlled = checkboxGroupContext ? true : selfControlled;\n if (typeof controlled !== 'undefined') {\n // In uncontrolled situations, use defaultChecked instead of checked\n htmlInputProps[controlled ? 'checked' : 'defaultChecked'] = checked;\n }\n const checkboxRef = (0,
|
|
2163
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _useIndeterminateCheckbox = __webpack_require__(/*! ./hooks/useIndeterminateCheckbox */ \"./src/Checkbox/hooks/useIndeterminateCheckbox.ts\");\nvar _CheckboxGroup = __webpack_require__(/*! ../CheckboxGroup */ \"./src/CheckboxGroup/index.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Checkbox/Checkbox.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The Checkbox component is used for selecting multiple options from a set.\n * @see https://rsuitejs.com/components/checkbox\n */\nconst Checkbox = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('Checkbox', props);\n const checkboxGroupContext = (0, _react.useContext)(_CheckboxGroup.CheckboxGroupContext);\n const {\n inline: inlineContext,\n name: nameContext,\n disabled: disabledContext,\n readOnly: readOnlyContext,\n plaintext: plaintextContext,\n onChange: onGroupChange\n } = checkboxGroupContext !== null && checkboxGroupContext !== void 0 ? checkboxGroupContext : {};\n const {\n as,\n checked: controlledChecked,\n className,\n children,\n classPrefix = 'checkbox',\n checkable = true,\n color,\n defaultChecked = false,\n title,\n inputRef,\n inputProps,\n indeterminate,\n labelClickable = true,\n tabIndex = 0,\n disabled = disabledContext,\n readOnly = readOnlyContext,\n plaintext = plaintextContext,\n inline = inlineContext,\n name = nameContext,\n value,\n onClick,\n onCheckboxClick,\n onChange,\n ...rest\n } = propsWithDefaults;\n const [selfChecked, setSelfChecked, selfControlled] = (0, _hooks.useControlled)(controlledChecked, defaultChecked);\n\n // Either <Checkbox> is checked itself or by parent <CheckboxGroup>\n const checked = (0, _react.useMemo)(() => {\n var _checkboxGroupContext, _checkboxGroupContext2;\n if (!checkboxGroupContext) {\n return selfChecked;\n }\n\n // fixme value from group should not be nullable\n return (_checkboxGroupContext = (_checkboxGroupContext2 = checkboxGroupContext.value) === null || _checkboxGroupContext2 === void 0 ? void 0 : _checkboxGroupContext2.some(checkedValue => checkedValue === value)) !== null && _checkboxGroupContext !== void 0 ? _checkboxGroupContext : false;\n }, [checkboxGroupContext, selfChecked, value]);\n const {\n merge,\n prefix,\n withPrefix\n } = (0, _hooks.useStyles)(classPrefix);\n const classes = merge(className, withPrefix());\n const [htmlInputProps, restProps] = (0, _utils.partitionHTMLProps)(rest);\n\n // If <Checkbox> is within a <CheckboxGroup>, it's bound to be controlled\n // because its checked state is inferred from group's value, not retrieved from the DOM\n const controlled = checkboxGroupContext ? true : selfControlled;\n if (typeof controlled !== 'undefined') {\n // In uncontrolled situations, use defaultChecked instead of checked\n htmlInputProps[controlled ? 'checked' : 'defaultChecked'] = checked;\n }\n const checkboxRef = (0, _useIndeterminateCheckbox.useIndeterminateCheckbox)(indeterminate);\n const handleChange = (0, _hooks.useEventCallback)(event => {\n const nextChecked = event.target.checked;\n if (disabled || readOnly) {\n return;\n }\n setSelfChecked(nextChecked);\n onChange === null || onChange === void 0 || onChange(value, nextChecked, event);\n onGroupChange === null || onGroupChange === void 0 || onGroupChange(value, nextChecked, event);\n });\n const handleLabelClick = (0, _hooks.useEventCallback)(event => {\n // Prevent check when label is not clickable\n if (!labelClickable && event.target !== checkboxRef.current) {\n event.preventDefault();\n }\n });\n const labelId = (0, _hooks.useUniqueId)('label-');\n if (plaintext) {\n return checked ? /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({\n as: as\n }, restProps, {\n ref: ref,\n className: classes,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 7\n }\n }), children) : null;\n }\n const control = /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix`control`,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 222,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({}, htmlInputProps, inputProps, {\n \"aria-disabled\": disabled,\n \"aria-checked\": indeterminate ? 'mixed' : checked,\n \"aria-labelledby\": labelId,\n name: name,\n value: value,\n type: \"checkbox\",\n ref: (0, _utils.mergeRefs)(checkboxRef, inputRef),\n tabIndex: tabIndex,\n readOnly: readOnly,\n disabled: disabled,\n onClick: onCheckboxClick,\n onChange: handleChange,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 223,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix`inner`,\n \"aria-hidden\": true,\n \"data-testid\": \"checkbox-control-inner\",\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 239,\n columnNumber: 7\n }\n }));\n return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({\n as: as\n }, restProps, {\n ref: ref,\n onClick: onClick,\n className: classes,\n \"data-color\": color,\n \"data-checked\": indeterminate ? 'mixed' : checked,\n \"data-disabled\": disabled,\n \"data-inline\": inline,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 244,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix`checker`,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 255,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"label\", {\n title: title,\n onClick: handleLabelClick,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 256,\n columnNumber: 9\n }\n }, checkable ? control : null, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix`label`,\n id: labelId,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 258,\n columnNumber: 11\n }\n }, children))));\n});\nCheckbox.displayName = 'Checkbox';\nvar _default = exports[\"default\"] = Checkbox;\n\n//# sourceURL=webpack://rsuite/./src/Checkbox/Checkbox.tsx?");
|
|
2164
|
+
|
|
2165
|
+
/***/ }),
|
|
2166
|
+
|
|
2167
|
+
/***/ "./src/Checkbox/hooks/useIndeterminateCheckbox.ts":
|
|
2168
|
+
/*!********************************************************!*\
|
|
2169
|
+
!*** ./src/Checkbox/hooks/useIndeterminateCheckbox.ts ***!
|
|
2170
|
+
\********************************************************/
|
|
2171
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2172
|
+
|
|
2173
|
+
"use strict";
|
|
2174
|
+
eval("\n\nexports.__esModule = true;\nexports.useIndeterminateCheckbox = useIndeterminateCheckbox;\nvar _react = __webpack_require__(/*! react */ \"react\");\n/**\n * A hook that manages the indeterminate state of a checkbox input element.\n *\n * The indeterminate state is a visual and accessibility state that cannot be set via HTML attributes.\n * It must be set via JavaScript on the DOM element itself. This is required for proper\n * screen reader support, as assistive technologies rely on the native DOM property\n * rather than ARIA attributes for native checkboxes.\n *\n * @param indeterminate - Whether the checkbox should be in an indeterminate state\n * @returns A ref object to be attached to the checkbox input element\n *\n * @example\n * ```tsx\n * const checkboxRef = useIndeterminateCheckbox(isIndeterminate);\n * return <input type=\"checkbox\" ref={checkboxRef} />;\n * ```\n */\nfunction useIndeterminateCheckbox(indeterminate) {\n const ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(() => {\n if (ref.current) {\n ref.current.indeterminate = indeterminate !== null && indeterminate !== void 0 ? indeterminate : false;\n }\n }, [indeterminate]);\n return ref;\n}\n\n//# sourceURL=webpack://rsuite/./src/Checkbox/hooks/useIndeterminateCheckbox.ts?");
|
|
2164
2175
|
|
|
2165
2176
|
/***/ }),
|
|
2166
2177
|
|
|
@@ -2314,7 +2325,7 @@ eval("\n\nexports.__esModule = true;\nexports.useDateField = exports.patternMap
|
|
|
2314
2325
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2315
2326
|
|
|
2316
2327
|
"use strict";
|
|
2317
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\nvar _useDateInputState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useDateInputState */ \"./src/DateInput/hooks/useDateInputState.ts\"));\nvar _useKeyboardInputEvent = _interopRequireDefault(__webpack_require__(/*! ./hooks/useKeyboardInputEvent */ \"./src/DateInput/hooks/useKeyboardInputEvent.ts\"));\nvar _useIsFocused = _interopRequireDefault(__webpack_require__(/*! ./hooks/useIsFocused */ \"./src/DateInput/hooks/useIsFocused.ts\"));\nvar _useFieldCursor = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFieldCursor */ \"./src/DateInput/hooks/useFieldCursor.ts\"));\nvar _useSelectedState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useSelectedState */ \"./src/DateInput/hooks/useSelectedState.ts\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _date = __webpack_require__(/*! ../internals/utils/date */ \"./src/internals/utils/date/index.ts\");\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateInput/utils.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateInput/DateInput.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The DateInput component lets users select a date with the keyboard.\n * @version 5.58.0\n * @see https://rsuitejs.com/components/date-input/\n */\nconst DateInput = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults,\n parseDate,\n getLocale\n } = (0, _hooks.useCustom)('DateInput', props);\n const {\n dateLocale,\n shortDateFormat\n } = getLocale('DateTimeFormats');\n const {\n format: formatStr = shortDateFormat,\n value: valueProp,\n defaultValue,\n placeholder,\n onChange,\n onKeyDown,\n onBlur,\n onFocus,\n onPaste,\n ...rest\n } = propsWithDefaults;\n const inputRef = (0, _react.useRef)(null);\n const {\n selectedState,\n setSelectedState\n } = (0, _useSelectedState.default)();\n const [value, setValue, isControlled] = (0, _hooks.useControlled)(valueProp, defaultValue);\n const {\n dateField,\n setDateOffset,\n setDateField,\n setNewDate,\n getDateField,\n toDateString,\n isEmptyValue\n } = (0, _useDateInputState.default)({\n formatStr,\n locale: dateLocale,\n date: value,\n isControlledDate: isControlled\n });\n const {\n isMoveCursor,\n isResetValue,\n increment,\n reset\n } = (0, _useFieldCursor.default)(formatStr, valueProp);\n const dateString = toDateString();\n const keyPressOptions = (0, _react.useMemo)(() => ({\n formatStr,\n localize: dateLocale.localize,\n selectedMonth: dateField.month,\n dateString\n }), [dateField, dateString, formatStr, dateLocale]);\n const setSelectionRange = (0, _utils2.useInputSelection)(inputRef);\n const handleChange = (0, _hooks.useEventCallback)((value, event) => {\n onChange === null || onChange === void 0 || onChange(value, event);\n setValue(value);\n });\n const handleClear = (0, _hooks.useEventCallback)(event => {\n handleChange(null, event);\n setNewDate(null);\n setSelectionRange(0, 0);\n reset();\n });\n const onSegmentChange = (0, _hooks.useEventCallback)((event, nextDirection) => {\n const input = event.target;\n const key = event.key;\n const direction = nextDirection || (key === 'ArrowRight' ? 'right' : 'left');\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n direction\n });\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n\n // If the selected field changes, reset the input state\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const onSegmentValueChange = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const offset = key === 'ArrowUp' ? 1 : -1;\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: offset\n });\n setSelectedState(state);\n setDateOffset(state.selectedPattern, offset, date => handleChange(date, event));\n setSelectionRange(state.selectionStart, state.selectionEnd);\n });\n const onSegmentValueChangeWithNumericKeys = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const isFunctionKey = key.startsWith('F') && !isNaN(Number(key.slice(1)));\n if (isFunctionKey) {\n return;\n }\n const pattern = selectedState.selectedPattern;\n if (!pattern) {\n return;\n }\n const field = getDateField(pattern);\n const value = parseInt(key, 10);\n const padValue = parseInt(`${field.value || ''}${key}`, 10);\n let newValue = value;\n if ((0, _utils2.validateDateTime)(field.name, padValue) && !isResetValue()) {\n // Check if the value entered by the user is a valid date\n newValue = padValue;\n }\n setDateField(pattern, newValue, date => handleChange(date, event));\n\n // The currently selected month will be retained as a parameter of getInputSelectedState,\n // but if the user enters a month, the month value will be replaced with the value entered by the user.\n const selectedMonth = pattern === 'M' ? newValue : dateField.month;\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n selectedMonth\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n increment();\n\n // If the field is full value, move the cursor to the next field\n if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {\n onSegmentChange(event, 'right');\n }\n });\n const onSegmentValueRemove = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const value = input.value;\n\n // If the text is all selected, clear the value\n if (input.selectionStart === 0 && value && input.selectionEnd === value.length) {\n handleClear(event);\n } else if (selectedState.selectedPattern) {\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: null\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n setDateField(selectedState.selectedPattern, null, date => handleChange(date, event));\n reset();\n }\n });\n const handleClick = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input\n });\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const handlePaste = (0, _hooks.useEventCallback)(event => {\n var _event$clipboardData;\n event.preventDefault();\n const pasteText = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text');\n const nextDate = parseDate(pasteText, formatStr);\n if ((0, _date.isValid)(nextDate)) {\n handleChange(nextDate, event);\n setNewDate(nextDate);\n }\n onPaste === null || onPaste === void 0 || onPaste(event);\n });\n const onKeyboardInput = (0, _useKeyboardInputEvent.default)({\n onSegmentChange,\n onSegmentValueChange,\n onSegmentValueChangeWithNumericKeys,\n onSegmentValueRemove,\n onKeyDown\n });\n const [focused, focusEventProps] = (0, _useIsFocused.default)({\n onBlur,\n onFocus\n });\n const renderedValue = (0, _react.useMemo)(() => {\n if (!isEmptyValue()) {\n return dateString;\n }\n return !focused ? '' : dateString;\n }, [dateString, focused, isEmptyValue]);\n return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({\n inputMode: focused ? 'numeric' : 'text',\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n ref: (0, _utils.mergeRefs)(inputRef, ref),\n onKeyDown: onKeyboardInput,\n onClick: handleClick,\n onPaste: handlePaste,\n value: renderedValue,\n placeholder: placeholder || formatStr\n }, focusEventProps, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 239,\n columnNumber: 5\n }\n }));\n});\nDateInput.displayName = 'DateInput';\nvar _default = exports[\"default\"] = DateInput;\n\n//# sourceURL=webpack://rsuite/./src/DateInput/DateInput.tsx?");
|
|
2328
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\nvar _useDateInputState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useDateInputState */ \"./src/DateInput/hooks/useDateInputState.ts\"));\nvar _useKeyboardInputEvent = _interopRequireDefault(__webpack_require__(/*! ./hooks/useKeyboardInputEvent */ \"./src/DateInput/hooks/useKeyboardInputEvent.ts\"));\nvar _useIsFocused = _interopRequireDefault(__webpack_require__(/*! ./hooks/useIsFocused */ \"./src/DateInput/hooks/useIsFocused.ts\"));\nvar _useFieldCursor = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFieldCursor */ \"./src/DateInput/hooks/useFieldCursor.ts\"));\nvar _useSelectedState = _interopRequireDefault(__webpack_require__(/*! ./hooks/useSelectedState */ \"./src/DateInput/hooks/useSelectedState.ts\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _date = __webpack_require__(/*! ../internals/utils/date */ \"./src/internals/utils/date/index.ts\");\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateInput/utils.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateInput/DateInput.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The DateInput component lets users select a date with the keyboard.\n * @version 5.58.0\n * @see https://rsuitejs.com/components/date-input/\n */\nconst DateInput = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults,\n parseDate,\n getLocale\n } = (0, _hooks.useCustom)('DateInput', props);\n const {\n dateLocale,\n shortDateFormat\n } = getLocale('DateTimeFormats');\n const {\n format: formatStr = shortDateFormat,\n value: valueProp,\n defaultValue,\n placeholder,\n onChange,\n onKeyDown,\n onBlur,\n onFocus,\n onPaste,\n ...rest\n } = propsWithDefaults;\n const inputRef = (0, _react.useRef)(null);\n const {\n selectedState,\n setSelectedState\n } = (0, _useSelectedState.default)();\n const [value, setValue, isControlled] = (0, _hooks.useControlled)(valueProp, defaultValue);\n const {\n dateField,\n setDateOffset,\n setDateField,\n setNewDate,\n getDateField,\n toDateString,\n isEmptyValue\n } = (0, _useDateInputState.default)({\n formatStr,\n locale: dateLocale,\n date: value,\n isControlledDate: isControlled\n });\n const {\n isMoveCursor,\n isResetValue,\n increment,\n reset\n } = (0, _useFieldCursor.default)(formatStr, valueProp);\n const dateString = toDateString();\n const keyPressOptions = (0, _react.useMemo)(() => ({\n formatStr,\n localize: dateLocale.localize,\n selectedMonth: dateField.month,\n dateString\n }), [dateField, dateString, formatStr, dateLocale]);\n const setSelectionRange = (0, _utils2.useInputSelection)(inputRef);\n const handleChange = (0, _hooks.useEventCallback)((value, event) => {\n onChange === null || onChange === void 0 || onChange(value, event);\n setValue(value);\n });\n const handleClear = (0, _hooks.useEventCallback)(event => {\n handleChange(null, event);\n setNewDate(null);\n setSelectionRange(0, 0);\n reset();\n });\n const onSegmentChange = (0, _hooks.useEventCallback)((event, nextDirection) => {\n const input = event.target;\n const key = event.key;\n const direction = nextDirection || (key === 'ArrowRight' ? 'right' : 'left');\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n direction\n });\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n\n // If the selected field changes, reset the input state\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const onSegmentValueChange = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const offset = key === 'ArrowUp' ? 1 : -1;\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: offset\n });\n setSelectedState(state);\n setDateOffset(state.selectedPattern, offset, date => handleChange(date, event));\n setSelectionRange(state.selectionStart, state.selectionEnd);\n });\n const onSegmentValueChangeWithNumericKeys = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const isFunctionKey = key.startsWith('F') && !isNaN(Number(key.slice(1)));\n if (isFunctionKey) {\n return;\n }\n const pattern = selectedState.selectedPattern;\n if (!pattern) {\n return;\n }\n const field = getDateField(pattern);\n const value = parseInt(key, 10);\n const padValue = parseInt(`${field.value || ''}${key}`, 10);\n let newValue = value;\n if ((0, _utils2.validateDateTime)(field.name, padValue) && !isResetValue()) {\n // Check if the value entered by the user is a valid date\n newValue = padValue;\n }\n setDateField(pattern, newValue, date => handleChange(date, event));\n\n // The currently selected month will be retained as a parameter of getInputSelectedState,\n // but if the user enters a month, the month value will be replaced with the value entered by the user.\n const selectedMonth = pattern === 'M' ? newValue : dateField.month;\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n selectedMonth\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n increment();\n\n // If the field is full value, move the cursor to the next field\n if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {\n onSegmentChange(event, 'right');\n }\n });\n const onSegmentValueRemove = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const value = input.value;\n\n // If the text is all selected, clear the value\n if (input.selectionStart === 0 && value && input.selectionEnd === value.length) {\n handleClear(event);\n } else if (selectedState.selectedPattern) {\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: null\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n setDateField(selectedState.selectedPattern, null, date => handleChange(date, event));\n reset();\n }\n });\n const onAmPmToggle = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key.toLowerCase();\n\n // Only handle 'a' or 'p' keys when the selected pattern is 'a' (AM/PM)\n if (selectedState.selectedPattern === 'a' && (key === 'a' || key === 'p')) {\n const currentHour = dateField.hour || 0;\n const isAM = currentHour < 12;\n const isPM = currentHour >= 12;\n\n // Toggle AM/PM based on the key pressed\n // 'a' key -> set to AM, 'p' key -> set to PM\n if (key === 'a' && isPM || key === 'p' && isAM) {\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input\n });\n setSelectedState(state);\n setDateOffset('a', 1, date => handleChange(date, event));\n setSelectionRange(state.selectionStart, state.selectionEnd);\n }\n }\n });\n const handleClick = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input\n });\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const handlePaste = (0, _hooks.useEventCallback)(event => {\n var _event$clipboardData;\n event.preventDefault();\n const pasteText = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text');\n const nextDate = parseDate(pasteText, formatStr);\n if ((0, _date.isValid)(nextDate)) {\n handleChange(nextDate, event);\n setNewDate(nextDate);\n }\n onPaste === null || onPaste === void 0 || onPaste(event);\n });\n const onKeyboardInput = (0, _useKeyboardInputEvent.default)({\n onSegmentChange,\n onSegmentValueChange,\n onSegmentValueChangeWithNumericKeys,\n onSegmentValueRemove,\n onAmPmToggle,\n onKeyDown\n });\n const [focused, focusEventProps] = (0, _useIsFocused.default)({\n onBlur,\n onFocus\n });\n const renderedValue = (0, _react.useMemo)(() => {\n if (!isEmptyValue()) {\n return dateString;\n }\n return !focused ? '' : dateString;\n }, [dateString, focused, isEmptyValue]);\n return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({\n inputMode: focused ? 'numeric' : 'text',\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n ref: (0, _utils.mergeRefs)(inputRef, ref),\n onKeyDown: onKeyboardInput,\n onClick: handleClick,\n onPaste: handlePaste,\n value: renderedValue,\n placeholder: placeholder || formatStr\n }, focusEventProps, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 261,\n columnNumber: 5\n }\n }));\n});\nDateInput.displayName = 'DateInput';\nvar _default = exports[\"default\"] = DateInput;\n\n//# sourceURL=webpack://rsuite/./src/DateInput/DateInput.tsx?");
|
|
2318
2329
|
|
|
2319
2330
|
/***/ }),
|
|
2320
2331
|
|
|
@@ -2358,7 +2369,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nexports.us
|
|
|
2358
2369
|
/***/ (function(__unused_webpack_module, exports) {
|
|
2359
2370
|
|
|
2360
2371
|
"use strict";
|
|
2361
|
-
eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nexports.useKeyboardInputEvent = useKeyboardInputEvent;\nfunction useKeyboardInputEvent({\n onSegmentChange,\n onSegmentValueChange,\n onSegmentValueChangeWithNumericKeys,\n onSegmentValueRemove,\n onKeyDown\n}) {\n return event => {\n var _key$match, _key$match2;\n const key = event.key;\n switch (key) {\n case 'ArrowRight':\n case 'ArrowLeft':\n onSegmentChange === null || onSegmentChange === void 0 || onSegmentChange(event);\n event.preventDefault();\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n onSegmentValueChange === null || onSegmentValueChange === void 0 || onSegmentValueChange(event);\n event.preventDefault();\n break;\n case 'Backspace':\n onSegmentValueRemove === null || onSegmentValueRemove === void 0 || onSegmentValueRemove(event);\n event.preventDefault();\n break;\n case (_key$match = key.match(/\\d/)) === null || _key$match === void 0 ? void 0 : _key$match.input:\n // Allow numeric keys to be entered\n onSegmentValueChangeWithNumericKeys === null || onSegmentValueChangeWithNumericKeys === void 0 || onSegmentValueChangeWithNumericKeys(event);\n event.preventDefault();\n break;\n case (_key$match2 = key.match(/[a-z]/)) === null || _key$match2 === void 0 ? void 0 : _key$match2[0]:\n // Determine whether the Ctrl or Command key is pressed, does not affect user copy and paste\n if (event.ctrlKey || event.metaKey) {\n break;\n }\n\n // Prevent letters from being entered\n event.preventDefault();\n break;\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);\n };\n}\nvar _default = exports[\"default\"] = useKeyboardInputEvent;\n\n//# sourceURL=webpack://rsuite/./src/DateInput/hooks/useKeyboardInputEvent.ts?");
|
|
2372
|
+
eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nexports.useKeyboardInputEvent = useKeyboardInputEvent;\nfunction useKeyboardInputEvent({\n onSegmentChange,\n onSegmentValueChange,\n onSegmentValueChangeWithNumericKeys,\n onSegmentValueRemove,\n onAmPmToggle,\n onKeyDown\n}) {\n return event => {\n var _key$match, _key$match2;\n const key = event.key;\n switch (key) {\n case 'ArrowRight':\n case 'ArrowLeft':\n onSegmentChange === null || onSegmentChange === void 0 || onSegmentChange(event);\n event.preventDefault();\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n onSegmentValueChange === null || onSegmentValueChange === void 0 || onSegmentValueChange(event);\n event.preventDefault();\n break;\n case 'Backspace':\n onSegmentValueRemove === null || onSegmentValueRemove === void 0 || onSegmentValueRemove(event);\n event.preventDefault();\n break;\n case (_key$match = key.match(/\\d/)) === null || _key$match === void 0 ? void 0 : _key$match.input:\n // Allow numeric keys to be entered\n onSegmentValueChangeWithNumericKeys === null || onSegmentValueChangeWithNumericKeys === void 0 || onSegmentValueChangeWithNumericKeys(event);\n event.preventDefault();\n break;\n case 'a':\n case 'p':\n case 'A':\n case 'P':\n // Determine whether the Ctrl or Command key is pressed, does not affect user copy and paste\n if (event.ctrlKey || event.metaKey) {\n break;\n }\n\n // Handle AM/PM toggle with 'a' or 'p' keys\n onAmPmToggle === null || onAmPmToggle === void 0 || onAmPmToggle(event);\n event.preventDefault();\n break;\n case (_key$match2 = key.match(/[a-z]/)) === null || _key$match2 === void 0 ? void 0 : _key$match2[0]:\n // Determine whether the Ctrl or Command key is pressed, does not affect user copy and paste\n if (event.ctrlKey || event.metaKey) {\n break;\n }\n\n // Prevent letters from being entered\n event.preventDefault();\n break;\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);\n };\n}\nvar _default = exports[\"default\"] = useKeyboardInputEvent;\n\n//# sourceURL=webpack://rsuite/./src/DateInput/hooks/useKeyboardInputEvent.ts?");
|
|
2362
2373
|
|
|
2363
2374
|
/***/ }),
|
|
2364
2375
|
|
|
@@ -2490,7 +2501,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2490
2501
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2491
2502
|
|
|
2492
2503
|
"use strict";
|
|
2493
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\nvar _date = __webpack_require__(/*! ../internals/utils/date */ \"./src/internals/utils/date/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _DateInput = __webpack_require__(/*! ../DateInput */ \"./src/DateInput/index.tsx\");\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateRangeInput/utils.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangeInput/DateRangeInput.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The DateRangeInput component lets users select a date with the keyboard.\n * @version 5.59.0\n * @see https://rsuitejs.com/components/date-range-input/\n */\nconst DateRangeInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {\n const {\n propsWithDefaults,\n parseDate,\n getLocale\n } = (0, _hooks.useCustom)('Calendar', props);\n const {\n shortDateFormat,\n dateLocale\n } = getLocale('DateTimeFormats');\n const {\n className,\n classPrefix = 'date-range-input',\n character = ' ~ ',\n format: formatStr = shortDateFormat,\n value: valueProp,\n defaultValue = [],\n placeholder,\n onChange,\n onKeyDown,\n onBlur,\n onFocus,\n onPaste,\n ...rest\n } = propsWithDefaults;\n const {\n withPrefix,\n merge\n } = (0, _hooks.useStyles)(classPrefix);\n const classes = merge(className, withPrefix());\n const inputRef = (0, _react.useRef)(null);\n const {\n selectedState,\n setSelectedState\n } = (0, _DateInput.useSelectedState)();\n const rangeFormatStr = `${formatStr}${character}${formatStr}`;\n const [value, setValue, isControlled] = (0, _hooks.useControlled)(valueProp, defaultValue);\n const [dateType, setDateType] = (0, _react.useState)(_utils2.DateType.Start);\n const dateInputOptions = {\n formatStr,\n locale: dateLocale,\n isControlledDate: isControlled\n };\n const startDateState = (0, _DateInput.useDateInputState)({\n ...dateInputOptions,\n date: (value === null || value === void 0 ? void 0 : value[0]) || null\n });\n const endDateState = (0, _DateInput.useDateInputState)({\n ...dateInputOptions,\n date: (value === null || value === void 0 ? void 0 : value[1]) || null\n });\n const {\n isMoveCursor,\n isResetValue,\n increment,\n reset\n } = (0, _DateInput.useFieldCursor)(formatStr, valueProp);\n const getActiveState = (type = dateType) => {\n return type === _utils2.DateType.Start ? startDateState : endDateState;\n };\n const [focused, focusEventProps] = (0, _DateInput.useIsFocused)({\n onBlur,\n onFocus\n });\n const renderedValue = (0, _react.useMemo)(() => {\n const dateString = startDateState.toDateString() + character + endDateState.toDateString();\n if (!startDateState.isEmptyValue() || !endDateState.isEmptyValue()) {\n return dateString;\n }\n return !focused ? '' : dateString;\n }, [character, endDateState, focused, startDateState]);\n const keyPressOptions = {\n formatStr,\n rangeFormatStr,\n localize: dateLocale.localize,\n selectedMonth: getActiveState().dateField.month,\n dateString: renderedValue,\n dateType,\n character\n };\n const setSelectionRange = (0, _DateInput.useInputSelection)(inputRef);\n const handleChange = (0, _hooks.useEventCallback)((date, event) => {\n const nextValue = dateType === _utils2.DateType.Start ? [date, value === null || value === void 0 ? void 0 : value[1]] : [value === null || value === void 0 ? void 0 : value[0], date];\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n setValue(nextValue);\n });\n const handleClear = (0, _hooks.useEventCallback)(event => {\n startDateState.setNewDate(null);\n endDateState.setNewDate(null);\n setSelectionRange(0, 0);\n reset();\n setValue(null);\n onChange === null || onChange === void 0 || onChange(null, event);\n });\n const onSegmentChange = (0, _hooks.useEventCallback)((event, nextDirection) => {\n const input = event.target;\n const key = event.key;\n const direction = nextDirection || (key === 'ArrowRight' ? 'right' : 'left');\n if (input.selectionEnd === null || input.selectionStart === null) {\n return;\n }\n const cursorIndex = direction === 'right' ? input.selectionEnd : input.selectionStart;\n let nextDateType = dateType;\n if ((0, _utils2.isSwitchDateType)(renderedValue, character, cursorIndex, direction)) {\n nextDateType = dateType === _utils2.DateType.Start ? _utils2.DateType.End : _utils2.DateType.Start;\n setDateType(nextDateType);\n }\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n dateType: nextDateType,\n selectedMonth: getActiveState(nextDateType).dateField.month,\n input,\n direction\n });\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n\n // If the selected field changes, reset the input state\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const onSegmentValueChange = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const offset = key === 'ArrowUp' ? 1 : -1;\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: offset\n });\n setSelectedState(state);\n getActiveState().setDateOffset(state.selectedPattern, offset, date => handleChange(date, event));\n setSelectionRange(state.selectionStart, state.selectionEnd);\n });\n const onSegmentValueChangeWithNumericKeys = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const pattern = selectedState.selectedPattern;\n const isFunctionKey = key.startsWith('F') && !isNaN(Number(key.slice(1)));\n if (isFunctionKey) {\n return;\n }\n if (!pattern) {\n return;\n }\n const field = getActiveState().getDateField(pattern);\n const value = parseInt(key, 10);\n const padValue = parseInt(`${field.value || ''}${key}`, 10);\n let newValue = value;\n\n // Check if the value entered by the user is a valid date\n if ((0, _DateInput.validateDateTime)(field.name, padValue) && !isResetValue()) {\n newValue = padValue;\n }\n getActiveState().setDateField(pattern, newValue, date => handleChange(date, event));\n\n // The currently selected month will be retained as a parameter of getInputSelectedState,\n // but if the user enters a month, the month value will be replaced with the value entered by the user.\n const selectedMonth = pattern === 'M' ? newValue : getActiveState().dateField.month;\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n selectedMonth\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n increment();\n\n // If the field is full value, move the cursor to the next field\n if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {\n onSegmentChange(event, 'right');\n }\n });\n const onSegmentValueRemove = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const value = input.value;\n if (input.selectionStart === 0 && value && input.selectionEnd === value.length) {\n handleClear(event);\n } else if (selectedState.selectedPattern) {\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: null\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n getActiveState().setDateField(selectedState.selectedPattern, null, date => handleChange(date, event));\n reset();\n }\n });\n const handleClick = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n if (input.selectionStart === null) {\n return;\n }\n const cursorIndex = input.selectionStart === renderedValue.length ? 0 : input.selectionStart;\n const dateType = (0, _utils2.getDateType)(renderedValue || rangeFormatStr, character, cursorIndex);\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n dateType,\n selectedMonth: getActiveState(dateType).dateField.month,\n input\n });\n setDateType(dateType);\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const handlePaste = (0, _hooks.useEventCallback)(event => {\n var _event$clipboardData;\n event.preventDefault();\n const pasteText = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text');\n const [start, end] = pasteText.split(character).map(date => parseDate(date, formatStr));\n if ((0, _date.isValid)(start) && (0, _date.isValid)(end)) {\n const nextValue = [start, end];\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n setValue(nextValue);\n startDateState.setNewDate(start);\n endDateState.setNewDate(end);\n }\n onPaste === null || onPaste === void 0 || onPaste(event);\n });\n const onKeyboardInput = (0, _DateInput.useKeyboardInputEvent)({\n onSegmentChange,\n onSegmentValueChange,\n onSegmentValueChangeWithNumericKeys,\n onSegmentValueRemove,\n onKeyDown\n });\n return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({\n inputMode: focused ? 'numeric' : 'text',\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n className: classes,\n ref: (0, _utils.mergeRefs)(inputRef, ref),\n onKeyDown: onKeyboardInput,\n onClick: handleClick,\n onPaste: handlePaste,\n value: renderedValue,\n placeholder: placeholder || rangeFormatStr\n }, focusEventProps, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 313,\n columnNumber: 5\n }\n }));\n});\nDateRangeInput.displayName = 'DateRangeInput';\nvar _default = exports[\"default\"] = DateRangeInput;\n\n//# sourceURL=webpack://rsuite/./src/DateRangeInput/DateRangeInput.tsx?");
|
|
2504
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\nvar _date = __webpack_require__(/*! ../internals/utils/date */ \"./src/internals/utils/date/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _DateInput = __webpack_require__(/*! ../DateInput */ \"./src/DateInput/index.tsx\");\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateRangeInput/utils.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangeInput/DateRangeInput.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\n/**\n * The DateRangeInput component lets users select a date with the keyboard.\n * @version 5.59.0\n * @see https://rsuitejs.com/components/date-range-input/\n */\nconst DateRangeInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {\n const {\n propsWithDefaults,\n parseDate,\n getLocale\n } = (0, _hooks.useCustom)('Calendar', props);\n const {\n shortDateFormat,\n dateLocale\n } = getLocale('DateTimeFormats');\n const {\n className,\n classPrefix = 'date-range-input',\n character = ' ~ ',\n format: formatStr = shortDateFormat,\n value: valueProp,\n defaultValue = [],\n placeholder,\n onChange,\n onKeyDown,\n onBlur,\n onFocus,\n onPaste,\n ...rest\n } = propsWithDefaults;\n const {\n withPrefix,\n merge\n } = (0, _hooks.useStyles)(classPrefix);\n const classes = merge(className, withPrefix());\n const inputRef = (0, _react.useRef)(null);\n const {\n selectedState,\n setSelectedState\n } = (0, _DateInput.useSelectedState)();\n const rangeFormatStr = `${formatStr}${character}${formatStr}`;\n const [value, setValue, isControlled] = (0, _hooks.useControlled)(valueProp, defaultValue);\n const [dateType, setDateType] = (0, _react.useState)(_utils2.DateType.Start);\n const dateInputOptions = {\n formatStr,\n locale: dateLocale,\n isControlledDate: isControlled\n };\n const startDateState = (0, _DateInput.useDateInputState)({\n ...dateInputOptions,\n date: (value === null || value === void 0 ? void 0 : value[0]) || null\n });\n const endDateState = (0, _DateInput.useDateInputState)({\n ...dateInputOptions,\n date: (value === null || value === void 0 ? void 0 : value[1]) || null\n });\n const {\n isMoveCursor,\n isResetValue,\n increment,\n reset\n } = (0, _DateInput.useFieldCursor)(formatStr, valueProp);\n const getActiveState = (type = dateType) => {\n return type === _utils2.DateType.Start ? startDateState : endDateState;\n };\n const [focused, focusEventProps] = (0, _DateInput.useIsFocused)({\n onBlur,\n onFocus\n });\n const renderedValue = (0, _react.useMemo)(() => {\n const dateString = startDateState.toDateString() + character + endDateState.toDateString();\n if (!startDateState.isEmptyValue() || !endDateState.isEmptyValue()) {\n return dateString;\n }\n return !focused ? '' : dateString;\n }, [character, endDateState, focused, startDateState]);\n const keyPressOptions = {\n formatStr,\n rangeFormatStr,\n localize: dateLocale.localize,\n selectedMonth: getActiveState().dateField.month,\n dateString: renderedValue,\n dateType,\n character\n };\n const setSelectionRange = (0, _DateInput.useInputSelection)(inputRef);\n const handleChange = (0, _hooks.useEventCallback)((date, event) => {\n const nextValue = dateType === _utils2.DateType.Start ? [date, value === null || value === void 0 ? void 0 : value[1]] : [value === null || value === void 0 ? void 0 : value[0], date];\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n setValue(nextValue);\n });\n const handleClear = (0, _hooks.useEventCallback)(event => {\n startDateState.setNewDate(null);\n endDateState.setNewDate(null);\n setSelectionRange(0, 0);\n reset();\n setValue(null);\n onChange === null || onChange === void 0 || onChange(null, event);\n });\n const onSegmentChange = (0, _hooks.useEventCallback)((event, nextDirection) => {\n const input = event.target;\n const key = event.key;\n const direction = nextDirection || (key === 'ArrowRight' ? 'right' : 'left');\n if (input.selectionEnd === null || input.selectionStart === null) {\n return;\n }\n const cursorIndex = direction === 'right' ? input.selectionEnd : input.selectionStart;\n let nextDateType = dateType;\n if ((0, _utils2.isSwitchDateType)(renderedValue, character, cursorIndex, direction)) {\n nextDateType = dateType === _utils2.DateType.Start ? _utils2.DateType.End : _utils2.DateType.Start;\n setDateType(nextDateType);\n }\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n dateType: nextDateType,\n selectedMonth: getActiveState(nextDateType).dateField.month,\n input,\n direction\n });\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n\n // If the selected field changes, reset the input state\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const onSegmentValueChange = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const offset = key === 'ArrowUp' ? 1 : -1;\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: offset\n });\n setSelectedState(state);\n getActiveState().setDateOffset(state.selectedPattern, offset, date => handleChange(date, event));\n setSelectionRange(state.selectionStart, state.selectionEnd);\n });\n const onSegmentValueChangeWithNumericKeys = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key;\n const pattern = selectedState.selectedPattern;\n const isFunctionKey = key.startsWith('F') && !isNaN(Number(key.slice(1)));\n if (isFunctionKey) {\n return;\n }\n if (!pattern) {\n return;\n }\n const field = getActiveState().getDateField(pattern);\n const value = parseInt(key, 10);\n const padValue = parseInt(`${field.value || ''}${key}`, 10);\n let newValue = value;\n\n // Check if the value entered by the user is a valid date\n if ((0, _DateInput.validateDateTime)(field.name, padValue) && !isResetValue()) {\n newValue = padValue;\n }\n getActiveState().setDateField(pattern, newValue, date => handleChange(date, event));\n\n // The currently selected month will be retained as a parameter of getInputSelectedState,\n // but if the user enters a month, the month value will be replaced with the value entered by the user.\n const selectedMonth = pattern === 'M' ? newValue : getActiveState().dateField.month;\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n selectedMonth\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n increment();\n\n // If the field is full value, move the cursor to the next field\n if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {\n onSegmentChange(event, 'right');\n }\n });\n const onSegmentValueRemove = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const value = input.value;\n if (input.selectionStart === 0 && value && input.selectionEnd === value.length) {\n handleClear(event);\n } else if (selectedState.selectedPattern) {\n const nextState = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input,\n valueOffset: null\n });\n setSelectedState(nextState);\n setSelectionRange(nextState.selectionStart, nextState.selectionEnd);\n getActiveState().setDateField(selectedState.selectedPattern, null, date => handleChange(date, event));\n reset();\n }\n });\n const onAmPmToggle = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n const key = event.key.toLowerCase();\n\n // Only handle 'a' or 'p' keys when the selected pattern is 'a' (AM/PM)\n if (selectedState.selectedPattern === 'a' && (key === 'a' || key === 'p')) {\n const currentHour = getActiveState().dateField.hour || 0;\n const isAM = currentHour < 12;\n const isPM = currentHour >= 12;\n\n // Toggle AM/PM based on the key pressed\n // 'a' key -> set to AM, 'p' key -> set to PM\n if (key === 'a' && isPM || key === 'p' && isAM) {\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n input\n });\n setSelectedState(state);\n getActiveState().setDateOffset('a', 1, date => handleChange(date, event));\n setSelectionRange(state.selectionStart, state.selectionEnd);\n }\n }\n });\n const handleClick = (0, _hooks.useEventCallback)(event => {\n const input = event.target;\n if (input.selectionStart === null) {\n return;\n }\n const cursorIndex = input.selectionStart === renderedValue.length ? 0 : input.selectionStart;\n const dateType = (0, _utils2.getDateType)(renderedValue || rangeFormatStr, character, cursorIndex);\n const state = (0, _utils2.getInputSelectedState)({\n ...keyPressOptions,\n dateType,\n selectedMonth: getActiveState(dateType).dateField.month,\n input\n });\n setDateType(dateType);\n setSelectedState(state);\n setSelectionRange(state.selectionStart, state.selectionEnd);\n if (selectedState.selectedPattern !== state.selectedPattern) {\n reset();\n }\n });\n const handlePaste = (0, _hooks.useEventCallback)(event => {\n var _event$clipboardData;\n event.preventDefault();\n const pasteText = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text');\n const [start, end] = pasteText.split(character).map(date => parseDate(date, formatStr));\n if ((0, _date.isValid)(start) && (0, _date.isValid)(end)) {\n const nextValue = [start, end];\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n setValue(nextValue);\n startDateState.setNewDate(start);\n endDateState.setNewDate(end);\n }\n onPaste === null || onPaste === void 0 || onPaste(event);\n });\n const onKeyboardInput = (0, _DateInput.useKeyboardInputEvent)({\n onSegmentChange,\n onSegmentValueChange,\n onSegmentValueChangeWithNumericKeys,\n onSegmentValueRemove,\n onAmPmToggle,\n onKeyDown\n });\n return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({\n inputMode: focused ? 'numeric' : 'text',\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n className: classes,\n ref: (0, _utils.mergeRefs)(inputRef, ref),\n onKeyDown: onKeyboardInput,\n onClick: handleClick,\n onPaste: handlePaste,\n value: renderedValue,\n placeholder: placeholder || rangeFormatStr\n }, focusEventProps, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 335,\n columnNumber: 5\n }\n }));\n});\nDateRangeInput.displayName = 'DateRangeInput';\nvar _default = exports[\"default\"] = DateRangeInput;\n\n//# sourceURL=webpack://rsuite/./src/DateRangeInput/DateRangeInput.tsx?");
|
|
2494
2505
|
|
|
2495
2506
|
/***/ }),
|
|
2496
2507
|
|
|
@@ -2886,7 +2897,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2886
2897
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2887
2898
|
|
|
2888
2899
|
"use strict";
|
|
2889
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\nvar _FormStack = _interopRequireDefault(__webpack_require__(/*! ../FormStack */ \"./src/FormStack/index.tsx\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _useSchemaModel = _interopRequireDefault(__webpack_require__(/*! ./hooks/useSchemaModel */ \"./src/Form/hooks/useSchemaModel.ts\"));\nvar _useFormValidate = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFormValidate */ \"./src/Form/hooks/useFormValidate.ts\"));\nvar _useFormValue = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFormValue */ \"./src/Form/hooks/useFormValue.ts\"));\nvar _useFormRef = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFormRef */ \"./src/Form/hooks/useFormRef.ts\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _FormContext = __webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\nconst defaultSchema = (0, _schemaTyped.SchemaModel)({});\nconst Subcomponents = {\n Stack: _FormStack.default,\n Control: _FormControl.default,\n Label: _FormControlLabel.default,\n ErrorMessage: _FormErrorMessage.default,\n Group: _FormGroup.default,\n Text: _FormHelpText.default,\n /**\n * @deprecated Use `Form.Label` instead\n */\n ControlLabel: _FormControlLabel.default,\n /**\n * @deprecated Use `Form.Text` instead\n */\n HelpText: _FormHelpText.default\n};\n\n/**\n * The `Form` component is a form interface for collecting and validating user input.\n * @see https://rsuitejs.com/components/form\n */\nconst Form = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('Form', props);\n const {\n checkTrigger = 'change',\n errorFromContext = true,\n formDefaultValue = {},\n formValue: controlledFormValue,\n formError: controlledFormError,\n nestedField = false,\n fluid,\n layout,\n model: formModel = defaultSchema,\n readOnly,\n plaintext,\n children,\n disabled,\n onSubmit,\n onReset,\n onCheck,\n onError,\n onChange,\n ...rest\n } = propsWithDefaults;\n const {\n getCombinedModel,\n pushFieldRule,\n removeFieldRule\n } = (0, _useSchemaModel.default)(formModel, nestedField);\n const {\n formValue,\n onRemoveValue,\n setFieldValue,\n resetFormValue\n } = (0, _useFormValue.default)(controlledFormValue, {\n formDefaultValue,\n nestedField\n });\n const formValidateProps = {\n formValue,\n getCombinedModel,\n onCheck,\n onError,\n nestedField\n };\n const {\n formError,\n onRemoveError,\n check,\n checkAsync,\n checkForField,\n checkFieldForNextValue,\n checkForFieldAsync,\n checkFieldAsyncForNextValue,\n cleanErrors,\n resetErrors,\n cleanErrorForField\n } = (0, _useFormValidate.default)(controlledFormError, formValidateProps);\n const submit = (0, _hooks.useEventCallback)(event => {\n // Check the form before submitting\n if (check()) {\n onSubmit === null || onSubmit === void 0 || onSubmit(formValue, event);\n }\n });\n const reset = (0, _hooks.useEventCallback)(event => {\n resetErrors();\n onReset === null || onReset === void 0 || onReset(
|
|
2900
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\nvar _FormStack = _interopRequireDefault(__webpack_require__(/*! ../FormStack */ \"./src/FormStack/index.tsx\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../internals/Box */ \"./src/internals/Box/index.tsx\"));\nvar _useSchemaModel = _interopRequireDefault(__webpack_require__(/*! ./hooks/useSchemaModel */ \"./src/Form/hooks/useSchemaModel.ts\"));\nvar _useFormValidate = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFormValidate */ \"./src/Form/hooks/useFormValidate.ts\"));\nvar _useFormValue = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFormValue */ \"./src/Form/hooks/useFormValue.ts\"));\nvar _useFormRef = _interopRequireDefault(__webpack_require__(/*! ./hooks/useFormRef */ \"./src/Form/hooks/useFormRef.ts\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _FormContext = __webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\";\nfunction _interopRequireWildcard(e, t) { if (\"function\" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) \"default\" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }\nconst defaultSchema = (0, _schemaTyped.SchemaModel)({});\nconst Subcomponents = {\n Stack: _FormStack.default,\n Control: _FormControl.default,\n Label: _FormControlLabel.default,\n ErrorMessage: _FormErrorMessage.default,\n Group: _FormGroup.default,\n Text: _FormHelpText.default,\n /**\n * @deprecated Use `Form.Label` instead\n */\n ControlLabel: _FormControlLabel.default,\n /**\n * @deprecated Use `Form.Text` instead\n */\n HelpText: _FormHelpText.default\n};\n\n/**\n * The `Form` component is a form interface for collecting and validating user input.\n * @see https://rsuitejs.com/components/form\n */\nconst Form = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('Form', props);\n const {\n checkTrigger = 'change',\n errorFromContext = true,\n formDefaultValue = {},\n formValue: controlledFormValue,\n formError: controlledFormError,\n nestedField = false,\n fluid,\n layout,\n model: formModel = defaultSchema,\n readOnly,\n plaintext,\n children,\n disabled,\n onSubmit,\n onReset,\n onCheck,\n onError,\n onChange,\n ...rest\n } = propsWithDefaults;\n const {\n getCombinedModel,\n pushFieldRule,\n removeFieldRule\n } = (0, _useSchemaModel.default)(formModel, nestedField);\n const {\n formValue,\n onRemoveValue,\n setFieldValue,\n resetFormValue\n } = (0, _useFormValue.default)(controlledFormValue, {\n formDefaultValue,\n nestedField\n });\n const formValidateProps = {\n formValue,\n getCombinedModel,\n onCheck,\n onError,\n nestedField\n };\n const {\n formError,\n onRemoveError,\n check,\n checkAsync,\n checkForField,\n checkFieldForNextValue,\n checkForFieldAsync,\n checkFieldAsyncForNextValue,\n cleanErrors,\n resetErrors,\n cleanErrorForField\n } = (0, _useFormValidate.default)(controlledFormError, formValidateProps);\n const submit = (0, _hooks.useEventCallback)(event => {\n // Check the form before submitting\n if (check()) {\n onSubmit === null || onSubmit === void 0 || onSubmit(formValue, event);\n }\n });\n const reset = (0, _hooks.useEventCallback)(event => {\n resetErrors();\n const resetValue = resetFormValue();\n if (resetValue) {\n onChange === null || onChange === void 0 || onChange(resetValue);\n }\n onReset === null || onReset === void 0 || onReset(resetValue, event);\n });\n const handleSubmit = (0, _hooks.useEventCallback)(event => {\n var _event$preventDefault, _event$stopPropagatio;\n event === null || event === void 0 || (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 || _event$preventDefault.call(event);\n event === null || event === void 0 || (_event$stopPropagatio = event.stopPropagation) === null || _event$stopPropagatio === void 0 || _event$stopPropagatio.call(event);\n\n // Prevent submission when the form is disabled, readOnly, or plaintext\n if (disabled || readOnly || plaintext) {\n return;\n }\n submit(event);\n });\n const handleReset = (0, _hooks.useEventCallback)(event => {\n var _event$preventDefault2, _event$stopPropagatio2;\n event === null || event === void 0 || (_event$preventDefault2 = event.preventDefault) === null || _event$preventDefault2 === void 0 || _event$preventDefault2.call(event);\n event === null || event === void 0 || (_event$stopPropagatio2 = event.stopPropagation) === null || _event$stopPropagatio2 === void 0 || _event$stopPropagatio2.call(event);\n\n // Prevent reset when the form is disabled, readOnly, or plaintext\n if (disabled || readOnly || plaintext) {\n return;\n }\n reset(event);\n });\n const imperativeMethods = {\n check,\n checkForField,\n checkAsync,\n checkForFieldAsync,\n cleanErrors,\n cleanErrorForField,\n reset,\n resetErrors,\n submit\n };\n const formRef = (0, _useFormRef.default)(ref, {\n imperativeMethods\n });\n const removeFieldValue = (0, _hooks.useEventCallback)(name => {\n const formValue = onRemoveValue(name);\n onChange === null || onChange === void 0 || onChange(formValue);\n });\n const removeFieldError = (0, _hooks.useEventCallback)(name => {\n onRemoveError(name);\n });\n const onFieldChange = (0, _hooks.useEventCallback)((name, value, event) => {\n const nextFormValue = setFieldValue(name, value);\n onChange === null || onChange === void 0 || onChange(nextFormValue, event);\n });\n const formContextValue = {\n errorFromContext,\n checkTrigger,\n plaintext,\n readOnly,\n disabled,\n formError,\n nestedField,\n pushFieldRule,\n removeFieldValue,\n removeFieldError,\n removeFieldRule,\n onFieldChange,\n checkFieldForNextValue,\n checkFieldAsyncForNextValue\n };\n const formChild = (0, _react.useMemo)(() => {\n return fluid || layout ? /*#__PURE__*/_react.default.createElement(_FormStack.default, {\n fluid: fluid,\n layout: layout,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 297,\n columnNumber: 7\n }\n }, children) : children;\n }, [fluid, children, layout]);\n return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({\n as: \"form\",\n \"data-rs\": \"form\",\n \"data-disabled\": disabled,\n \"data-readonly\": readOnly,\n \"data-plaintext\": plaintext,\n ref: formRef,\n onSubmit: handleSubmit,\n onReset: handleReset\n }, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 306,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.FormProvider, {\n value: formContextValue,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 317,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueProvider, {\n value: formValue,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 318,\n columnNumber: 9\n }\n }, formChild)));\n}, Subcomponents);\nForm.displayName = 'Form';\nvar _default = exports[\"default\"] = Form;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
|
|
2890
2901
|
|
|
2891
2902
|
/***/ }),
|
|
2892
2903
|
|
|
@@ -5075,7 +5086,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
5075
5086
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5076
5087
|
|
|
5077
5088
|
"use strict";
|
|
5078
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _Star = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Star */ \"./node_modules/@rsuite/icons/esm/react/Star.js\"));\nvar _Character = _interopRequireDefault(__webpack_require__(/*! ./Character */ \"./src/Rate/Character.tsx\"));\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../internals/Plaintext */ \"./src/internals/Plaintext/index.tsx\"));\nvar _StyledBox = _interopRequireDefault(__webpack_require__(/*! ../internals/StyledBox */ \"./src/internals/StyledBox/index.tsx\"));\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Rate/utils.ts\");\nvar _useRatingStates = __webpack_require__(/*! ./useRatingStates */ \"./src/Rate/useRatingStates.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Rate/Rate.tsx\";\n/**\n * The `Rate` component is used for rating. It can be used to evaluate the quality of the content.\n * @see https://rsuitejs.com/components/rate/\n */\nconst Rate = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('Rate', props);\n const {\n as = 'ul',\n character = /*#__PURE__*/_react.default.createElement(_Star.default, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber:
|
|
5089
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _Star = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Star */ \"./node_modules/@rsuite/icons/esm/react/Star.js\"));\nvar _Character = _interopRequireDefault(__webpack_require__(/*! ./Character */ \"./src/Rate/Character.tsx\"));\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../internals/Plaintext */ \"./src/internals/Plaintext/index.tsx\"));\nvar _StyledBox = _interopRequireDefault(__webpack_require__(/*! ../internals/StyledBox */ \"./src/internals/StyledBox/index.tsx\"));\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Rate/utils.ts\");\nvar _useRatingStates = __webpack_require__(/*! ./useRatingStates */ \"./src/Rate/useRatingStates.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Rate/Rate.tsx\";\n/**\n * The `Rate` component is used for rating. It can be used to evaluate the quality of the content.\n * @see https://rsuitejs.com/components/rate/\n */\nconst Rate = (0, _utils.forwardRef)((props, ref) => {\n const {\n propsWithDefaults\n } = (0, _hooks.useCustom)('Rate', props);\n const {\n as = 'ul',\n character = /*#__PURE__*/_react.default.createElement(_Star.default, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 66,\n columnNumber: 17\n }\n }),\n className,\n classPrefix = 'rate',\n disabled,\n max = 5,\n name,\n readOnly,\n vertical,\n size,\n color,\n allowHalf = false,\n value: valueProp,\n defaultValue = 0,\n cleanable = true,\n plaintext,\n style,\n onChange,\n renderCharacter,\n onChangeActive,\n ...rest\n } = propsWithDefaults;\n const [value, setValue] = (0, _hooks.useControlled)(valueProp, defaultValue);\n const {\n merge,\n withPrefix\n } = (0, _hooks.useStyles)(classPrefix);\n const classes = merge(className, withPrefix());\n\n // Use the custom hook to manage rating star states\n const {\n starStates,\n setStarStates,\n resetStarStates,\n hoverValue,\n getStarStates\n } = (0, _useRatingStates.useRatingStates)({\n value,\n max,\n allowHalf,\n valueProp\n });\n const handleMouseLeave = (0, _hooks.useEventCallback)(event => {\n resetStarStates();\n onChangeActive === null || onChangeActive === void 0 || onChangeActive(value, event);\n });\n const handleChangeValue = (0, _hooks.useEventCallback)((index, event) => {\n let nextValue = (0, _utils2.transformStarStatusToValue)(starStates);\n if (cleanable && value === nextValue && getStarStates(value)[index] === starStates[index]) {\n nextValue = 0;\n }\n if (nextValue !== value) {\n setValue(nextValue);\n setStarStates(getStarStates(nextValue));\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n }\n });\n const handleKeyDown = (0, _hooks.useEventCallback)((index, event) => {\n const {\n key\n } = event;\n let nextValue = (0, _utils2.transformStarStatusToValue)(starStates);\n if (key === _constants.KEY_VALUES.RIGHT && nextValue < max) {\n nextValue = allowHalf ? nextValue + 0.5 : nextValue + 1;\n } else if (key === _constants.KEY_VALUES.LEFT && nextValue > 0) {\n nextValue = allowHalf ? nextValue - 0.5 : nextValue - 1;\n }\n setStarStates(getStarStates(nextValue));\n if (key === _constants.KEY_VALUES.ENTER) {\n handleChangeValue(index, event);\n }\n });\n const handleChangeStarStates = (0, _hooks.useEventCallback)((index, key, event) => {\n const nextStarStates = starStates.map((_item, i) => {\n if (i === index && key === 'before' && allowHalf) {\n return 0.5;\n }\n return index >= i ? 1 : 0;\n });\n if (!(0, _utils.shallowEqualArray)(starStates, nextStarStates)) {\n setStarStates(nextStarStates);\n onChangeActive === null || onChangeActive === void 0 || onChangeActive((0, _utils2.transformStarStatusToValue)(nextStarStates), event);\n }\n });\n const handleClick = (0, _hooks.useEventCallback)((index, key, event) => {\n handleChangeStarStates(index, key, event);\n handleChangeValue(index, event);\n });\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n localeKey: \"notSelected\",\n className: className,\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 161,\n columnNumber: 7\n }\n }, !(0, _isNil.default)(value) ? `${value}/${max}` : null);\n }\n const mergedStyle = (0, _utils.mergeStyles)(style, {\n '--rs-rate-before-size': (0, _utils2.getFractionalValue)(value)\n });\n return /*#__PURE__*/_react.default.createElement(_StyledBox.default, (0, _extends2.default)({\n as: as,\n name: \"rate\",\n size: size,\n color: color,\n role: \"radiogroup\",\n tabIndex: disabled ? -1 : 0,\n ref: ref,\n className: classes,\n style: mergedStyle,\n onMouseLeave: handleMouseLeave,\n \"data-disabled\": disabled,\n \"data-readonly\": readOnly,\n \"data-name\": name\n }, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 172,\n columnNumber: 5\n }\n }), starStates.map((status, index) => /*#__PURE__*/_react.default.createElement(_Character.default, {\n role: \"radio\",\n \"aria-posinset\": index + 1,\n \"aria-setsize\": max,\n \"aria-checked\": value === index + 1,\n key: index,\n status: status,\n disabled: disabled || readOnly,\n vertical: vertical,\n onClick: (key, event) => handleClick(index, key, event),\n onKeyDown: event => handleKeyDown(index, event),\n onMouseMove: (key, event) => handleChangeStarStates(index, key, event),\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 189,\n columnNumber: 9\n }\n }, renderCharacter ? renderCharacter(hoverValue, index) : character)));\n});\nRate.displayName = 'Rate';\nvar _default = exports[\"default\"] = Rate;\n\n//# sourceURL=webpack://rsuite/./src/Rate/Rate.tsx?");
|
|
5079
5090
|
|
|
5080
5091
|
/***/ }),
|
|
5081
5092
|
|
|
@@ -6120,7 +6131,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
6120
6131
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
6121
6132
|
|
|
6122
6133
|
"use strict";
|
|
6123
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _useForceUpdate = _interopRequireDefault(__webpack_require__(/*! ./useForceUpdate */ \"./src/Tree/hooks/useForceUpdate.ts\"));\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _utils = __webpack_require__(/*! ../../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/Tree/utils/index.ts\");\n/**\n * Custom hook that flattens a tree data structure into a map of nodes.\n *\n */\nfunction useFlattenTree(data, options) {\n const {\n value,\n labelKey,\n valueKey,\n childrenKey,\n uncheckableItemValues = [],\n cascade,\n multiple,\n callback\n } = options;\n const forceUpdate = (0, _useForceUpdate.default)();\n const flattenedNodes = (0, _react.useRef)({});\n const seenValues = (0, _react.useRef)(new Set());\n const updateTreeNodeCheckState = (0, _react.useCallback)((value = []) => {\n // Reset values to false\n Object.keys(flattenedNodes.current).forEach(refKey => {\n const node = flattenedNodes.current[refKey];\n if (cascade && !(0, _isNil.default)(node.parent) && !(0, _isNil.default)(node.parent.refKey)) {\n node.check = flattenedNodes.current[node.parent.refKey].check;\n } else {\n node.check = false;\n }\n value.forEach(nodeVal => {\n if ((0, _utils.shallowEqual)(flattenedNodes.current[refKey][valueKey], nodeVal) && !uncheckableItemValues.some(uncheckableValue => (0, _utils.shallowEqual)(nodeVal, uncheckableValue))) {\n flattenedNodes.current[refKey].check = true;\n }\n });\n });\n }, [cascade, uncheckableItemValues, valueKey]);\n const flattenTreeData = (0, _react.useCallback)((treeData, parent, layer = 1) => {\n if (!Array.isArray(treeData) || treeData.length === 0) {\n return [];\n }\n treeData.map(node => {\n const value = node[valueKey];\n\n // Check for duplicate values\n if (seenValues.current.has(value)) {\n console.error(`[rsuite] The value '${value}' is duplicated. Each node in the tree data must have a unique value.`);\n }\n seenValues.current.add(value);\n const refKey = (0, _utils2.formatNodeRefKey)(value);\n node.refKey = refKey;\n flattenedNodes.current[refKey] = {\n layer,\n [labelKey]: node[labelKey],\n [valueKey]: node[valueKey],\n uncheckable: uncheckableItemValues.some(value => (0, _utils.shallowEqual)(node[valueKey], value)),\n ...node\n };\n if (parent) {\n flattenedNodes.current[refKey].parent = (0, _omit.default)(parent, 'parent', 'children');\n }\n flattenTreeData(node[childrenKey], node, layer + 1);\n });\n callback === null || callback === void 0 || callback(flattenedNodes.current);\n forceUpdate();\n }, [callback, forceUpdate, valueKey, labelKey, uncheckableItemValues, childrenKey]);\n (0, _react.useEffect)(() => {\n // when data is changed, should clear the flattenedNodes, avoid duplicate keys\n flattenedNodes.current = {};\n seenValues.current.clear();\n flattenTreeData(data);\n }, [data]);\n (0, _react.useEffect)(() => {\n if (multiple) {\n updateTreeNodeCheckState(value);\n forceUpdate();\n }\n\n /**\n * Add a dependency on data, because when loading data asynchronously through getChildren,\n * data may change and the node status needs to be updated.\n * @see https://github.com/rsuite/rsuite/issues/3973\n */\n }, [value, data]);\n return flattenedNodes.current;\n}\nvar _default = exports[\"default\"] = useFlattenTree;\n\n//# sourceURL=webpack://rsuite/./src/Tree/hooks/useFlattenTree.ts?");
|
|
6134
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _useForceUpdate = _interopRequireDefault(__webpack_require__(/*! ./useForceUpdate */ \"./src/Tree/hooks/useForceUpdate.ts\"));\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _utils = __webpack_require__(/*! ../../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/Tree/utils/index.ts\");\n/**\n * Custom hook that flattens a tree data structure into a map of nodes.\n *\n */\nfunction useFlattenTree(data, options) {\n const {\n value,\n labelKey,\n valueKey,\n childrenKey,\n uncheckableItemValues = [],\n disabledItemValues = [],\n cascade,\n multiple,\n callback\n } = options;\n const forceUpdate = (0, _useForceUpdate.default)();\n const flattenedNodes = (0, _react.useRef)({});\n const seenValues = (0, _react.useRef)(new Set());\n const updateTreeNodeCheckState = (0, _react.useCallback)((value = []) => {\n // Reset values to false\n Object.keys(flattenedNodes.current).forEach(refKey => {\n const node = flattenedNodes.current[refKey];\n\n // Check if this node or any of its parents is disabled\n const isNodeDisabled = disabledItemValues.some(disabledValue => (0, _utils.shallowEqual)(node[valueKey], disabledValue));\n let hasDisabledParent = false;\n let currentNode = node;\n while (currentNode.parent && !hasDisabledParent) {\n const parentRefKey = currentNode.parent.refKey;\n if (parentRefKey && flattenedNodes.current[parentRefKey]) {\n const parentValue = flattenedNodes.current[parentRefKey][valueKey];\n if (disabledItemValues.some(disabledValue => (0, _utils.shallowEqual)(parentValue, disabledValue))) {\n hasDisabledParent = true;\n }\n }\n currentNode = currentNode.parent;\n }\n\n // Skip disabled nodes - they should not be affected by cascade or value changes\n if (isNodeDisabled || hasDisabledParent) {\n return;\n }\n if (cascade && !(0, _isNil.default)(node.parent) && !(0, _isNil.default)(node.parent.refKey)) {\n node.check = flattenedNodes.current[node.parent.refKey].check;\n } else {\n node.check = false;\n }\n value.forEach(nodeVal => {\n if ((0, _utils.shallowEqual)(flattenedNodes.current[refKey][valueKey], nodeVal) && !uncheckableItemValues.some(uncheckableValue => (0, _utils.shallowEqual)(nodeVal, uncheckableValue))) {\n flattenedNodes.current[refKey].check = true;\n }\n });\n });\n }, [cascade, uncheckableItemValues, disabledItemValues, valueKey]);\n const flattenTreeData = (0, _react.useCallback)((treeData, parent, layer = 1) => {\n if (!Array.isArray(treeData) || treeData.length === 0) {\n return [];\n }\n treeData.map(node => {\n const value = node[valueKey];\n\n // Check for duplicate values\n if (seenValues.current.has(value)) {\n console.error(`[rsuite] The value '${value}' is duplicated. Each node in the tree data must have a unique value.`);\n }\n seenValues.current.add(value);\n const refKey = (0, _utils2.formatNodeRefKey)(value);\n node.refKey = refKey;\n flattenedNodes.current[refKey] = {\n layer,\n [labelKey]: node[labelKey],\n [valueKey]: node[valueKey],\n uncheckable: uncheckableItemValues.some(value => (0, _utils.shallowEqual)(node[valueKey], value)),\n ...node\n };\n if (parent) {\n flattenedNodes.current[refKey].parent = (0, _omit.default)(parent, 'parent', 'children');\n }\n flattenTreeData(node[childrenKey], node, layer + 1);\n });\n callback === null || callback === void 0 || callback(flattenedNodes.current);\n forceUpdate();\n }, [callback, forceUpdate, valueKey, labelKey, uncheckableItemValues, childrenKey]);\n (0, _react.useEffect)(() => {\n // when data is changed, should clear the flattenedNodes, avoid duplicate keys\n flattenedNodes.current = {};\n seenValues.current.clear();\n flattenTreeData(data);\n }, [data]);\n (0, _react.useEffect)(() => {\n if (multiple) {\n updateTreeNodeCheckState(value);\n forceUpdate();\n }\n\n /**\n * Add a dependency on data, because when loading data asynchronously through getChildren,\n * data may change and the node status needs to be updated.\n * @see https://github.com/rsuite/rsuite/issues/3973\n */\n }, [value, data]);\n return flattenedNodes.current;\n}\nvar _default = exports[\"default\"] = useFlattenTree;\n\n//# sourceURL=webpack://rsuite/./src/Tree/hooks/useFlattenTree.ts?");
|
|
6124
6135
|
|
|
6125
6136
|
/***/ }),
|
|
6126
6137
|
|
|
@@ -6131,7 +6142,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
6131
6142
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
6132
6143
|
|
|
6133
6144
|
"use strict";
|
|
6134
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _constants = __webpack_require__(/*! ../../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _hooks = __webpack_require__(/*! ../../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _Picker = __webpack_require__(/*! ../../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/Tree/utils/index.ts\");\nvar _useTreeNodeRefs = _interopRequireDefault(__webpack_require__(/*! ./useTreeNodeRefs */ \"./src/Tree/hooks/useTreeNodeRefs.ts\"));\n/**\n * Custom hook that manages the focus behavior of a tree component.\n */\nfunction useFocusTree(props) {\n const {\n filteredData,\n searchKeyword,\n flattenedNodes,\n expandItemValues,\n disabledItemValues,\n onExpand,\n onFocused\n } = props;\n const {\n rtl\n } = (0, _hooks.useCustom)();\n const {\n valueKey,\n childrenKey\n } = (0, _TreeProvider.useItemDataKeys)();\n const {\n treeNodesRefs,\n saveTreeNodeRef\n } = (0, _useTreeNodeRefs.default)();\n const treeViewRef = (0, _react.useRef)(null);\n const [focusItemValue, setFocusItemValue] = (0, _react.useState)(null);\n const register = (0, _TreeProvider.useRegisterTreeMethods)();\n const flattenedNodesRef = (0, _react.useRef)(flattenedNodes);\n const getFocusProps = value => {\n const options = {\n disabledItemValues,\n valueKey,\n childrenKey,\n expandItemValues\n };\n const focusableItems = (0, _utils.getFocusableItems)(filteredData, options, (0, _utils.isSearching)(searchKeyword));\n return {\n focusItemValue: value || focusItemValue,\n valueKey,\n focusableItems,\n treeNodesRefs\n };\n };\n const handleFocusItem = (0, _hooks.useEventCallback)(key => {\n const focusProps = getFocusProps();\n let focusedValue = null;\n if (key === _constants.KEY_VALUES.DOWN) {\n focusedValue = (0, _utils.focusNextItem)(focusProps);\n } else if (key === _constants.KEY_VALUES.UP) {\n focusedValue = (0, _utils.focusPreviousItem)(focusProps);\n }\n if (focusedValue) {\n setFocusItemValue(focusedValue);\n onFocused === null || onFocused === void 0 || onFocused(focusedValue);\n }\n });\n const handleLeftArrowEvent = (0, _hooks.useEventCallback)(() => {\n if ((0, _isNil.default)(focusItemValue)) {\n return;\n }\n const focusItem = (0, _utils.getActiveItem)(focusItemValue, flattenedNodes, valueKey);\n const expand = expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]);\n const onFocusItem = () => {\n var _focusItem$parent, _focusItem$parent2;\n const focusedValue = focusItem === null || focusItem === void 0 || (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey];\n setFocusItemValue(focusedValue);\n onFocused === null || onFocused === void 0 || onFocused(focusedValue);\n (0, _utils.focusTreeNode)(focusItem === null || focusItem === void 0 || (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs);\n };\n (0, _utils.handleLeftArrow)({\n focusItem,\n expand,\n onExpand,\n childrenKey,\n onFocusItem\n });\n });\n const handleRightArrowEvent = (0, _hooks.useEventCallback)(() => {\n if ((0, _isNil.default)(focusItemValue)) {\n return;\n }\n const focusItem = (0, _utils.getActiveItem)(focusItemValue, flattenedNodes, valueKey);\n const expand = expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]);\n const onFocusItem = () => handleFocusItem(_constants.KEY_VALUES.DOWN);\n (0, _utils.handleRightArrow)({\n focusItem,\n expand,\n childrenKey,\n onExpand,\n onFocusItem\n });\n });\n const onTreeKeydown = (0, _hooks.useEventCallback)(event => {\n (0, _Picker.onMenuKeyDown)(event, {\n down: () => handleFocusItem(_constants.KEY_VALUES.DOWN),\n up: () => handleFocusItem(_constants.KEY_VALUES.UP),\n left: rtl ? handleRightArrowEvent : handleLeftArrowEvent,\n right: rtl ? handleLeftArrowEvent : handleRightArrowEvent\n });\n });\n const focusTreeFirstNode = (0, _hooks.useEventCallback)(() => {\n handleFocusItem(_constants.KEY_VALUES.DOWN);\n });\n const focusTreeActiveNode = (0, _react.useCallback)(() => {\n const refKey = (0, _utils.focusCurrentItem)({\n container: treeViewRef.current\n });\n if (refKey) {\n var _flattenedNodesRef$cu;\n const node = (_flattenedNodesRef$cu = flattenedNodesRef.current) === null || _flattenedNodesRef$cu === void 0 ? void 0 : _flattenedNodesRef$cu[refKey];\n if (node) {\n setFocusItemValue(node[valueKey]);\n onFocused === null || onFocused === void 0 || onFocused(node[valueKey]);\n }\n }\n }, [onFocused, valueKey]);\n (0, _react.useEffect)(() => {\n const unregister = register === null || register === void 0 ? void 0 : register({\n focusTreeFirstNode,\n focusTreeActiveNode\n });\n return () => {\n unregister === null || unregister === void 0 || unregister();\n };\n }, []);\n (0, _react.useEffect)(() => {\n flattenedNodesRef.current = flattenedNodes;\n }, [flattenedNodes]);\n return {\n treeViewRef,\n focusTreeFirstNode,\n focusItemValue,\n treeNodesRefs,\n saveTreeNodeRef,\n setFocusItemValue,\n onTreeKeydown\n };\n}\nvar _default = exports[\"default\"] = useFocusTree;\n\n//# sourceURL=webpack://rsuite/./src/Tree/hooks/useFocusTree.ts?");
|
|
6145
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _constants = __webpack_require__(/*! ../../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _hooks = __webpack_require__(/*! ../../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _Picker = __webpack_require__(/*! ../../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/Tree/utils/index.ts\");\nvar _useTreeNodeRefs = _interopRequireDefault(__webpack_require__(/*! ./useTreeNodeRefs */ \"./src/Tree/hooks/useTreeNodeRefs.ts\"));\n/**\n * Custom hook that manages the focus behavior of a tree component.\n */\nfunction useFocusTree(props) {\n const {\n filteredData,\n searchKeyword,\n flattenedNodes,\n expandItemValues,\n disabledItemValues,\n onExpand,\n onFocused\n } = props;\n const {\n rtl\n } = (0, _hooks.useCustom)();\n const {\n valueKey,\n childrenKey\n } = (0, _TreeProvider.useItemDataKeys)();\n const {\n treeNodesRefs,\n saveTreeNodeRef\n } = (0, _useTreeNodeRefs.default)();\n const treeViewRef = (0, _react.useRef)(null);\n const [focusItemValue, setFocusItemValue] = (0, _react.useState)(null);\n const register = (0, _TreeProvider.useRegisterTreeMethods)();\n const flattenedNodesRef = (0, _react.useRef)(flattenedNodes);\n const getFocusProps = value => {\n const options = {\n disabledItemValues,\n valueKey,\n childrenKey,\n expandItemValues\n };\n const focusableItems = (0, _utils.getFocusableItems)(filteredData, options, (0, _utils.isSearching)(searchKeyword));\n return {\n focusItemValue: value || focusItemValue,\n valueKey,\n focusableItems,\n treeNodesRefs\n };\n };\n const handleFocusItem = (0, _hooks.useEventCallback)(key => {\n const focusProps = getFocusProps();\n let focusedValue = null;\n if (key === _constants.KEY_VALUES.DOWN) {\n focusedValue = (0, _utils.focusNextItem)(focusProps);\n } else if (key === _constants.KEY_VALUES.UP) {\n focusedValue = (0, _utils.focusPreviousItem)(focusProps);\n }\n if (focusedValue) {\n setFocusItemValue(focusedValue);\n onFocused === null || onFocused === void 0 || onFocused(focusedValue);\n }\n });\n const handleLeftArrowEvent = (0, _hooks.useEventCallback)(() => {\n if ((0, _isNil.default)(focusItemValue)) {\n return;\n }\n const focusItem = (0, _utils.getActiveItem)(focusItemValue, flattenedNodes, valueKey);\n const expand = expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]);\n const onFocusItem = () => {\n var _focusItem$parent, _focusItem$parent2;\n const focusedValue = focusItem === null || focusItem === void 0 || (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey];\n setFocusItemValue(focusedValue);\n onFocused === null || onFocused === void 0 || onFocused(focusedValue);\n (0, _utils.focusTreeNode)(focusItem === null || focusItem === void 0 || (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs);\n };\n (0, _utils.handleLeftArrow)({\n focusItem,\n expand,\n onExpand,\n childrenKey,\n onFocusItem\n });\n });\n const handleRightArrowEvent = (0, _hooks.useEventCallback)(() => {\n if ((0, _isNil.default)(focusItemValue)) {\n return;\n }\n const focusItem = (0, _utils.getActiveItem)(focusItemValue, flattenedNodes, valueKey);\n const expand = expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]);\n const onFocusItem = () => handleFocusItem(_constants.KEY_VALUES.DOWN);\n (0, _utils.handleRightArrow)({\n focusItem,\n expand,\n childrenKey,\n onExpand,\n onFocusItem\n });\n });\n const handleHomeKey = (0, _hooks.useEventCallback)(() => {\n const focusProps = getFocusProps();\n const focusedValue = (0, _utils.focusFirstItem)(focusProps);\n if (focusedValue) {\n setFocusItemValue(focusedValue);\n onFocused === null || onFocused === void 0 || onFocused(focusedValue);\n }\n });\n const handleEndKey = (0, _hooks.useEventCallback)(() => {\n const focusProps = getFocusProps();\n const focusedValue = (0, _utils.focusLastItem)(focusProps);\n if (focusedValue) {\n setFocusItemValue(focusedValue);\n onFocused === null || onFocused === void 0 || onFocused(focusedValue);\n }\n });\n const onTreeKeydown = (0, _hooks.useEventCallback)(event => {\n (0, _Picker.onMenuKeyDown)(event, {\n down: () => handleFocusItem(_constants.KEY_VALUES.DOWN),\n up: () => handleFocusItem(_constants.KEY_VALUES.UP),\n left: rtl ? handleRightArrowEvent : handleLeftArrowEvent,\n right: rtl ? handleLeftArrowEvent : handleRightArrowEvent,\n home: handleHomeKey,\n end: handleEndKey\n });\n });\n const focusTreeFirstNode = (0, _hooks.useEventCallback)(() => {\n handleFocusItem(_constants.KEY_VALUES.DOWN);\n });\n const focusTreeActiveNode = (0, _react.useCallback)(() => {\n const refKey = (0, _utils.focusCurrentItem)({\n container: treeViewRef.current\n });\n if (refKey) {\n var _flattenedNodesRef$cu;\n const node = (_flattenedNodesRef$cu = flattenedNodesRef.current) === null || _flattenedNodesRef$cu === void 0 ? void 0 : _flattenedNodesRef$cu[refKey];\n if (node) {\n setFocusItemValue(node[valueKey]);\n onFocused === null || onFocused === void 0 || onFocused(node[valueKey]);\n }\n }\n }, [onFocused, valueKey]);\n (0, _react.useEffect)(() => {\n const unregister = register === null || register === void 0 ? void 0 : register({\n focusTreeFirstNode,\n focusTreeActiveNode\n });\n return () => {\n unregister === null || unregister === void 0 || unregister();\n };\n }, []);\n (0, _react.useEffect)(() => {\n flattenedNodesRef.current = flattenedNodes;\n }, [flattenedNodes]);\n return {\n treeViewRef,\n focusTreeFirstNode,\n focusItemValue,\n treeNodesRefs,\n saveTreeNodeRef,\n setFocusItemValue,\n onTreeKeydown\n };\n}\nvar _default = exports[\"default\"] = useFocusTree;\n\n//# sourceURL=webpack://rsuite/./src/Tree/hooks/useFocusTree.ts?");
|
|
6135
6146
|
|
|
6136
6147
|
/***/ }),
|
|
6137
6148
|
|
|
@@ -6208,7 +6219,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = useTreeWithChildren
|
|
|
6208
6219
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
6209
6220
|
|
|
6210
6221
|
"use strict";
|
|
6211
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _intersection = _interopRequireDefault(__webpack_require__(/*! lodash/intersection */ \"./node_modules/lodash/intersection.js\"));\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _getNodeParentKeys = __webpack_require__(/*! ../utils/getNodeParentKeys */ \"./src/Tree/utils/getNodeParentKeys.ts\");\nvar _isSearching = __webpack_require__(/*! ../utils/isSearching */ \"./src/Tree/utils/isSearching.ts\");\nvar _flattenTree = __webpack_require__(/*! ../utils/flattenTree */ \"./src/Tree/utils/flattenTree.ts\");\nvar _utils = __webpack_require__(/*! ../../CheckTree/utils */ \"./src/CheckTree/utils.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\n/**\n * Determines whether a node should be shown based on the expanded state of its parent nodes.\n */\nfunction shouldShowNodeByParentExpanded(expandItemValues = [], parentKeys = []) {\n const intersectionKeys = (0, _intersection.default)(expandItemValues, parentKeys);\n if (intersectionKeys.length === parentKeys.length) {\n return true;\n }\n return false;\n}\nfunction useVirtualizedTreeData(nodes, data, options) {\n const {\n childrenKey,\n valueKey\n } = (0, _TreeProvider.useItemDataKeys)();\n\n /**\n * Formats the virtualized tree data.\n */\n return (0, _react.useCallback)(() => {\n const {\n cascade,\n searchKeyword,\n expandItemValues\n } = options;\n return (0, _flattenTree.UNSAFE_flattenTree)(data, childrenKey, node => {\n let formatted = {};\n const curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];\n const parentKeys = (0, _getNodeParentKeys.getNodeParentKeys)(nodes, curNode, valueKey);\n /**\n * When using virtualized,\n * if the parent node is collapsed, the child nodes should be hidden\n * avoid component height calculation errors\n */\n let visible = curNode !== null && curNode !== void 0 && curNode.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;\n\n /**\n * when searching, every node default expand\n * the node's visible should follow the original state\n */\n if ((0, _isSearching.isSearching)(searchKeyword)) {\n visible = node.visible;\n }\n if (curNode) {\n const checkState = !(0, _isUndefined.default)(cascade) ? (0, _utils.getNodeCheckState)(curNode, {\n cascade,\n nodes,\n childrenKey\n }) : undefined;\n formatted = {\n ...node,\n check: curNode.check,\n uncheckable: curNode.uncheckable,\n hasChildren: !!node[childrenKey],\n layer: curNode.layer,\n parent: curNode.parent,\n checkState,\n visible\n };\n }\n return formatted;\n });\n }, [childrenKey, data, nodes, options, valueKey]);\n}\nvar _default = exports[\"default\"] = useVirtualizedTreeData;\n\n//# sourceURL=webpack://rsuite/./src/Tree/hooks/useVirtualizedTreeData.ts?");
|
|
6222
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _intersection = _interopRequireDefault(__webpack_require__(/*! lodash/intersection */ \"./node_modules/lodash/intersection.js\"));\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _getNodeParentKeys = __webpack_require__(/*! ../utils/getNodeParentKeys */ \"./src/Tree/utils/getNodeParentKeys.ts\");\nvar _isSearching = __webpack_require__(/*! ../utils/isSearching */ \"./src/Tree/utils/isSearching.ts\");\nvar _flattenTree = __webpack_require__(/*! ../utils/flattenTree */ \"./src/Tree/utils/flattenTree.ts\");\nvar _utils = __webpack_require__(/*! ../../CheckTree/utils */ \"./src/CheckTree/utils.ts\");\nvar _TreeProvider = __webpack_require__(/*! ../../internals/Tree/TreeProvider */ \"./src/internals/Tree/TreeProvider.tsx\");\n/**\n * Determines whether a node should be shown based on the expanded state of its parent nodes.\n */\nfunction shouldShowNodeByParentExpanded(expandItemValues = [], parentKeys = []) {\n const intersectionKeys = (0, _intersection.default)(expandItemValues, parentKeys);\n if (intersectionKeys.length === parentKeys.length) {\n return true;\n }\n return false;\n}\nfunction useVirtualizedTreeData(nodes, data, options) {\n const {\n childrenKey,\n valueKey\n } = (0, _TreeProvider.useItemDataKeys)();\n\n /**\n * Formats the virtualized tree data.\n */\n return (0, _react.useCallback)(() => {\n const {\n cascade,\n searchKeyword,\n expandItemValues,\n disabledItemValues = []\n } = options;\n return (0, _flattenTree.UNSAFE_flattenTree)(data, childrenKey, node => {\n let formatted = {};\n const curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];\n const parentKeys = (0, _getNodeParentKeys.getNodeParentKeys)(nodes, curNode, valueKey);\n /**\n * When using virtualized,\n * if the parent node is collapsed, the child nodes should be hidden\n * avoid component height calculation errors\n */\n let visible = curNode !== null && curNode !== void 0 && curNode.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;\n\n /**\n * when searching, every node default expand\n * the node's visible should follow the original state\n */\n if ((0, _isSearching.isSearching)(searchKeyword)) {\n visible = node.visible;\n }\n if (curNode) {\n const checkState = !(0, _isUndefined.default)(cascade) ? (0, _utils.getNodeCheckState)(curNode, {\n cascade,\n nodes,\n childrenKey,\n disabledItemValues,\n valueKey\n }) : undefined;\n formatted = {\n ...node,\n check: curNode.check,\n uncheckable: curNode.uncheckable,\n hasChildren: !!node[childrenKey],\n layer: curNode.layer,\n parent: curNode.parent,\n checkState,\n visible\n };\n }\n return formatted;\n });\n }, [childrenKey, data, nodes, options, valueKey]);\n}\nvar _default = exports[\"default\"] = useVirtualizedTreeData;\n\n//# sourceURL=webpack://rsuite/./src/Tree/hooks/useVirtualizedTreeData.ts?");
|
|
6212
6223
|
|
|
6213
6224
|
/***/ }),
|
|
6214
6225
|
|
|
@@ -6241,7 +6252,7 @@ eval("\n\nexports.__esModule = true;\nexports.UNSAFE_flattenTree = UNSAFE_flatte
|
|
|
6241
6252
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
6242
6253
|
|
|
6243
6254
|
"use strict";
|
|
6244
|
-
eval("\n\nexports.__esModule = true;\nexports.getFocusableItems = exports.getActiveItem = exports.focusTreeNode = exports.focusPreviousItem = exports.focusNextItem = exports.focusCurrentItem = void 0;\nexports.scrollToActiveTreeNode = scrollToActiveTreeNode;\nvar _utils = __webpack_require__(/*! ../../internals/utils */ \"./src/internals/utils/index.ts\");\n// Active tree node selector\nconst SELECTED_TREEITEM_SELECTOR = '[role=\"treeitem\"][aria-selected=\"true\"]';\n\n/**\n * Retrieves the focusable items from the filtered data based on the provided props.\n * Excludes nodes that are not visible or are disabled.\n */\nconst getFocusableItems = (filteredData, props, isSearching) => {\n const {\n disabledItemValues,\n valueKey,\n childrenKey,\n expandItemValues\n } = props;\n const items = [];\n const loop = nodes => {\n nodes.forEach(node => {\n const disabled = disabledItemValues.some(disabledItem => (0, _utils.shallowEqual)(disabledItem, node[valueKey]));\n if (!disabled && node.visible) {\n items.push(node);\n }\n // always expand when searching\n const expand = isSearching ? true : expandItemValues.includes(node[valueKey]);\n if (node[childrenKey] && expand) {\n loop(node[childrenKey]);\n }\n });\n };\n loop(filteredData);\n return items;\n};\n\n/**\n * Returns the index of the active item in the focusItems array.\n *\n */\nexports.getFocusableItems = getFocusableItems;\nconst getActiveIndex = (focusItemValue, focusItems, valueKey) => {\n let activeIndex = -1;\n focusItems.forEach((item, index) => {\n if ((0, _utils.shallowEqual)(item[valueKey], focusItemValue)) {\n activeIndex = index;\n }\n });\n return activeIndex;\n};\n\n/**\n * Retrieves the active item from the flattened nodes based on the provided focus item value.\n */\nconst getActiveItem = (focusItemValue, flattenedNodes, valueKey) => {\n let nodeData = null;\n const activeNode = Object.values(flattenedNodes).find(node => (0, _utils.shallowEqual)(node[valueKey], focusItemValue));\n if (activeNode) {\n nodeData = activeNode;\n }\n return nodeData;\n};\n\n/**\n * Focuses on a specific tree node element.\n *\n */\nexports.getActiveItem = getActiveItem;\nconst focusTreeNode = (refKey, treeNodeRefs) => {\n var _treeItem$focus;\n const treeItem = treeNodeRefs[refKey];\n treeItem === null || treeItem === void 0 || (_treeItem$focus = treeItem.focus) === null || _treeItem$focus === void 0 || _treeItem$focus.call(treeItem);\n};\nexports.focusTreeNode = focusTreeNode;\n/**\n * Focuses on the next item in a tree.\n */\nconst focusNextItem = props => {\n const {\n focusItemValue,\n focusableItems,\n treeNodesRefs,\n valueKey\n } = props;\n const activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n if (focusableItems.length === 0) {\n return;\n }\n const nextIndex = activeIndex === focusableItems.length - 1 ? 0 : activeIndex + 1;\n const value = focusableItems[nextIndex][valueKey];\n focusTreeNode(focusableItems[nextIndex].refKey, treeNodesRefs);\n return value;\n};\n\n/**\n * Focuses on the previous item in a tree.\n */\nexports.focusNextItem = focusNextItem;\nconst focusPreviousItem = props => {\n const {\n focusItemValue,\n focusableItems,\n treeNodesRefs,\n valueKey\n } = props;\n const activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n if (focusableItems.length === 0) {\n return;\n }\n let prevIndex = activeIndex === 0 ? focusableItems.length - 1 : activeIndex - 1;\n prevIndex = prevIndex >= 0 ? prevIndex : 0;\n const value = focusableItems[prevIndex][valueKey];\n focusTreeNode(focusableItems[prevIndex].refKey, treeNodesRefs);\n return value;\n};\n\n/**\n * Returns the index of the first visible node in the tree that matches the given value.\n */\nexports.
|
|
6255
|
+
eval("\n\nexports.__esModule = true;\nexports.getFocusableItems = exports.getActiveItem = exports.focusTreeNode = exports.focusPreviousItem = exports.focusNextItem = exports.focusLastItem = exports.focusFirstItem = exports.focusCurrentItem = void 0;\nexports.scrollToActiveTreeNode = scrollToActiveTreeNode;\nvar _utils = __webpack_require__(/*! ../../internals/utils */ \"./src/internals/utils/index.ts\");\n// Active tree node selector\nconst SELECTED_TREEITEM_SELECTOR = '[role=\"treeitem\"][aria-selected=\"true\"]';\n\n/**\n * Retrieves the focusable items from the filtered data based on the provided props.\n * Excludes nodes that are not visible or are disabled.\n */\nconst getFocusableItems = (filteredData, props, isSearching) => {\n const {\n disabledItemValues,\n valueKey,\n childrenKey,\n expandItemValues\n } = props;\n const items = [];\n const loop = nodes => {\n nodes.forEach(node => {\n const disabled = disabledItemValues.some(disabledItem => (0, _utils.shallowEqual)(disabledItem, node[valueKey]));\n if (!disabled && node.visible) {\n items.push(node);\n }\n // always expand when searching\n const expand = isSearching ? true : expandItemValues.includes(node[valueKey]);\n if (node[childrenKey] && expand) {\n loop(node[childrenKey]);\n }\n });\n };\n loop(filteredData);\n return items;\n};\n\n/**\n * Returns the index of the active item in the focusItems array.\n *\n */\nexports.getFocusableItems = getFocusableItems;\nconst getActiveIndex = (focusItemValue, focusItems, valueKey) => {\n let activeIndex = -1;\n focusItems.forEach((item, index) => {\n if ((0, _utils.shallowEqual)(item[valueKey], focusItemValue)) {\n activeIndex = index;\n }\n });\n return activeIndex;\n};\n\n/**\n * Retrieves the active item from the flattened nodes based on the provided focus item value.\n */\nconst getActiveItem = (focusItemValue, flattenedNodes, valueKey) => {\n let nodeData = null;\n const activeNode = Object.values(flattenedNodes).find(node => (0, _utils.shallowEqual)(node[valueKey], focusItemValue));\n if (activeNode) {\n nodeData = activeNode;\n }\n return nodeData;\n};\n\n/**\n * Focuses on a specific tree node element.\n *\n */\nexports.getActiveItem = getActiveItem;\nconst focusTreeNode = (refKey, treeNodeRefs) => {\n var _treeItem$focus;\n const treeItem = treeNodeRefs[refKey];\n treeItem === null || treeItem === void 0 || (_treeItem$focus = treeItem.focus) === null || _treeItem$focus === void 0 || _treeItem$focus.call(treeItem);\n};\nexports.focusTreeNode = focusTreeNode;\n/**\n * Focuses on the next item in a tree.\n */\nconst focusNextItem = props => {\n const {\n focusItemValue,\n focusableItems,\n treeNodesRefs,\n valueKey\n } = props;\n const activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n if (focusableItems.length === 0) {\n return;\n }\n const nextIndex = activeIndex === focusableItems.length - 1 ? 0 : activeIndex + 1;\n const value = focusableItems[nextIndex][valueKey];\n focusTreeNode(focusableItems[nextIndex].refKey, treeNodesRefs);\n return value;\n};\n\n/**\n * Focuses on the previous item in a tree.\n */\nexports.focusNextItem = focusNextItem;\nconst focusPreviousItem = props => {\n const {\n focusItemValue,\n focusableItems,\n treeNodesRefs,\n valueKey\n } = props;\n const activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n if (focusableItems.length === 0) {\n return;\n }\n let prevIndex = activeIndex === 0 ? focusableItems.length - 1 : activeIndex - 1;\n prevIndex = prevIndex >= 0 ? prevIndex : 0;\n const value = focusableItems[prevIndex][valueKey];\n focusTreeNode(focusableItems[prevIndex].refKey, treeNodesRefs);\n return value;\n};\n\n/**\n * Focuses on the first item in a tree.\n */\nexports.focusPreviousItem = focusPreviousItem;\nconst focusFirstItem = props => {\n const {\n focusableItems,\n treeNodesRefs,\n valueKey\n } = props;\n if (focusableItems.length === 0) {\n return;\n }\n const firstItem = focusableItems[0];\n const value = firstItem[valueKey];\n focusTreeNode(firstItem.refKey, treeNodesRefs);\n return value;\n};\n\n/**\n * Focuses on the last item in a tree.\n */\nexports.focusFirstItem = focusFirstItem;\nconst focusLastItem = props => {\n const {\n focusableItems,\n treeNodesRefs,\n valueKey\n } = props;\n if (focusableItems.length === 0) {\n return;\n }\n const lastItem = focusableItems[focusableItems.length - 1];\n const value = lastItem[valueKey];\n focusTreeNode(lastItem.refKey, treeNodesRefs);\n return value;\n};\n\n/**\n * Returns the index of the first visible node in the tree that matches the given value.\n */\nexports.focusLastItem = focusLastItem;\nconst getScrollToIndex = (nodes, value, valueKey) => {\n return nodes.filter(n => n.visible).findIndex(item => item[valueKey] === value);\n};\n/**\n * Scrolls the list to the active tree node.\n *\n * @param props - The props object containing the necessary parameters.\n */\nfunction scrollToActiveTreeNode(props) {\n const {\n list,\n value,\n valueKey,\n virtualized,\n formattedNodes\n } = props;\n if (virtualized && value) {\n var _list$scrollToItem;\n const scrollIndex = getScrollToIndex(formattedNodes, value, valueKey);\n list === null || list === void 0 || (_list$scrollToItem = list.scrollToItem) === null || _list$scrollToItem === void 0 || _list$scrollToItem.call(list, scrollIndex);\n }\n}\nconst focusCurrentItem = props => {\n const {\n selector = SELECTED_TREEITEM_SELECTOR,\n container\n } = props;\n const activeItem = container === null || container === void 0 ? void 0 : container.querySelector(selector);\n if (activeItem) {\n var _activeItem$focus, _activeItem$dataset;\n activeItem === null || activeItem === void 0 || (_activeItem$focus = activeItem.focus) === null || _activeItem$focus === void 0 || _activeItem$focus.call(activeItem);\n return (_activeItem$dataset = activeItem.dataset) === null || _activeItem$dataset === void 0 ? void 0 : _activeItem$dataset.key;\n }\n};\nexports.focusCurrentItem = focusCurrentItem;\n\n//# sourceURL=webpack://rsuite/./src/Tree/utils/focusableTree.ts?");
|
|
6245
6256
|
|
|
6246
6257
|
/***/ }),
|
|
6247
6258
|
|
|
@@ -6318,7 +6329,7 @@ eval("\n\nexports.__esModule = true;\nexports.indentTreeNode = indentTreeNode;\n
|
|
|
6318
6329
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
6319
6330
|
|
|
6320
6331
|
"use strict";
|
|
6321
|
-
eval("\n\nexports.__esModule = true;\nexports.isSearching = exports.isExpand = exports.indentTreeNode = exports.hasVisibleChildren = exports.handleRightArrow = exports.handleLeftArrow = exports.getTreeActiveNode = exports.getNodeParentKeys = exports.getFocusableItems = exports.getExpandItemValues = exports.getActiveItem = exports.formatNodeRefKey = exports.focusTreeNode = exports.focusPreviousItem = exports.focusNextItem = exports.focusCurrentItem = exports.flattenTree = exports.WalkTreeStrategy = exports.UNSAFE_flattenTree = void 0;\nvar _getNodeParentKeys = __webpack_require__(/*! ./getNodeParentKeys */ \"./src/Tree/utils/getNodeParentKeys.ts\");\nexports.getNodeParentKeys = _getNodeParentKeys.getNodeParentKeys;\nvar _flattenTree = __webpack_require__(/*! ./flattenTree */ \"./src/Tree/utils/flattenTree.ts\");\nexports.UNSAFE_flattenTree = _flattenTree.UNSAFE_flattenTree;\nexports.flattenTree = _flattenTree.flattenTree;\nexports.WalkTreeStrategy = _flattenTree.WalkTreeStrategy;\nvar _hasVisibleChildren = __webpack_require__(/*! ./hasVisibleChildren */ \"./src/Tree/utils/hasVisibleChildren.ts\");\nexports.hasVisibleChildren = _hasVisibleChildren.hasVisibleChildren;\nvar _getExpandItemValues = __webpack_require__(/*! ./getExpandItemValues */ \"./src/Tree/utils/getExpandItemValues.ts\");\nexports.getExpandItemValues = _getExpandItemValues.getExpandItemValues;\nvar _getTreeActiveNode = __webpack_require__(/*! ./getTreeActiveNode */ \"./src/Tree/utils/getTreeActiveNode.ts\");\nexports.getTreeActiveNode = _getTreeActiveNode.getTreeActiveNode;\nvar _formatNodeRefKey = __webpack_require__(/*! ./formatNodeRefKey */ \"./src/Tree/utils/formatNodeRefKey.ts\");\nexports.formatNodeRefKey = _formatNodeRefKey.formatNodeRefKey;\nvar _indentTreeNode = __webpack_require__(/*! ./indentTreeNode */ \"./src/Tree/utils/indentTreeNode.ts\");\nexports.indentTreeNode = _indentTreeNode.indentTreeNode;\nvar _isSearching = __webpack_require__(/*! ./isSearching */ \"./src/Tree/utils/isSearching.ts\");\nexports.isSearching = _isSearching.isSearching;\nvar _isExpand = __webpack_require__(/*! ./isExpand */ \"./src/Tree/utils/isExpand.ts\");\nexports.isExpand = _isExpand.isExpand;\nvar _focusableTree = __webpack_require__(/*! ./focusableTree */ \"./src/Tree/utils/focusableTree.ts\");\nexports.getFocusableItems = _focusableTree.getFocusableItems;\nexports.getActiveItem = _focusableTree.getActiveItem;\nexports.focusNextItem = _focusableTree.focusNextItem;\nexports.focusPreviousItem = _focusableTree.focusPreviousItem;\nexports.focusTreeNode = _focusableTree.focusTreeNode;\nexports.focusCurrentItem = _focusableTree.focusCurrentItem;\nvar _treeKeyboardInteractions = __webpack_require__(/*! ./treeKeyboardInteractions */ \"./src/Tree/utils/treeKeyboardInteractions.ts\");\nexports.handleLeftArrow = _treeKeyboardInteractions.handleLeftArrow;\nexports.handleRightArrow = _treeKeyboardInteractions.handleRightArrow;\n\n//# sourceURL=webpack://rsuite/./src/Tree/utils/index.ts?");
|
|
6332
|
+
eval("\n\nexports.__esModule = true;\nexports.isSearching = exports.isExpand = exports.indentTreeNode = exports.hasVisibleChildren = exports.handleRightArrow = exports.handleLeftArrow = exports.getTreeActiveNode = exports.getNodeParentKeys = exports.getFocusableItems = exports.getExpandItemValues = exports.getActiveItem = exports.formatNodeRefKey = exports.focusTreeNode = exports.focusPreviousItem = exports.focusNextItem = exports.focusLastItem = exports.focusFirstItem = exports.focusCurrentItem = exports.flattenTree = exports.WalkTreeStrategy = exports.UNSAFE_flattenTree = void 0;\nvar _getNodeParentKeys = __webpack_require__(/*! ./getNodeParentKeys */ \"./src/Tree/utils/getNodeParentKeys.ts\");\nexports.getNodeParentKeys = _getNodeParentKeys.getNodeParentKeys;\nvar _flattenTree = __webpack_require__(/*! ./flattenTree */ \"./src/Tree/utils/flattenTree.ts\");\nexports.UNSAFE_flattenTree = _flattenTree.UNSAFE_flattenTree;\nexports.flattenTree = _flattenTree.flattenTree;\nexports.WalkTreeStrategy = _flattenTree.WalkTreeStrategy;\nvar _hasVisibleChildren = __webpack_require__(/*! ./hasVisibleChildren */ \"./src/Tree/utils/hasVisibleChildren.ts\");\nexports.hasVisibleChildren = _hasVisibleChildren.hasVisibleChildren;\nvar _getExpandItemValues = __webpack_require__(/*! ./getExpandItemValues */ \"./src/Tree/utils/getExpandItemValues.ts\");\nexports.getExpandItemValues = _getExpandItemValues.getExpandItemValues;\nvar _getTreeActiveNode = __webpack_require__(/*! ./getTreeActiveNode */ \"./src/Tree/utils/getTreeActiveNode.ts\");\nexports.getTreeActiveNode = _getTreeActiveNode.getTreeActiveNode;\nvar _formatNodeRefKey = __webpack_require__(/*! ./formatNodeRefKey */ \"./src/Tree/utils/formatNodeRefKey.ts\");\nexports.formatNodeRefKey = _formatNodeRefKey.formatNodeRefKey;\nvar _indentTreeNode = __webpack_require__(/*! ./indentTreeNode */ \"./src/Tree/utils/indentTreeNode.ts\");\nexports.indentTreeNode = _indentTreeNode.indentTreeNode;\nvar _isSearching = __webpack_require__(/*! ./isSearching */ \"./src/Tree/utils/isSearching.ts\");\nexports.isSearching = _isSearching.isSearching;\nvar _isExpand = __webpack_require__(/*! ./isExpand */ \"./src/Tree/utils/isExpand.ts\");\nexports.isExpand = _isExpand.isExpand;\nvar _focusableTree = __webpack_require__(/*! ./focusableTree */ \"./src/Tree/utils/focusableTree.ts\");\nexports.getFocusableItems = _focusableTree.getFocusableItems;\nexports.getActiveItem = _focusableTree.getActiveItem;\nexports.focusNextItem = _focusableTree.focusNextItem;\nexports.focusPreviousItem = _focusableTree.focusPreviousItem;\nexports.focusFirstItem = _focusableTree.focusFirstItem;\nexports.focusLastItem = _focusableTree.focusLastItem;\nexports.focusTreeNode = _focusableTree.focusTreeNode;\nexports.focusCurrentItem = _focusableTree.focusCurrentItem;\nvar _treeKeyboardInteractions = __webpack_require__(/*! ./treeKeyboardInteractions */ \"./src/Tree/utils/treeKeyboardInteractions.ts\");\nexports.handleLeftArrow = _treeKeyboardInteractions.handleLeftArrow;\nexports.handleRightArrow = _treeKeyboardInteractions.handleRightArrow;\n\n//# sourceURL=webpack://rsuite/./src/Tree/utils/index.ts?");
|
|
6322
6333
|
|
|
6323
6334
|
/***/ }),
|
|
6324
6335
|
|
|
@@ -7033,7 +7044,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
7033
7044
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
7034
7045
|
|
|
7035
7046
|
"use strict";
|
|
7036
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports.createConcatChildrenFunction = createConcatChildrenFunction;\nexports.onMenuKeyDown = onMenuKeyDown;\nexports.shouldDisplay = shouldDisplay;\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _trim = _interopRequireDefault(__webpack_require__(/*! lodash/trim */ \"./node_modules/lodash/trim.js\"));\nvar _constants = __webpack_require__(/*! ../constants */ \"./src/internals/constants/index.ts\");\nvar _utils = __webpack_require__(/*! ../Tree/utils */ \"./src/internals/Tree/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/internals/utils/index.ts\");\nconst defaultNodeKeys = {\n valueKey: 'value',\n childrenKey: 'children'\n};\nfunction createConcatChildrenFunction(node, nodeValue, nodeKeys = defaultNodeKeys) {\n const {\n valueKey,\n childrenKey\n } = nodeKeys;\n return (data, children) => {\n if (nodeValue) {\n node = (0, _utils.findNodeOfTree)(data, item => nodeValue === item[valueKey]);\n }\n node[childrenKey] = children;\n return data.concat([]);\n };\n}\nfunction shouldDisplay(label, searchKeyword) {\n if (!(0, _trim.default)(searchKeyword)) {\n return true;\n }\n const keyword = searchKeyword.toLocaleLowerCase();\n if (typeof label === 'string' || typeof label === 'number') {\n return `${label}`.toLocaleLowerCase().indexOf(keyword) >= 0;\n } else if (/*#__PURE__*/_react.default.isValidElement(label)) {\n const nodes = (0, _utils2.reactToString)(label);\n return nodes.join('').toLocaleLowerCase().indexOf(keyword) >= 0;\n }\n return false;\n}\n/**\n * Handling keyboard events...\n * @param event Keyboard event object\n * @param events Event callback functions\n */\nfunction onMenuKeyDown(event, events) {\n const {\n down,\n up,\n enter,\n del,\n esc,\n right,\n left\n } = events;\n switch (event.key) {\n // down\n case _constants.KEY_VALUES.DOWN:\n down === null || down === void 0 || down(event);\n event.preventDefault();\n break;\n // up\n case _constants.KEY_VALUES.UP:\n up === null || up === void 0 || up(event);\n event.preventDefault();\n break;\n // enter\n case _constants.KEY_VALUES.ENTER:\n enter === null || enter === void 0 || enter(event);\n event.preventDefault();\n break;\n // delete\n case _constants.KEY_VALUES.BACKSPACE:\n del === null || del === void 0 || del(event);\n break;\n // esc | tab\n case _constants.KEY_VALUES.ESC:\n case _constants.KEY_VALUES.TAB:\n esc === null || esc === void 0 || esc(event);\n break;\n // left arrow\n case _constants.KEY_VALUES.LEFT:\n left === null || left === void 0 || left(event);\n break;\n // right arrow\n case _constants.KEY_VALUES.RIGHT:\n right === null || right === void 0 || right(event);\n break;\n default:\n }\n}\n\n//# sourceURL=webpack://rsuite/./src/internals/Picker/utils.ts?");
|
|
7047
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports.createConcatChildrenFunction = createConcatChildrenFunction;\nexports.onMenuKeyDown = onMenuKeyDown;\nexports.shouldDisplay = shouldDisplay;\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _trim = _interopRequireDefault(__webpack_require__(/*! lodash/trim */ \"./node_modules/lodash/trim.js\"));\nvar _constants = __webpack_require__(/*! ../constants */ \"./src/internals/constants/index.ts\");\nvar _utils = __webpack_require__(/*! ../Tree/utils */ \"./src/internals/Tree/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/internals/utils/index.ts\");\nconst defaultNodeKeys = {\n valueKey: 'value',\n childrenKey: 'children'\n};\nfunction createConcatChildrenFunction(node, nodeValue, nodeKeys = defaultNodeKeys) {\n const {\n valueKey,\n childrenKey\n } = nodeKeys;\n return (data, children) => {\n if (nodeValue) {\n node = (0, _utils.findNodeOfTree)(data, item => nodeValue === item[valueKey]);\n }\n node[childrenKey] = children;\n return data.concat([]);\n };\n}\nfunction shouldDisplay(label, searchKeyword) {\n if (!(0, _trim.default)(searchKeyword)) {\n return true;\n }\n const keyword = searchKeyword.toLocaleLowerCase();\n if (typeof label === 'string' || typeof label === 'number') {\n return `${label}`.toLocaleLowerCase().indexOf(keyword) >= 0;\n } else if (/*#__PURE__*/_react.default.isValidElement(label)) {\n const nodes = (0, _utils2.reactToString)(label);\n return nodes.join('').toLocaleLowerCase().indexOf(keyword) >= 0;\n }\n return false;\n}\n/**\n * Handling keyboard events...\n * @param event Keyboard event object\n * @param events Event callback functions\n */\nfunction onMenuKeyDown(event, events) {\n const {\n down,\n up,\n enter,\n del,\n esc,\n right,\n left,\n home,\n end\n } = events;\n switch (event.key) {\n // down\n case _constants.KEY_VALUES.DOWN:\n down === null || down === void 0 || down(event);\n event.preventDefault();\n break;\n // up\n case _constants.KEY_VALUES.UP:\n up === null || up === void 0 || up(event);\n event.preventDefault();\n break;\n // enter\n case _constants.KEY_VALUES.ENTER:\n enter === null || enter === void 0 || enter(event);\n event.preventDefault();\n break;\n // delete\n case _constants.KEY_VALUES.BACKSPACE:\n del === null || del === void 0 || del(event);\n break;\n // esc | tab\n case _constants.KEY_VALUES.ESC:\n case _constants.KEY_VALUES.TAB:\n esc === null || esc === void 0 || esc(event);\n break;\n // left arrow\n case _constants.KEY_VALUES.LEFT:\n left === null || left === void 0 || left(event);\n break;\n // right arrow\n case _constants.KEY_VALUES.RIGHT:\n right === null || right === void 0 || right(event);\n break;\n // home\n case _constants.KEY_VALUES.HOME:\n home === null || home === void 0 || home(event);\n event.preventDefault();\n break;\n // end\n case _constants.KEY_VALUES.END:\n end === null || end === void 0 || end(event);\n event.preventDefault();\n break;\n default:\n }\n}\n\n//# sourceURL=webpack://rsuite/./src/internals/Picker/utils.ts?");
|
|
7037
7048
|
|
|
7038
7049
|
/***/ }),
|
|
7039
7050
|
|
|
@@ -7176,7 +7187,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
7176
7187
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
7177
7188
|
|
|
7178
7189
|
"use strict";
|
|
7179
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../Box */ \"./src/internals/Box/index.tsx\"));\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/internals/utils/index.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/internals/StyledBox/StyledBox.tsx\";\nconst StyledBox = (0, _utils.forwardRef)((props, ref) => {\n const {\n as,\n color,\n name,\n style,\n size,\n ...rest\n } = props;\n const boxStyle = (0, _utils.mergeStyles)(style, (0, _utils.getSizeStyle)(size,
|
|
7190
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _Box = _interopRequireDefault(__webpack_require__(/*! ../Box */ \"./src/internals/Box/index.tsx\"));\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/internals/utils/index.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/internals/StyledBox/StyledBox.tsx\";\nconst StyledBox = (0, _utils.forwardRef)((props, ref) => {\n const {\n as,\n color,\n name: componentName,\n style,\n size,\n ...rest\n } = props;\n const boxStyle = (0, _utils.mergeStyles)(style, (0, _utils.getSizeStyle)(size, componentName), (0, _utils.getColorStyle)(color, componentName));\n return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({\n as: as,\n ref: ref,\n style: boxStyle\n }, rest, {\n __self: void 0,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 10\n }\n }));\n});\nStyledBox.displayName = 'StyledBox';\nvar _default = exports[\"default\"] = StyledBox;\n\n//# sourceURL=webpack://rsuite/./src/internals/StyledBox/StyledBox.tsx?");
|
|
7180
7191
|
|
|
7181
7192
|
/***/ }),
|
|
7182
7193
|
|
|
@@ -11182,9 +11193,9 @@ eval("var toFinite = __webpack_require__(/*! ./toFinite */ \"./node_modules/loda
|
|
|
11182
11193
|
/*!*****************************************!*\
|
|
11183
11194
|
!*** ./node_modules/lodash/toNumber.js ***!
|
|
11184
11195
|
\*****************************************/
|
|
11185
|
-
/***/ (function(module
|
|
11196
|
+
/***/ (function(module) {
|
|
11186
11197
|
|
|
11187
|
-
eval("
|
|
11198
|
+
eval("/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n//# sourceURL=webpack://rsuite/./node_modules/lodash/toNumber.js?");
|
|
11188
11199
|
|
|
11189
11200
|
/***/ }),
|
|
11190
11201
|
|
|
@@ -11202,9 +11213,9 @@ eval("var copyObject = __webpack_require__(/*! ./_copyObject */ \"./node_modules
|
|
|
11202
11213
|
/*!*****************************************!*\
|
|
11203
11214
|
!*** ./node_modules/lodash/toString.js ***!
|
|
11204
11215
|
\*****************************************/
|
|
11205
|
-
/***/ (function(module
|
|
11216
|
+
/***/ (function(module) {
|
|
11206
11217
|
|
|
11207
|
-
eval("
|
|
11218
|
+
eval("/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n//# sourceURL=webpack://rsuite/./node_modules/lodash/toString.js?");
|
|
11208
11219
|
|
|
11209
11220
|
/***/ }),
|
|
11210
11221
|
|