rsuite 5.7.1 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/Table/styles/index.less +2 -10
- package/cjs/Button/Button.d.ts +1 -1
- package/cjs/Cascader/Cascader.d.ts +12 -3
- package/cjs/Cascader/Cascader.js +17 -14
- package/cjs/Cascader/test/Cascader.test.d.ts +1 -0
- package/cjs/Cascader/test/Cascader.test.js +70 -0
- package/cjs/DateRangePicker/index.d.ts +1 -0
- package/cjs/Dropdown/Dropdown.d.ts +5 -2
- package/cjs/Dropdown/Dropdown.js +5 -1
- package/cjs/InputNumber/InputNumber.js +27 -34
- package/cjs/Menu/Menu.d.ts +10 -2
- package/cjs/Menu/Menu.js +18 -11
- package/cjs/Menu/MenuItem.js +1 -0
- package/cjs/Modal/Modal.d.ts +6 -2
- package/cjs/Modal/Modal.js +6 -2
- package/cjs/RangeSlider/RangeSlider.js +3 -1
- package/cjs/SelectPicker/SelectPicker.d.ts +1 -1
- package/cjs/SelectPicker/SelectPicker.js +2 -1
- package/cjs/Toggle/Toggle.js +7 -2
- package/dist/rsuite-rtl.css +4 -11
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +4 -11
- package/dist/rsuite.js +16 -16
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Button/Button.d.ts +1 -1
- package/esm/Cascader/Cascader.d.ts +12 -3
- package/esm/Cascader/Cascader.js +17 -14
- package/esm/Cascader/test/Cascader.test.d.ts +1 -0
- package/esm/Cascader/test/Cascader.test.js +59 -0
- package/esm/DateRangePicker/index.d.ts +1 -0
- package/esm/Dropdown/Dropdown.d.ts +5 -2
- package/esm/Dropdown/Dropdown.js +5 -1
- package/esm/InputNumber/InputNumber.js +28 -35
- package/esm/Menu/Menu.d.ts +10 -2
- package/esm/Menu/Menu.js +18 -11
- package/esm/Menu/MenuItem.js +1 -0
- package/esm/Modal/Modal.d.ts +6 -2
- package/esm/Modal/Modal.js +5 -3
- package/esm/RangeSlider/RangeSlider.js +3 -1
- package/esm/SelectPicker/SelectPicker.d.ts +1 -1
- package/esm/SelectPicker/SelectPicker.js +2 -1
- package/esm/Toggle/Toggle.js +8 -3
- package/package.json +2 -2
package/dist/rsuite.js
CHANGED
|
@@ -1979,7 +1979,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
1979
1979
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1980
1980
|
|
|
1981
1981
|
"use strict";
|
|
1982
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n valueProp = props.value,\n inline = props.inline,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n parentSelectable = props.parentSelectable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n id = props.id,\n renderMenuItem = props.renderMenuItem,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n getChildren = props.getChildren,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"childrenKey\", \"valueKey\", \"labelKey\", \"defaultValue\", \"placeholder\", \"disabled\", \"disabledItemValues\", \"appearance\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"value\", \"inline\", \"menuClassName\", \"menuStyle\", \"menuWidth\", \"menuHeight\", \"searchable\", \"parentSelectable\", \"placement\", \"id\", \"renderMenuItem\", \"renderValue\", \"renderMenu\", \"renderExtraFooter\", \"onEnter\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"getChildren\"]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)((0, _treeUtils.flattenTree)(data, childrenKey)),\n flattenData = _useState2[0],\n setFlattenData = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _usePaths = (0, _utils.usePaths)({\n data: data,\n valueKey: valueKey,\n childrenKey: childrenKey,\n value: value\n }),\n selectedPaths = _usePaths.selectedPaths,\n valueToPaths = _usePaths.valueToPaths,\n columnData = _usePaths.columnData,\n addColumn = _usePaths.addColumn,\n setValueToPaths = _usePaths.setValueToPaths,\n setColumnData = _usePaths.setColumnData,\n setSelectedPaths = _usePaths.setSelectedPaths,\n enforceUpdate = _usePaths.enforceUpdate;\n\n (0, _react.useEffect)(function () {\n setFlattenData((0, _treeUtils.flattenTree)(data, childrenKey));\n }, [data, childrenKey]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValue = valueToPaths.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils2.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState3 = (0, _react.useState)(''),\n searchKeyword = _useState3[0],\n setSearchKeyword = _useState3[1];\n\n var someKeyword = (0, _react.useCallback)(function (item, keyword) {\n if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n }, [labelKey, searchKeyword]);\n var getSearchResult = (0, _react.useCallback)(function (keyword) {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (!parentSelectable && item[childrenKey]) {\n return false;\n }\n\n return someKeyword(item, keyword);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]); // A maximum of 100 search results are returned.\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n }, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: valueToPaths !== null && valueToPaths !== void 0 && valueToPaths.length ? valueToPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n enforceUpdate(value, true);\n }, [enforceUpdate])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearch = (0, _react.useCallback)(function (value, event) {\n var items = getSearchResult(value);\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (items.length > 0) {\n setFocusItemValue(items[0][valueKey]);\n setLayer(0);\n setKeys([]);\n }\n }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);\n var handleEntered = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n setSearchKeyword('');\n }, [onClose]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setColumnData([data]);\n setValue(null);\n setSelectedPaths([]);\n setValueToPaths([]);\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n }, [data, disabled, onChange, setSelectedPaths, setColumnData, setValueToPaths, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var isLeafNode = focusItem && !focusItem[childrenKey];\n\n if (isLeafNode) {\n setValue(focusItemValue);\n setValueToPaths(selectedPaths);\n\n if (selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n if (!(0, _shallowEqual.default)(value, focusItemValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);\n }\n\n handleClose();\n }\n }, [childrenKey, data, focusItemValue, handleClose, onChange, selectedPaths, setLayer, setValue, setValueToPaths, value, valueKey]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter\n }, rest));\n\n var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;\n\n var nextValue = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths); // Lazy load node's children\n\n if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {\n node.loading = true;\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (data) {\n node.loading = false;\n node[childrenKey] = data;\n\n if (targetRef.current) {\n addColumn(data, cascadePaths.length);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\n }\n\n if (isLeafNode) {\n // Determines whether the option is a leaf node, and if so, closes the picker.\n handleClose(); // Update the selected path to the value path.\n // That is, the selected path will be displayed on the button after clicking the child node.\n\n setValueToPaths(cascadePaths);\n setValue(nextValue);\n\n if (!(0, _shallowEqual.default)(value, nextValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n\n return;\n }\n /** When the parent is optional, the value and the displayed path are updated. */\n\n\n if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n setValueToPaths(cascadePaths);\n } // Update menu position\n\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();\n };\n /**\n * The search structure option is processed after being selected.\n */\n\n\n var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {\n var nextValue = node[valueKey];\n handleClose();\n setSearchKeyword('');\n setValue(nextValue);\n setValueToPaths(nodes);\n enforceUpdate(nextValue);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n };\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n var formattedNodes = nodes.map(function (node) {\n var _extends2;\n\n var labelElements = [];\n var a = node[labelKey].split(regx);\n var b = node[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b && b[i]) {\n labelElements.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: i,\n className: prefix('cascader-search-match'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 433,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));\n });\n var disabled = disabledItemValues.some(function (value) {\n return formattedNodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = prefix('cascader-row', {\n 'cascader-row-disabled': disabled,\n 'cascader-row-focus': item[valueKey] === focusItemValue\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n handleSearchRowSelect(item, nodes, event);\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 451,\n columnNumber: 7\n }\n }, formattedNodes.map(function (node, index) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n key: \"col-\" + index,\n className: prefix('cascader-col'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 463,\n columnNumber: 11\n }\n }, node[labelKey]);\n }));\n };\n\n var renderSearchResultPanel = function renderSearchResultPanel() {\n if (searchKeyword === '') {\n return null;\n }\n\n var items = getSearchResult();\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('cascader-search-panel'),\n \"data-layer\": 0,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 478,\n columnNumber: 7\n }\n }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 482,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.className;\n\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var classes = merge(className, menuClassName, prefix('cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 494,\n columnNumber: 7\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 502,\n columnNumber: 11\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n activeItemValue: value,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 512,\n columnNumber: 11\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (valueToPaths.length > 0) {\n selectedElement = [];\n valueToPaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: key,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 28\n }\n }, item[labelKey]));\n\n if (index < valueToPaths.length - 1) {\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 544,\n columnNumber: 11\n }\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, valueToPaths, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n hasValue: hasValue,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design\n // consider an isolated Menu component\n\n\n if (inline) {\n return renderDropdownMenu();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 576,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 584,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value !== null && value !== void 0 ? value : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 585,\n columnNumber: 9\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCascader.displayName = 'Cascader';\nCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n cleanable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n searchable: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n parentSelectable: _propTypes.default.bool\n});\nvar _default = Cascader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
|
|
1982
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n valueProp = props.value,\n inline = props.inline,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n parentSelectable = props.parentSelectable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n id = props.id,\n renderMenuItem = props.renderMenuItem,\n renderSearchItem = props.renderSearchItem,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n getChildren = props.getChildren,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"childrenKey\", \"valueKey\", \"labelKey\", \"defaultValue\", \"placeholder\", \"disabled\", \"disabledItemValues\", \"appearance\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"value\", \"inline\", \"menuClassName\", \"menuStyle\", \"menuWidth\", \"menuHeight\", \"searchable\", \"parentSelectable\", \"placement\", \"id\", \"renderMenuItem\", \"renderSearchItem\", \"renderValue\", \"renderMenu\", \"renderExtraFooter\", \"onEnter\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"getChildren\"]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)((0, _treeUtils.flattenTree)(data, childrenKey)),\n flattenData = _useState2[0],\n setFlattenData = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _ref = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1];\n\n var _usePaths = (0, _utils.usePaths)({\n data: data,\n valueKey: valueKey,\n childrenKey: childrenKey,\n value: value\n }),\n selectedPaths = _usePaths.selectedPaths,\n valueToPaths = _usePaths.valueToPaths,\n columnData = _usePaths.columnData,\n addColumn = _usePaths.addColumn,\n setValueToPaths = _usePaths.setValueToPaths,\n setColumnData = _usePaths.setColumnData,\n setSelectedPaths = _usePaths.setSelectedPaths,\n enforceUpdate = _usePaths.enforceUpdate;\n\n (0, _react.useEffect)(function () {\n setFlattenData((0, _treeUtils.flattenTree)(data, childrenKey));\n }, [data, childrenKey]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValue = valueToPaths.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils2.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState3 = (0, _react.useState)(''),\n searchKeyword = _useState3[0],\n setSearchKeyword = _useState3[1];\n\n var someKeyword = (0, _react.useCallback)(function (item, keyword) {\n if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n }, [labelKey, searchKeyword]);\n var getSearchResult = (0, _react.useCallback)(function (keyword) {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (!parentSelectable && item[childrenKey]) {\n return false;\n }\n\n return someKeyword(item, keyword);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]); // A maximum of 100 search results are returned.\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n }, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: valueToPaths !== null && valueToPaths !== void 0 && valueToPaths.length ? valueToPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n enforceUpdate(value, true);\n }, [enforceUpdate])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearch = (0, _react.useCallback)(function (value, event) {\n var items = getSearchResult(value);\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (items.length > 0) {\n setFocusItemValue(items[0][valueKey]);\n setLayer(0);\n setKeys([]);\n }\n }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);\n var handleEntered = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n setSearchKeyword('');\n }, [onClose]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setColumnData([data]);\n setValue(null);\n setSelectedPaths([]);\n setValueToPaths([]);\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n }, [data, disabled, onChange, setSelectedPaths, setColumnData, setValueToPaths, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var isLeafNode = focusItem && !focusItem[childrenKey];\n\n if (isLeafNode) {\n setValue(focusItemValue);\n setValueToPaths(selectedPaths);\n\n if (selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n if (!(0, _shallowEqual.default)(value, focusItemValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);\n }\n\n handleClose();\n }\n }, [childrenKey, data, focusItemValue, handleClose, onChange, selectedPaths, setLayer, setValue, setValueToPaths, value, valueKey]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter\n }, rest));\n\n var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;\n\n var nextValue = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths); // Lazy load node's children\n\n if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {\n node.loading = true;\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (data) {\n node.loading = false;\n node[childrenKey] = data;\n\n if (targetRef.current) {\n addColumn(data, cascadePaths.length);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\n }\n\n if (isLeafNode) {\n // Determines whether the option is a leaf node, and if so, closes the picker.\n handleClose(); // Update the selected path to the value path.\n // That is, the selected path will be displayed on the button after clicking the child node.\n\n setValueToPaths(cascadePaths);\n setValue(nextValue);\n\n if (!(0, _shallowEqual.default)(value, nextValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n\n return;\n }\n /** When the parent is optional, the value and the displayed path are updated. */\n\n\n if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n setValueToPaths(cascadePaths);\n } // Update menu position\n\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();\n };\n /**\n * The search structure option is processed after being selected.\n */\n\n\n var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {\n var nextValue = node[valueKey];\n handleClose();\n setSearchKeyword('');\n setValue(nextValue);\n setValueToPaths(nodes);\n enforceUpdate(nextValue);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n };\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n var formattedNodes = nodes.map(function (node) {\n var _extends2;\n\n var labelElements = [];\n var a = node[labelKey].split(regx);\n var b = node[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b && b[i]) {\n labelElements.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: i,\n className: prefix('cascader-search-match'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 451,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));\n });\n var disabled = disabledItemValues.some(function (value) {\n return formattedNodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = prefix('cascader-row', {\n 'cascader-row-disabled': disabled,\n 'cascader-row-focus': item[valueKey] === focusItemValue\n });\n var label = formattedNodes.map(function (node, index) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n key: \"col-\" + index,\n className: prefix('cascader-col'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 472,\n columnNumber: 7\n }\n }, node[labelKey]);\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n handleSearchRowSelect(item, nodes, event);\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 478,\n columnNumber: 7\n }\n }, renderSearchItem ? renderSearchItem(label, nodes) : label);\n };\n\n var renderSearchResultPanel = function renderSearchResultPanel() {\n if (searchKeyword === '') {\n return null;\n }\n\n var items = getSearchResult();\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('cascader-search-panel'),\n \"data-layer\": 0,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 501,\n columnNumber: 7\n }\n }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 505,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref2 = positionProps || {},\n left = _ref2.left,\n top = _ref2.top,\n className = _ref2.className;\n\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var classes = merge(className, menuClassName, prefix('cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 517,\n columnNumber: 7\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 525,\n columnNumber: 11\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n activeItemValue: value,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 535,\n columnNumber: 11\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (valueToPaths.length > 0) {\n selectedElement = [];\n valueToPaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: key,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 564,\n columnNumber: 28\n }\n }, item[labelKey]));\n\n if (index < valueToPaths.length - 1) {\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 567,\n columnNumber: 11\n }\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, valueToPaths, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n hasValue: hasValue,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design\n // consider an isolated Menu component\n\n\n if (inline) {\n return renderDropdownMenu();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 599,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 607,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value !== null && value !== void 0 ? value : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 608,\n columnNumber: 9\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCascader.displayName = 'Cascader';\nCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n cleanable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderSearchItem: _propTypes.default.func,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n searchable: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n parentSelectable: _propTypes.default.bool\n});\nvar _default = Cascader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
|
|
1983
1983
|
|
|
1984
1984
|
/***/ }),
|
|
1985
1985
|
|
|
@@ -2507,7 +2507,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2507
2507
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2508
2508
|
|
|
2509
2509
|
"use strict";
|
|
2510
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Dropdown/DropdownMenu.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _DropdownItem = _interopRequireDefault(__webpack_require__(/*! ./DropdownItem */ \"./src/Dropdown/DropdownItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _DropdownToggle = _interopRequireDefault(__webpack_require__(/*! ./DropdownToggle */ \"./src/Dropdown/DropdownToggle.tsx\"));\n\nvar _MenuContext = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _kebabCase = _interopRequireDefault(__webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar */ \"./src/Navbar/index.tsx\");\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure/Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _SidenavDropdown = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdown */ \"./src/Sidenav/SidenavDropdown.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/Dropdown.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown> API\n * When used inside <Sidenav>, renders a <TreeviewRootItem>;\n * Otherwise renders a <MenuRoot>\n */\nvar Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeKey = props.activeKey,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"activeKey\", \"onSelect\"]);\n var _rest$as = rest.as,\n Component = _rest$as === void 0 ? 'div' : _rest$as,\n title = rest.title,\n onClose = rest.onClose,\n onOpen = rest.onOpen,\n onToggle = rest.onToggle,\n eventKey = rest.eventKey,\n _rest$trigger = rest.trigger,\n trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,\n _rest$placement = rest.placement,\n placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,\n toggleAs = rest.toggleAs,\n toggleClassName = rest.toggleClassName,\n _rest$classPrefix = rest.classPrefix,\n classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,\n className = rest.className,\n disabled = rest.disabled,\n children = rest.children,\n menuStyle = rest.menuStyle,\n style = rest.style,\n toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, [\"as\", \"title\", \"onClose\", \"onOpen\", \"onToggle\", \"eventKey\", \"trigger\", \"placement\", \"toggleAs\", \"toggleClassName\", \"classPrefix\", \"className\", \"disabled\", \"children\", \"menuStyle\", \"style\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n onSelectFromNav = _useContext.onSelect;\n\n var emitSelect = (0, _react.useCallback)(function (eventKey, event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>\n\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [onSelectProp, onSelectFromNav]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),\n withNavItemClassPrefix = _useClassNames3.withClassPrefix,\n mergeNavItemClassNames = _useClassNames3.merge;\n\n var menuButtonTriggers = (0, _react.useMemo)(function () {\n if (!trigger) {\n return undefined;\n }\n\n var triggerMap = {\n hover: 'mouseover',\n click: 'click',\n contextMenu: 'contextmenu'\n };\n\n if (!Array.isArray(trigger)) {\n return [triggerMap[trigger]];\n }\n\n return trigger.map(function (t) {\n return triggerMap[t];\n });\n }, [trigger]);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n\n var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),\n items = _useReducer[0].items,\n dispatch = _useReducer[1];\n\n var hasSelectedItem = (0, _react.useMemo)(function () {\n return items.some(function (item) {\n return item.props.selected;\n });\n }, [items]);\n var dropdownContextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: emitSelect,\n hasSelectedItem: hasSelectedItem,\n dispatch: dispatch\n };\n }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({\n ref: ref\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 188,\n columnNumber: 9\n }\n })));\n } // Renders a disclosure when used inside <Navbar>\n\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 196,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 197,\n columnNumber: 9\n }\n }, function (_ref, containerRef) {\n var _withClassPrefix;\n\n var open = _ref.open;\n var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 210,\n columnNumber: 17\n }\n }, function (buttonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: buttonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(buttonProps, ['open']), toggleProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 212,\n columnNumber: 21\n }\n }), title);\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 17\n }\n }, function (_ref2, elementRef) {\n var open = _ref2.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n ref: elementRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 229,\n columnNumber: 23\n }\n }, children);\n }));\n }));\n }\n\n var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: menuButtonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 249,\n columnNumber: 5\n }\n }), title);\n };\n\n if (parentMenu) {\n renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 264,\n columnNumber: 7\n }\n }, function (_ref3, menuitemRef) {\n var active = _ref3.active,\n menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"active\"]);\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n as: toggleAs,\n className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({\n focus: active\n }))\n }, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 13\n }\n }), title);\n });\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Menu.default, {\n menuButtonText: title,\n renderMenuButton: renderMenuButton,\n openMenuOn: menuButtonTriggers,\n renderMenuPopup: function renderMenuPopup(_ref4, popupRef) {\n var open = _ref4.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu\n\n var showHeader = !!sidenav;\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open\n }, popupProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 300,\n columnNumber: 13\n }\n }), showHeader && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 30\n }\n }, title), children);\n },\n onToggleMenu: function onToggleMenu(open, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);\n sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);\n\n if (open) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n } else {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 290,\n columnNumber: 7\n }\n }, function (_ref5, menuContainerRef) {\n var _withClassPrefix2;\n\n var open = _ref5.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"open\"]);\n var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, (0, _pick.default)(toggleProps, ['data-testid']), {\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 334,\n columnNumber: 13\n }\n }));\n }));\n});\n\nDropdown.Item = _DropdownItem.default;\nDropdown.Menu = _DropdownMenu.default;\nDropdown.displayName = 'Dropdown';\nDropdown.propTypes = {\n activeKey: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),\n placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),\n title: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n icon: _propTypes.default.node,\n menuStyle: _propTypes.default.object,\n className: _propTypes.default.string,\n toggleClassName: _propTypes.default.string,\n children: _propTypes.default.node,\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n eventKey: _propTypes.default.any,\n as: _propTypes.default.elementType,\n toggleAs: _propTypes.default.elementType,\n noCaret: _propTypes.default.bool,\n style: _propTypes.default.object,\n onClose: _propTypes.default.func,\n onOpen: _propTypes.default.func,\n onToggle: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onMouseEnter: _propTypes.default.func,\n onMouseLeave: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onClick: _propTypes.default.func,\n renderToggle: _propTypes.default.func\n};\nvar _default = Dropdown;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/Dropdown.tsx?");
|
|
2510
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Dropdown/DropdownMenu.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _DropdownItem = _interopRequireDefault(__webpack_require__(/*! ./DropdownItem */ \"./src/Dropdown/DropdownItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _DropdownToggle = _interopRequireDefault(__webpack_require__(/*! ./DropdownToggle */ \"./src/Dropdown/DropdownToggle.tsx\"));\n\nvar _MenuContext = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _kebabCase = _interopRequireDefault(__webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar */ \"./src/Navbar/index.tsx\");\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure/Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _SidenavDropdown = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdown */ \"./src/Sidenav/SidenavDropdown.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/Dropdown.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown> API\n * When used inside <Sidenav>, renders a <TreeviewRootItem>;\n * Otherwise renders a <MenuRoot>\n */\nvar Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeKey = props.activeKey,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"activeKey\", \"onSelect\"]);\n var _rest$as = rest.as,\n Component = _rest$as === void 0 ? 'div' : _rest$as,\n title = rest.title,\n onClose = rest.onClose,\n onOpen = rest.onOpen,\n onToggle = rest.onToggle,\n eventKey = rest.eventKey,\n _rest$trigger = rest.trigger,\n trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,\n _rest$placement = rest.placement,\n placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,\n toggleAs = rest.toggleAs,\n toggleClassName = rest.toggleClassName,\n open = rest.open,\n defaultOpen = rest.defaultOpen,\n _rest$classPrefix = rest.classPrefix,\n classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,\n className = rest.className,\n disabled = rest.disabled,\n children = rest.children,\n menuStyle = rest.menuStyle,\n style = rest.style,\n toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, [\"as\", \"title\", \"onClose\", \"onOpen\", \"onToggle\", \"eventKey\", \"trigger\", \"placement\", \"toggleAs\", \"toggleClassName\", \"open\", \"defaultOpen\", \"classPrefix\", \"className\", \"disabled\", \"children\", \"menuStyle\", \"style\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n onSelectFromNav = _useContext.onSelect;\n\n var emitSelect = (0, _react.useCallback)(function (eventKey, event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>\n\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [onSelectProp, onSelectFromNav]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),\n withNavItemClassPrefix = _useClassNames3.withClassPrefix,\n mergeNavItemClassNames = _useClassNames3.merge;\n\n var menuButtonTriggers = (0, _react.useMemo)(function () {\n if (!trigger) {\n return undefined;\n }\n\n var triggerMap = {\n hover: 'mouseover',\n click: 'click',\n contextMenu: 'contextmenu'\n };\n\n if (!Array.isArray(trigger)) {\n return [triggerMap[trigger]];\n }\n\n return trigger.map(function (t) {\n return triggerMap[t];\n });\n }, [trigger]);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n\n var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),\n items = _useReducer[0].items,\n dispatch = _useReducer[1];\n\n var hasSelectedItem = (0, _react.useMemo)(function () {\n return items.some(function (item) {\n return item.props.selected;\n });\n }, [items]);\n var dropdownContextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: emitSelect,\n hasSelectedItem: hasSelectedItem,\n dispatch: dispatch\n };\n }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({\n ref: ref\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 193,\n columnNumber: 9\n }\n })));\n } // Renders a disclosure when used inside <Navbar>\n\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 202,\n columnNumber: 9\n }\n }, function (_ref, containerRef) {\n var _withClassPrefix;\n\n var open = _ref.open;\n var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 214,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 17\n }\n }, function (buttonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: buttonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(buttonProps, ['open']), toggleProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 21\n }\n }), title);\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 230,\n columnNumber: 17\n }\n }, function (_ref2, elementRef) {\n var open = _ref2.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n ref: elementRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 234,\n columnNumber: 23\n }\n }, children);\n }));\n }));\n }\n\n var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: menuButtonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 254,\n columnNumber: 5\n }\n }), title);\n };\n\n if (parentMenu) {\n renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 269,\n columnNumber: 7\n }\n }, function (_ref3, menuitemRef) {\n var active = _ref3.active,\n menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"active\"]);\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n as: toggleAs,\n className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({\n focus: active\n }))\n }, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 13\n }\n }), title);\n });\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 294,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Menu.default, {\n open: open,\n defaultOpen: defaultOpen,\n menuButtonText: title,\n renderMenuButton: renderMenuButton,\n openMenuOn: menuButtonTriggers,\n renderMenuPopup: function renderMenuPopup(_ref4, popupRef) {\n var open = _ref4.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu\n\n var showHeader = !!sidenav;\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open\n }, popupProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 13\n }\n }), showHeader && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 30\n }\n }, title), children);\n },\n onToggleMenu: function onToggleMenu(open, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);\n sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);\n\n if (open) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n } else {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 295,\n columnNumber: 7\n }\n }, function (_ref5, menuContainerRef) {\n var _withClassPrefix2;\n\n var open = _ref5.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"open\"]);\n var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, (0, _pick.default)(toggleProps, ['data-testid']), {\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 13\n }\n }));\n }));\n});\n\nDropdown.Item = _DropdownItem.default;\nDropdown.Menu = _DropdownMenu.default;\nDropdown.displayName = 'Dropdown';\nDropdown.propTypes = {\n activeKey: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),\n placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),\n title: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n icon: _propTypes.default.node,\n menuStyle: _propTypes.default.object,\n className: _propTypes.default.string,\n toggleClassName: _propTypes.default.string,\n children: _propTypes.default.node,\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n eventKey: _propTypes.default.any,\n as: _propTypes.default.elementType,\n toggleAs: _propTypes.default.elementType,\n noCaret: _propTypes.default.bool,\n style: _propTypes.default.object,\n onClose: _propTypes.default.func,\n onOpen: _propTypes.default.func,\n onToggle: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onMouseEnter: _propTypes.default.func,\n onMouseLeave: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onClick: _propTypes.default.func,\n renderToggle: _propTypes.default.func\n};\nvar _default = Dropdown;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/Dropdown.tsx?");
|
|
2511
2511
|
|
|
2512
2512
|
/***/ }),
|
|
2513
2513
|
|
|
@@ -2936,7 +2936,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2936
2936
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2937
2937
|
|
|
2938
2938
|
"use strict";
|
|
2939
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _AngleUp = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleUp */ \"./node_modules/@rsuite/icons/legacy/AngleUp.js\"));\n\nvar _AngleDown = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleDown */ \"./node_modules/@rsuite/icons/legacy/AngleDown.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroup */ \"./src/InputGroup/InputGroup.tsx\"));\n\nvar _InputGroupAddon = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroupAddon */ \"./src/InputGroup/InputGroupAddon.tsx\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ../Button */ \"./src/Button/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputNumber/InputNumber.tsx\",\n _this = void 0;\n\n/**\n * Check if the value is a number.\n * @param value\n */\nvar isNumber = function isNumber(value) {\n return /(^-?|^\\+?|^\\d?)\\d*\\.\\d+$/.test(value + '');\n};\n/**\n * Get the length of the decimal.\n * @param value\n */\n\n\nfunction getDecimalLength(value) {\n if (isNumber(value)) {\n return value.toString().split('.')[1].length;\n }\n\n return 0;\n}\n/**\n * Get the value after the decimal point.\n * @param values\n */\n\n\nfunction decimals() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var lengths = values.map(getDecimalLength);\n return Math.max.apply(Math, lengths);\n}\n/**\n * Disable the upper limit of the number.\n * @param value\n * @param max\n */\n\n\nfunction disableMaxValue(value, max) {\n if (!(0, _isNil.default)(value)) {\n return +value >= max;\n }\n\n return false;\n}\n/**\n * Disable the lower limit of the number.\n * @param value\n * @param min\n */\n\n\nfunction disableMinValue(value, min) {\n if (!(0, _isNil.default)(value)) {\n return +value <= min;\n }\n\n return false;\n}\n\nvar InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _InputGroup.default : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n size = props.size,\n prefixElement = props.prefix,\n postfix = props.postfix,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$buttonAppearan = props.buttonAppearance,\n buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,\n minProp = props.min,\n maxProp = props.max,\n _props$scrollable = props.scrollable,\n scrollable = _props$scrollable === void 0 ? true : _props$scrollable,\n onChange = props.onChange,\n onWheel = props.onWheel,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"value\", \"defaultValue\", \"size\", \"prefix\", \"postfix\", \"step\", \"buttonAppearance\", \"min\", \"max\", \"scrollable\", \"onChange\", \"onWheel\"]);\n var min = minProp !== null && minProp !== void 0 ? minProp : -Infinity;\n var max = maxProp !== null && maxProp !== void 0 ? maxProp : Infinity;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useState = (0, _react.useState)(function () {\n return disableMaxValue(value, max);\n }),\n disabledUpButton = _useState[0],\n setDisabledUpButton = _useState[1];\n\n var _useState2 = (0, _react.useState)(function () {\n return disableMinValue(value, min);\n }),\n disabledDownButton = _useState2[0],\n setDisabledDownButton = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix());\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n var inputRef = (0, _react.useRef)();\n var handleChangeValue = (0, _react.useCallback)(function (currentValue, event) {\n if (currentValue !== value) {\n // Disable the up button when the value is greater than the maximum value.\n setDisabledUpButton(disableMaxValue(currentValue, max)); // Disable the down button when the value is greater than the minimum value.\n\n setDisabledDownButton(disableMinValue(currentValue, min));\n setValue(currentValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(currentValue, event);\n }\n }, [max, min, onChange, setValue, value]);\n var getSafeValue = (0, _react.useCallback)(function (value) {\n if (!Number.isNaN(value)) {\n if (+value > max) {\n value = max;\n }\n\n if (+value < min) {\n value = min;\n }\n } else {\n value = '';\n }\n\n return value.toString();\n }, [max, min]);\n var handlePlus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val + step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleMinus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n switch (event.key) {\n case _utils.KEY_VALUES.UP:\n event.preventDefault();\n handlePlus(event);\n break;\n\n case _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n handleMinus(event);\n break;\n\n case _utils.KEY_VALUES.HOME:\n if (typeof minProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(minProp), event);\n }\n\n break;\n\n case _utils.KEY_VALUES.END:\n if (typeof maxProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(maxProp), event);\n }\n\n break;\n }\n }, [handlePlus, handleMinus, minProp, maxProp, handleChangeValue, getSafeValue]);\n var handleWheel = (0, _react.useCallback)(function (event) {\n if (!disabled && !readOnly && event.target === document.activeElement) {\n event.preventDefault();\n var delta = event['wheelDelta'] || -event.deltaY || -(event === null || event === void 0 ? void 0 : event.detail);\n\n if (delta > 0) {\n handleMinus(event);\n }\n\n if (delta < 0) {\n handlePlus(event);\n }\n }\n\n onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);\n }, [disabled, handleMinus, handlePlus, onWheel, readOnly]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n if (!/^-?(?:\\d+)?(\\.)?\\d*$/.test(value) && value !== '') {\n return;\n }\n\n handleChangeValue(value, event);\n }, [handleChangeValue]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var targetValue = Number.parseFloat((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);\n handleChangeValue(getSafeValue(targetValue), event);\n }, [getSafeValue, handleChangeValue]);\n (0, _react.useEffect)(function () {\n var wheelListener;\n\n if (inputRef.current && scrollable) {\n wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {\n passive: false\n });\n }\n\n return function () {\n var _wheelListener;\n\n (_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();\n };\n }, [handleWheel, scrollable]);\n\n var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {\n type: \"number\",\n autoComplete: \"off\",\n step: step,\n inputRef: inputRef,\n onChange: handleChange,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, htmlInputProps === null || htmlInputProps === void 0 ? void 0 : htmlInputProps.onBlur),\n value: (0, _isNil.default)(value) ? '' : \"\" + value,\n disabled: disabled,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: plaintext ? ref : undefined,\n onKeyDown: handleKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 5\n }\n }));\n\n if (plaintext) {\n return input;\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 5\n }\n }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 25\n }\n }, prefixElement), input, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('btn-group-vertical'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 301,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n tabIndex: -1,\n appearance: buttonAppearance,\n className: prefix('touchspin-up'),\n onClick: handlePlus,\n disabled: disabledUpButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, {\n tabIndex: -1,\n appearance: buttonAppearance,\n className: prefix('touchspin-down'),\n onClick: handleMinus,\n disabled: disabledDownButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 311,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleDown.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 318,\n columnNumber: 11\n }\n }))), postfix && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 321,\n columnNumber: 19\n }\n }, postfix));\n});\n\nInputNumber.displayName = 'InputNumber';\nInputNumber.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n min: _propTypes.default.number,\n max: _propTypes.default.number,\n step: _propTypes.default.number,\n value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n prefix: _propTypes.default.node,\n postfix: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n scrollable: _propTypes.default.bool,\n size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),\n buttonAppearance: _propTypes.default.oneOf(['default', 'primary', 'link', 'subtle', 'ghost']),\n onWheel: _propTypes.default.func,\n onChange: _propTypes.default.func\n};\nvar _default = InputNumber;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputNumber/InputNumber.tsx?");
|
|
2939
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _AngleUp = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleUp */ \"./node_modules/@rsuite/icons/legacy/AngleUp.js\"));\n\nvar _AngleDown = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleDown */ \"./node_modules/@rsuite/icons/legacy/AngleDown.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroup */ \"./src/InputGroup/InputGroup.tsx\"));\n\nvar _InputGroupAddon = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroupAddon */ \"./src/InputGroup/InputGroupAddon.tsx\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ../Button */ \"./src/Button/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputNumber/InputNumber.tsx\",\n _this = void 0;\n\n/**\n * Check if the value is a number.\n * @param value\n */\nvar isNumber = function isNumber(value) {\n return /(^-?|^\\+?|^\\d?)\\d*\\.\\d+$/.test(value + '');\n};\n/**\n * Get the length of the decimal.\n * @param value\n */\n\n\nfunction getDecimalLength(value) {\n if (isNumber(value)) {\n return value.toString().split('.')[1].length;\n }\n\n return 0;\n}\n/**\n * Get the value after the decimal point.\n * @param values\n */\n\n\nfunction decimals() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var lengths = values.map(getDecimalLength);\n return Math.max.apply(Math, lengths);\n}\n/**\n * Disable the upper limit of the number.\n * @param value\n * @param max\n */\n\n\nfunction valueReachesMax(value, max) {\n if (!(0, _isNil.default)(value)) {\n return +value >= max;\n }\n\n return false;\n}\n/**\n * Disable the lower limit of the number.\n * @param value\n * @param min\n */\n\n\nfunction valueReachesMin(value, min) {\n if (!(0, _isNil.default)(value)) {\n return +value <= min;\n }\n\n return false;\n}\n\nvar InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _InputGroup.default : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n size = props.size,\n prefixElement = props.prefix,\n postfix = props.postfix,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$buttonAppearan = props.buttonAppearance,\n buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,\n minProp = props.min,\n maxProp = props.max,\n _props$scrollable = props.scrollable,\n scrollable = _props$scrollable === void 0 ? true : _props$scrollable,\n onChange = props.onChange,\n onWheel = props.onWheel,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"value\", \"defaultValue\", \"size\", \"prefix\", \"postfix\", \"step\", \"buttonAppearance\", \"min\", \"max\", \"scrollable\", \"onChange\", \"onWheel\"]);\n var min = minProp !== null && minProp !== void 0 ? minProp : -Infinity;\n var max = maxProp !== null && maxProp !== void 0 ? maxProp : Infinity;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix());\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n var inputRef = (0, _react.useRef)();\n var handleChangeValue = (0, _react.useCallback)(function (currentValue, event) {\n if (currentValue !== value) {\n setValue(currentValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(currentValue, event);\n }\n }, [onChange, setValue, value]);\n var getSafeValue = (0, _react.useCallback)(function (value) {\n if (!Number.isNaN(value)) {\n if (+value > max) {\n value = max;\n }\n\n if (+value < min) {\n value = min;\n }\n } else {\n value = '';\n }\n\n return value.toString();\n }, [max, min]); // Increment value by step\n\n var handleStepUp = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val + step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]); // Decrement value by step\n\n var handleStepDown = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]); // Disables step up/down button when\n // - InputNumber is disabled/readonly\n // - value reaches max/min limits\n\n var stepUpDisabled = disabled || readOnly || valueReachesMax(value, max);\n var stepDownDisabled = disabled || readOnly || valueReachesMin(value, min);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n switch (event.key) {\n case _utils.KEY_VALUES.UP:\n event.preventDefault();\n handleStepUp(event);\n break;\n\n case _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n handleStepDown(event);\n break;\n\n case _utils.KEY_VALUES.HOME:\n if (typeof minProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(minProp), event);\n }\n\n break;\n\n case _utils.KEY_VALUES.END:\n if (typeof maxProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(maxProp), event);\n }\n\n break;\n }\n }, [handleStepUp, handleStepDown, minProp, maxProp, handleChangeValue, getSafeValue]);\n var handleWheel = (0, _react.useCallback)(function (event) {\n if (!disabled && !readOnly && event.target === document.activeElement) {\n event.preventDefault();\n var delta = event['wheelDelta'] || -event.deltaY || -(event === null || event === void 0 ? void 0 : event.detail);\n\n if (delta > 0) {\n handleStepDown(event);\n }\n\n if (delta < 0) {\n handleStepUp(event);\n }\n }\n\n onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);\n }, [disabled, handleStepDown, handleStepUp, onWheel, readOnly]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n if (!/^-?(?:\\d+)?(\\.)?\\d*$/.test(value) && value !== '') {\n return;\n }\n\n handleChangeValue(value, event);\n }, [handleChangeValue]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var targetValue = Number.parseFloat((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);\n handleChangeValue(getSafeValue(targetValue), event);\n }, [getSafeValue, handleChangeValue]);\n (0, _react.useEffect)(function () {\n var wheelListener;\n\n if (inputRef.current && scrollable) {\n wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {\n passive: false\n });\n }\n\n return function () {\n var _wheelListener;\n\n (_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();\n };\n }, [handleWheel, scrollable]);\n\n var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {\n type: \"number\",\n autoComplete: \"off\",\n step: step,\n inputRef: inputRef,\n onChange: handleChange,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, htmlInputProps === null || htmlInputProps === void 0 ? void 0 : htmlInputProps.onBlur),\n value: (0, _isNil.default)(value) ? '' : \"\" + value,\n disabled: disabled,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: plaintext ? ref : undefined,\n onKeyDown: handleKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 5\n }\n }));\n\n if (plaintext) {\n return input;\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 297,\n columnNumber: 5\n }\n }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 25\n }\n }, prefixElement), input, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('btn-group-vertical'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 300,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n tabIndex: -1,\n appearance: buttonAppearance,\n className: prefix('touchspin-up'),\n onClick: handleStepUp,\n disabled: stepUpDisabled,\n \"aria-label\": \"Increment\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 301,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, {\n tabIndex: -1,\n appearance: buttonAppearance,\n className: prefix('touchspin-down'),\n onClick: handleStepDown,\n disabled: stepDownDisabled,\n \"aria-label\": \"Decrement\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 311,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleDown.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 11\n }\n }))), postfix && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 19\n }\n }, postfix));\n});\n\nInputNumber.displayName = 'InputNumber';\nInputNumber.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n min: _propTypes.default.number,\n max: _propTypes.default.number,\n step: _propTypes.default.number,\n value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n prefix: _propTypes.default.node,\n postfix: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n scrollable: _propTypes.default.bool,\n size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),\n buttonAppearance: _propTypes.default.oneOf(['default', 'primary', 'link', 'subtle', 'ghost']),\n onWheel: _propTypes.default.func,\n onChange: _propTypes.default.func\n};\nvar _default = InputNumber;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputNumber/InputNumber.tsx?");
|
|
2940
2940
|
|
|
2941
2941
|
/***/ }),
|
|
2942
2942
|
|
|
@@ -3189,7 +3189,7 @@ eval("\n\nexports.__esModule = true;\nexports.convertMaskToPlaceholder = convert
|
|
|
3189
3189
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3190
3190
|
|
|
3191
3191
|
"use strict";
|
|
3192
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _useMenu = _interopRequireDefault(__webpack_require__(/*! ./useMenu */ \"./src/Menu/useMenu.ts\"));\n\nvar _useFocus2 = _interopRequireDefault(__webpack_require__(/*! ../utils/useFocus */ \"./src/utils/useFocus.ts\"));\n\nvar _useClickOutside = _interopRequireDefault(__webpack_require__(/*! ../utils/useClickOutside */ \"./src/utils/useClickOutside.ts\"));\n\nvar _events = __webpack_require__(/*! ../utils/events */ \"./src/utils/events.ts\");\n\nvar _dom = __webpack_require__(/*! ../utils/dom */ \"./src/utils/dom.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Menu/Menu.tsx\";\nvar defaultOpenMenuOn = ['click'];\n/**\n * Headless ARIA `menu`\n */\n\nfunction Menu(props) {\n var _items$activeItemInde;\n\n var disabled = props.disabled,\n children = props.children,\n _props$openMenuOn = props.openMenuOn,\n openMenuOn = _props$openMenuOn === void 0 ? defaultOpenMenuOn : _props$openMenuOn,\n menuButtonText = props.menuButtonText,\n renderMenuButton = props.renderMenuButton,\n renderMenuPopup = props.renderMenuPopup,\n onToggleMenu = props.onToggleMenu;\n var buttonElementRef = (0, _react.useRef)(null);\n var menuElementRef = (0, _react.useRef)(null);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var isSubmenu = !!parentMenu;\n var menu = (0, _useMenu.default)();\n var _menu$ = menu[0],\n open = _menu$.open,\n items = _menu$.items,\n activeItemIndex = _menu$.activeItemIndex,\n dispatch = menu[1];\n\n var _useCustom = (0, _utils.useCustom)('Menu'),\n rtl = _useCustom.rtl;\n\n var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;\n\n var _useFocus = (0, _useFocus2.default)(menuElementRef),\n grabFocus = _useFocus.grab;\n\n var openMenu = (0, _react.useCallback)(function (event) {\n dispatch({\n type: _MenuContext.MenuActionTypes.OpenMenu\n });\n\n if (!event.isTrusted) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n }\n\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);\n grabFocus();\n }, [dispatch, onToggleMenu, grabFocus]);\n var closeMenu = (0, _react.useCallback)(function (event, returnFocusToButton) {\n if (returnFocusToButton === void 0) {\n returnFocusToButton = true;\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);\n\n if (returnFocusToButton) {\n var _buttonElementRef$cur;\n\n (_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({\n preventScroll: true\n });\n }\n }, [dispatch, onToggleMenu, buttonElementRef]);\n var toggleMenu = (0, _react.useCallback)(function (event) {\n if (!open) {\n openMenu(event);\n } else {\n closeMenu(event);\n }\n }, [open, openMenu, closeMenu]);\n (0, _useClickOutside.default)({\n enabled: open,\n isOutside: function isOutside(event) {\n var _buttonElementRef$cur2, _menuElementRef$curre;\n\n return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));\n },\n // fixme if clicking on a focusable element, don't move focus to menu button\n handle: function handle(event) {\n return closeMenu(event, !(0, _dom.isFocusableElement)(event.target));\n }\n });\n /**\n * Keyboard interaction on menu button\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-13\n */\n\n var handleButtonKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Open the menu\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n } else {\n closeMenu(e);\n }\n\n break;\n // Open the menu (if closed) and move focus to first item\n // This is mostly useful after opening the menu with click\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n }\n }, [open, openMenu, closeMenu, dispatch]);\n var handleButtonClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n toggleMenu(event);\n }, [disabled, toggleMenu]);\n var handleButtonContextMenu = (0, _react.useCallback)(function (event) {\n // prevents default contextmenu\n event.preventDefault(); // Only opens menu on right click. Left click can close the menu opened by a right click\n\n if (open) return;\n if (disabled) return;\n openMenu(event);\n }, [open, disabled, openMenu]);\n var buttonEventHandlers = (0, _react.useMemo)(function () {\n var buttonEventHandlers = {\n onKeyDown: handleButtonKeydown\n };\n /**\n * Bind event of trigger,\n * not used in in the expanded state of '<Sidenav>'\n */\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {\n buttonEventHandlers.onClick = handleButtonClick;\n }\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {\n buttonEventHandlers.onContextMenu = handleButtonContextMenu;\n }\n\n return buttonEventHandlers;\n }, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);\n var buttonId = (0, _useUniqueId.default)('menubutton-');\n var menuId = (0, _useUniqueId.default)('menu-');\n var buttonAriaAttributes = (0, _react.useMemo)(function () {\n // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14\n return {\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': open || undefined,\n // it's recommend to remove aria-expanded when menu is hidden\n 'aria-controls': menuId\n };\n }, [open, menuId]);\n var buttonProps = (0, _react.useMemo)(function () {\n return (0, _extends2.default)({\n id: buttonId\n }, buttonAriaAttributes, buttonEventHandlers, {\n // render props\n open: open\n });\n }, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);\n var customMenuButton = (0, _react.useMemo)(function () {\n return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);\n }, [renderMenuButton, buttonProps, buttonElementRef]);\n var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement(\"button\", (0, _extends2.default)({\n ref: buttonElementRef\n }, buttonProps, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 259,\n columnNumber: 5\n }\n }), menuButtonText);\n /**\n * Keyboard interaction on menu\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-12\n */\n\n var handleMenuKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Move focus to previous item\n case _utils.KEY_VALUES.UP:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Prev\n });\n break;\n // Move focus to next item\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Next\n });\n break;\n // When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n\n case _utils.KEY_VALUES.RIGHT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n } else if (isSubmenu) {\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n }\n\n break;\n // When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem.\n\n case _utils.KEY_VALUES.LEFT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if (isSubmenu) {\n closeMenu(e);\n }\n } else if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n\n break;\n // Move focus to the first item\n\n case _utils.KEY_VALUES.HOME:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n // Move focus to the last item\n\n case _utils.KEY_VALUES.END:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Last\n });\n break;\n // - When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n // - Otherwise, activates the item and closes the menu.\n\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n if (activeItem) {\n e.preventDefault();\n e.stopPropagation();\n activeItem.click();\n\n if (!activeItem.getAttribute('aria-haspopup')) {\n closeMenu(e);\n }\n }\n\n break;\n // Close the menu that contains focus and return focus to the element or context,\n // e.g., menu button or parent menuitem, from which the menu was opened.\n\n case _utils.KEY_VALUES.ESC:\n closeMenu(e);\n break;\n }\n }, [dispatch, activeItem, isSubmenu, rtl, closeMenu]); // Only used for clicks bubbling from child `menuitem`s.\n\n var handleMenuClick = (0, _react.useCallback)(function (event) {\n var target = event.target; // Only handle clicks on `menuitem`s\n\n if (target.getAttribute('role') !== 'menuitem') return; // Ignore clicks on `menuitem`s that controls a submenu\n\n if (target.getAttribute('aria-haspopup') === 'menu') return; // Ignore disabled `menuitem`s\n\n if (target.getAttribute('aria-disabled') === 'true') return;\n closeMenu(event, !isSubmenu);\n }, [closeMenu, isSubmenu]); // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-13\n\n var menuAriaAttributes = {\n role: 'menu',\n 'aria-labelledby': buttonId,\n 'aria-activedescendant': activeItem === null || activeItem === void 0 ? void 0 : activeItem.id\n };\n var menuEventHandlers = {\n onClick: handleMenuClick,\n onKeyDown: handleMenuKeydown\n };\n var menuProps = (0, _extends2.default)({\n id: menuId\n }, menuAriaAttributes, menuEventHandlers, {\n tabIndex: 0\n });\n var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {\n open: open\n }), menuElementRef); // fixme Wrong children here\n\n var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: menuElementRef\n }, menuProps, {\n hidden: !open,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 404,\n columnNumber: 5\n }\n }), children);\n var handleMouseEnter = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n openMenu(e);\n }\n }, [disabled, openMenu]);\n var handleMouseLeave = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n closeMenu(e);\n }\n }, [disabled, closeMenu]);\n var rootElementRef = (0, _react.useRef)(null);\n var handleContainerBlur = (0, _react.useCallback)(function (event) {\n if ((0, _events.isFocusLeaving)(event)) {\n closeMenu(event, false);\n }\n }, [closeMenu]);\n var rootEventHandlers = {\n onBlur: handleContainerBlur\n };\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('mouseover')) {\n rootEventHandlers.onMouseEnter = handleMouseEnter;\n rootEventHandlers.onMouseLeave = handleMouseLeave;\n }\n\n var rootProps = (0, _extends2.default)({}, rootEventHandlers, {\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttonElement, /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {\n value: menu,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 452,\n columnNumber: 9\n }\n }, menuElement)),\n // render props\n open: open\n });\n\n if (isSubmenu) {\n rootProps.role = 'none presentation';\n }\n\n return children(rootProps, rootElementRef);\n}\n\nMenu.displayName = 'Menu';\nMenu.propTypes = {\n children: _propTypes.default.func.isRequired\n};\nvar _default = Menu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Menu/Menu.tsx?");
|
|
3192
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _useMenu = _interopRequireDefault(__webpack_require__(/*! ./useMenu */ \"./src/Menu/useMenu.ts\"));\n\nvar _useFocus2 = _interopRequireDefault(__webpack_require__(/*! ../utils/useFocus */ \"./src/utils/useFocus.ts\"));\n\nvar _useClickOutside = _interopRequireDefault(__webpack_require__(/*! ../utils/useClickOutside */ \"./src/utils/useClickOutside.ts\"));\n\nvar _events = __webpack_require__(/*! ../utils/events */ \"./src/utils/events.ts\");\n\nvar _dom = __webpack_require__(/*! ../utils/dom */ \"./src/utils/dom.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Menu/Menu.tsx\";\nvar defaultOpenMenuOn = ['click'];\n/**\n * Headless ARIA `menu`\n */\n\nfunction Menu(_ref) {\n var _items$activeItemInde;\n\n var disabled = _ref.disabled,\n children = _ref.children,\n _ref$openMenuOn = _ref.openMenuOn,\n openMenuOn = _ref$openMenuOn === void 0 ? defaultOpenMenuOn : _ref$openMenuOn,\n _ref$defaultOpen = _ref.defaultOpen,\n defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,\n openProp = _ref.open,\n menuButtonText = _ref.menuButtonText,\n renderMenuButton = _ref.renderMenuButton,\n renderMenuPopup = _ref.renderMenuPopup,\n onToggleMenu = _ref.onToggleMenu;\n var buttonElementRef = (0, _react.useRef)(null);\n var menuElementRef = (0, _react.useRef)(null);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var isSubmenu = !!parentMenu;\n var menu = (0, _useMenu.default)({\n open: defaultOpen\n });\n var _menu$ = menu[0],\n openState = _menu$.open,\n items = _menu$.items,\n activeItemIndex = _menu$.activeItemIndex,\n dispatch = menu[1];\n var openControlled = typeof openProp !== 'undefined';\n var open = openControlled ? openProp : openState;\n\n var _useCustom = (0, _utils.useCustom)('Menu'),\n rtl = _useCustom.rtl;\n\n var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;\n\n var _useFocus = (0, _useFocus2.default)(menuElementRef),\n grabFocus = _useFocus.grab;\n\n var openMenu = (0, _react.useCallback)(function (event) {\n dispatch({\n type: _MenuContext.MenuActionTypes.OpenMenu\n });\n\n if (!event.isTrusted) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n }\n\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);\n grabFocus();\n }, [dispatch, onToggleMenu, grabFocus]);\n var closeMenu = (0, _react.useCallback)(function (event, returnFocusToButton) {\n if (returnFocusToButton === void 0) {\n returnFocusToButton = true;\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);\n\n if (returnFocusToButton) {\n var _buttonElementRef$cur;\n\n (_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({\n preventScroll: true\n });\n }\n }, [dispatch, onToggleMenu, buttonElementRef]);\n var toggleMenu = (0, _react.useCallback)(function (event) {\n if (!open) {\n openMenu(event);\n } else {\n closeMenu(event);\n }\n }, [open, openMenu, closeMenu]);\n (0, _useClickOutside.default)({\n enabled: open,\n isOutside: function isOutside(event) {\n var _buttonElementRef$cur2, _menuElementRef$curre;\n\n return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));\n },\n // fixme if clicking on a focusable element, don't move focus to menu button\n handle: function handle(event) {\n return closeMenu(event, !(0, _dom.isFocusableElement)(event.target));\n }\n });\n /**\n * Keyboard interaction on menu button\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-13\n */\n\n var handleButtonKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Open the menu\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n } else {\n closeMenu(e);\n }\n\n break;\n // Open the menu (if closed) and move focus to first item\n // This is mostly useful after opening the menu with click\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n }\n }, [open, openMenu, closeMenu, dispatch]);\n var handleButtonClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n toggleMenu(event);\n }, [disabled, toggleMenu]);\n var handleButtonContextMenu = (0, _react.useCallback)(function (event) {\n // prevents default contextmenu\n event.preventDefault(); // Only opens menu on right click. Left click can close the menu opened by a right click\n\n if (open) return;\n if (disabled) return;\n openMenu(event);\n }, [open, disabled, openMenu]);\n var buttonEventHandlers = (0, _react.useMemo)(function () {\n var buttonEventHandlers = {\n onKeyDown: handleButtonKeydown\n };\n /**\n * Bind event of trigger,\n * not used in in the expanded state of '<Sidenav>'\n */\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {\n buttonEventHandlers.onClick = handleButtonClick;\n }\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {\n buttonEventHandlers.onContextMenu = handleButtonContextMenu;\n }\n\n return buttonEventHandlers;\n }, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);\n var buttonId = (0, _useUniqueId.default)('menubutton-');\n var menuId = (0, _useUniqueId.default)('menu-');\n var buttonAriaAttributes = (0, _react.useMemo)(function () {\n // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14\n return {\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': open || undefined,\n // it's recommend to remove aria-expanded when menu is hidden\n 'aria-controls': menuId\n };\n }, [open, menuId]);\n var buttonProps = (0, _react.useMemo)(function () {\n return (0, _extends2.default)({\n id: buttonId\n }, buttonAriaAttributes, buttonEventHandlers, {\n // render props\n open: open\n });\n }, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);\n var customMenuButton = (0, _react.useMemo)(function () {\n return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);\n }, [renderMenuButton, buttonProps, buttonElementRef]);\n var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement(\"button\", (0, _extends2.default)({\n ref: buttonElementRef\n }, buttonProps, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 5\n }\n }), menuButtonText);\n /**\n * Keyboard interaction on menu\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-12\n */\n\n var handleMenuKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Move focus to previous item\n case _utils.KEY_VALUES.UP:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Prev\n });\n break;\n // Move focus to next item\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Next\n });\n break;\n // When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n\n case _utils.KEY_VALUES.RIGHT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n } else if (isSubmenu) {\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n }\n\n break;\n // When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem.\n\n case _utils.KEY_VALUES.LEFT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if (isSubmenu) {\n closeMenu(e);\n }\n } else if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n\n break;\n // Move focus to the first item\n\n case _utils.KEY_VALUES.HOME:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n // Move focus to the last item\n\n case _utils.KEY_VALUES.END:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Last\n });\n break;\n // - When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n // - Otherwise, activates the item and closes the menu.\n\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n if (activeItem) {\n e.preventDefault();\n e.stopPropagation();\n activeItem.click();\n\n if (!activeItem.getAttribute('aria-haspopup')) {\n closeMenu(e);\n }\n }\n\n break;\n // Close the menu that contains focus and return focus to the element or context,\n // e.g., menu button or parent menuitem, from which the menu was opened.\n\n case _utils.KEY_VALUES.ESC:\n closeMenu(e);\n break;\n }\n }, [dispatch, activeItem, isSubmenu, rtl, closeMenu]); // Only used for clicks bubbling from child `menuitem`s.\n\n var handleMenuClick = (0, _react.useCallback)(function (event) {\n var target = event.target; // Only handle clicks on `menuitem`s\n\n if (target.getAttribute('role') !== 'menuitem') return; // Ignore clicks on `menuitem`s that controls a submenu\n\n if (target.getAttribute('aria-haspopup') === 'menu') return; // Ignore disabled `menuitem`s\n\n if (target.getAttribute('aria-disabled') === 'true') return;\n closeMenu(event, !isSubmenu);\n }, [closeMenu, isSubmenu]); // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-13\n\n var menuAriaAttributes = {\n role: 'menu',\n 'aria-labelledby': buttonId,\n 'aria-activedescendant': activeItem === null || activeItem === void 0 ? void 0 : activeItem.id\n };\n var menuEventHandlers = {\n onClick: handleMenuClick,\n onKeyDown: handleMenuKeydown\n };\n var menuProps = (0, _extends2.default)({\n id: menuId\n }, menuAriaAttributes, menuEventHandlers, {\n tabIndex: 0\n });\n var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {\n open: open\n }), menuElementRef); // fixme Wrong children here\n\n var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: menuElementRef\n }, menuProps, {\n hidden: !open,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 417,\n columnNumber: 5\n }\n }), children);\n var handleMouseEnter = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n openMenu(e);\n }\n }, [disabled, openMenu]);\n var handleMouseLeave = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n closeMenu(e);\n }\n }, [disabled, closeMenu]);\n var rootElementRef = (0, _react.useRef)(null);\n var handleContainerBlur = (0, _react.useCallback)(function (event) {\n if ((0, _events.isFocusLeaving)(event)) {\n closeMenu(event, false);\n }\n }, [closeMenu]);\n var rootEventHandlers = {\n onBlur: handleContainerBlur\n };\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('mouseover')) {\n rootEventHandlers.onMouseEnter = handleMouseEnter;\n rootEventHandlers.onMouseLeave = handleMouseLeave;\n }\n\n var rootProps = (0, _extends2.default)({}, rootEventHandlers, {\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttonElement, /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {\n value: menu,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 465,\n columnNumber: 9\n }\n }, menuElement)),\n // render props\n open: open\n });\n\n if (isSubmenu) {\n rootProps.role = 'none presentation';\n }\n\n return children(rootProps, rootElementRef);\n}\n\nMenu.displayName = 'Menu';\nMenu.propTypes = {\n children: _propTypes.default.func.isRequired\n};\nvar _default = Menu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Menu/Menu.tsx?");
|
|
3193
3193
|
|
|
3194
3194
|
/***/ }),
|
|
3195
3195
|
|
|
@@ -3211,7 +3211,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3211
3211
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3212
3212
|
|
|
3213
3213
|
"use strict";
|
|
3214
|
-
eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\n/**\n * Headless ARIA `menuitem`\n */\nfunction MenuItem(props) {\n var children = props.children,\n _props$selected = props.selected,\n selected = _props$selected === void 0 ? false : _props$selected,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onActivate = props.onActivate;\n var menuitemRef = (0, _react.useRef)(null);\n var menuitemId = (0, _useUniqueId.default)('menuitem-');\n var menu = (0, _react.useContext)(_MenuContext.default);\n\n if (!menu) {\n throw new Error('<MenuItem> must be rendered within a <Menu>');\n }\n\n var menuState = menu[0],\n dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)\n\n var hasFocus = !(0, _isNil.default)(menuitemRef.current) && !(0, _isNil.default)(menuState.activeItemIndex) && menuState.items[menuState.activeItemIndex].element === menuitemRef.current;\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onActivate === null || onActivate === void 0 ? void 0 : onActivate(event);\n }, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`\n\n var handleMouseDown = (0, _react.useCallback)(function () {\n if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Specific,\n id: menuitemRef.current.id\n });\n }\n }, [dispatch, hasFocus]); // Gain/release focus on mouseenter/mouseleave in `menu`\n\n var handleMouseMove = (0, _react.useCallback)(function () {\n if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Specific,\n id: menuitemRef.current.id\n });\n }\n }, [hasFocus, dispatch]);\n var handleMouseLeave = (0, _react.useCallback)(function () {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n }, [dispatch]);\n (0, _react.useEffect)(function () {\n var menuitemElement = menuitemRef.current;\n\n if (menuitemElement) {\n dispatch({\n type: _MenuContext.MenuActionTypes.RegisterItem,\n element: menuitemElement,\n props: {\n disabled: disabled\n }\n });\n return function () {\n dispatch({\n type: _MenuContext.MenuActionTypes.UnregisterItem,\n id: menuitemElement.id\n });\n };\n }\n }, [menuitemRef, disabled, dispatch]);\n var menuitemProps = {\n id: menuitemId,\n role: 'menuitem',\n // fixme Only use `aria-checked` on menuitemradio and menuitemcheckbox\n 'aria-checked': selected || undefined,\n 'aria-disabled': disabled,\n tabIndex: -1,\n onClick: handleClick,\n // render props\n selected: selected,\n active: hasFocus\n }; // Only move focus on hover in a `menu`, not `menubar`\n\n if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menu') {\n menuitemProps.onMouseMove = handleMouseMove;\n menuitemProps.onMouseLeave = handleMouseLeave;\n }\n\n if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menubar') {\n menuitemProps.onMouseDown = handleMouseDown;\n menuitemProps.onMouseOver = handleMouseMove;\n }\n\n return children(menuitemProps, menuitemRef);\n}\n\nMenuItem.displayName = 'MenuItem';\nMenuItem.propTypes = {\n selected: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n children: _propTypes.default.func.isRequired,\n onActivate: _propTypes.default.func\n};\nvar _default = MenuItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Menu/MenuItem.tsx?");
|
|
3214
|
+
eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\n/**\n * Headless ARIA `menuitem`\n */\nfunction MenuItem(props) {\n var children = props.children,\n _props$selected = props.selected,\n selected = _props$selected === void 0 ? false : _props$selected,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onActivate = props.onActivate;\n var menuitemRef = (0, _react.useRef)(null);\n var menuitemId = (0, _useUniqueId.default)('menuitem-');\n var menu = (0, _react.useContext)(_MenuContext.default);\n\n if (!menu) {\n throw new Error('<MenuItem> must be rendered within a <Menu>');\n }\n\n var menuState = menu[0],\n dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)\n\n var hasFocus = !(0, _isNil.default)(menuitemRef.current) && !(0, _isNil.default)(menuState.activeItemIndex) && menuState.items[menuState.activeItemIndex].element === menuitemRef.current;\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onActivate === null || onActivate === void 0 ? void 0 : onActivate(event);\n }, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`\n\n var handleMouseDown = (0, _react.useCallback)(function () {\n if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Specific,\n id: menuitemRef.current.id\n });\n }\n }, [dispatch, hasFocus]); // Gain/release focus on mouseenter/mouseleave in `menu`\n\n var handleMouseMove = (0, _react.useCallback)(function () {\n if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Specific,\n id: menuitemRef.current.id\n });\n }\n }, [hasFocus, dispatch]);\n var handleMouseLeave = (0, _react.useCallback)(function () {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n }, [dispatch]);\n (0, _react.useEffect)(function () {\n var menuitemElement = menuitemRef.current;\n\n if (menuitemElement) {\n dispatch({\n type: _MenuContext.MenuActionTypes.RegisterItem,\n element: menuitemElement,\n props: {\n disabled: disabled\n }\n });\n return function () {\n dispatch({\n type: _MenuContext.MenuActionTypes.UnregisterItem,\n id: menuitemElement.id\n });\n };\n }\n }, [menuitemRef, disabled, dispatch]);\n var menuitemProps = {\n id: menuitemId,\n role: 'menuitem',\n // fixme Only use `aria-checked` on menuitemradio and menuitemcheckbox\n 'aria-checked': selected || undefined,\n 'aria-disabled': disabled,\n tabIndex: -1,\n onClick: handleClick,\n // render props\n selected: selected,\n active: hasFocus\n }; // Only move focus on hover in a `menu`, not `menubar`\n\n if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menu') {\n menuitemProps.onMouseMove = handleMouseMove;\n menuitemProps.onMouseLeave = handleMouseLeave;\n }\n\n if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menubar') {\n menuitemProps.onMouseDown = handleMouseDown;\n menuitemProps.onMouseOver = handleMouseMove;\n menuitemProps.onMouseLeave = handleMouseLeave;\n }\n\n return children(menuitemProps, menuitemRef);\n}\n\nMenuItem.displayName = 'MenuItem';\nMenuItem.propTypes = {\n selected: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n children: _propTypes.default.func.isRequired,\n onActivate: _propTypes.default.func\n};\nvar _default = MenuItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Menu/MenuItem.tsx?");
|
|
3215
3215
|
|
|
3216
3216
|
/***/ }),
|
|
3217
3217
|
|
|
@@ -3266,7 +3266,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3266
3266
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3267
3267
|
|
|
3268
3268
|
"use strict";
|
|
3269
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _getAnimationEnd = _interopRequireDefault(__webpack_require__(/*! dom-lib/getAnimationEnd */ \"./node_modules/dom-lib/esm/getAnimationEnd.js\"));\n\nvar _Modal = _interopRequireWildcard(__webpack_require__(/*! ../Overlay/Modal */ \"./src/Overlay/Modal.tsx\"));\n\nvar _Bounce = _interopRequireDefault(__webpack_require__(/*! ../Animation/Bounce */ \"./src/Animation/Bounce.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _ModalDialog = _interopRequireWildcard(__webpack_require__(/*! ./ModalDialog */ \"./src/Modal/ModalDialog.tsx\"));\n\nvar _ModalContext = __webpack_require__(/*! ./ModalContext */ \"./src/Modal/ModalContext.ts\");\n\nvar _ModalBody = _interopRequireDefault(__webpack_require__(/*! ./ModalBody */ \"./src/Modal/ModalBody.tsx\"));\n\nvar _ModalHeader = _interopRequireDefault(__webpack_require__(/*! ./ModalHeader */ \"./src/Modal/ModalHeader.tsx\"));\n\nvar _ModalTitle = _interopRequireDefault(__webpack_require__(/*! ./ModalTitle */ \"./src/Modal/ModalTitle.tsx\"));\n\nvar _ModalFooter = _interopRequireDefault(__webpack_require__(/*! ./ModalFooter */ \"./src/Modal/ModalFooter.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Modal/utils.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Modal/Modal.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var className = props.className,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,\n dialogClassName = props.dialogClassName,\n backdropClassName = props.backdropClassName,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n dialogStyle = props.dialogStyle,\n _props$animation = props.animation,\n animation = _props$animation === void 0 ? _Bounce.default : _props$animation,\n open = props.open,\n _props$size = props.size,\n size = _props$size === void 0 ? 'sm' : _props$size,\n full = props.full,\n _props$dialogAs = props.dialogAs,\n Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,\n animationProps = props.animationProps,\n _props$animationTimeo = props.animationTimeout,\n animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,\n _props$overflow = props.overflow,\n overflow = _props$overflow === void 0 ? true : _props$overflow,\n _props$drawer = props.drawer,\n drawer = _props$drawer === void 0 ? false : _props$drawer,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExited = props.onExited,\n _props$role = props.role,\n role = _props$role === void 0 ? 'dialog' : _props$role,\n idProp = props.id,\n ariaLabelledby = props['aria-labelledby'],\n ariaDescribedby = props['aria-describedby'],\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"className\", \"children\", \"classPrefix\", \"dialogClassName\", \"backdropClassName\", \"backdrop\", \"dialogStyle\", \"animation\", \"open\", \"size\", \"full\", \"dialogAs\", \"animationProps\", \"animationTimeout\", \"overflow\", \"drawer\", \"onClose\", \"onEntered\", \"onEntering\", \"onExited\", \"role\", \"id\", \"aria-labelledby\", \"aria-describedby\"]);\n var inClass = {\n in: open && !animation\n };\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useState = (0, _react.useState)(false),\n shake = _useState[0],\n setShake = _useState[1];\n\n var classes = merge(className, prefix(size, {\n full: full\n }));\n var dialogRef = (0, _react.useRef)(null);\n var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.\n\n var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {\n overflow: overflow,\n drawer: drawer,\n prefix: prefix\n }),\n bodyStyles = _useBodyStyles[0],\n onChangeBodyStyles = _useBodyStyles[1],\n onDestroyEvents = _useBodyStyles[2];\n\n var dialogId = (0, _useUniqueId.default)('dialog-', idProp);\n var modalContextValue = (0, _react.useMemo)(function () {\n return {\n dialogId: dialogId,\n onModalClose: onClose,\n getBodyStyles: function getBodyStyles() {\n return bodyStyles;\n },\n isDrawer: drawer\n };\n }, [dialogId, onClose, bodyStyles, drawer]);\n var handleExited = (0, _react.useCallback)(function (node) {\n var _transitionEndListene;\n\n onExited === null || onExited === void 0 ? void 0 : onExited(node);\n onDestroyEvents();\n (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();\n transitionEndListener.current = null;\n }, [onDestroyEvents, onExited]);\n var handleEntered = (0, _react.useCallback)(function (node) {\n onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);\n onChangeBodyStyles();\n }, [onChangeBodyStyles, onEntered]);\n var handleEntering = (0, _react.useCallback)(function (node) {\n onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);\n onChangeBodyStyles(true);\n }, [onChangeBodyStyles, onEntering]);\n var handleBackdropClick = (0, _react.useCallback)(function (e) {\n if (e.target !== e.currentTarget) {\n return;\n } // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.\n\n\n if (backdrop === 'static') {\n setShake(true);\n\n if (!transitionEndListener.current && dialogRef.current) {\n //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59\n transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {\n setShake(false);\n });\n }\n\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }, [backdrop, onClose]);\n var handleClick = (0, _react.useCallback)(function (e) {\n if (dialogRef.current && e.target !== dialogRef.current) {\n handleBackdropClick(e);\n }\n }, [handleBackdropClick]);\n (0, _utils.useWillUnmount)(function () {\n var _transitionEndListene2;\n\n (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();\n });\n return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {\n value: modalContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n backdrop: backdrop,\n open: open,\n onClose: onClose,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"wrapper\"]))),\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExited: handleExited,\n backdropClassName: merge(prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"backdrop\"]))), backdropClassName, inClass),\n containerClassName: prefix({\n open: open,\n 'has-backdrop': backdrop\n }),\n transition: animation ? animation : undefined,\n animationProps: animationProps,\n dialogTransitionTimeout: animationTimeout,\n backdropTransitionTimeout: 150,\n onClick: backdrop ? handleClick : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 178,\n columnNumber: 7\n }\n }), function (transitionProps, transitionRef) {\n var transitionClassName = transitionProps.className,\n transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({\n role: role,\n id: dialogId,\n \"aria-labelledby\": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + \"-title\",\n \"aria-describedby\": ariaDescribedby\n }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {\n ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),\n classPrefix: classPrefix,\n className: merge(classes, transitionClassName, prefix({\n shake: shake\n })),\n dialogClassName: dialogClassName,\n dialogStyle: dialogStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 13\n }\n }), children);\n }));\n});\n\nModal.Body = _ModalBody.default;\nModal.Header = _ModalHeader.default;\nModal.Title = _ModalTitle.default;\nModal.Footer = _ModalFooter.default;\nModal.Dialog = _ModalDialog.default;\nModal.displayName = 'Modal';\nModal.propTypes = (0, _extends2.default)({}, _Modal.modalPropTypes, {\n animation: _propTypes.default.any,\n animationTimeout: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n dialogClassName: _propTypes.default.string,\n size: _propTypes.default.oneOf(_utils.SIZE),\n dialogStyle: _propTypes.default.object,\n dialogAs: _propTypes.default.elementType,\n full: _propTypes.default.bool,\n overflow: _propTypes.default.bool,\n drawer: _propTypes.default.bool\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Modal/Modal.tsx?");
|
|
3269
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _getAnimationEnd = _interopRequireDefault(__webpack_require__(/*! dom-lib/getAnimationEnd */ \"./node_modules/dom-lib/esm/getAnimationEnd.js\"));\n\nvar _Modal = _interopRequireWildcard(__webpack_require__(/*! ../Overlay/Modal */ \"./src/Overlay/Modal.tsx\"));\n\nvar _Bounce = _interopRequireDefault(__webpack_require__(/*! ../Animation/Bounce */ \"./src/Animation/Bounce.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _ModalDialog = _interopRequireWildcard(__webpack_require__(/*! ./ModalDialog */ \"./src/Modal/ModalDialog.tsx\"));\n\nvar _ModalContext = __webpack_require__(/*! ./ModalContext */ \"./src/Modal/ModalContext.ts\");\n\nvar _ModalBody = _interopRequireDefault(__webpack_require__(/*! ./ModalBody */ \"./src/Modal/ModalBody.tsx\"));\n\nvar _ModalHeader = _interopRequireDefault(__webpack_require__(/*! ./ModalHeader */ \"./src/Modal/ModalHeader.tsx\"));\n\nvar _ModalTitle = _interopRequireDefault(__webpack_require__(/*! ./ModalTitle */ \"./src/Modal/ModalTitle.tsx\"));\n\nvar _ModalFooter = _interopRequireDefault(__webpack_require__(/*! ./ModalFooter */ \"./src/Modal/ModalFooter.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Modal/utils.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Modal/Modal.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar modalSizes = ['xs', 'sm', 'md', 'lg', 'full'];\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var className = props.className,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,\n dialogClassName = props.dialogClassName,\n backdropClassName = props.backdropClassName,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n dialogStyle = props.dialogStyle,\n _props$animation = props.animation,\n animation = _props$animation === void 0 ? _Bounce.default : _props$animation,\n open = props.open,\n _props$size = props.size,\n size = _props$size === void 0 ? 'sm' : _props$size,\n full = props.full,\n _props$dialogAs = props.dialogAs,\n Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,\n animationProps = props.animationProps,\n _props$animationTimeo = props.animationTimeout,\n animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,\n _props$overflow = props.overflow,\n overflow = _props$overflow === void 0 ? true : _props$overflow,\n _props$drawer = props.drawer,\n drawer = _props$drawer === void 0 ? false : _props$drawer,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExited = props.onExited,\n _props$role = props.role,\n role = _props$role === void 0 ? 'dialog' : _props$role,\n idProp = props.id,\n ariaLabelledby = props['aria-labelledby'],\n ariaDescribedby = props['aria-describedby'],\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"className\", \"children\", \"classPrefix\", \"dialogClassName\", \"backdropClassName\", \"backdrop\", \"dialogStyle\", \"animation\", \"open\", \"size\", \"full\", \"dialogAs\", \"animationProps\", \"animationTimeout\", \"overflow\", \"drawer\", \"onClose\", \"onEntered\", \"onEntering\", \"onExited\", \"role\", \"id\", \"aria-labelledby\", \"aria-describedby\"]);\n var inClass = {\n in: open && !animation\n };\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useState = (0, _react.useState)(false),\n shake = _useState[0],\n setShake = _useState[1];\n\n var classes = merge(className, prefix(size, {\n full: full\n }));\n var dialogRef = (0, _react.useRef)(null);\n var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.\n\n var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {\n overflow: overflow,\n drawer: drawer,\n prefix: prefix\n }),\n bodyStyles = _useBodyStyles[0],\n onChangeBodyStyles = _useBodyStyles[1],\n onDestroyEvents = _useBodyStyles[2];\n\n var dialogId = (0, _useUniqueId.default)('dialog-', idProp);\n var modalContextValue = (0, _react.useMemo)(function () {\n return {\n dialogId: dialogId,\n onModalClose: onClose,\n getBodyStyles: function getBodyStyles() {\n return bodyStyles;\n },\n isDrawer: drawer\n };\n }, [dialogId, onClose, bodyStyles, drawer]);\n var handleExited = (0, _react.useCallback)(function (node) {\n var _transitionEndListene;\n\n onExited === null || onExited === void 0 ? void 0 : onExited(node);\n onDestroyEvents();\n (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();\n transitionEndListener.current = null;\n }, [onDestroyEvents, onExited]);\n var handleEntered = (0, _react.useCallback)(function (node) {\n onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);\n onChangeBodyStyles();\n }, [onChangeBodyStyles, onEntered]);\n var handleEntering = (0, _react.useCallback)(function (node) {\n onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);\n onChangeBodyStyles(true);\n }, [onChangeBodyStyles, onEntering]);\n var handleBackdropClick = (0, _react.useCallback)(function (e) {\n if (e.target !== e.currentTarget) {\n return;\n } // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.\n\n\n if (backdrop === 'static') {\n setShake(true);\n\n if (!transitionEndListener.current && dialogRef.current) {\n //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59\n transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {\n setShake(false);\n });\n }\n\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }, [backdrop, onClose]);\n var handleClick = (0, _react.useCallback)(function (e) {\n if (dialogRef.current && e.target !== dialogRef.current) {\n handleBackdropClick(e);\n }\n }, [handleBackdropClick]);\n (0, _utils.useWillUnmount)(function () {\n var _transitionEndListene2;\n\n (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();\n });\n return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {\n value: modalContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 185,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n backdrop: backdrop,\n open: open,\n onClose: onClose,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"wrapper\"]))),\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExited: handleExited,\n backdropClassName: merge(prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"backdrop\"]))), backdropClassName, inClass),\n containerClassName: prefix({\n open: open,\n 'has-backdrop': backdrop\n }),\n transition: animation ? animation : undefined,\n animationProps: animationProps,\n dialogTransitionTimeout: animationTimeout,\n backdropTransitionTimeout: 150,\n onClick: backdrop ? handleClick : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 186,\n columnNumber: 7\n }\n }), function (transitionProps, transitionRef) {\n var transitionClassName = transitionProps.className,\n transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({\n role: role,\n id: dialogId,\n \"aria-labelledby\": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + \"-title\",\n \"aria-describedby\": ariaDescribedby\n }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {\n ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),\n classPrefix: classPrefix,\n className: merge(classes, transitionClassName, prefix({\n shake: shake\n })),\n dialogClassName: dialogClassName,\n dialogStyle: dialogStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 207,\n columnNumber: 13\n }\n }), children);\n }));\n});\n\nModal.Body = _ModalBody.default;\nModal.Header = _ModalHeader.default;\nModal.Title = _ModalTitle.default;\nModal.Footer = _ModalFooter.default;\nModal.Dialog = _ModalDialog.default;\nModal.displayName = 'Modal';\nModal.propTypes = (0, _extends2.default)({}, _Modal.modalPropTypes, {\n animation: _propTypes.default.any,\n animationTimeout: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n dialogClassName: _propTypes.default.string,\n size: _propTypes.default.oneOf(modalSizes),\n dialogStyle: _propTypes.default.object,\n dialogAs: _propTypes.default.elementType,\n full: (0, _deprecatePropType.default)(_propTypes.default.bool, 'Use size=\"full\" instead.'),\n overflow: _propTypes.default.bool,\n drawer: _propTypes.default.bool\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Modal/Modal.tsx?");
|
|
3270
3270
|
|
|
3271
3271
|
/***/ }),
|
|
3272
3272
|
|
|
@@ -4047,7 +4047,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4047
4047
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4048
4048
|
|
|
4049
4049
|
"use strict";
|
|
4050
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _getOffset = _interopRequireDefault(__webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Slider = __webpack_require__(/*! ../Slider/Slider */ \"./src/Slider/Slider.tsx\");\n\nvar _ProgressBar = _interopRequireDefault(__webpack_require__(/*! ../Slider/ProgressBar */ \"./src/Slider/ProgressBar.tsx\"));\n\nvar _Handle = _interopRequireDefault(__webpack_require__(/*! ../Slider/Handle */ \"./src/Slider/Handle.tsx\"));\n\nvar _Graduated = _interopRequireDefault(__webpack_require__(/*! ../Slider/Graduated */ \"./src/Slider/Graduated.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ../Slider/utils */ \"./src/Slider/utils.ts\");\n\nvar _propTypeChecker = __webpack_require__(/*! ../utils/propTypeChecker */ \"./src/utils/propTypeChecker.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RangeSlider/RangeSlider.tsx\",\n _this = void 0;\n\nvar defaultDefaultValue = [0, 0];\n\nvar RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n barClassName = props.barClassName,\n className = props.className,\n constraint = props.constraint,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,\n graduated = props.graduated,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? true : _props$progress,\n vertical = props.vertical,\n disabled = props.disabled,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n maxProp = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n valueProp = props.value,\n handleClassName = props.handleClassName,\n handleStyle = props.handleStyle,\n handleTitle = props.handleTitle,\n _props$tooltip = props.tooltip,\n tooltip = _props$tooltip === void 0 ? true : _props$tooltip,\n getAriaValueText = props.getAriaValueText,\n renderTooltip = props.renderTooltip,\n renderMark = props.renderMark,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"as\", \"barClassName\", \"className\", \"constraint\", \"defaultValue\", \"graduated\", \"progress\", \"vertical\", \"disabled\", \"classPrefix\", \"min\", \"max\", \"step\", \"value\", \"handleClassName\", \"handleStyle\", \"handleTitle\", \"tooltip\", \"getAriaValueText\", \"renderTooltip\", \"renderMark\", \"onChange\", \"onChangeCommitted\"]);\n var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle\n\n var handleIndexs = (0, _react.useRef)([0, 1]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('RangeSlider'),\n rtl = _useCustom.rtl;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n disabled: disabled,\n graduated: graduated,\n 'with-mark': renderMark\n }));\n var max = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)(Math.floor((maxProp - min) / step) * step + min);\n }, [maxProp, min, step]);\n /**\n * Returns a valid value that does not exceed the specified range of values.\n */\n\n var getValidValue = (0, _react.useCallback)(function (value) {\n if (typeof value === 'undefined') {\n return;\n }\n\n return [(0, _utils2.checkValue)(value[0], min, max), (0, _utils2.checkValue)(value[1], min, max)];\n }, [max, min]);\n\n var _useControlled = (0, _utils.useControlled)(getValidValue(valueProp), getValidValue(defaultValue)),\n value = _useControlled[0],\n setValue = _useControlled[1]; // The count of values that can be entered.\n\n\n var count = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)((max - min) / step);\n }, [max, min, step]); // Get the height of the progress bar\n\n var getBarHeight = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getHeight.default)(barRef.current) : 0;\n }, []); // Get the width of the progress bar\n\n var getBarWidth = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getWidth.default)(barRef.current) : 0;\n }, []);\n var getValueByOffset = (0, _react.useCallback)(function (offset) {\n var val = 0;\n\n if (isNaN(offset)) {\n return val;\n }\n\n if (vertical) {\n var barHeight = getBarHeight();\n val = Math.round(offset / (barHeight / count)) * step;\n } else {\n var barWidth = getBarWidth();\n val = Math.round(offset / (barWidth / count)) * step;\n }\n\n return (0, _utils2.precisionMath)(val);\n }, [count, getBarHeight, getBarWidth, step, vertical]);\n var getValueByPosition = (0, _react.useCallback)(function (event) {\n var barOffset = (0, _getOffset.default)(barRef.current);\n var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;\n var val = rtl && !vertical ? barOffset.width - offset : offset;\n return getValueByOffset(val) + min;\n }, [getValueByOffset, min, rtl, vertical]);\n var getRangeValue = (0, _react.useCallback)(function (value, key, event) {\n // Get the corresponding value according to the cursor position\n var v = getValueByPosition(event); // Judge the handle key and put the corresponding value at the start or end.\n\n if (key === 'start') {\n return [v, value[1]];\n } else if (key === 'end') {\n return [value[0], v];\n }\n\n return value;\n }, [getValueByPosition]);\n var getNextValue = (0, _react.useCallback)(function (event, dataset) {\n var eventKey = dataset.key,\n range = dataset.range;\n var value = range.split(',').map(function (i) {\n return +i;\n });\n var nextValue = getValidValue(getRangeValue(value, eventKey, event));\n\n if (nextValue[0] >= nextValue[1]) {\n /**\n * When the value of `start` is greater than the value of` end`,\n * the position of the handle is reversed.\n */\n handleIndexs.current.reverse();\n\n if (eventKey === 'start') {\n nextValue[0] = value[1];\n } else {\n nextValue[1] = value[0];\n }\n }\n\n return nextValue;\n }, [getRangeValue, getValidValue]);\n /**\n * Whether a range is valid against given constraint (if any)\n * Should check before every `setValue` calls\n */\n\n var isRangeMatchingConstraint = (0, _react.useCallback)(function (range) {\n // If no constraint is defined, any range is valid\n if (!constraint) return true;\n return constraint(range);\n }, [constraint]);\n /**\n * Callback function that is fired when the mousemove is triggered\n */\n\n var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n });\n /**\n * Callback function that is fired when the mouseup is triggered\n */\n\n var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);\n }\n }, [getNextValue, onChangeCommitted, isRangeMatchingConstraint, setValue]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var _event$target$dataset = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target['dataset'],\n key = _event$target$dataset.key;\n\n var nextValue = [].concat(value);\n var increaseKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n var valueIndex = key === 'start' ? 0 : 1;\n\n switch (event.key) {\n case 'Home':\n nextValue[valueIndex] = min;\n break;\n\n case 'End':\n nextValue[valueIndex] = max;\n break;\n\n case increaseKey:\n case 'ArrowUp':\n nextValue[valueIndex] = Math.min(max, value[valueIndex] + step);\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n nextValue[valueIndex] = Math.max(min, value[valueIndex] - step);\n break;\n\n default:\n return;\n } // When the start value is greater than the end value, let the handle and value switch positions.\n\n\n if (nextValue[0] >= nextValue[1]) {\n nextValue.reverse();\n handleIndexs.current.reverse();\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [max, min, onChange, rtl, isRangeMatchingConstraint, setValue, step, value]);\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n var start = value[0],\n end = value[1];\n var v = getValueByPosition(event); // Judging that the current click value is closer to the values of `start` and` end`.\n\n if (Math.abs(start - v) < Math.abs(end - v)) {\n start = v;\n } else {\n end = v;\n }\n\n var nextValue = getValidValue([start, end].sort());\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [disabled, getValidValue, getValueByPosition, isRangeMatchingConstraint, onChange, setValue, value]);\n var handleProps = (0, _react.useMemo)(function () {\n return [{\n value: value[0],\n 'data-key': 'start',\n 'aria-valuenow': value[0],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[0], 'start') : ariaValuetext,\n position: (value[0] - min) / (max - min) * 100\n }, {\n value: value[1],\n 'data-key': 'end',\n 'aria-valuenow': value[1],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[1], 'end') : ariaValuetext,\n position: (value[1] - min) / (max - min) * 100\n }];\n }, [ariaValuetext, getAriaValueText, max, min, value]);\n var handleCommonProps = {\n rtl: rtl,\n disabled: disabled,\n vertical: vertical,\n tooltip: tooltip,\n className: handleClassName,\n style: handleStyle,\n renderTooltip: renderTooltip,\n onDragMove: handleDragMove,\n onDragEnd: handleChangeCommitted,\n onKeyDown: handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-disabled': disabled,\n 'aria-valuemax': max,\n 'aria-valuemin': min,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n };\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: merge(barClassName, prefix('bar')),\n ref: barRef,\n onClick: handleClick,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 343,\n columnNumber: 7\n }\n }, progress && /*#__PURE__*/_react.default.createElement(_ProgressBar.default, {\n rtl: rtl,\n vertical: vertical,\n start: (value[0] - min) / (max - min) * 100,\n end: (value[1] - min) / (max - min) * 100,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 345,\n columnNumber: 11\n }\n }), graduated && /*#__PURE__*/_react.default.createElement(_Graduated.default, {\n step: step,\n min: min,\n max: max,\n count: count,\n value: value,\n renderMark: renderMark,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[0]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 7\n }\n }), handleTitle), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[1]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 7\n }\n }), handleTitle));\n});\n\nRangeSlider.displayName = 'RangeSlider';\nRangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {\n value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),\n defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)\n});\nvar _default = RangeSlider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RangeSlider/RangeSlider.tsx?");
|
|
4050
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _getOffset = _interopRequireDefault(__webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Slider = __webpack_require__(/*! ../Slider/Slider */ \"./src/Slider/Slider.tsx\");\n\nvar _ProgressBar = _interopRequireDefault(__webpack_require__(/*! ../Slider/ProgressBar */ \"./src/Slider/ProgressBar.tsx\"));\n\nvar _Handle = _interopRequireDefault(__webpack_require__(/*! ../Slider/Handle */ \"./src/Slider/Handle.tsx\"));\n\nvar _Graduated = _interopRequireDefault(__webpack_require__(/*! ../Slider/Graduated */ \"./src/Slider/Graduated.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ../Slider/utils */ \"./src/Slider/utils.ts\");\n\nvar _propTypeChecker = __webpack_require__(/*! ../utils/propTypeChecker */ \"./src/utils/propTypeChecker.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RangeSlider/RangeSlider.tsx\",\n _this = void 0;\n\nvar defaultDefaultValue = [0, 0];\n\nvar RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n barClassName = props.barClassName,\n className = props.className,\n constraint = props.constraint,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,\n graduated = props.graduated,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? true : _props$progress,\n vertical = props.vertical,\n disabled = props.disabled,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n maxProp = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n valueProp = props.value,\n handleClassName = props.handleClassName,\n handleStyle = props.handleStyle,\n handleTitle = props.handleTitle,\n _props$tooltip = props.tooltip,\n tooltip = _props$tooltip === void 0 ? true : _props$tooltip,\n getAriaValueText = props.getAriaValueText,\n renderTooltip = props.renderTooltip,\n renderMark = props.renderMark,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"as\", \"barClassName\", \"className\", \"constraint\", \"defaultValue\", \"graduated\", \"progress\", \"vertical\", \"disabled\", \"classPrefix\", \"min\", \"max\", \"step\", \"value\", \"handleClassName\", \"handleStyle\", \"handleTitle\", \"tooltip\", \"getAriaValueText\", \"renderTooltip\", \"renderMark\", \"onChange\", \"onChangeCommitted\"]);\n var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle\n\n var handleIndexs = (0, _react.useRef)([0, 1]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('RangeSlider'),\n rtl = _useCustom.rtl;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n disabled: disabled,\n graduated: graduated,\n 'with-mark': renderMark\n }));\n var max = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)(Math.floor((maxProp - min) / step) * step + min);\n }, [maxProp, min, step]);\n /**\n * Returns a valid value that does not exceed the specified range of values.\n */\n\n var getValidValue = (0, _react.useCallback)(function (value) {\n if (typeof value === 'undefined') {\n return;\n }\n\n return [(0, _utils2.checkValue)(value[0], min, max), (0, _utils2.checkValue)(value[1], min, max)];\n }, [max, min]);\n\n var _useControlled = (0, _utils.useControlled)(getValidValue(valueProp), getValidValue(defaultValue)),\n value = _useControlled[0],\n setValue = _useControlled[1]; // The count of values that can be entered.\n\n\n var count = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)((max - min) / step);\n }, [max, min, step]); // Get the height of the progress bar\n\n var getBarHeight = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getHeight.default)(barRef.current) : 0;\n }, []); // Get the width of the progress bar\n\n var getBarWidth = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getWidth.default)(barRef.current) : 0;\n }, []);\n var getValueByOffset = (0, _react.useCallback)(function (offset) {\n var val = 0;\n\n if (isNaN(offset)) {\n return val;\n }\n\n if (vertical) {\n var barHeight = getBarHeight();\n val = Math.round(offset / (barHeight / count)) * step;\n } else {\n var barWidth = getBarWidth();\n val = Math.round(offset / (barWidth / count)) * step;\n }\n\n return (0, _utils2.precisionMath)(val);\n }, [count, getBarHeight, getBarWidth, step, vertical]);\n var getValueByPosition = (0, _react.useCallback)(function (event) {\n var barOffset = (0, _getOffset.default)(barRef.current);\n var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;\n var val = rtl && !vertical ? barOffset.width - offset : offset;\n return getValueByOffset(val) + min;\n }, [getValueByOffset, min, rtl, vertical]);\n var getRangeValue = (0, _react.useCallback)(function (value, key, event) {\n // Get the corresponding value according to the cursor position\n var v = getValueByPosition(event); // Judge the handle key and put the corresponding value at the start or end.\n\n if (key === 'start') {\n return [v, value[1]];\n } else if (key === 'end') {\n return [value[0], v];\n }\n\n return value;\n }, [getValueByPosition]);\n var getNextValue = (0, _react.useCallback)(function (event, dataset) {\n var eventKey = dataset.key,\n range = dataset.range;\n var value = range.split(',').map(function (i) {\n return +i;\n });\n var nextValue = getValidValue(getRangeValue(value, eventKey, event));\n\n if (nextValue[0] >= nextValue[1]) {\n /**\n * When the value of `start` is greater than the value of` end`,\n * the position of the handle is reversed.\n */\n handleIndexs.current.reverse();\n\n if (eventKey === 'start') {\n nextValue[0] = value[1];\n } else {\n nextValue[1] = value[0];\n }\n }\n\n return nextValue;\n }, [getRangeValue, getValidValue]);\n /**\n * Whether a range is valid against given constraint (if any)\n * Should check before every `setValue` calls\n */\n\n var isRangeMatchingConstraint = (0, _react.useCallback)(function (range) {\n // If no constraint is defined, any range is valid\n if (!constraint) return true;\n return constraint(range);\n }, [constraint]);\n /**\n * Callback function that is fired when the mousemove is triggered\n */\n\n var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n });\n /**\n * Callback function that is fired when the mouseup is triggered\n */\n\n var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);\n }\n }, [getNextValue, onChangeCommitted, isRangeMatchingConstraint, setValue]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var _event$target$dataset = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target['dataset'],\n key = _event$target$dataset.key;\n\n var nextValue = [].concat(value);\n var increaseKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n var valueIndex = key === 'start' ? 0 : 1;\n\n switch (event.key) {\n case 'Home':\n nextValue[valueIndex] = min;\n break;\n\n case 'End':\n nextValue[valueIndex] = max;\n break;\n\n case increaseKey:\n case 'ArrowUp':\n nextValue[valueIndex] = Math.min(max, value[valueIndex] + step);\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n nextValue[valueIndex] = Math.max(min, value[valueIndex] - step);\n break;\n\n default:\n return;\n } // When the start value is greater than the end value, let the handle and value switch positions.\n\n\n if (nextValue[0] >= nextValue[1]) {\n nextValue.reverse();\n handleIndexs.current.reverse();\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [max, min, onChange, rtl, isRangeMatchingConstraint, setValue, step, value]);\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n var start = value[0],\n end = value[1];\n var v = getValueByPosition(event); // Judging that the current click value is closer to the values of `start` and` end`.\n\n if (Math.abs(start - v) < Math.abs(end - v)) {\n start = v;\n } else {\n end = v;\n }\n\n var nextValue = getValidValue([start, end].sort(function (a, b) {\n return a - b;\n }));\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [disabled, getValidValue, getValueByPosition, isRangeMatchingConstraint, onChange, setValue, value]);\n var handleProps = (0, _react.useMemo)(function () {\n return [{\n value: value[0],\n 'data-key': 'start',\n 'aria-valuenow': value[0],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[0], 'start') : ariaValuetext,\n position: (value[0] - min) / (max - min) * 100\n }, {\n value: value[1],\n 'data-key': 'end',\n 'aria-valuenow': value[1],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[1], 'end') : ariaValuetext,\n position: (value[1] - min) / (max - min) * 100\n }];\n }, [ariaValuetext, getAriaValueText, max, min, value]);\n var handleCommonProps = {\n rtl: rtl,\n disabled: disabled,\n vertical: vertical,\n tooltip: tooltip,\n className: handleClassName,\n style: handleStyle,\n renderTooltip: renderTooltip,\n onDragMove: handleDragMove,\n onDragEnd: handleChangeCommitted,\n onKeyDown: handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-disabled': disabled,\n 'aria-valuemax': max,\n 'aria-valuemin': min,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n };\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: merge(barClassName, prefix('bar')),\n ref: barRef,\n onClick: handleClick,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 343,\n columnNumber: 7\n }\n }, progress && /*#__PURE__*/_react.default.createElement(_ProgressBar.default, {\n rtl: rtl,\n vertical: vertical,\n start: (value[0] - min) / (max - min) * 100,\n end: (value[1] - min) / (max - min) * 100,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 345,\n columnNumber: 11\n }\n }), graduated && /*#__PURE__*/_react.default.createElement(_Graduated.default, {\n step: step,\n min: min,\n max: max,\n count: count,\n value: value,\n renderMark: renderMark,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 353,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[0]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 7\n }\n }), handleTitle), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[1]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 7\n }\n }), handleTitle));\n});\n\nRangeSlider.displayName = 'RangeSlider';\nRangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {\n value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),\n defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)\n});\nvar _default = RangeSlider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RangeSlider/RangeSlider.tsx?");
|
|
4051
4051
|
|
|
4052
4052
|
/***/ }),
|
|
4053
4053
|
|
|
@@ -4201,7 +4201,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4201
4201
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4202
4202
|
|
|
4203
4203
|
"use strict";
|
|
4204
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/SelectPicker/SelectPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n valueProp = props.value,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n placeholder = props.placeholder,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n groupBy = props.groupBy,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n virtualized = props.virtualized,\n listProps = props.listProps,\n id = props.id,\n onGroupTitleClick = props.onGroupTitleClick,\n searchBy = props.searchBy,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n sort = props.sort,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"data\", \"valueKey\", \"labelKey\", \"value\", \"classPrefix\", \"placeholder\", \"defaultValue\", \"disabled\", \"cleanable\", \"placement\", \"menuClassName\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuStyle\", \"groupBy\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"disabledItemValues\", \"virtualized\", \"listProps\", \"id\", \"onGroupTitleClick\", \"searchBy\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"sort\", \"renderValue\", \"renderMenu\", \"renderMenuGroup\", \"renderMenuItem\", \"renderExtraFooter\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _ref = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown; // Use search keywords to filter options.\n\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: function callback(searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n updateFilteredData = _useSearch.updateFilteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch;\n\n (0, _react.useEffect)(function () {\n updateFilteredData(data);\n }, [data, updateFilteredData]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n var _targetRef$current;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onSelect]);\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n if (!focusItemValue) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n setValue(focusItemValue);\n handleSelect(focusItemValue, focusItem, event);\n handleChangeValue(focusItemValue, event);\n handleClose();\n }, [data, focusItemValue, handleChangeValue, handleClose, handleSelect, setValue, valueKey]);\n var handleItemSelect = (0, _react.useCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n handleSelect(value, item, event);\n handleChangeValue(value, event);\n handleClose();\n }, [setValue, setFocusItemValue, handleSelect, handleChangeValue, handleClose]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue(null);\n setFocusItemValue(value);\n handleChangeValue(null, event);\n }, [value, disabled, cleanable, setValue, handleChangeValue, setFocusItemValue]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter,\n onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setActive(false);\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n setFocusItemValue(value);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen, setFocusItemValue, value]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n }); // Find active `MenuItem` by `value`\n\n var activeItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = !!activeItem || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n selectedElement = activeItem[labelKey];\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, activeItem, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('select-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData; // Create a tree structure data when set `groupBy`\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-select-menu',\n dropdownMenuItemClassPrefix: 'picker-select-menu-item',\n dropdownMenuItemAs: _Picker.DropdownMenuItem,\n activeItemValues: [value],\n focusItemValue: focusItemValue,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 362,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 9\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 375,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'select',\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 399,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n disabled: disabled,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n inputValue: value !== null && value !== void 0 ? value : '',\n active: active,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nSelectPicker.displayName = 'SelectPicker';\nSelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n\n /**\n * group by key in `data`\n */\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = SelectPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/SelectPicker/SelectPicker.tsx?");
|
|
4204
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/SelectPicker/SelectPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n valueProp = props.value,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n placeholder = props.placeholder,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n groupBy = props.groupBy,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n virtualized = props.virtualized,\n listProps = props.listProps,\n id = props.id,\n onGroupTitleClick = props.onGroupTitleClick,\n searchBy = props.searchBy,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n sort = props.sort,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"data\", \"valueKey\", \"labelKey\", \"value\", \"classPrefix\", \"placeholder\", \"defaultValue\", \"disabled\", \"cleanable\", \"placement\", \"menuClassName\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuStyle\", \"groupBy\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"disabledItemValues\", \"virtualized\", \"listProps\", \"id\", \"onGroupTitleClick\", \"searchBy\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"sort\", \"renderValue\", \"renderMenu\", \"renderMenuGroup\", \"renderMenuItem\", \"renderExtraFooter\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _ref = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown; // Use search keywords to filter options.\n\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: function callback(searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n updateFilteredData = _useSearch.updateFilteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch;\n\n (0, _react.useEffect)(function () {\n updateFilteredData(data);\n }, [data, updateFilteredData]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n var _targetRef$current;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onSelect]);\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n if (!focusItemValue) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n setValue(focusItemValue);\n handleSelect(focusItemValue, focusItem, event);\n handleChangeValue(focusItemValue, event);\n handleClose();\n }, [data, focusItemValue, handleChangeValue, handleClose, handleSelect, setValue, valueKey]);\n var handleItemSelect = (0, _react.useCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n handleSelect(value, item, event);\n handleChangeValue(value, event);\n handleClose();\n }, [setValue, setFocusItemValue, handleSelect, handleChangeValue, handleClose]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue(null);\n setFocusItemValue(value);\n handleChangeValue(null, event);\n }, [value, disabled, cleanable, setValue, handleChangeValue, setFocusItemValue]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter,\n onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setActive(false);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword, onSearch]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n setFocusItemValue(value);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen, setFocusItemValue, value]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n }); // Find active `MenuItem` by `value`\n\n var activeItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = !!activeItem || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n selectedElement = activeItem[labelKey];\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, activeItem, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('select-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData; // Create a tree structure data when set `groupBy`\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-select-menu',\n dropdownMenuItemClassPrefix: 'picker-select-menu-item',\n dropdownMenuItemAs: _Picker.DropdownMenuItem,\n activeItemValues: [value],\n focusItemValue: focusItemValue,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 363,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 9\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 376,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'select',\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n disabled: disabled,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n inputValue: value !== null && value !== void 0 ? value : '',\n active: active,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 409,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nSelectPicker.displayName = 'SelectPicker';\nSelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n\n /**\n * group by key in `data`\n */\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = SelectPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/SelectPicker/SelectPicker.tsx?");
|
|
4205
4205
|
|
|
4206
4206
|
/***/ }),
|
|
4207
4207
|
|
|
@@ -4619,7 +4619,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4619
4619
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4620
4620
|
|
|
4621
4621
|
"use strict";
|
|
4622
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _Loader = _interopRequireDefault(__webpack_require__(/*! ../Loader */ \"./src/Loader/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Toggle/Toggle.tsx\",\n _this = void 0;\n\nvar Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'span' : _props$as,\n disabled = props.disabled,\n readOnly = props.readOnly,\n _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n plaintext = props.plaintext,\n className = props.className,\n checkedChildren = props.checkedChildren,\n unCheckedChildren = props.unCheckedChildren,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'toggle' : _props$classPrefix,\n checkedProp = props.checked,\n defaultChecked = props.defaultChecked,\n size = props.size,\n localeProp = props.locale,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"disabled\", \"readOnly\", \"loading\", \"plaintext\", \"className\", \"checkedChildren\", \"unCheckedChildren\", \"classPrefix\", \"checked\", \"defaultChecked\", \"size\", \"locale\", \"onChange\"]);\n var inputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils.useControlled)(checkedProp, defaultChecked),\n checked = _useControlled[0],\n setChecked = _useControlled[1];\n\n var _useCustom = (0, _utils.useCustom)('Toggle', localeProp),\n locale = _useCustom.locale;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(size, {\n checked: checked,\n disabled: disabled,\n loading: loading\n }));\n var inner = checked ? checkedChildren : unCheckedChildren;\n var label = checked ? locale.on : locale.off;\n var handleInputChange = (0, _react.useCallback)(function (e) {\n if (disabled || readOnly || loading) {\n return;\n }\n\n var checked = e.target.checked;\n setChecked(checked);\n onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);\n }, [disabled, readOnly, loading, setChecked, onChange]);\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber:
|
|
4622
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _Loader = _interopRequireDefault(__webpack_require__(/*! ../Loader */ \"./src/Loader/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Toggle/Toggle.tsx\",\n _this = void 0;\n\nvar Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'span' : _props$as,\n disabled = props.disabled,\n readOnly = props.readOnly,\n _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n plaintext = props.plaintext,\n className = props.className,\n checkedChildren = props.checkedChildren,\n unCheckedChildren = props.unCheckedChildren,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'toggle' : _props$classPrefix,\n checkedProp = props.checked,\n defaultChecked = props.defaultChecked,\n size = props.size,\n localeProp = props.locale,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"disabled\", \"readOnly\", \"loading\", \"plaintext\", \"className\", \"checkedChildren\", \"unCheckedChildren\", \"classPrefix\", \"checked\", \"defaultChecked\", \"size\", \"locale\", \"onChange\"]);\n var inputRef = (0, _react.useRef)(null);\n\n var _useControlled = (0, _utils.useControlled)(checkedProp, defaultChecked),\n checked = _useControlled[0],\n setChecked = _useControlled[1];\n\n var _useCustom = (0, _utils.useCustom)('Toggle', localeProp),\n locale = _useCustom.locale;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(size, {\n checked: checked,\n disabled: disabled,\n loading: loading\n }));\n var inner = checked ? checkedChildren : unCheckedChildren;\n var label = checked ? locale.on : locale.off;\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(rest),\n htmlInputProps = _partitionHTMLProps[0],\n restProps = _partitionHTMLProps[1];\n\n var handleInputChange = (0, _react.useCallback)(function (e) {\n if (disabled || readOnly || loading) {\n return;\n }\n\n var checked = e.target.checked;\n setChecked(checked);\n onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);\n }, [disabled, readOnly, loading, setChecked, onChange]);\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 12\n }\n }, inner || label);\n }\n\n return /*#__PURE__*/_react.default.createElement(\"label\", (0, _extends2.default)({\n ref: ref,\n className: classes\n }, restProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({}, htmlInputProps, {\n ref: inputRef,\n type: \"checkbox\",\n checked: checkedProp,\n defaultChecked: defaultChecked,\n disabled: disabled,\n readOnly: readOnly,\n onChange: handleInputChange,\n className: prefix('input'),\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-disabled\": disabled,\n \"aria-label\": typeof inner === 'string' ? inner : label,\n \"aria-busy\": loading || undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 95,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(Component, {\n className: prefix('presentation'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('inner'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 112,\n columnNumber: 9\n }\n }, inner), loading && /*#__PURE__*/_react.default.createElement(_Loader.default, {\n className: prefix('loader'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 113,\n columnNumber: 21\n }\n })));\n});\n\nToggle.displayName = 'Toggle';\nToggle.propTypes = {\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n checked: _propTypes.default.bool,\n defaultChecked: _propTypes.default.bool,\n checkedChildren: _propTypes.default.node,\n unCheckedChildren: _propTypes.default.node,\n loading: _propTypes.default.bool,\n classPrefix: _propTypes.default.string,\n className: _propTypes.default.string,\n onChange: _propTypes.default.func,\n as: _propTypes.default.elementType,\n size: _propTypes.default.oneOf(['sm', 'md', 'lg']),\n locale: _propTypes.default.shape({\n on: _propTypes.default.string,\n off: _propTypes.default.string\n })\n};\nvar _default = Toggle;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Toggle/Toggle.tsx?");
|
|
4623
4623
|
|
|
4624
4624
|
/***/ }),
|
|
4625
4625
|
|
|
@@ -9013,7 +9013,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9013
9013
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9014
9014
|
|
|
9015
9015
|
"use strict";
|
|
9016
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\");\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rsuite/icons/Sort */ \"./node_modules/@rsuite/icons/Sort.js\");\n/* harmony import */ var _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @rsuite/icons/SortUp */ \"./node_modules/@rsuite/icons/SortUp.js\");\n/* harmony import */ var _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @rsuite/icons/SortDown */ \"./node_modules/@rsuite/icons/SortDown.js\");\n/* harmony import */ var _ColumnResizeHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ColumnResizeHandler */ \"./node_modules/rsuite-table/es/ColumnResizeHandler.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Cell */ \"./node_modules/rsuite-table/es/Cell.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar SORTED_ICON = {\n desc: _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__.default,\n asc: _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__.default\n};\nvar HeaderCell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,\n width = props.width,\n dataKey = props.dataKey,\n headerHeight = props.headerHeight,\n children = props.children,\n left = props.left,\n sortable = props.sortable,\n sortColumn = props.sortColumn,\n sortType = props.sortType,\n groupHeader = props.groupHeader,\n resizable = props.resizable,\n fixed = props.fixed,\n minWidth = props.minWidth,\n index = props.index,\n flexGrow = props.flexGrow,\n align = props.align,\n verticalAlign = props.verticalAlign,\n onColumnResizeEnd = props.onColumnResizeEnd,\n onResize = props.onResize,\n onColumnResizeStart = props.onColumnResizeStart,\n onColumnResizeMove = props.onColumnResizeMove,\n onSortColumn = props.onSortColumn,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"className\", \"classPrefix\", \"width\", \"dataKey\", \"headerHeight\", \"children\", \"left\", \"sortable\", \"sortColumn\", \"sortType\", \"groupHeader\", \"resizable\", \"fixed\", \"minWidth\", \"index\", \"flexGrow\", \"align\", \"verticalAlign\", \"onColumnResizeEnd\", \"onResize\", \"onColumnResizeStart\", \"onColumnResizeMove\", \"onSortColumn\"]);\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0),\n columnWidth = _useState[0],\n setColumnWidth = _useState[1];\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useUpdateEffect)(function () {\n setColumnWidth(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0);\n }, [flexGrow, width]);\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n sortable: sortable\n }));\n var ariaSort;\n\n if (sortColumn === dataKey) {\n ariaSort = 'other';\n\n if (sortType === 'asc') {\n ariaSort = 'ascending';\n } else if (sortType === 'desc') {\n ariaSort = 'descending';\n }\n }\n\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (sortable) {\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey);\n }\n }, [dataKey, onSortColumn, sortable]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n onColumnResizeStart === null || onColumnResizeStart === void 0 ? void 0 : onColumnResizeStart(columnWidth, left, !!fixed);\n }, [columnWidth, fixed, left, onColumnResizeStart]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (nextColumnWidth, cursorDelta) {\n setColumnWidth(nextColumnWidth);\n onColumnResizeEnd === null || onColumnResizeEnd === void 0 ? void 0 : onColumnResizeEnd(nextColumnWidth, cursorDelta, dataKey, index);\n onResize === null || onResize === void 0 ? void 0 : onResize(nextColumnWidth, dataKey);\n }, [dataKey, index, onColumnResizeEnd, onResize]);\n\n var renderSortColumn = function renderSortColumn() {\n if (sortable && !groupHeader) {\n var _classNames;\n\n var SortIcon = sortColumn === dataKey && sortType ? SORTED_ICON[sortType] : _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__.default;\n var iconClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()(prefix('icon-sort'), (_classNames = {}, _classNames[prefix(\"icon-sort-\" + sortType)] = sortColumn === dataKey, _classNames));\n
|
|
9016
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\");\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rsuite/icons/Sort */ \"./node_modules/@rsuite/icons/Sort.js\");\n/* harmony import */ var _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @rsuite/icons/SortUp */ \"./node_modules/@rsuite/icons/SortUp.js\");\n/* harmony import */ var _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @rsuite/icons/SortDown */ \"./node_modules/@rsuite/icons/SortDown.js\");\n/* harmony import */ var _ColumnResizeHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ColumnResizeHandler */ \"./node_modules/rsuite-table/es/ColumnResizeHandler.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Cell */ \"./node_modules/rsuite-table/es/Cell.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar SORTED_ICON = {\n desc: _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__.default,\n asc: _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__.default\n};\nvar HeaderCell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,\n width = props.width,\n dataKey = props.dataKey,\n headerHeight = props.headerHeight,\n children = props.children,\n left = props.left,\n sortable = props.sortable,\n sortColumn = props.sortColumn,\n sortType = props.sortType,\n groupHeader = props.groupHeader,\n resizable = props.resizable,\n fixed = props.fixed,\n minWidth = props.minWidth,\n index = props.index,\n flexGrow = props.flexGrow,\n align = props.align,\n verticalAlign = props.verticalAlign,\n onColumnResizeEnd = props.onColumnResizeEnd,\n onResize = props.onResize,\n onColumnResizeStart = props.onColumnResizeStart,\n onColumnResizeMove = props.onColumnResizeMove,\n onSortColumn = props.onSortColumn,\n renderSortIcon = props.renderSortIcon,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"className\", \"classPrefix\", \"width\", \"dataKey\", \"headerHeight\", \"children\", \"left\", \"sortable\", \"sortColumn\", \"sortType\", \"groupHeader\", \"resizable\", \"fixed\", \"minWidth\", \"index\", \"flexGrow\", \"align\", \"verticalAlign\", \"onColumnResizeEnd\", \"onResize\", \"onColumnResizeStart\", \"onColumnResizeMove\", \"onSortColumn\", \"renderSortIcon\"]);\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0),\n columnWidth = _useState[0],\n setColumnWidth = _useState[1];\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useUpdateEffect)(function () {\n setColumnWidth(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0);\n }, [flexGrow, width]);\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n sortable: sortable\n }));\n var ariaSort;\n\n if (sortColumn === dataKey) {\n ariaSort = 'other';\n\n if (sortType === 'asc') {\n ariaSort = 'ascending';\n } else if (sortType === 'desc') {\n ariaSort = 'descending';\n }\n }\n\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (sortable) {\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey);\n }\n }, [dataKey, onSortColumn, sortable]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n onColumnResizeStart === null || onColumnResizeStart === void 0 ? void 0 : onColumnResizeStart(columnWidth, left, !!fixed);\n }, [columnWidth, fixed, left, onColumnResizeStart]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (nextColumnWidth, cursorDelta) {\n setColumnWidth(nextColumnWidth);\n onColumnResizeEnd === null || onColumnResizeEnd === void 0 ? void 0 : onColumnResizeEnd(nextColumnWidth, cursorDelta, dataKey, index);\n onResize === null || onResize === void 0 ? void 0 : onResize(nextColumnWidth, dataKey);\n }, [dataKey, index, onColumnResizeEnd, onResize]);\n\n var renderSortColumn = function renderSortColumn() {\n if (sortable && !groupHeader) {\n var _classNames;\n\n var SortIcon = sortColumn === dataKey && sortType ? SORTED_ICON[sortType] : _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__.default;\n var iconClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()(prefix('icon-sort'), (_classNames = {}, _classNames[prefix(\"icon-sort-\" + sortType)] = sortColumn === dataKey, _classNames));\n var sortIcon = renderSortIcon ? renderSortIcon(sortColumn === dataKey ? sortType : undefined) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(SortIcon, {\n className: iconClasses\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: prefix('sort-wrapper')\n }, sortIcon);\n }\n\n return null;\n };\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: ref,\n className: classes\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Cell__WEBPACK_IMPORTED_MODULE_11__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n \"aria-sort\": ariaSort\n }, rest, {\n width: width,\n dataKey: dataKey,\n left: left,\n headerHeight: headerHeight,\n isHeaderCell: true,\n align: !groupHeader ? align : undefined,\n verticalAlign: !groupHeader ? verticalAlign : undefined,\n onClick: !groupHeader ? handleClick : undefined\n }), children, renderSortColumn()), resizable ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_ColumnResizeHandler__WEBPACK_IMPORTED_MODULE_9__.default, {\n defaultColumnWidth: columnWidth,\n key: columnWidth,\n columnLeft: left,\n columnFixed: fixed,\n height: headerHeight ? headerHeight - 1 : undefined,\n minWidth: minWidth,\n onColumnResizeMove: onColumnResizeMove,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeEnd: handleColumnResizeEnd\n }) : null);\n});\nHeaderCell.displayName = 'HeaderCell';\nHeaderCell.propTypes = {\n index: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n sortType: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['desc', 'asc']),\n sortable: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n resizable: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n minWidth: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n onColumnResizeStart: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onColumnResizeEnd: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onResize: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onColumnResizeMove: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n flexGrow: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n fixed: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n renderSortIcon: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (HeaderCell);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/HeaderCell.js?");
|
|
9017
9017
|
|
|
9018
9018
|
/***/ }),
|
|
9019
9019
|
|
|
@@ -9057,7 +9057,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
|
|
|
9057
9057
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9058
9058
|
|
|
9059
9059
|
"use strict";
|
|
9060
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/DOMMouseMoveTracker */ \"./node_modules/dom-lib/esm/DOMMouseMoveTracker.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n\n\n\n\n\n\n\n\n\nvar Scrollbar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var _styles;\n\n var _props$length = props.length,\n length = _props$length === void 0 ? 1 : _props$length,\n _props$scrollLength = props.scrollLength,\n scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,\n vertical = props.vertical,\n className = props.className,\n tableId = props.tableId,\n onMouseDown = props.onMouseDown,\n onScroll = props.onScroll,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"length\", \"scrollLength\", \"classPrefix\", \"vertical\", \"className\", \"tableId\", \"onMouseDown\", \"onScroll\"]);\n\n var _React$useContext = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(_TableContext__WEBPACK_IMPORTED_MODULE_8__.default),\n translateDOMPositionXY = _React$useContext.translateDOMPositionXY;\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false),\n handlePressed = _useState[0],\n setHandlePressed = _useState[1];\n\n var _useState2 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({\n top: 0,\n left: 0\n }),\n barOffset = _useState2[0],\n setBarOffset = _useState2[1];\n\n var scrollOffset = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(0);\n var scrollRange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(scrollLength);\n var barRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var handleRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var mouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n horizontal: !vertical,\n hide: scrollLength <= length,\n pressed: handlePressed\n }));\n var width = length / scrollLength * 100;\n var styles = (_styles = {}, _styles[vertical ? 'height' : 'width'] = width + \"%\", _styles[vertical ? 'minHeight' : 'minWidth'] = _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH, _styles);\n var valuenow = scrollOffset.current / length * 100 + width;\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useMount)(function () {\n setTimeout(function () {\n if (barRef.current) {\n setBarOffset((0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__.default)(barRef.current));\n }\n }, 1);\n });\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n return function () {\n releaseMouseMoves();\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useUpdateEffect)(function () {\n if (scrollOffset.current) {\n // Update the position of the scroll bar when the height of the table content area changes.\n scrollOffset.current = scrollRange.current / scrollLength * scrollOffset.current;\n updateScrollBarPosition(0);\n }\n\n scrollRange.current = scrollLength;\n }, [scrollLength]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return barRef.current;\n },\n\n get handle() {\n return handleRef.current;\n },\n\n onWheelScroll: function onWheelScroll(delta, momentum) {\n var nextDelta = delta / (scrollLength / length);\n updateScrollBarPosition(nextDelta, undefined, momentum);\n },\n resetScrollBarPosition: function resetScrollBarPosition(forceDelta) {\n if (forceDelta === void 0) {\n forceDelta = 0;\n }\n\n scrollOffset.current = 0;\n updateScrollBarPosition(0, forceDelta);\n }\n };\n });\n var updateScrollBarPosition = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, forceDelta, momentum) {\n var max = scrollLength && length ? length - Math.max(length / scrollLength * length, _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH + 2) : 0;\n var styles = momentum ? {\n 'transition-duration': _constants__WEBPACK_IMPORTED_MODULE_6__.TRANSITION_DURATION + \"ms\",\n 'transition-timing-function': _constants__WEBPACK_IMPORTED_MODULE_6__.BEZIER\n } : {};\n\n if (typeof forceDelta === 'undefined') {\n scrollOffset.current += delta;\n scrollOffset.current = Math.max(scrollOffset.current, 0);\n scrollOffset.current = Math.min(scrollOffset.current, max);\n } else {\n scrollOffset.current = forceDelta || 0;\n }\n\n if (vertical) {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, scrollOffset.current);\n } else {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, scrollOffset.current, 0);\n }\n\n if (handleRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__.default)(handleRef.current, styles);\n }\n }, [length, scrollLength, translateDOMPositionXY, vertical]);\n var handleScroll = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, event) {\n var scrollDelta = delta * (scrollLength / length);\n updateScrollBarPosition(delta);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(scrollDelta, event);\n }, [length, onScroll, scrollLength, updateScrollBarPosition]);\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _handleRef$current;\n\n if (handleRef.current && (_handleRef$current = handleRef.current) !== null && _handleRef$current !== void 0 && _handleRef$current.contains(event.target)) {\n return;\n }\n\n if (typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) !== 'number' || typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.left) !== 'number') {\n return;\n }\n\n var offset = vertical ? event.pageY - (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) : event.pageX - barOffset.left;\n var handleWidth = length / scrollLength * length;\n var delta = offset - handleWidth;\n var nextDelta = offset > scrollOffset.current ? delta - scrollOffset.current : offset - scrollOffset.current;\n handleScroll(nextDelta, event);\n }, [barOffset, handleScroll, length, scrollLength, vertical]);\n var releaseMouseMoves = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;\n\n (_mouseMoveTracker$cur = mouseMoveTracker.current) === null || _mouseMoveTracker$cur === void 0 ? void 0 : (_mouseMoveTracker$cur2 = _mouseMoveTracker$cur.releaseMouseMoves) === null || _mouseMoveTracker$cur2 === void 0 ? void 0 : _mouseMoveTracker$cur2.call(_mouseMoveTracker$cur);\n mouseMoveTracker.current = null;\n }, []);\n var handleDragMove = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (deltaX, deltaY, event) {\n var _window, _window$event;\n\n if (!mouseMoveTracker.current || !mouseMoveTracker.current.isDragging()) {\n return;\n }\n\n if ((event === null || event === void 0 ? void 0 : event.buttons) === 0 || ((_window = window) === null || _window === void 0 ? void 0 : (_window$event = _window.event) === null || _window$event === void 0 ? void 0 : _window$event['buttons']) === 0) {\n releaseMouseMoves();\n return;\n }\n\n handleScroll(vertical ? deltaY : deltaX, event);\n }, [handleScroll, releaseMouseMoves, vertical]);\n var handleDragEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n releaseMouseMoves();\n setHandlePressed(false);\n }, [releaseMouseMoves]);\n var getMouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n return mouseMoveTracker.current || new dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__.default(handleDragMove, handleDragEnd, document.body);\n }, [handleDragEnd, handleDragMove]);\n var handleMouseDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _mouseMoveTracker$cur3;\n\n mouseMoveTracker.current = getMouseMoveTracker();\n mouseMoveTracker === null || mouseMoveTracker === void 0 ? void 0 : (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);\n setHandlePressed(true);\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);\n }, [getMouseMoveTracker, onMouseDown]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: \"scrollbar\",\n \"aria-controls\": tableId,\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": valuenow,\n \"aria-orientation\": vertical ? 'vertical' : 'horizontal'\n }, rest, {\n ref: barRef,\n className: classes,\n onClick: handleClick\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: handleRef,\n className: prefix('handle'),\n style: styles,\n onMouseDown: handleMouseDown,\n role: \"button\",\n tabIndex: -1\n }));\n});\nScrollbar.displayName = 'Table.Scrollbar';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scrollbar);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Scrollbar.js?");
|
|
9060
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/DOMMouseMoveTracker */ \"./node_modules/dom-lib/esm/DOMMouseMoveTracker.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n\n\n\n\n\n\n\n\n\nvar Scrollbar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var _barRef$current, _styles;\n\n var _props$length = props.length,\n length = _props$length === void 0 ? 1 : _props$length,\n _props$scrollLength = props.scrollLength,\n scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,\n vertical = props.vertical,\n className = props.className,\n tableId = props.tableId,\n onMouseDown = props.onMouseDown,\n onScroll = props.onScroll,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"length\", \"scrollLength\", \"classPrefix\", \"vertical\", \"className\", \"tableId\", \"onMouseDown\", \"onScroll\"]);\n\n var _React$useContext = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(_TableContext__WEBPACK_IMPORTED_MODULE_8__.default),\n translateDOMPositionXY = _React$useContext.translateDOMPositionXY;\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false),\n handlePressed = _useState[0],\n setHandlePressed = _useState[1];\n\n var _useState2 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({\n top: 0,\n left: 0\n }),\n barOffset = _useState2[0],\n setBarOffset = _useState2[1];\n\n var scrollOffset = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(0);\n var scrollRange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(scrollLength);\n var barRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var handleRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var mouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n horizontal: !vertical,\n pressed: handlePressed\n }), // keep the 'fixed' class name if it has already been given by useAffix hook\n ((_barRef$current = barRef.current) === null || _barRef$current === void 0 ? void 0 : _barRef$current.classList.contains('fixed')) && 'fixed');\n var width = length / scrollLength * 100;\n var styles = (_styles = {}, _styles[vertical ? 'height' : 'width'] = width + \"%\", _styles[vertical ? 'minHeight' : 'minWidth'] = _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH, _styles);\n var valuenow = scrollOffset.current / length * 100 + width;\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useMount)(function () {\n setTimeout(function () {\n if (barRef.current) {\n setBarOffset((0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__.default)(barRef.current));\n }\n }, 1);\n return function () {\n releaseMouseMoves();\n };\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useUpdateEffect)(function () {\n if (scrollOffset.current) {\n // Update the position of the scroll bar when the height of the table content area changes.\n scrollOffset.current = scrollRange.current / scrollLength * scrollOffset.current;\n updateScrollBarPosition(0);\n }\n\n scrollRange.current = scrollLength;\n }, [scrollLength]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return barRef.current;\n },\n\n get handle() {\n return handleRef.current;\n },\n\n onWheelScroll: function onWheelScroll(delta, momentum) {\n var nextDelta = delta / (scrollLength / length);\n updateScrollBarPosition(nextDelta, undefined, momentum);\n },\n resetScrollBarPosition: function resetScrollBarPosition(forceDelta) {\n if (forceDelta === void 0) {\n forceDelta = 0;\n }\n\n scrollOffset.current = 0;\n updateScrollBarPosition(0, forceDelta);\n }\n };\n });\n var updateScrollBarPosition = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, forceDelta, momentum) {\n var max = scrollLength && length ? length - Math.max(length / scrollLength * length, _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH + 2) : 0;\n var styles = momentum ? {\n 'transition-duration': _constants__WEBPACK_IMPORTED_MODULE_6__.TRANSITION_DURATION + \"ms\",\n 'transition-timing-function': _constants__WEBPACK_IMPORTED_MODULE_6__.BEZIER\n } : {};\n\n if (typeof forceDelta === 'undefined') {\n scrollOffset.current += delta;\n scrollOffset.current = Math.max(scrollOffset.current, 0);\n scrollOffset.current = Math.min(scrollOffset.current, max);\n } else {\n scrollOffset.current = forceDelta || 0;\n }\n\n if (vertical) {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, scrollOffset.current);\n } else {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, scrollOffset.current, 0);\n }\n\n if (handleRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__.default)(handleRef.current, styles);\n }\n }, [length, scrollLength, translateDOMPositionXY, vertical]);\n var handleScroll = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, event) {\n var scrollDelta = delta * (scrollLength / length);\n updateScrollBarPosition(delta);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(scrollDelta, event);\n }, [length, onScroll, scrollLength, updateScrollBarPosition]);\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _handleRef$current;\n\n if (handleRef.current && (_handleRef$current = handleRef.current) !== null && _handleRef$current !== void 0 && _handleRef$current.contains(event.target)) {\n return;\n }\n\n if (typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) !== 'number' || typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.left) !== 'number') {\n return;\n }\n\n var offset = vertical ? event.pageY - (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) : event.pageX - barOffset.left;\n var handleWidth = length / scrollLength * length;\n var delta = offset - handleWidth;\n var nextDelta = offset > scrollOffset.current ? delta - scrollOffset.current : offset - scrollOffset.current;\n handleScroll(nextDelta, event);\n }, [barOffset, handleScroll, length, scrollLength, vertical]);\n var releaseMouseMoves = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;\n\n (_mouseMoveTracker$cur = mouseMoveTracker.current) === null || _mouseMoveTracker$cur === void 0 ? void 0 : (_mouseMoveTracker$cur2 = _mouseMoveTracker$cur.releaseMouseMoves) === null || _mouseMoveTracker$cur2 === void 0 ? void 0 : _mouseMoveTracker$cur2.call(_mouseMoveTracker$cur);\n mouseMoveTracker.current = null;\n }, []);\n var handleDragMove = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (deltaX, deltaY, event) {\n var _window, _window$event;\n\n if (!mouseMoveTracker.current || !mouseMoveTracker.current.isDragging()) {\n return;\n }\n\n if ((event === null || event === void 0 ? void 0 : event.buttons) === 0 || ((_window = window) === null || _window === void 0 ? void 0 : (_window$event = _window.event) === null || _window$event === void 0 ? void 0 : _window$event['buttons']) === 0) {\n releaseMouseMoves();\n return;\n }\n\n handleScroll(vertical ? deltaY : deltaX, event);\n }, [handleScroll, releaseMouseMoves, vertical]);\n var handleDragEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n releaseMouseMoves();\n setHandlePressed(false);\n }, [releaseMouseMoves]);\n var getMouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n return mouseMoveTracker.current || new dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__.default(handleDragMove, handleDragEnd, document.body);\n }, [handleDragEnd, handleDragMove]);\n var handleMouseDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _mouseMoveTracker$cur3;\n\n mouseMoveTracker.current = getMouseMoveTracker();\n mouseMoveTracker === null || mouseMoveTracker === void 0 ? void 0 : (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);\n setHandlePressed(true);\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);\n }, [getMouseMoveTracker, onMouseDown]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: \"scrollbar\",\n \"aria-controls\": tableId,\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": valuenow,\n \"aria-orientation\": vertical ? 'vertical' : 'horizontal'\n }, rest, {\n ref: barRef,\n className: classes,\n onClick: handleClick\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: handleRef,\n className: prefix('handle'),\n style: styles,\n onMouseDown: handleMouseDown,\n role: \"button\",\n tabIndex: -1\n }));\n});\nScrollbar.displayName = 'Table.Scrollbar';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scrollbar);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Scrollbar.js?");
|
|
9061
9061
|
|
|
9062
9062
|
/***/ }),
|
|
9063
9063
|
|
|
@@ -9068,7 +9068,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
|
|
|
9068
9068
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9069
9069
|
|
|
9070
9070
|
"use strict";
|
|
9071
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/translateDOMPositionXY */ \"./node_modules/dom-lib/esm/translateDOMPositionXY.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Row */ \"./node_modules/rsuite-table/es/Row.js\");\n/* harmony import */ var _CellGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CellGroup */ \"./node_modules/rsuite-table/es/CellGroup.js\");\n/* harmony import */ var _Scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Scrollbar */ \"./node_modules/rsuite-table/es/Scrollbar.js\");\n/* harmony import */ var _MouseArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MouseArea */ \"./node_modules/rsuite-table/es/MouseArea.js\");\n/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Loader */ \"./node_modules/rsuite-table/es/Loader.js\");\n/* harmony import */ var _EmptyMessage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EmptyMessage */ \"./node_modules/rsuite-table/es/EmptyMessage.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Filter those expanded nodes.\n * @param data\n * @param expandedRowKeys\n * @param rowKey\n * @returns\n */\nvar filterTreeData = function filterTreeData(data, expandedRowKeys, rowKey) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_15__.flattenData)(data).filter(function (rowData) {\n if (rowKey) {\n var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n\n var _expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\n\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.EXPANDED_KEY] = _expanded;\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH] = parents.length;\n return _expanded;\n }\n });\n};\n\nvar DATA_PLACEHOLDER = [];\nvar Table = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var affixHeader = props.affixHeader,\n children = props.children,\n classPrefix = props.classPrefix,\n className = props.className,\n _props$data = props.data,\n dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,\n _props$defaultSortTyp = props.defaultSortType,\n defaultSortType = _props$defaultSortTyp === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC : _props$defaultSortTyp,\n widthProp = props.width,\n expandedRowKeysProp = props.expandedRowKeys,\n defaultExpandAllRows = props.defaultExpandAllRows,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n style = props.style,\n id = props.id,\n isTree = props.isTree,\n _props$hover = props.hover,\n hover = _props$hover === void 0 ? true : _props$hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n } : _props$locale,\n _props$showHeader = props.showHeader,\n showHeader = _props$showHeader === void 0 ? true : _props$showHeader,\n sortColumn = props.sortColumn,\n _props$rowHeight = props.rowHeight,\n rowHeight = _props$rowHeight === void 0 ? 46 : _props$rowHeight,\n sortTypeProp = props.sortType,\n _props$headerHeight = props.headerHeight,\n headerHeightProp = _props$headerHeight === void 0 ? 40 : _props$headerHeight,\n _props$minHeight = props.minHeight,\n minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,\n _props$height = props.height,\n height = _props$height === void 0 ? 200 : _props$height,\n autoHeight = props.autoHeight,\n rtlProp = props.rtl,\n _props$translate3d = props.translate3d,\n translate3d = _props$translate3d === void 0 ? true : _props$translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowClassName = props.rowClassName,\n _props$rowExpandedHei = props.rowExpandedHeight,\n rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n _props$shouldUpdateSc = props.shouldUpdateScroll,\n shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,\n renderRowProp = props.renderRow,\n renderRowExpandedProp = props.renderRowExpanded,\n renderLoading = props.renderLoading,\n renderEmpty = props.renderEmpty,\n onSortColumn = props.onSortColumn,\n onScroll = props.onScroll,\n renderTreeToggle = props.renderTreeToggle,\n onRowClick = props.onRowClick,\n onRowContextMenu = props.onRowContextMenu,\n onExpandChange = props.onExpandChange,\n onTouchStart = props.onTouchStart,\n onTouchMove = props.onTouchMove,\n onTouchEnd = props.onTouchEnd,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"affixHeader\", \"children\", \"classPrefix\", \"className\", \"data\", \"defaultSortType\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"renderRow\", \"renderRowExpanded\", \"renderLoading\", \"renderEmpty\", \"onSortColumn\", \"onScroll\", \"renderTreeToggle\", \"onRowClick\", \"onRowContextMenu\", \"onExpandChange\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\"]);\n\n if (isTree && !rowKey) {\n throw new Error('The `rowKey` is required when set isTree');\n }\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useClassNames)(classPrefix || 'table', typeof classPrefix !== 'undefined'),\n withClassPrefix = _useClassNames.withClassPrefix,\n mergeCls = _useClassNames.merge,\n prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.\n\n\n var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_2__.useReducer)(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useControlled = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findRowKeys)(dataProp, rowKey, lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp)) : defaultExpandedRowKeys || []),\n expandedRowKeys = _useControlled[0],\n setExpandedRowKeys = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(function () {\n return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;\n }),\n data = _useState[0],\n setData = _useState[1];\n\n var _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n expandedRowKeys: expandedRowKeys,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\n\n var headerHeight = showHeader ? headerHeightProp : 0;\n var rtl = rtlProp || (0,_utils__WEBPACK_IMPORTED_MODULE_15__.isRTL)();\n\n var getRowHeight = function getRowHeight(rowData) {\n if (rowData === void 0) {\n rowData = {};\n }\n\n return typeof rowHeight === 'function' ? rowHeight(rowData) : rowHeight;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\n forceUseTransform: true,\n enable3DTransform: translate3d\n }));\n var shouldFixedColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props;\n\n return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;\n });\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n /**\n * Reset the position of the scroll bar after the table size changes.\n */\n\n var resetScrollbar = function resetScrollbar(event) {\n forceUpdate();\n\n if (typeof shouldUpdateScroll === 'function') {\n onScrollTo(shouldUpdateScroll(event));\n } else if (shouldUpdateScroll) {\n var vertical = event === 'bodyHeightChanged';\n vertical ? onScrollTop(0) : onScrollLeft(0);\n }\n };\n\n var _useTableDimension = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableDimension)({\n data: dataProp,\n width: widthProp,\n rowHeight: rowHeight,\n tableRef: tableRef,\n headerWrapperRef: headerWrapperRef,\n prefix: prefix,\n affixHeader: affixHeader,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n headerHeight: headerHeight,\n height: height,\n autoHeight: autoHeight,\n children: children,\n expandedRowKeys: expandedRowKeys,\n onTableScroll: function onTableScroll(coords) {\n onScrollTo(coords);\n },\n onTableContentHeightChange: function onTableContentHeightChange() {\n resetScrollbar('bodyHeightChanged');\n },\n onTableContentWidthChange: function onTableContentWidthChange() {\n resetScrollbar('bodyWidthChanged');\n },\n onTableWidthChange: function onTableWidthChange() {\n resetScrollbar('widthChanged');\n }\n }),\n contentHeight = _useTableDimension.contentHeight,\n contentWidth = _useTableDimension.contentWidth,\n minScrollY = _useTableDimension.minScrollY,\n minScrollX = _useTableDimension.minScrollX,\n scrollY = _useTableDimension.scrollY,\n scrollX = _useTableDimension.scrollX,\n tableWidth = _useTableDimension.tableWidth,\n tableOffset = _useTableDimension.tableOffset,\n headerOffset = _useTableDimension.headerOffset,\n setScrollY = _useTableDimension.setScrollY,\n setScrollX = _useTableDimension.setScrollX;\n\n var getTableHeight = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (data.length === 0 && autoHeight) {\n return height;\n }\n\n return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : height;\n }, [autoHeight, contentHeight, data.length, headerHeight, height, minHeight]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useAffix)({\n tableHeight: getTableHeight,\n contentHeight: contentHeight,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n affixHeader: affixHeader,\n tableOffset: tableOffset,\n headerOffset: headerOffset,\n headerHeight: headerHeight,\n scrollbarXRef: scrollbarXRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef\n });\n\n var _usePosition = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.usePosition)({\n data: dataProp,\n height: height,\n tableWidth: tableWidth,\n tableRef: tableRef,\n prefix: prefix,\n translateDOMPositionXY: translateDOMPositionXY,\n wheelWrapperRef: wheelWrapperRef,\n headerWrapperRef: headerWrapperRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef,\n tableHeaderRef: tableHeaderRef,\n scrollX: scrollX,\n scrollY: scrollY,\n contentWidth: contentWidth,\n shouldFixedColumn: shouldFixedColumn\n }),\n forceUpdatePosition = _usePosition.forceUpdatePosition;\n\n var _useScrollListener = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useScrollListener)({\n rtl: rtl,\n data: dataProp,\n height: height,\n virtualized: virtualized,\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n headerHeight: headerHeight,\n autoHeight: autoHeight,\n tableBodyRef: tableBodyRef,\n scrollbarXRef: scrollbarXRef,\n scrollbarYRef: scrollbarYRef,\n disabledScroll: disabledScroll,\n loading: loading,\n tableRef: tableRef,\n contentWidth: contentWidth,\n tableWidth: tableWidth,\n scrollY: scrollY,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollX: scrollX,\n setScrollX: setScrollX,\n setScrollY: setScrollY,\n forceUpdatePosition: forceUpdatePosition,\n onScroll: onScroll,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }),\n isScrolling = _useScrollListener.isScrolling,\n onScrollHorizontal = _useScrollListener.onScrollHorizontal,\n onScrollVertical = _useScrollListener.onScrollVertical,\n onScrollBody = _useScrollListener.onScrollBody,\n onScrollTop = _useScrollListener.onScrollTop,\n onScrollLeft = _useScrollListener.onScrollLeft,\n onScrollTo = _useScrollListener.onScrollTo;\n\n var _useCellDescriptor = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useCellDescriptor)({\n children: children,\n rtl: rtl,\n mouseAreaRef: mouseAreaRef,\n tableRef: tableRef,\n minScrollX: minScrollX,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerHeight: headerHeight,\n showHeader: showHeader,\n sortType: sortTypeProp,\n defaultSortType: defaultSortType,\n sortColumn: sortColumn,\n prefix: prefix,\n onSortColumn: onSortColumn,\n rowHeight: rowHeight\n }),\n headerCells = _useCellDescriptor.headerCells,\n bodyCells = _useCellDescriptor.bodyCells,\n allColumnsWidth = _useCellDescriptor.allColumnsWidth,\n hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;\n\n var colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n setData(isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp);\n }, [dataProp, expandedRowKeys, rowKey, isTree]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n if ((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) !== colCounts.current) {\n onScrollLeft(0);\n colCounts.current = (headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0;\n }\n }, [children]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return tableRef.current;\n },\n\n get body() {\n return wheelWrapperRef.current;\n },\n\n scrollTop: onScrollTop,\n scrollLeft: onScrollLeft\n };\n });\n var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current;\n var classes = mergeCls(className, withClassPrefix({\n bordered: bordered,\n hover: hover,\n loading: loading,\n treetable: isTree,\n 'word-wrap': wordWrap,\n 'cell-bordered': cellBordered\n }));\n\n var styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n width: widthProp || 'auto',\n height: getTableHeight()\n }, style);\n\n var renderRowExpanded = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n var styles = {\n height: rowExpandedHeight\n };\n\n if (typeof renderRowExpandedProp === 'function') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('row-expanded'),\n style: styles\n }, renderRowExpandedProp(rowData));\n }\n\n return null;\n }, [prefix, renderRowExpandedProp, rowExpandedHeight]);\n\n var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {\n var depth = props.depth,\n restRowProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"depth\"]);\n\n if (typeof rowClassName === 'function') {\n restRowProps.className = rowClassName(rowData);\n } else {\n restRowProps.className = rowClassName;\n }\n\n var rowStyles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props === null || props === void 0 ? void 0 : props.style);\n\n var rowRight = 0;\n\n if (rtl && contentWidth.current > tableWidth.current) {\n rowRight = tableWidth.current - contentWidth.current;\n rowStyles.right = rowRight;\n }\n\n var rowNode = null; // IF there are fixed columns, add a fixed group\n\n if (shouldFixedColumn && contentWidth.current > tableWidth.current) {\n var fixedLeftCells = [];\n var fixedRightCells = [];\n var scrollCells = [];\n var fixedLeftCellGroupWidth = 0;\n var fixedRightCellGroupWidth = 0;\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var _cell$props = cell.props,\n fixed = _cell$props.fixed,\n width = _cell$props.width;\n var isFixedStart = fixed === 'left' || fixed === true;\n var isFixedEnd = fixed === 'right';\n\n if (rtl) {\n isFixedStart = fixed === 'right';\n isFixedEnd = fixed === 'left' || fixed === true;\n }\n\n if (isFixedStart) {\n fixedLeftCells.push(cell);\n fixedLeftCellGroupWidth += width;\n } else if (isFixedEnd) {\n fixedRightCells.push(cell);\n fixedRightCellGroupWidth += width;\n } else {\n scrollCells.push(cell);\n }\n }\n\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, fixedLeftCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"left\",\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedLeftCellGroupWidth,\n style: rtl ? {\n right: tableWidth.current - fixedLeftCellGroupWidth - rowRight\n } : undefined\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedLeftCells))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(scrollCells)), fixedRightCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"right\",\n style: rtl ? {\n right: 0 - rowRight\n } : {\n left: tableWidth.current - fixedRightCellGroupWidth - _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n },\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedRightCellGroupWidth + _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedRightCells, _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH))) : null, shouldRenderExpandedRow && renderRowExpanded(rowData));\n } else {\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(cells)), shouldRenderExpandedRow && renderRowExpanded(rowData));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), renderRowProp ? renderRowProp(rowNode, rowData) : rowNode);\n };\n\n var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var rowProps = {\n 'aria-rowindex': 1,\n rowRef: tableHeaderRef,\n width: rowWidth,\n height: getRowHeight(),\n headerHeight: headerHeight,\n isHeaderRow: true,\n top: 0\n };\n var fixedStyle = {\n position: 'fixed',\n overflow: 'hidden',\n height: headerHeight,\n width: tableWidth.current,\n top: top\n }; // Affix header\n\n var header = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('affix-header'),\n style: fixedStyle,\n ref: affixHeaderWrapperRef\n }, renderRow(rowProps, headerCells));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n role: \"rowgroup\",\n className: prefix('header-row-wrapper'),\n ref: headerWrapperRef\n }, renderRow(rowProps, headerCells)));\n };\n\n var shouldRenderExpandedRow = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && rowKey && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n })) {\n return true;\n }\n\n return false;\n }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);\n var bindRowClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowData, event);\n };\n }, [onRowClick]);\n var bindRowContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowContextMenu === null || onRowContextMenu === void 0 ? void 0 : onRowContextMenu(rowData, event);\n };\n }, [onRowContextMenu]);\n var handleTreeToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (treeRowKey, _rowIndex, rowData) {\n var open = false;\n var nextExpandedRowKeys = [];\n\n for (var i = 0; i < expandedRowKeys.length; i++) {\n var key = expandedRowKeys[i];\n\n if (key === treeRowKey) {\n open = true;\n } else {\n nextExpandedRowKeys.push(key);\n }\n }\n\n if (!open) {\n nextExpandedRowKeys.push(treeRowKey);\n }\n\n setExpandedRowKeys(nextExpandedRowKeys);\n onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);\n }, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);\n\n var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {\n var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);\n var nextRowKey = rowKey && typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;\n\n var rowProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props, {\n key: nextRowKey,\n 'aria-rowindex': props.key + 2,\n rowRef: bindTableRowsRef(props.key, rowData),\n onClick: bindRowClick(rowData),\n onContextMenu: bindRowContextMenu(rowData)\n });\n\n var expanded = expandedRowKeys.some(function (key) {\n return rowKey && key === rowData[rowKey];\n });\n var cells = [];\n\n for (var i = 0; i < bodyCells.length; i++) {\n var _cell$props2, _cell$props2$rowSpan;\n\n var cell = bodyCells[i];\n var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);\n\n var _rowHeight = rowSpan ? rowSpan * (props.height || 46) : props.height;\n\n if (rowSpan) {\n var _rowProps$style;\n\n rowProps.rowSpan = rowSpan;\n rowProps.style = {\n /**\n * In the case of multiple-column merged rows,\n * the `zIndex` value of the previous row should be greater than the `zIndex` value of the following row.\n * So `rowSpan` is used as the `zIndex` value.\n */\n zIndex: ((_rowProps$style = rowProps.style) === null || _rowProps$style === void 0 ? void 0 : _rowProps$style.zIndex) || rowSpan,\n overflow: 'inherit'\n }; // TODO: Do not render those cells merged by `rowSpan`\n }\n\n cells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(cell, {\n hasChildren: hasChildren,\n rowData: rowData,\n wordWrap: wordWrap,\n height: _rowHeight,\n rowIndex: props.key,\n depth: props.depth,\n renderTreeToggle: renderTreeToggle,\n onTreeToggle: handleTreeToggle,\n rowKey: nextRowKey,\n expanded: expanded,\n rowSpan: rowSpan\n }));\n }\n\n return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);\n };\n\n var renderScrollbar = function renderScrollbar() {\n var height = getTableHeight();\n\n if (disabledScroll) {\n return null;\n }\n\n return [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"scrollbar\",\n tableId: id,\n style: {\n width: tableWidth.current\n },\n length: tableWidth.current,\n onScroll: onScrollHorizontal,\n scrollLength: contentWidth.current,\n ref: scrollbarXRef\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"vertical-scrollbar\",\n vertical: true,\n tableId: id,\n length: height - headerHeight,\n scrollLength: contentHeight.current,\n onScroll: onScrollVertical,\n ref: scrollbarYRef\n })];\n };\n\n var renderTableBody = function renderTableBody(bodyCells, rowWidth) {\n var _visibleRows$current;\n\n var height = getTableHeight();\n var bodyHeight = height - headerHeight;\n var bodyStyles = {\n top: headerHeight,\n height: bodyHeight\n };\n var contentHeight = 0;\n var topHideHeight = 0;\n var bottomHideHeight = 0;\n visibleRows.current = [];\n\n if (data) {\n var top = 0; // Row position\n\n var minTop = Math.abs(scrollY.current);\n var maxTop = minTop + height + rowExpandedHeight;\n var isCustomRowHeight = typeof rowHeight === 'function';\n var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,\n // you need to loop through the data to get the height of each row.\n\n if (isUncertainHeight && virtualized || !virtualized) {\n // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredHeight = height * 3;\n minTop = Math.max(minTop - coveredHeight, 0);\n maxTop = maxTop + coveredHeight;\n }\n\n for (var index = 0; index < data.length; index++) {\n var _rowData = data[index];\n var maxHeight = tableRowsMaxHeight[index];\n var shouldRender = shouldRenderExpandedRow(_rowData);\n var nextRowHeight = 0;\n\n if (typeof rowHeight === 'function') {\n nextRowHeight = rowHeight(_rowData);\n } else {\n nextRowHeight = maxHeight ? Math.max(maxHeight + _constants__WEBPACK_IMPORTED_MODULE_14__.CELL_PADDING_HEIGHT, rowHeight) : rowHeight;\n\n if (shouldRender) {\n nextRowHeight += rowExpandedHeight;\n }\n }\n\n contentHeight += nextRowHeight;\n var rowProps = {\n key: index,\n top: top,\n width: rowWidth,\n depth: _rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n height: nextRowHeight\n };\n top += nextRowHeight;\n\n if (virtualized && !wordWrap) {\n if (top + nextRowHeight < minTop) {\n topHideHeight += nextRowHeight;\n continue;\n } else if (top > maxTop) {\n bottomHideHeight += nextRowHeight;\n continue;\n }\n }\n\n visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, shouldRender));\n }\n } else {\n /** virtualized */\n // If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,\n // thereby reducing the performance cost of traversing all data.\n var _nextRowHeight = getRowHeight();\n\n var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);\n var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredCount = Math.floor(height / _nextRowHeight * 3);\n startIndex = Math.max(startIndex - coveredCount, 0);\n endIndex = Math.min(endIndex + coveredCount, data.length);\n }\n\n contentHeight = data.length * _nextRowHeight;\n topHideHeight = startIndex * _nextRowHeight;\n bottomHideHeight = (data.length - endIndex) * _nextRowHeight;\n\n for (var _index = startIndex; _index < endIndex; _index++) {\n var _rowData2 = data[_index];\n var _rowProps = {\n key: _index,\n depth: _rowData2[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n top: _index * _nextRowHeight,\n width: rowWidth,\n height: _nextRowHeight\n };\n visibleRows.current.push(renderRowData(bodyCells, _rowData2, _rowProps, false));\n }\n }\n }\n\n var wheelStyles = {\n position: 'absolute',\n height: contentHeight,\n minHeight: height,\n pointerEvents: isScrolling ? 'none' : undefined\n };\n var topRowStyles = {\n height: topHideHeight\n };\n var bottomRowStyles = {\n height: bottomHideHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: tableBodyRef,\n role: \"rowgroup\",\n className: prefix('body-row-wrapper'),\n style: bodyStyles,\n onScroll: onScrollBody\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n style: wheelStyles,\n className: prefix('body-wheel-area'),\n ref: wheelWrapperRef\n }, topHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: topRowStyles,\n className: \"virtualized\"\n }) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: bottomRowStyles,\n className: \"virtualized\"\n }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_EmptyMessage__WEBPACK_IMPORTED_MODULE_12__.default, {\n locale: locale,\n renderEmpty: renderEmpty,\n addPrefix: prefix,\n loading: !!((_visibleRows$current = visibleRows.current) !== null && _visibleRows$current !== void 0 && _visibleRows$current.length) || loading\n }), renderScrollbar(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Loader__WEBPACK_IMPORTED_MODULE_11__.default, {\n locale: locale,\n loadAnimation: loadAnimation,\n loading: loading,\n addPrefix: prefix,\n renderLoading: renderLoading\n }));\n };\n\n var contextValue = react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(function () {\n return {\n classPrefix: withClassPrefix(),\n translateDOMPositionXY: translateDOMPositionXY.current,\n rtl: rtl,\n isTree: isTree,\n hasCustomTreeCol: hasCustomTreeCol\n };\n }, [hasCustomTreeCol, isTree, rtl, withClassPrefix]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TableContext__WEBPACK_IMPORTED_MODULE_13__.default.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.\n // Its value is an integer equal to the total number of rows available, including header rows.\n ,\n \"aria-rowcount\": data.length + 1,\n \"aria-colcount\": colCounts.current,\n \"aria-busy\": loading\n }, rest, {\n className: classes,\n style: styles,\n ref: tableRef\n }), showHeader && renderTableHeader(headerCells, rowWidth), children && renderTableBody(bodyCells, rowWidth), showHeader && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_MouseArea__WEBPACK_IMPORTED_MODULE_10__.default, {\n ref: mouseAreaRef,\n addPrefix: prefix,\n headerHeight: headerHeight,\n height: getTableHeight()\n })));\n});\nTable.displayName = 'Table';\nTable.propTypes = {\n autoHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n affixHeader: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n affixHorizontalScrollbar: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n bordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n classPrefix: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n cellBordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n data: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array.isRequired),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n defaultSortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n disabledScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n expandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n hover: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n height: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n headerHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n locale: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n loading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n loadAnimation: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n minHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n rowKey: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n rowHeight: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)]),\n renderTreeToggle: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRowExpanded: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRow: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowExpandedHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n renderEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderLoading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n rtl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n style: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n sortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n showHeader: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n shouldUpdateScroll: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]),\n translate3d: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n wordWrap: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n width: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n virtualized: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n isTree: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n onRowClick: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onRowContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onExpandChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Table);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Table.js?");
|
|
9071
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/translateDOMPositionXY */ \"./node_modules/dom-lib/esm/translateDOMPositionXY.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Row */ \"./node_modules/rsuite-table/es/Row.js\");\n/* harmony import */ var _CellGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CellGroup */ \"./node_modules/rsuite-table/es/CellGroup.js\");\n/* harmony import */ var _Scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Scrollbar */ \"./node_modules/rsuite-table/es/Scrollbar.js\");\n/* harmony import */ var _MouseArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MouseArea */ \"./node_modules/rsuite-table/es/MouseArea.js\");\n/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Loader */ \"./node_modules/rsuite-table/es/Loader.js\");\n/* harmony import */ var _EmptyMessage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EmptyMessage */ \"./node_modules/rsuite-table/es/EmptyMessage.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Filter those expanded nodes.\n * @param data\n * @param expandedRowKeys\n * @param rowKey\n * @returns\n */\nvar filterTreeData = function filterTreeData(data, expandedRowKeys, rowKey) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_15__.flattenData)(data).filter(function (rowData) {\n if (rowKey) {\n var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n\n var _expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\n\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.EXPANDED_KEY] = _expanded;\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH] = parents.length;\n return _expanded;\n }\n });\n};\n\nvar DATA_PLACEHOLDER = [];\nvar Table = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var affixHeader = props.affixHeader,\n children = props.children,\n classPrefix = props.classPrefix,\n className = props.className,\n _props$data = props.data,\n dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,\n _props$defaultSortTyp = props.defaultSortType,\n defaultSortType = _props$defaultSortTyp === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC : _props$defaultSortTyp,\n widthProp = props.width,\n expandedRowKeysProp = props.expandedRowKeys,\n defaultExpandAllRows = props.defaultExpandAllRows,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n style = props.style,\n id = props.id,\n isTree = props.isTree,\n _props$hover = props.hover,\n hover = _props$hover === void 0 ? true : _props$hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n } : _props$locale,\n _props$showHeader = props.showHeader,\n showHeader = _props$showHeader === void 0 ? true : _props$showHeader,\n sortColumn = props.sortColumn,\n _props$rowHeight = props.rowHeight,\n rowHeight = _props$rowHeight === void 0 ? 46 : _props$rowHeight,\n sortTypeProp = props.sortType,\n _props$headerHeight = props.headerHeight,\n headerHeightProp = _props$headerHeight === void 0 ? 40 : _props$headerHeight,\n _props$minHeight = props.minHeight,\n minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,\n _props$height = props.height,\n height = _props$height === void 0 ? 200 : _props$height,\n autoHeight = props.autoHeight,\n fillHeight = props.fillHeight,\n rtlProp = props.rtl,\n _props$translate3d = props.translate3d,\n translate3d = _props$translate3d === void 0 ? true : _props$translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowClassName = props.rowClassName,\n _props$rowExpandedHei = props.rowExpandedHeight,\n rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n _props$shouldUpdateSc = props.shouldUpdateScroll,\n shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,\n renderRowProp = props.renderRow,\n renderRowExpandedProp = props.renderRowExpanded,\n renderLoading = props.renderLoading,\n renderEmpty = props.renderEmpty,\n onSortColumn = props.onSortColumn,\n onScroll = props.onScroll,\n renderTreeToggle = props.renderTreeToggle,\n onRowClick = props.onRowClick,\n onRowContextMenu = props.onRowContextMenu,\n onExpandChange = props.onExpandChange,\n onTouchStart = props.onTouchStart,\n onTouchMove = props.onTouchMove,\n onTouchEnd = props.onTouchEnd,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"affixHeader\", \"children\", \"classPrefix\", \"className\", \"data\", \"defaultSortType\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"fillHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"renderRow\", \"renderRowExpanded\", \"renderLoading\", \"renderEmpty\", \"onSortColumn\", \"onScroll\", \"renderTreeToggle\", \"onRowClick\", \"onRowContextMenu\", \"onExpandChange\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\"]);\n\n if (isTree && !rowKey) {\n throw new Error('The `rowKey` is required when set isTree');\n }\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useClassNames)(classPrefix || 'table', typeof classPrefix !== 'undefined'),\n withClassPrefix = _useClassNames.withClassPrefix,\n mergeCls = _useClassNames.merge,\n prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.\n\n\n var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_2__.useReducer)(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useControlled = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findRowKeys)(dataProp, rowKey, lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp)) : defaultExpandedRowKeys || []),\n expandedRowKeys = _useControlled[0],\n setExpandedRowKeys = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(function () {\n return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;\n }),\n data = _useState[0],\n setData = _useState[1];\n\n var _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n expandedRowKeys: expandedRowKeys,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\n\n var headerHeight = showHeader ? headerHeightProp : 0;\n var rtl = rtlProp || (0,_utils__WEBPACK_IMPORTED_MODULE_15__.isRTL)();\n\n var getRowHeight = function getRowHeight(rowData) {\n if (rowData === void 0) {\n rowData = {};\n }\n\n return typeof rowHeight === 'function' ? rowHeight(rowData) : rowHeight;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\n forceUseTransform: true,\n enable3DTransform: translate3d\n })); // Check for the existence of fixed columns in all column properties.\n\n var shouldFixedColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props;\n\n return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;\n }); // Check all column properties for the existence of rowSpan.\n\n var shouldRowSpanColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props2;\n\n return child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.rowSpan;\n });\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n\n var handleTableResizeChange = function handleTableResizeChange(_prevSize, event) {\n forceUpdate();\n /**\n * Reset the position of the scroll bar after the table size changes.\n */\n\n if (typeof shouldUpdateScroll === 'function') {\n onScrollTo(shouldUpdateScroll(event));\n } else if (shouldUpdateScroll) {\n var vertical = event === 'bodyHeightChanged';\n vertical ? onScrollTop(0) : onScrollLeft(0);\n }\n };\n\n var _useTableDimension = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableDimension)({\n data: dataProp,\n width: widthProp,\n rowHeight: rowHeight,\n tableRef: tableRef,\n headerWrapperRef: headerWrapperRef,\n prefix: prefix,\n affixHeader: affixHeader,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n headerHeight: headerHeight,\n height: height,\n minHeight: minHeight,\n autoHeight: autoHeight,\n fillHeight: fillHeight,\n children: children,\n expandedRowKeys: expandedRowKeys,\n onTableScroll: function onTableScroll(coords) {\n onScrollTo(coords);\n },\n onTableResizeChange: handleTableResizeChange\n }),\n contentHeight = _useTableDimension.contentHeight,\n contentWidth = _useTableDimension.contentWidth,\n minScrollY = _useTableDimension.minScrollY,\n minScrollX = _useTableDimension.minScrollX,\n scrollY = _useTableDimension.scrollY,\n scrollX = _useTableDimension.scrollX,\n tableWidth = _useTableDimension.tableWidth,\n tableOffset = _useTableDimension.tableOffset,\n headerOffset = _useTableDimension.headerOffset,\n setScrollY = _useTableDimension.setScrollY,\n setScrollX = _useTableDimension.setScrollX,\n getTableHeight = _useTableDimension.getTableHeight;\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useAffix)({\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n affixHeader: affixHeader,\n tableOffset: tableOffset,\n headerOffset: headerOffset,\n headerHeight: headerHeight,\n scrollbarXRef: scrollbarXRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef\n });\n\n var _usePosition = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.usePosition)({\n data: dataProp,\n height: height,\n tableWidth: tableWidth,\n tableRef: tableRef,\n prefix: prefix,\n translateDOMPositionXY: translateDOMPositionXY,\n wheelWrapperRef: wheelWrapperRef,\n headerWrapperRef: headerWrapperRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef,\n tableHeaderRef: tableHeaderRef,\n scrollX: scrollX,\n scrollY: scrollY,\n contentWidth: contentWidth,\n shouldFixedColumn: shouldFixedColumn\n }),\n forceUpdatePosition = _usePosition.forceUpdatePosition;\n\n var _useScrollListener = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useScrollListener)({\n rtl: rtl,\n data: dataProp,\n height: height,\n virtualized: virtualized,\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n headerHeight: headerHeight,\n autoHeight: autoHeight,\n tableBodyRef: tableBodyRef,\n scrollbarXRef: scrollbarXRef,\n scrollbarYRef: scrollbarYRef,\n disabledScroll: disabledScroll,\n loading: loading,\n tableRef: tableRef,\n contentWidth: contentWidth,\n tableWidth: tableWidth,\n scrollY: scrollY,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollX: scrollX,\n setScrollX: setScrollX,\n setScrollY: setScrollY,\n forceUpdatePosition: forceUpdatePosition,\n onScroll: onScroll,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }),\n isScrolling = _useScrollListener.isScrolling,\n onScrollHorizontal = _useScrollListener.onScrollHorizontal,\n onScrollVertical = _useScrollListener.onScrollVertical,\n onScrollBody = _useScrollListener.onScrollBody,\n onScrollTop = _useScrollListener.onScrollTop,\n onScrollLeft = _useScrollListener.onScrollLeft,\n onScrollTo = _useScrollListener.onScrollTo;\n\n var _useCellDescriptor = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useCellDescriptor)({\n children: children,\n rtl: rtl,\n mouseAreaRef: mouseAreaRef,\n tableRef: tableRef,\n minScrollX: minScrollX,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerHeight: headerHeight,\n showHeader: showHeader,\n sortType: sortTypeProp,\n defaultSortType: defaultSortType,\n sortColumn: sortColumn,\n prefix: prefix,\n onSortColumn: onSortColumn,\n // Force table update after column width change, so scrollbar re-renders.\n onHeaderCellResize: forceUpdate,\n rowHeight: rowHeight\n }),\n headerCells = _useCellDescriptor.headerCells,\n bodyCells = _useCellDescriptor.bodyCells,\n allColumnsWidth = _useCellDescriptor.allColumnsWidth,\n hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;\n\n var colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n setData(isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp);\n }, [dataProp, expandedRowKeys, rowKey, isTree]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n if ((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) !== colCounts.current) {\n onScrollLeft(0);\n colCounts.current = (headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0;\n }\n }, [children]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return tableRef.current;\n },\n\n get body() {\n return wheelWrapperRef.current;\n },\n\n scrollTop: onScrollTop,\n scrollLeft: onScrollLeft\n };\n });\n var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current; // Whether to show vertical scroll bar\n\n var hasVerticalScrollbar = !autoHeight && contentHeight.current > getTableHeight() - headerHeight; // Whether to show the horizontal scroll bar\n\n var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;\n var classes = mergeCls(className, withClassPrefix({\n bordered: bordered,\n hover: hover && !shouldRowSpanColumn,\n loading: loading,\n treetable: isTree,\n 'word-wrap': wordWrap,\n 'cell-bordered': cellBordered\n }));\n\n var styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n width: widthProp || 'auto',\n height: getTableHeight()\n }, style);\n\n var renderRowExpanded = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n var styles = {\n height: rowExpandedHeight\n };\n\n if (typeof renderRowExpandedProp === 'function') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('row-expanded'),\n style: styles\n }, renderRowExpandedProp(rowData));\n }\n\n return null;\n }, [prefix, renderRowExpandedProp, rowExpandedHeight]);\n\n var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {\n var depth = props.depth,\n restRowProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"depth\"]);\n\n if (typeof rowClassName === 'function') {\n restRowProps.className = rowClassName(rowData);\n } else {\n restRowProps.className = rowClassName;\n }\n\n var rowStyles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props === null || props === void 0 ? void 0 : props.style);\n\n var rowRight = 0;\n\n if (rtl && contentWidth.current > tableWidth.current) {\n rowRight = tableWidth.current - contentWidth.current;\n rowStyles.right = rowRight;\n }\n\n var rowNode = null; // IF there are fixed columns, add a fixed group\n\n if (shouldFixedColumn && contentWidth.current > tableWidth.current) {\n var fixedLeftCells = [];\n var fixedRightCells = [];\n var scrollCells = [];\n var fixedLeftCellGroupWidth = 0;\n var fixedRightCellGroupWidth = 0;\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var _cell$props = cell.props,\n fixed = _cell$props.fixed,\n width = _cell$props.width;\n var isFixedStart = fixed === 'left' || fixed === true;\n var isFixedEnd = fixed === 'right';\n\n if (rtl) {\n isFixedStart = fixed === 'right';\n isFixedEnd = fixed === 'left' || fixed === true;\n }\n\n if (isFixedStart) {\n fixedLeftCells.push(cell);\n fixedLeftCellGroupWidth += width;\n } else if (isFixedEnd) {\n fixedRightCells.push(cell);\n fixedRightCellGroupWidth += width;\n } else {\n scrollCells.push(cell);\n }\n }\n\n if (hasVerticalScrollbar && fixedRightCellGroupWidth) {\n fixedRightCellGroupWidth += _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH;\n }\n\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, fixedLeftCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"left\",\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedLeftCellGroupWidth,\n style: rtl ? {\n right: tableWidth.current - fixedLeftCellGroupWidth - rowRight\n } : undefined\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedLeftCells))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(scrollCells)), fixedRightCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"right\",\n style: rtl ? {\n right: 0 - rowRight\n } : {\n left: tableWidth.current - fixedRightCellGroupWidth\n },\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedRightCellGroupWidth\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedRightCells, hasVerticalScrollbar ? _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH : 0))) : null, shouldRenderExpandedRow && renderRowExpanded(rowData));\n } else {\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(cells)), shouldRenderExpandedRow && renderRowExpanded(rowData));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), renderRowProp ? renderRowProp(rowNode, rowData) : rowNode);\n };\n\n var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var rowProps = {\n 'aria-rowindex': 1,\n rowRef: tableHeaderRef,\n width: rowWidth,\n height: getRowHeight(),\n headerHeight: headerHeight,\n isHeaderRow: true,\n top: 0\n };\n var fixedStyle = {\n position: 'fixed',\n overflow: 'hidden',\n height: headerHeight,\n width: tableWidth.current,\n top: top\n }; // Affix header\n\n var header = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('affix-header'),\n style: fixedStyle,\n ref: affixHeaderWrapperRef\n }, renderRow(rowProps, headerCells));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n role: \"rowgroup\",\n className: prefix('header-row-wrapper'),\n ref: headerWrapperRef\n }, renderRow(rowProps, headerCells)));\n };\n\n var shouldRenderExpandedRow = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && rowKey && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n })) {\n return true;\n }\n\n return false;\n }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);\n var bindRowClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowData, event);\n };\n }, [onRowClick]);\n var bindRowContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowContextMenu === null || onRowContextMenu === void 0 ? void 0 : onRowContextMenu(rowData, event);\n };\n }, [onRowContextMenu]);\n var handleTreeToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (treeRowKey, _rowIndex, rowData) {\n var open = false;\n var nextExpandedRowKeys = [];\n\n for (var i = 0; i < expandedRowKeys.length; i++) {\n var key = expandedRowKeys[i];\n\n if (key === treeRowKey) {\n open = true;\n } else {\n nextExpandedRowKeys.push(key);\n }\n }\n\n if (!open) {\n nextExpandedRowKeys.push(treeRowKey);\n }\n\n setExpandedRowKeys(nextExpandedRowKeys);\n onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);\n }, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);\n /**\n * Records the status of merged rows.\n * { cellKey: [count,index]}\n */\n\n var rowSpanState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)({});\n\n var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {\n var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);\n var nextRowKey = rowKey && typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;\n\n var rowProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props, {\n key: nextRowKey,\n 'aria-rowindex': props.key + 2,\n rowRef: bindTableRowsRef(props.key, rowData),\n onClick: bindRowClick(rowData),\n onContextMenu: bindRowContextMenu(rowData)\n });\n\n var expanded = expandedRowKeys.some(function (key) {\n return rowKey && key === rowData[rowKey];\n });\n var cells = [];\n\n for (var i = 0; i < bodyCells.length; i++) {\n var _cell$props2, _cell$props2$rowSpan, _rowSpanState$current, _cell$props3, _rowSpanState$current2;\n\n var cell = bodyCells[i];\n var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);\n\n var _rowHeight = rowSpan ? rowSpan * (props.height || 46) : props.height;\n\n var _cellKey = cell.props.dataKey || i; // Record the cell state of the merged row\n\n\n if (((_rowSpanState$current = rowSpanState.current[_cellKey]) === null || _rowSpanState$current === void 0 ? void 0 : _rowSpanState$current[1]) > 0) {\n rowSpanState.current[_cellKey][1] -= 1; // Restart counting when merged to the last cell.\n\n if (rowSpanState.current[_cellKey][1] === 0) {\n rowSpanState.current[_cellKey][0] = 0;\n }\n }\n\n if (rowSpan) {\n // The state of the initial merged cell\n rowSpanState.current[_cellKey] = [rowSpan, rowSpan];\n rowProps.rowSpan = rowSpan;\n rowProps.style = {\n overflow: 'inherit'\n };\n } // Cells marked as deleted when checking for merged cell.\n\n\n var removedCell = (_cell$props3 = cell.props) !== null && _cell$props3 !== void 0 && _cell$props3.rowSpan && !rowSpan && ((_rowSpanState$current2 = rowSpanState.current[_cellKey]) === null || _rowSpanState$current2 === void 0 ? void 0 : _rowSpanState$current2[0]) !== 0 ? true : false;\n cells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(cell, {\n hasChildren: hasChildren,\n rowData: rowData,\n wordWrap: wordWrap,\n height: _rowHeight,\n rowIndex: props.key,\n depth: props.depth,\n renderTreeToggle: renderTreeToggle,\n onTreeToggle: handleTreeToggle,\n rowKey: nextRowKey,\n expanded: expanded,\n rowSpan: rowSpan,\n removed: removedCell\n }));\n }\n\n return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);\n };\n\n var renderScrollbar = function renderScrollbar() {\n var height = getTableHeight();\n\n if (disabledScroll) {\n return null;\n }\n\n var scrollbars = [];\n\n if (hasHorizontalScrollbar) {\n scrollbars.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"scrollbar\",\n tableId: id,\n style: {\n width: tableWidth.current\n },\n length: tableWidth.current,\n onScroll: onScrollHorizontal,\n scrollLength: contentWidth.current,\n ref: scrollbarXRef\n }));\n }\n\n if (hasVerticalScrollbar) {\n scrollbars.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n vertical: true,\n key: \"vertical-scrollbar\",\n tableId: id,\n length: height - headerHeight,\n onScroll: onScrollVertical,\n scrollLength: contentHeight.current,\n ref: scrollbarYRef\n }));\n }\n\n return scrollbars;\n };\n\n var renderTableBody = function renderTableBody(bodyCells, rowWidth) {\n var _visibleRows$current;\n\n var height = getTableHeight();\n var bodyHeight = height - headerHeight;\n var bodyStyles = {\n top: headerHeight,\n height: bodyHeight\n };\n var contentHeight = 0;\n var topHideHeight = 0;\n var bottomHideHeight = 0;\n visibleRows.current = [];\n\n if (data) {\n var top = 0; // Row position\n\n var minTop = Math.abs(scrollY.current);\n var maxTop = minTop + height + rowExpandedHeight;\n var isCustomRowHeight = typeof rowHeight === 'function';\n var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,\n // you need to loop through the data to get the height of each row.\n\n if (isUncertainHeight && virtualized || !virtualized) {\n // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredHeight = height * 3;\n minTop = Math.max(minTop - coveredHeight, 0);\n maxTop = maxTop + coveredHeight;\n }\n\n for (var index = 0; index < data.length; index++) {\n var _rowData = data[index];\n var maxHeight = tableRowsMaxHeight[index];\n var shouldRender = shouldRenderExpandedRow(_rowData);\n var nextRowHeight = 0;\n\n if (typeof rowHeight === 'function') {\n nextRowHeight = rowHeight(_rowData);\n } else {\n nextRowHeight = maxHeight ? Math.max(maxHeight + _constants__WEBPACK_IMPORTED_MODULE_14__.CELL_PADDING_HEIGHT, rowHeight) : rowHeight;\n\n if (shouldRender) {\n nextRowHeight += rowExpandedHeight;\n }\n }\n\n contentHeight += nextRowHeight;\n var rowProps = {\n key: index,\n top: top,\n width: rowWidth,\n depth: _rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n height: nextRowHeight\n };\n top += nextRowHeight;\n\n if (virtualized && !wordWrap) {\n if (top + nextRowHeight < minTop) {\n topHideHeight += nextRowHeight;\n continue;\n } else if (top > maxTop) {\n bottomHideHeight += nextRowHeight;\n continue;\n }\n }\n\n visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, shouldRender));\n }\n } else {\n /** virtualized */\n // If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,\n // thereby reducing the performance cost of traversing all data.\n var _nextRowHeight = getRowHeight();\n\n var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);\n var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredCount = Math.floor(height / _nextRowHeight * 3);\n startIndex = Math.max(startIndex - coveredCount, 0);\n endIndex = Math.min(endIndex + coveredCount, data.length);\n }\n\n contentHeight = data.length * _nextRowHeight;\n topHideHeight = startIndex * _nextRowHeight;\n bottomHideHeight = (data.length - endIndex) * _nextRowHeight;\n\n for (var _index = startIndex; _index < endIndex; _index++) {\n var _rowData2 = data[_index];\n var _rowProps = {\n key: _index,\n depth: _rowData2[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n top: _index * _nextRowHeight,\n width: rowWidth,\n height: _nextRowHeight\n };\n visibleRows.current.push(renderRowData(bodyCells, _rowData2, _rowProps, false));\n }\n }\n }\n\n var wheelStyles = {\n position: 'absolute',\n height: contentHeight,\n minHeight: height,\n pointerEvents: isScrolling ? 'none' : undefined\n };\n var topRowStyles = {\n height: topHideHeight\n };\n var bottomRowStyles = {\n height: bottomHideHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: tableBodyRef,\n role: \"rowgroup\",\n className: prefix('body-row-wrapper'),\n style: bodyStyles,\n onScroll: onScrollBody\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n style: wheelStyles,\n className: prefix('body-wheel-area'),\n ref: wheelWrapperRef\n }, topHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: topRowStyles,\n className: \"virtualized\"\n }) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: bottomRowStyles,\n className: \"virtualized\"\n }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_EmptyMessage__WEBPACK_IMPORTED_MODULE_12__.default, {\n locale: locale,\n renderEmpty: renderEmpty,\n addPrefix: prefix,\n loading: !!((_visibleRows$current = visibleRows.current) !== null && _visibleRows$current !== void 0 && _visibleRows$current.length) || loading\n }), renderScrollbar(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Loader__WEBPACK_IMPORTED_MODULE_11__.default, {\n locale: locale,\n loadAnimation: loadAnimation,\n loading: loading,\n addPrefix: prefix,\n renderLoading: renderLoading\n }));\n };\n\n var contextValue = react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(function () {\n return {\n classPrefix: withClassPrefix(),\n translateDOMPositionXY: translateDOMPositionXY.current,\n rtl: rtl,\n isTree: isTree,\n hasCustomTreeCol: hasCustomTreeCol\n };\n }, [hasCustomTreeCol, isTree, rtl, withClassPrefix]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TableContext__WEBPACK_IMPORTED_MODULE_13__.default.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.\n // Its value is an integer equal to the total number of rows available, including header rows.\n ,\n \"aria-rowcount\": data.length + 1,\n \"aria-colcount\": colCounts.current,\n \"aria-busy\": loading\n }, rest, {\n className: classes,\n style: styles,\n ref: tableRef\n }), showHeader && renderTableHeader(headerCells, rowWidth), children && renderTableBody(bodyCells, rowWidth), showHeader && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_MouseArea__WEBPACK_IMPORTED_MODULE_10__.default, {\n ref: mouseAreaRef,\n addPrefix: prefix,\n headerHeight: headerHeight,\n height: getTableHeight()\n })));\n});\nTable.displayName = 'Table';\nTable.propTypes = {\n autoHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n fillHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n affixHeader: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n affixHorizontalScrollbar: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n bordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n classPrefix: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n cellBordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n data: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n defaultSortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n disabledScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n expandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n hover: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n height: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n headerHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n locale: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n loading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n loadAnimation: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n minHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n rowKey: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n rowHeight: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)]),\n renderTreeToggle: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRowExpanded: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRow: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowExpandedHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n renderEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderLoading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n rtl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n style: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n sortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n showHeader: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n shouldUpdateScroll: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]),\n translate3d: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n wordWrap: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n width: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n virtualized: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n isTree: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n onRowClick: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onRowContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onExpandChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Table);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Table.js?");
|
|
9072
9072
|
|
|
9073
9073
|
/***/ }),
|
|
9074
9074
|
|
|
@@ -9310,7 +9310,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom_
|
|
|
9310
9310
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9311
9311
|
|
|
9312
9312
|
"use strict";
|
|
9313
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var _toggleClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./toggleClass */ \"./node_modules/rsuite-table/es/utils/toggleClass.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\nvar useAffix = function useAffix(props) {\n var
|
|
9313
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var _toggleClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./toggleClass */ \"./node_modules/rsuite-table/es/utils/toggleClass.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\nvar useAffix = function useAffix(props) {\n var getTableHeight = props.getTableHeight,\n contentHeight = props.contentHeight,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n affixHeader = props.affixHeader,\n tableOffset = props.tableOffset,\n headerOffset = props.headerOffset,\n headerHeight = props.headerHeight,\n scrollbarXRef = props.scrollbarXRef,\n affixHeaderWrapperRef = props.affixHeaderWrapperRef;\n var scrollListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var handleAffixHorizontalScrollbar = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _tableOffset$current, _scrollbarXRef$curren;\n\n var scrollY = window.scrollY || window.pageYOffset;\n var windowHeight = (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__.default)(window);\n var height = getTableHeight();\n var bottom = typeof affixHorizontalScrollbar === 'number' ? affixHorizontalScrollbar : 0;\n var offsetTop = ((_tableOffset$current = tableOffset.current) === null || _tableOffset$current === void 0 ? void 0 : _tableOffset$current.top) || 0;\n var fixedScrollbar = scrollY + windowHeight < height + (offsetTop + bottom) && scrollY + windowHeight - headerHeight > offsetTop + bottom;\n\n if (scrollbarXRef !== null && scrollbarXRef !== void 0 && (_scrollbarXRef$curren = scrollbarXRef.current) !== null && _scrollbarXRef$curren !== void 0 && _scrollbarXRef$curren.root) {\n (0,_toggleClass__WEBPACK_IMPORTED_MODULE_5__.default)(scrollbarXRef.current.root, 'fixed', fixedScrollbar);\n\n if (fixedScrollbar) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(scrollbarXRef.current.root, 'bottom', bottom + \"px\");\n } else {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_3__.default)(scrollbarXRef.current.root, 'bottom');\n }\n }\n }, [affixHorizontalScrollbar, headerHeight, scrollbarXRef, getTableHeight, tableOffset]);\n var handleAffixTableHeader = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _headerOffset$current;\n\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var scrollY = window.scrollY || window.pageYOffset;\n var offsetTop = ((_headerOffset$current = headerOffset.current) === null || _headerOffset$current === void 0 ? void 0 : _headerOffset$current.top) || 0;\n var fixedHeader = scrollY - (offsetTop - top) >= 0 && scrollY < offsetTop - top + contentHeight.current;\n\n if (affixHeaderWrapperRef.current) {\n (0,_toggleClass__WEBPACK_IMPORTED_MODULE_5__.default)(affixHeaderWrapperRef.current, 'fixed', fixedHeader);\n }\n }, [affixHeader, affixHeaderWrapperRef, contentHeight, headerOffset]);\n var handleWindowScroll = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHeader)) {\n handleAffixTableHeader();\n }\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHorizontalScrollbar)) {\n handleAffixHorizontalScrollbar();\n }\n }, [affixHeader, affixHorizontalScrollbar, handleAffixTableHeader, handleAffixHorizontalScrollbar]);\n /**\n * Update the position of the fixed element after the height of the table changes.\n * fix: https://github.com/rsuite/rsuite/issues/1716\n */\n\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__.default)(handleWindowScroll, [getTableHeight]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHeader) || (0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHorizontalScrollbar)) {\n scrollListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(window, 'scroll', handleWindowScroll);\n }\n\n return function () {\n var _scrollListener$curre;\n\n (_scrollListener$curre = scrollListener.current) === null || _scrollListener$curre === void 0 ? void 0 : _scrollListener$curre.off();\n };\n }, [affixHeader, affixHorizontalScrollbar, handleWindowScroll]);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useAffix);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useAffix.js?");
|
|
9314
9314
|
|
|
9315
9315
|
/***/ }),
|
|
9316
9316
|
|
|
@@ -9321,7 +9321,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9321
9321
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9322
9322
|
|
|
9323
9323
|
"use strict";
|
|
9324
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/addClass */ \"./node_modules/dom-lib/esm/addClass.js\");\n/* harmony import */ var dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/removeClass */ \"./node_modules/dom-lib/esm/removeClass.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _useControlled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useControlled */ \"./node_modules/rsuite-table/es/utils/useControlled.js\");\n/* harmony import */ var _getTableColumns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getTableColumns */ \"./node_modules/rsuite-table/es/utils/getTableColumns.js\");\n/* harmony import */ var _getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getTotalByColumns */ \"./node_modules/rsuite-table/es/utils/getTotalByColumns.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Attach rendering-related attributes to all cells of the form and cache them.\n * @param props\n * @returns\n */\nvar useCellDescriptor = function useCellDescriptor(props) {\n var children = props.children,\n rtl = props.rtl,\n mouseAreaRef = props.mouseAreaRef,\n tableRef = props.tableRef,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n tableWidth = props.tableWidth,\n headerHeight = props.headerHeight,\n showHeader = props.showHeader,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n sortColumn = props.sortColumn,\n rowHeight = props.rowHeight,\n onSortColumn = props.onSortColumn,\n prefix = props.prefix;\n\n var _useControlled = (0,_useControlled__WEBPACK_IMPORTED_MODULE_8__.default)(sortTypeProp, defaultSortType),\n sortType = _useControlled[0],\n setSortType = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(),\n cacheData = _useState[0],\n setCacheData = _useState[1];\n\n var clearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function () {\n setCacheData(null);\n }, []);\n var setColumnResizing = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (resizing) {\n if (!tableRef.current) {\n return;\n }\n\n if (resizing) {\n (0,dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef.current, prefix('column-resizing'));\n } else {\n (0,dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__.default)(tableRef.current, prefix('column-resizing'));\n }\n }, [prefix, tableRef]);\n var columnWidths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({});\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__.default)(function () {\n clearCache();\n }, [children, sortColumn, sortType, tableWidth.current, scrollX.current, minScrollX.current]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (columnWidth, _cursorDelta, dataKey, index) {\n columnWidths.current[dataKey + \"_\" + index + \"_width\"] = columnWidth;\n setColumnResizing(false);\n\n if (mouseAreaRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n }\n\n clearCache();\n }, [clearCache, mouseAreaRef, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var mouseAreaLeft = width + left;\n var x = mouseAreaLeft;\n var dir = 'left';\n\n if (rtl) {\n mouseAreaLeft += minScrollX.current + _constants__WEBPACK_IMPORTED_MODULE_7__.SCROLLBAR_WIDTH;\n dir = 'right';\n }\n\n if (!fixed) {\n x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);\n }\n\n if (mouseAreaRef.current) {\n var _addStyle;\n\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\n }\n }, [minScrollX, mouseAreaRef, rtl, scrollX]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n setColumnResizing(true);\n handleColumnResizeMove(width, left, fixed);\n }, [handleColumnResizeMove, setColumnResizing]);\n var handleSortColumn = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (dataKey) {\n var nextSortType = sortType;\n\n if (sortColumn === dataKey) {\n nextSortType = sortType === _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC ? _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.DESC : _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC;\n setSortType(nextSortType);\n }\n\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);\n }, [onSortColumn, setSortType, sortColumn, sortType]);\n\n if (cacheData) {\n return cacheData;\n }\n\n var hasCustomTreeCol = false;\n var left = 0; // Cell left margin\n\n var headerCells = []; // Table header cell\n\n var bodyCells = []; // Table body cell\n\n if (!children) {\n var _cacheCell = {\n columns: [],\n headerCells: headerCells,\n bodyCells: bodyCells,\n hasCustomTreeCol: hasCustomTreeCol,\n allColumnsWidth: left\n };\n setCacheData(_cacheCell);\n return _cacheCell;\n }\n\n var columns = (0,_getTableColumns__WEBPACK_IMPORTED_MODULE_9__.default)(children);\n var count = columns.length;\n\n var _getTotalByColumns = (0,_getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__.default)(columns),\n totalFlexGrow = _getTotalByColumns.totalFlexGrow,\n totalWidth = _getTotalByColumns.totalWidth;\n\n react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(columns, function (column, index) {\n if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(column)) {\n var _columnWidths$current;\n\n var columnChildren = column.props.children;\n var _column$props = column.props,\n width = _column$props.width,\n resizable = _column$props.resizable,\n flexGrow = _column$props.flexGrow,\n minWidth = _column$props.minWidth,\n onResize = _column$props.onResize,\n treeCol = _column$props.treeCol;\n\n if (treeCol) {\n hasCustomTreeCol = true;\n }\n\n if (resizable && flexGrow) {\n console.warn(\"Cannot set 'resizable' and 'flexGrow' together in <Column>, column index: \" + index);\n }\n\n if (columnChildren.length !== 2) {\n throw new Error(\"Component <HeaderCell> and <Cell> is required, column index: \" + index + \" \");\n }\n\n var headerCell = columnChildren[0];\n var cell = columnChildren[1];\n var cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cell.props.dataKey + \"_\" + index + \"_width\"]) || width || 0;\n\n if (tableWidth.current && flexGrow && totalFlexGrow) {\n cellWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);\n }\n\n var cellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, lodash_omit__WEBPACK_IMPORTED_MODULE_5___default()(column.props, ['children']), {\n 'aria-colindex': index + 1,\n left: left,\n headerHeight: headerHeight,\n key: index,\n width: cellWidth,\n height: typeof rowHeight === 'function' ? rowHeight() : rowHeight,\n firstColumn: index === 0,\n lastColumn: index === count - 1\n });\n\n if (showHeader && headerHeight) {\n var headerCellProps = {\n // Resizable column\n // `index` is used to define the serial number when dragging the column width\n index: index,\n dataKey: cell.props.dataKey,\n isHeaderCell: true,\n minWidth: column.props.minWidth,\n sortable: column.props.sortable,\n onSortColumn: handleSortColumn,\n sortType: sortType,\n sortColumn: sortColumn,\n flexGrow: flexGrow\n };\n\n if (resizable) {\n lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(headerCellProps, {\n onResize: onResize,\n onColumnResizeEnd: handleColumnResizeEnd,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeMove: handleColumnResizeMove\n });\n }\n\n headerCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(headerCell, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, cellProps, headerCellProps)));\n }\n\n bodyCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(cell, cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\n columns: columns,\n headerCells: headerCells,\n bodyCells: bodyCells,\n allColumnsWidth: left,\n hasCustomTreeCol: hasCustomTreeCol\n };\n setCacheData(cacheCell);\n return cacheCell;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useCellDescriptor);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useCellDescriptor.js?");
|
|
9324
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/addClass */ \"./node_modules/dom-lib/esm/addClass.js\");\n/* harmony import */ var dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/removeClass */ \"./node_modules/dom-lib/esm/removeClass.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _useControlled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useControlled */ \"./node_modules/rsuite-table/es/utils/useControlled.js\");\n/* harmony import */ var _getTableColumns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getTableColumns */ \"./node_modules/rsuite-table/es/utils/getTableColumns.js\");\n/* harmony import */ var _getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getTotalByColumns */ \"./node_modules/rsuite-table/es/utils/getTotalByColumns.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Attach rendering-related attributes to all cells of the form and cache them.\n * @param props\n * @returns\n */\nvar useCellDescriptor = function useCellDescriptor(props) {\n var children = props.children,\n rtl = props.rtl,\n mouseAreaRef = props.mouseAreaRef,\n tableRef = props.tableRef,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n tableWidth = props.tableWidth,\n headerHeight = props.headerHeight,\n showHeader = props.showHeader,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n sortColumn = props.sortColumn,\n rowHeight = props.rowHeight,\n onSortColumn = props.onSortColumn,\n onHeaderCellResize = props.onHeaderCellResize,\n prefix = props.prefix;\n\n var _useControlled = (0,_useControlled__WEBPACK_IMPORTED_MODULE_8__.default)(sortTypeProp, defaultSortType),\n sortType = _useControlled[0],\n setSortType = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(),\n cacheData = _useState[0],\n setCacheData = _useState[1];\n\n var clearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function () {\n setCacheData(null);\n }, []);\n var setColumnResizing = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (resizing) {\n if (!tableRef.current) {\n return;\n }\n\n if (resizing) {\n (0,dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef.current, prefix('column-resizing'));\n } else {\n (0,dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__.default)(tableRef.current, prefix('column-resizing'));\n }\n }, [prefix, tableRef]);\n var columnWidths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({});\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__.default)(function () {\n clearCache();\n }, [children, sortColumn, sortType, tableWidth.current, scrollX.current, minScrollX.current]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (columnWidth, _cursorDelta, dataKey, index) {\n columnWidths.current[dataKey + \"_\" + index + \"_width\"] = columnWidth;\n setColumnResizing(false);\n\n if (mouseAreaRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n }\n\n clearCache();\n onHeaderCellResize === null || onHeaderCellResize === void 0 ? void 0 : onHeaderCellResize(columnWidth, dataKey);\n }, [clearCache, mouseAreaRef, onHeaderCellResize, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var mouseAreaLeft = width + left;\n var x = mouseAreaLeft;\n var dir = 'left';\n\n if (rtl) {\n mouseAreaLeft += minScrollX.current + _constants__WEBPACK_IMPORTED_MODULE_7__.SCROLLBAR_WIDTH;\n dir = 'right';\n }\n\n if (!fixed) {\n x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);\n }\n\n if (mouseAreaRef.current) {\n var _addStyle;\n\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\n }\n }, [minScrollX, mouseAreaRef, rtl, scrollX]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n setColumnResizing(true);\n handleColumnResizeMove(width, left, fixed);\n }, [handleColumnResizeMove, setColumnResizing]);\n var handleSortColumn = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (dataKey) {\n var nextSortType = sortType;\n\n if (sortColumn === dataKey) {\n nextSortType = sortType === _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC ? _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.DESC : _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC;\n setSortType(nextSortType);\n }\n\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);\n }, [onSortColumn, setSortType, sortColumn, sortType]);\n\n if (cacheData) {\n return cacheData;\n }\n\n var hasCustomTreeCol = false;\n var left = 0; // Cell left margin\n\n var headerCells = []; // Table header cell\n\n var bodyCells = []; // Table body cell\n\n if (!children) {\n var _cacheCell = {\n columns: [],\n headerCells: headerCells,\n bodyCells: bodyCells,\n hasCustomTreeCol: hasCustomTreeCol,\n allColumnsWidth: left\n };\n setCacheData(_cacheCell);\n return _cacheCell;\n }\n\n var columns = (0,_getTableColumns__WEBPACK_IMPORTED_MODULE_9__.default)(children);\n var count = columns.length;\n\n var _getTotalByColumns = (0,_getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__.default)(columns),\n totalFlexGrow = _getTotalByColumns.totalFlexGrow,\n totalWidth = _getTotalByColumns.totalWidth;\n\n react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(columns, function (column, index) {\n if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(column)) {\n var _columnWidths$current;\n\n var columnChildren = column.props.children;\n var _column$props = column.props,\n _width = _column$props.width,\n resizable = _column$props.resizable,\n flexGrow = _column$props.flexGrow,\n minWidth = _column$props.minWidth,\n onResize = _column$props.onResize,\n treeCol = _column$props.treeCol;\n\n if (treeCol) {\n hasCustomTreeCol = true;\n }\n\n if (resizable && flexGrow) {\n console.warn(\"Cannot set 'resizable' and 'flexGrow' together in <Column>, column index: \" + index);\n }\n\n if (columnChildren.length !== 2) {\n throw new Error(\"Component <HeaderCell> and <Cell> is required, column index: \" + index + \" \");\n }\n\n var headerCell = columnChildren[0];\n var cell = columnChildren[1];\n var cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cell.props.dataKey + \"_\" + index + \"_width\"]) || _width || 0;\n\n if (tableWidth.current && flexGrow && totalFlexGrow) {\n cellWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);\n }\n\n var cellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, lodash_omit__WEBPACK_IMPORTED_MODULE_5___default()(column.props, ['children']), {\n 'aria-colindex': index + 1,\n left: left,\n headerHeight: headerHeight,\n key: index,\n width: cellWidth,\n height: typeof rowHeight === 'function' ? rowHeight() : rowHeight,\n firstColumn: index === 0,\n lastColumn: index === count - 1\n });\n\n if (showHeader && headerHeight) {\n var headerCellProps = {\n // Resizable column\n // `index` is used to define the serial number when dragging the column width\n index: index,\n dataKey: cell.props.dataKey,\n isHeaderCell: true,\n minWidth: column.props.minWidth,\n sortable: column.props.sortable,\n onSortColumn: handleSortColumn,\n sortType: sortType,\n sortColumn: sortColumn,\n flexGrow: flexGrow\n };\n\n if (resizable) {\n lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(headerCellProps, {\n onResize: onResize,\n onColumnResizeEnd: handleColumnResizeEnd,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeMove: handleColumnResizeMove\n });\n }\n\n headerCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(headerCell, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, cellProps, headerCellProps)));\n }\n\n bodyCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(cell, cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\n columns: columns,\n headerCells: headerCells,\n bodyCells: bodyCells,\n allColumnsWidth: left,\n hasCustomTreeCol: hasCustomTreeCol\n };\n setCacheData(cacheCell);\n return cacheCell;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useCellDescriptor);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useCellDescriptor.js?");
|
|
9325
9325
|
|
|
9326
9326
|
/***/ }),
|
|
9327
9327
|
|
|
@@ -9387,7 +9387,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9387
9387
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9388
9388
|
|
|
9389
9389
|
"use strict";
|
|
9390
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/WheelHandler */ \"./node_modules/dom-lib/esm/WheelHandler.js\");\n/* harmony import */ var dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/scrollLeft */ \"./node_modules/dom-lib/esm/scrollLeft.js\");\n/* harmony import */ var dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/scrollTop */ \"./node_modules/dom-lib/esm/scrollTop.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var _requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./requestAnimationTimeout */ \"./node_modules/rsuite-table/es/utils/requestAnimationTimeout.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isSupportTouchEvent */ \"./node_modules/rsuite-table/es/utils/isSupportTouchEvent.js\");\n\n\n\n\n\n\n\n\n\n\n // Inertial sliding start time threshold\n\nvar momentumTimeThreshold = 300; // Inertial sliding start vertical distance threshold\n\nvar momentumYThreshold = 15;\n\n/**\n * Calculate the distance of inertial sliding.\n */\nvar momentum = function momentum(current, start, duration) {\n // Inertial sliding acceleration.\n var deceleration = 0.003;\n var distance = current - start;\n var speed = 2 * Math.abs(distance) / duration;\n var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n return {\n delta: current - destination,\n duration: _constants__WEBPACK_IMPORTED_MODULE_9__.TRANSITION_DURATION,\n bezier: _constants__WEBPACK_IMPORTED_MODULE_9__.BEZIER\n };\n};\n/**\n * Add scroll, touch, and wheel monitoring events to the table,\n * and update the scroll position of the table.\n * @param props\n * @returns\n */\n\n\nvar useScrollListener = function useScrollListener(props) {\n var data = props.data,\n autoHeight = props.autoHeight,\n tableBodyRef = props.tableBodyRef,\n scrollbarXRef = props.scrollbarXRef,\n scrollbarYRef = props.scrollbarYRef,\n disabledScroll = props.disabledScroll,\n loading = props.loading,\n tableRef = props.tableRef,\n contentWidth = props.contentWidth,\n tableWidth = props.tableWidth,\n scrollY = props.scrollY,\n minScrollY = props.minScrollY,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n setScrollX = props.setScrollX,\n setScrollY = props.setScrollY,\n virtualized = props.virtualized,\n forceUpdatePosition = props.forceUpdatePosition,\n onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onTouchEnd = props.onTouchEnd,\n height = props.height,\n getTableHeight = props.getTableHeight,\n contentHeight = props.contentHeight,\n headerHeight = props.headerHeight,\n rtl = props.rtl;\n var wheelListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchStartListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchMoveListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchEndListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n isScrolling = _useState[0],\n setScrolling = _useState[1];\n\n var touchX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var touchY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var disableEventsTimeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var isTouching = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false); // The start time within the inertial sliding range.\n\n var momentumStartTime = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0); // The vertical starting value within the inertial sliding range.\n\n var momentumStartY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var shouldHandleWheelX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n return true;\n }, [disabledScroll, loading]);\n var shouldHandleWheelY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n if (typeof scrollY.current === 'number' && typeof minScrollY.current === 'number') {\n return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;\n }\n }, [disabledScroll, loading, minScrollY, scrollY]);\n var debounceScrollEndedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n disableEventsTimeoutId.current = null;\n setScrolling(false);\n }, []);\n /**\n * Triggered when scrolling, including: wheel/touch/scroll\n * @param deltaX\n * @param deltaY\n * @param momentumOptions The configuration of inertial scrolling is used for the touch event.\n */\n\n var handleWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions, event) {\n if (!tableRef.current) {\n return;\n }\n\n var nextScrollX = contentWidth.current <= tableWidth.current ? 0 : scrollX.current - deltaX;\n var nextScrollY = scrollY.current - deltaY;\n var y = Math.min(0, nextScrollY < minScrollY.current ? minScrollY.current : nextScrollY);\n var x = Math.min(0, nextScrollX < minScrollX.current ? minScrollX.current : nextScrollX);\n setScrollX(x);\n setScrollY(y);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(x), Math.abs(y));\n\n if (virtualized) {\n // Add a state to the table during virtualized scrolling.\n // Make it set CSS `pointer-events:none` on the DOM to avoid wrong event interaction.\n setScrolling(true);\n\n if (disableEventsTimeoutId.current) {\n (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.cancelAnimationTimeout)(disableEventsTimeoutId.current);\n }\n\n disableEventsTimeoutId.current = (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.requestAnimationTimeout)(debounceScrollEndedCallback, // When momentum is enabled, set a delay of 50ms rendering.\n momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? 50 : 0);\n } // When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.\n\n\n if ((event === null || event === void 0 ? void 0 : event.type) === 'click') {\n /**\n * With virtualized enabled, the list will be re-rendered on every scroll.\n * Update the position of the rendered list with a delay.\n * fix: https://github.com/rsuite/rsuite/issues/2378\n */\n setTimeout(function () {\n return forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, 0);\n return;\n }\n\n forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, [tableRef, contentWidth, tableWidth, scrollX, scrollY, minScrollY, minScrollX, setScrollX, setScrollY, onScroll, forceUpdatePosition, virtualized, debounceScrollEndedCallback]);\n var onWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions) {\n var _scrollbarXRef$curren, _scrollbarXRef$curren2, _scrollbarYRef$curren, _scrollbarYRef$curren2;\n\n handleWheel(deltaX, deltaY, momentumOptions);\n (_scrollbarXRef$curren = scrollbarXRef.current) === null || _scrollbarXRef$curren === void 0 ? void 0 : (_scrollbarXRef$curren2 = _scrollbarXRef$curren.onWheelScroll) === null || _scrollbarXRef$curren2 === void 0 ? void 0 : _scrollbarXRef$curren2.call(_scrollbarXRef$curren, deltaX);\n (_scrollbarYRef$curren = scrollbarYRef.current) === null || _scrollbarYRef$curren === void 0 ? void 0 : (_scrollbarYRef$curren2 = _scrollbarYRef$curren.onWheelScroll) === null || _scrollbarYRef$curren2 === void 0 ? void 0 : _scrollbarYRef$curren2.call(_scrollbarYRef$curren, deltaY, momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? true : false);\n }, [handleWheel, scrollbarXRef, scrollbarYRef]);\n var wheelHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); // Stop unending scrolling and remove transition\n\n var stopScroll = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _tableBodyRef$current, _scrollbarYRef$curren3;\n\n var wheelElement = (_tableBodyRef$current = tableBodyRef.current) === null || _tableBodyRef$current === void 0 ? void 0 : _tableBodyRef$current.querySelector('.rs-table-body-wheel-area');\n var handleElement = (_scrollbarYRef$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : _scrollbarYRef$curren3.handle;\n var transitionCSS = ['transition-duration', 'transition-timing-function'];\n\n if (!virtualized && wheelElement) {\n // Get the current translate position.\n var matrix = window.getComputedStyle(wheelElement).getPropertyValue('transform');\n var offsetY = Math.round(+matrix.split(')')[0].split(', ')[5]);\n setScrollY(offsetY);\n }\n\n if (wheelElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(wheelElement, transitionCSS);\n }\n\n if (handleElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(handleElement, transitionCSS);\n }\n }, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]); // Handle the Touch event and initialize it when touchstart is triggered.\n\n var handleTouchStart = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n var _event$touches$ = event.touches[0],\n pageX = _event$touches$.pageX,\n pageY = _event$touches$.pageY;\n touchX.current = pageX;\n touchY.current = pageY;\n momentumStartTime.current = new Date().getTime();\n momentumStartY.current = scrollY.current;\n isTouching.current = true;\n onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event); // Stop unfinished scrolling when Touch starts.\n\n stopScroll();\n }, [onTouchStart, scrollY, stopScroll]); // Handle the Touch event and update the scroll when touchmove is triggered.\n\n var handleTouchMove = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n var _event$touches$2 = event.touches[0],\n pageX = _event$touches$2.pageX,\n pageY = _event$touches$2.pageY;\n var deltaX = touchX.current - pageX;\n var deltaY = autoHeight ? 0 : touchY.current - pageY;\n\n if (!shouldHandleWheelY(deltaY) && !shouldHandleWheelX(deltaX)) {\n return;\n }\n /**\n * Prevent the default touch event when the table is scrollable.\n * fix: https://github.com/rsuite/rsuite-table/commit/21785fc18f430519ab5885c44540d9ffc30de366#commitcomment-36236425\n */\n\n\n if (!autoHeight && shouldHandleWheelY(deltaY)) {\n var _event$preventDefault;\n\n (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);\n }\n\n var now = new Date().getTime();\n onWheel(deltaX, deltaY);\n touchX.current = pageX;\n touchY.current = pageY; // Record the offset value and time under the condition of triggering inertial scrolling.\n\n if (now - momentumStartTime.current > momentumTimeThreshold) {\n momentumStartY.current = scrollY.current;\n momentumStartTime.current = now;\n }\n\n onTouchMove === null || onTouchMove === void 0 ? void 0 : onTouchMove(event);\n }, [autoHeight, onWheel, onTouchMove, scrollY, shouldHandleWheelX, shouldHandleWheelY]);\n var handleTouchEnd = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n isTouching.current = false;\n var touchDuration = new Date().getTime() - momentumStartTime.current;\n var absDeltaY = Math.abs(scrollY.current - momentumStartY.current); // Enable inertial sliding.\n\n if (touchDuration < momentumTimeThreshold && absDeltaY > momentumYThreshold) {\n var _momentum = momentum(scrollY.current, momentumStartY.current, touchDuration),\n delta = _momentum.delta,\n duration = _momentum.duration,\n bezier = _momentum.bezier;\n\n onWheel(0, delta, {\n duration: duration,\n bezier: bezier\n });\n onTouchEnd === null || onTouchEnd === void 0 ? void 0 : onTouchEnd(event);\n }\n }, [onWheel, onTouchEnd, scrollY]);\n /**\n * When the user uses the tab key in the Table, the onScroll event is triggered,\n * and the scroll bar position should be updated at the same time.\n * https://github.com/rsuite/rsuite/issues/234\n */\n\n var onScrollBody = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (event.target !== tableBodyRef.current) {\n return;\n }\n\n var left = (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target);\n var top = (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target);\n\n if (top === 0 && left === 0) {\n return;\n }\n\n onWheel(left, top);\n (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target, 0);\n (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target, 0);\n }, [onWheel, tableBodyRef]);\n var getControlledScrollTopValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n if (autoHeight) {\n return [0, 0];\n }\n\n var height = getTableHeight(); // The maximum range of scrolling value is judged.\n\n value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight))); // The value is a value of the theoretical scroll position of the table,\n // and the scrollY coordinate value and the value of the scroll bar position are calculated by value.\n\n return [-value, value / contentHeight.current * (height - headerHeight)];\n }, [autoHeight, contentHeight, getTableHeight, headerHeight]);\n\n var rerender = function rerender() {\n setScrolling(true);\n setTimeout(function () {\n if (tableBodyRef.current) {\n setScrolling(false);\n }\n }, 0);\n };\n\n var getControlledScrollLeftValue = function getControlledScrollLeftValue(value) {\n // The maximum range of scrolling value is judged.\n value = Math.min(value, Math.max(0, contentWidth.current - tableWidth.current));\n return [-value, value / contentWidth.current * tableWidth.current];\n };\n\n var onScrollTop = function onScrollTop(top) {\n var _scrollbarYRef$curren4, _scrollbarYRef$curren5;\n\n if (top === void 0) {\n top = 0;\n }\n\n var _getControlledScrollT = getControlledScrollTopValue(top),\n nextScrollY = _getControlledScrollT[0],\n handleScrollY = _getControlledScrollT[1];\n\n setScrollY(nextScrollY);\n scrollbarYRef === null || scrollbarYRef === void 0 ? void 0 : (_scrollbarYRef$curren4 = scrollbarYRef.current) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : (_scrollbarYRef$curren5 = _scrollbarYRef$curren4.resetScrollBarPosition) === null || _scrollbarYRef$curren5 === void 0 ? void 0 : _scrollbarYRef$curren5.call(_scrollbarYRef$curren4, handleScrollY);\n forceUpdatePosition();\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(scrollX.current), Math.abs(nextScrollY)));\n /**\n * After calling `scrollTop`, a white screen will appear when `virtualized` is true.\n * The reason is that the coordinates of the DOM are directly manipulated,\n * but the component is not re-rendered. Need to call `rerender`.\n * Fix: rsuite#1044\n */\n\n if (virtualized && contentHeight.current > height) {\n rerender();\n }\n };\n\n var onScrollLeft = function onScrollLeft(left) {\n var _scrollbarXRef$curren3, _scrollbarXRef$curren4;\n\n if (left === void 0) {\n left = 0;\n }\n\n var _getControlledScrollL = getControlledScrollLeftValue(left),\n nextScrollX = _getControlledScrollL[0],\n scrollbarX = _getControlledScrollL[1];\n\n setScrollX(nextScrollX);\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(nextScrollX), Math.abs(scrollY.current)));\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren3 = scrollbarXRef.current) === null || _scrollbarXRef$curren3 === void 0 ? void 0 : (_scrollbarXRef$curren4 = _scrollbarXRef$curren3.resetScrollBarPosition) === null || _scrollbarXRef$curren4 === void 0 ? void 0 : _scrollbarXRef$curren4.call(_scrollbarXRef$curren3, scrollbarX);\n forceUpdatePosition();\n };\n\n var onScrollTo = function onScrollTo(coord) {\n var _ref = coord || {},\n x = _ref.x,\n y = _ref.y;\n\n if (typeof x === 'number') {\n onScrollLeft(x);\n }\n\n if (typeof y === 'number') {\n onScrollTop(y);\n }\n };\n\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n if (scrollY.current !== 0) {\n onScrollTop(Math.abs(scrollY.current));\n }\n }, [height, data]);\n var releaseListeners = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _wheelListener$curren, _touchStartListener$c, _touchMoveListener$cu, _touchEndListener$cur;\n\n wheelHandler.current = null;\n (_wheelListener$curren = wheelListener.current) === null || _wheelListener$curren === void 0 ? void 0 : _wheelListener$curren.off();\n (_touchStartListener$c = touchStartListener.current) === null || _touchStartListener$c === void 0 ? void 0 : _touchStartListener$c.off();\n (_touchMoveListener$cu = touchMoveListener.current) === null || _touchMoveListener$cu === void 0 ? void 0 : _touchMoveListener$cu.off();\n (_touchEndListener$cur = touchEndListener.current) === null || _touchEndListener$cur === void 0 ? void 0 : _touchEndListener$cur.off();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var options = {\n passive: false\n };\n var tableBody = tableBodyRef.current;\n\n if (tableBody) {\n // Reset the listener after props is updated.\n releaseListeners();\n wheelHandler.current = new dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__.default(onWheel, shouldHandleWheelX, shouldHandleWheelY, false);\n wheelListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'wheel', wheelHandler.current.onWheel, options);\n\n if ((0,_isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__.default)()) {\n touchStartListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchstart', handleTouchStart, options);\n touchMoveListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchmove', handleTouchMove, options);\n touchEndListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchend', handleTouchEnd, options);\n }\n }\n\n return releaseListeners;\n }, [handleTouchEnd, handleTouchMove, handleTouchStart, onWheel, releaseListeners, shouldHandleWheelX, shouldHandleWheelY, tableBodyRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_8__.default)(function () {\n if (rtl) {\n var _scrollbarXRef$curren5, _scrollbarXRef$curren6;\n\n // Initialize scroll position\n setScrollX(tableWidth.current - contentWidth.current - _constants__WEBPACK_IMPORTED_MODULE_9__.SCROLLBAR_WIDTH);\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren5 = scrollbarXRef.current) === null || _scrollbarXRef$curren5 === void 0 ? void 0 : (_scrollbarXRef$curren6 = _scrollbarXRef$curren5.resetScrollBarPosition) === null || _scrollbarXRef$curren6 === void 0 ? void 0 : _scrollbarXRef$curren6.call(_scrollbarXRef$curren5, -scrollX.current);\n forceUpdatePosition();\n }\n });\n var onScrollHorizontal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n return handleWheel(delta, 0);\n }, [handleWheel]);\n var onScrollVertical = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta, event) {\n return handleWheel(0, delta, undefined, event);\n }, [handleWheel]);\n return {\n isScrolling: isScrolling,\n onScrollHorizontal: onScrollHorizontal,\n onScrollVertical: onScrollVertical,\n onScrollBody: onScrollBody,\n onScrollTop: onScrollTop,\n onScrollLeft: onScrollLeft,\n onScrollTo: onScrollTo\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useScrollListener);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useScrollListener.js?");
|
|
9390
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/WheelHandler */ \"./node_modules/dom-lib/esm/WheelHandler.js\");\n/* harmony import */ var dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/scrollLeft */ \"./node_modules/dom-lib/esm/scrollLeft.js\");\n/* harmony import */ var dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/scrollTop */ \"./node_modules/dom-lib/esm/scrollTop.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var _requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./requestAnimationTimeout */ \"./node_modules/rsuite-table/es/utils/requestAnimationTimeout.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isSupportTouchEvent */ \"./node_modules/rsuite-table/es/utils/isSupportTouchEvent.js\");\n\n\n\n\n\n\n\n\n\n\n // Inertial sliding start time threshold\n\nvar momentumTimeThreshold = 300; // Inertial sliding start vertical distance threshold\n\nvar momentumYThreshold = 15;\n\n/**\n * Calculate the distance of inertial sliding.\n */\nvar momentum = function momentum(current, start, duration) {\n // Inertial sliding acceleration.\n var deceleration = 0.003;\n var distance = current - start;\n var speed = 2 * Math.abs(distance) / duration;\n var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n return {\n delta: current - destination,\n duration: _constants__WEBPACK_IMPORTED_MODULE_9__.TRANSITION_DURATION,\n bezier: _constants__WEBPACK_IMPORTED_MODULE_9__.BEZIER\n };\n};\n/**\n * Add scroll, touch, and wheel monitoring events to the table,\n * and update the scroll position of the table.\n * @param props\n * @returns\n */\n\n\nvar useScrollListener = function useScrollListener(props) {\n var data = props.data,\n autoHeight = props.autoHeight,\n tableBodyRef = props.tableBodyRef,\n scrollbarXRef = props.scrollbarXRef,\n scrollbarYRef = props.scrollbarYRef,\n disabledScroll = props.disabledScroll,\n loading = props.loading,\n tableRef = props.tableRef,\n contentWidth = props.contentWidth,\n tableWidth = props.tableWidth,\n scrollY = props.scrollY,\n minScrollY = props.minScrollY,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n setScrollX = props.setScrollX,\n setScrollY = props.setScrollY,\n virtualized = props.virtualized,\n forceUpdatePosition = props.forceUpdatePosition,\n onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onTouchEnd = props.onTouchEnd,\n height = props.height,\n getTableHeight = props.getTableHeight,\n contentHeight = props.contentHeight,\n headerHeight = props.headerHeight,\n rtl = props.rtl;\n var wheelListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchStartListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchMoveListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchEndListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n isScrolling = _useState[0],\n setScrolling = _useState[1];\n\n var touchX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var touchY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var disableEventsTimeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var isTouching = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false); // The start time within the inertial sliding range.\n\n var momentumStartTime = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0); // The vertical starting value within the inertial sliding range.\n\n var momentumStartY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var shouldHandleWheelX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n return true;\n }, [disabledScroll, loading]);\n var shouldHandleWheelY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n if (typeof scrollY.current === 'number' && typeof minScrollY.current === 'number') {\n return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;\n }\n }, [disabledScroll, loading, minScrollY, scrollY]);\n var debounceScrollEndedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n disableEventsTimeoutId.current = null;\n setScrolling(false);\n }, []);\n /**\n * Triggered when scrolling, including: wheel/touch/scroll\n * @param deltaX\n * @param deltaY\n * @param momentumOptions The configuration of inertial scrolling is used for the touch event.\n */\n\n var handleWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions, event) {\n if (!tableRef.current) {\n return;\n }\n\n var nextScrollX = contentWidth.current <= tableWidth.current ? 0 : scrollX.current - deltaX;\n var nextScrollY = scrollY.current - deltaY;\n var y = Math.min(0, nextScrollY < minScrollY.current ? minScrollY.current : nextScrollY);\n var x = Math.min(0, nextScrollX < minScrollX.current ? minScrollX.current : nextScrollX);\n setScrollX(x);\n setScrollY(y);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(x), Math.abs(y));\n\n if (virtualized) {\n // Add a state to the table during virtualized scrolling.\n // Make it set CSS `pointer-events:none` on the DOM to avoid wrong event interaction.\n setScrolling(true);\n\n if (disableEventsTimeoutId.current) {\n (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.cancelAnimationTimeout)(disableEventsTimeoutId.current);\n }\n\n disableEventsTimeoutId.current = (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.requestAnimationTimeout)(debounceScrollEndedCallback, // When momentum is enabled, set a delay of 50ms rendering.\n momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? 50 : 0);\n } // When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.\n\n\n if ((event === null || event === void 0 ? void 0 : event.type) === 'click') {\n /**\n * With virtualized enabled, the list will be re-rendered on every scroll.\n * Update the position of the rendered list with a delay.\n * fix: https://github.com/rsuite/rsuite/issues/2378\n */\n setTimeout(function () {\n return forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, 0);\n return;\n }\n\n forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, [tableRef, contentWidth, tableWidth, scrollX, scrollY, minScrollY, minScrollX, setScrollX, setScrollY, onScroll, forceUpdatePosition, virtualized, debounceScrollEndedCallback]);\n var onWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions) {\n var _scrollbarXRef$curren, _scrollbarXRef$curren2, _scrollbarYRef$curren, _scrollbarYRef$curren2;\n\n handleWheel(deltaX, deltaY, momentumOptions);\n (_scrollbarXRef$curren = scrollbarXRef.current) === null || _scrollbarXRef$curren === void 0 ? void 0 : (_scrollbarXRef$curren2 = _scrollbarXRef$curren.onWheelScroll) === null || _scrollbarXRef$curren2 === void 0 ? void 0 : _scrollbarXRef$curren2.call(_scrollbarXRef$curren, deltaX);\n (_scrollbarYRef$curren = scrollbarYRef.current) === null || _scrollbarYRef$curren === void 0 ? void 0 : (_scrollbarYRef$curren2 = _scrollbarYRef$curren.onWheelScroll) === null || _scrollbarYRef$curren2 === void 0 ? void 0 : _scrollbarYRef$curren2.call(_scrollbarYRef$curren, deltaY, momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? true : false);\n }, [handleWheel, scrollbarXRef, scrollbarYRef]);\n var wheelHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); // Stop unending scrolling and remove transition\n\n var stopScroll = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _tableBodyRef$current, _scrollbarYRef$curren3;\n\n var wheelElement = (_tableBodyRef$current = tableBodyRef.current) === null || _tableBodyRef$current === void 0 ? void 0 : _tableBodyRef$current.querySelector('.rs-table-body-wheel-area');\n var handleElement = (_scrollbarYRef$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : _scrollbarYRef$curren3.handle;\n var transitionCSS = ['transition-duration', 'transition-timing-function'];\n\n if (!virtualized && wheelElement) {\n // Get the current translate position.\n var matrix = window.getComputedStyle(wheelElement).getPropertyValue('transform');\n var offsetY = Math.round(+matrix.split(')')[0].split(', ')[5]);\n setScrollY(offsetY);\n }\n\n if (wheelElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(wheelElement, transitionCSS);\n }\n\n if (handleElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(handleElement, transitionCSS);\n }\n }, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]); // Handle the Touch event and initialize it when touchstart is triggered.\n\n var handleTouchStart = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n var _event$touches$ = event.touches[0],\n pageX = _event$touches$.pageX,\n pageY = _event$touches$.pageY;\n touchX.current = pageX;\n touchY.current = pageY;\n momentumStartTime.current = new Date().getTime();\n momentumStartY.current = scrollY.current;\n isTouching.current = true;\n onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event); // Stop unfinished scrolling when Touch starts.\n\n stopScroll();\n }, [onTouchStart, scrollY, stopScroll]); // Handle the Touch event and update the scroll when touchmove is triggered.\n\n var handleTouchMove = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n var _event$touches$2 = event.touches[0],\n pageX = _event$touches$2.pageX,\n pageY = _event$touches$2.pageY;\n var deltaX = touchX.current - pageX;\n var deltaY = autoHeight ? 0 : touchY.current - pageY;\n\n if (!shouldHandleWheelY(deltaY) && !shouldHandleWheelX(deltaX)) {\n return;\n }\n /**\n * Prevent the default touch event when the table is scrollable.\n * fix: https://github.com/rsuite/rsuite-table/commit/21785fc18f430519ab5885c44540d9ffc30de366#commitcomment-36236425\n */\n\n\n if (!autoHeight && shouldHandleWheelY(deltaY)) {\n var _event$preventDefault;\n\n (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);\n }\n\n var now = new Date().getTime();\n onWheel(deltaX, deltaY);\n touchX.current = pageX;\n touchY.current = pageY; // Record the offset value and time under the condition of triggering inertial scrolling.\n\n if (now - momentumStartTime.current > momentumTimeThreshold) {\n momentumStartY.current = scrollY.current;\n momentumStartTime.current = now;\n }\n\n onTouchMove === null || onTouchMove === void 0 ? void 0 : onTouchMove(event);\n }, [autoHeight, onWheel, onTouchMove, scrollY, shouldHandleWheelX, shouldHandleWheelY]);\n var handleTouchEnd = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n isTouching.current = false;\n var touchDuration = new Date().getTime() - momentumStartTime.current;\n var absDeltaY = Math.abs(scrollY.current - momentumStartY.current); // Enable inertial sliding.\n\n if (touchDuration < momentumTimeThreshold && absDeltaY > momentumYThreshold) {\n var _momentum = momentum(scrollY.current, momentumStartY.current, touchDuration),\n delta = _momentum.delta,\n duration = _momentum.duration,\n bezier = _momentum.bezier;\n\n onWheel(0, delta, {\n duration: duration,\n bezier: bezier\n });\n onTouchEnd === null || onTouchEnd === void 0 ? void 0 : onTouchEnd(event);\n }\n }, [onWheel, onTouchEnd, scrollY]);\n /**\n * When the user uses the tab key in the Table, the onScroll event is triggered,\n * and the scroll bar position should be updated at the same time.\n * https://github.com/rsuite/rsuite/issues/234\n */\n\n var onScrollBody = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (event.target !== tableBodyRef.current) {\n return;\n }\n\n var left = (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target);\n var top = (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target);\n\n if (top === 0 && left === 0) {\n return;\n }\n\n onWheel(left, top);\n (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target, 0);\n (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target, 0);\n }, [onWheel, tableBodyRef]);\n var getControlledScrollTopValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n if (autoHeight) {\n return [0, 0];\n }\n\n var height = getTableHeight(); // The maximum range of scrolling value is judged.\n\n value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight))); // The value is a value of the theoretical scroll position of the table,\n // and the scrollY coordinate value and the value of the scroll bar position are calculated by value.\n\n return [-value, value / contentHeight.current * (height - headerHeight)];\n }, [autoHeight, contentHeight, getTableHeight, headerHeight]);\n\n var rerender = function rerender() {\n setScrolling(true);\n setTimeout(function () {\n if (tableBodyRef.current) {\n setScrolling(false);\n }\n }, 0);\n };\n\n var getControlledScrollLeftValue = function getControlledScrollLeftValue(value) {\n // The maximum range of scrolling value is judged.\n value = Math.min(value, Math.max(0, contentWidth.current - tableWidth.current));\n return [-value, value / contentWidth.current * tableWidth.current];\n };\n\n var onScrollTop = function onScrollTop(top) {\n var _scrollbarYRef$curren4, _scrollbarYRef$curren5;\n\n if (top === void 0) {\n top = 0;\n }\n\n var _getControlledScrollT = getControlledScrollTopValue(top),\n nextScrollY = _getControlledScrollT[0],\n handleScrollY = _getControlledScrollT[1];\n\n var height = getTableHeight();\n setScrollY(nextScrollY);\n scrollbarYRef === null || scrollbarYRef === void 0 ? void 0 : (_scrollbarYRef$curren4 = scrollbarYRef.current) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : (_scrollbarYRef$curren5 = _scrollbarYRef$curren4.resetScrollBarPosition) === null || _scrollbarYRef$curren5 === void 0 ? void 0 : _scrollbarYRef$curren5.call(_scrollbarYRef$curren4, handleScrollY);\n forceUpdatePosition();\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(scrollX.current), Math.abs(nextScrollY)));\n /**\n * After calling `scrollTop`, a white screen will appear when `virtualized` is true.\n * The reason is that the coordinates of the DOM are directly manipulated,\n * but the component is not re-rendered. Need to call `rerender`.\n * Fix: rsuite#1044\n */\n\n if (virtualized && contentHeight.current > height) {\n rerender();\n }\n };\n\n var onScrollLeft = function onScrollLeft(left) {\n var _scrollbarXRef$curren3, _scrollbarXRef$curren4;\n\n if (left === void 0) {\n left = 0;\n }\n\n var _getControlledScrollL = getControlledScrollLeftValue(left),\n nextScrollX = _getControlledScrollL[0],\n scrollbarX = _getControlledScrollL[1];\n\n setScrollX(nextScrollX);\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(nextScrollX), Math.abs(scrollY.current)));\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren3 = scrollbarXRef.current) === null || _scrollbarXRef$curren3 === void 0 ? void 0 : (_scrollbarXRef$curren4 = _scrollbarXRef$curren3.resetScrollBarPosition) === null || _scrollbarXRef$curren4 === void 0 ? void 0 : _scrollbarXRef$curren4.call(_scrollbarXRef$curren3, scrollbarX);\n forceUpdatePosition();\n };\n\n var onScrollTo = function onScrollTo(coord) {\n var _ref = coord || {},\n x = _ref.x,\n y = _ref.y;\n\n if (typeof x === 'number') {\n onScrollLeft(x);\n }\n\n if (typeof y === 'number') {\n onScrollTop(y);\n }\n };\n\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n if (scrollY.current !== 0) {\n onScrollTop(Math.abs(scrollY.current));\n }\n }, [height, data]);\n var releaseListeners = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _wheelListener$curren, _touchStartListener$c, _touchMoveListener$cu, _touchEndListener$cur;\n\n wheelHandler.current = null;\n (_wheelListener$curren = wheelListener.current) === null || _wheelListener$curren === void 0 ? void 0 : _wheelListener$curren.off();\n (_touchStartListener$c = touchStartListener.current) === null || _touchStartListener$c === void 0 ? void 0 : _touchStartListener$c.off();\n (_touchMoveListener$cu = touchMoveListener.current) === null || _touchMoveListener$cu === void 0 ? void 0 : _touchMoveListener$cu.off();\n (_touchEndListener$cur = touchEndListener.current) === null || _touchEndListener$cur === void 0 ? void 0 : _touchEndListener$cur.off();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var options = {\n passive: false\n };\n var tableBody = tableBodyRef.current;\n\n if (tableBody) {\n // Reset the listener after props is updated.\n releaseListeners();\n wheelHandler.current = new dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__.default(onWheel, shouldHandleWheelX, shouldHandleWheelY, false);\n wheelListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'wheel', wheelHandler.current.onWheel, options);\n\n if ((0,_isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__.default)()) {\n touchStartListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchstart', handleTouchStart, options);\n touchMoveListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchmove', handleTouchMove, options);\n touchEndListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchend', handleTouchEnd, options);\n }\n }\n\n return releaseListeners;\n }, [handleTouchEnd, handleTouchMove, handleTouchStart, onWheel, releaseListeners, shouldHandleWheelX, shouldHandleWheelY, tableBodyRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_8__.default)(function () {\n if (rtl) {\n var _scrollbarXRef$curren5, _scrollbarXRef$curren6;\n\n // Initialize scroll position\n setScrollX(tableWidth.current - contentWidth.current - _constants__WEBPACK_IMPORTED_MODULE_9__.SCROLLBAR_WIDTH);\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren5 = scrollbarXRef.current) === null || _scrollbarXRef$curren5 === void 0 ? void 0 : (_scrollbarXRef$curren6 = _scrollbarXRef$curren5.resetScrollBarPosition) === null || _scrollbarXRef$curren6 === void 0 ? void 0 : _scrollbarXRef$curren6.call(_scrollbarXRef$curren5, -scrollX.current);\n forceUpdatePosition();\n }\n });\n var onScrollHorizontal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n return handleWheel(delta, 0);\n }, [handleWheel]);\n var onScrollVertical = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta, event) {\n return handleWheel(0, delta, undefined, event);\n }, [handleWheel]);\n return {\n isScrolling: isScrolling,\n onScrollHorizontal: onScrollHorizontal,\n onScrollVertical: onScrollVertical,\n onScrollBody: onScrollBody,\n onScrollTop: onScrollTop,\n onScrollLeft: onScrollLeft,\n onScrollTo: onScrollTo\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useScrollListener);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useScrollListener.js?");
|
|
9391
9391
|
|
|
9392
9392
|
/***/ }),
|
|
9393
9393
|
|
|
@@ -9398,7 +9398,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9398
9398
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9399
9399
|
|
|
9400
9400
|
"use strict";
|
|
9401
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\");\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateLayoutEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateLayoutEffect.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The dimension information of the table,\n * including the height, width, scrollable distance and the coordinates of the scroll handle, etc.\n * @param props\n * @returns\n */\nvar useTableDimension = function useTableDimension(props) {\n var data = props.data,\n rowHeight = props.rowHeight,\n tableRef = props.tableRef,\n headerWrapperRef = props.headerWrapperRef,\n prefix = props.prefix,\n widthProp = props.width,\n affixHeader = props.affixHeader,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n headerHeight = props.headerHeight,\n height = props.height,\n autoHeight = props.autoHeight,\n children = props.children,\n expandedRowKeys = props.expandedRowKeys,\n onTableWidthChange = props.onTableWidthChange,\n onTableContentWidthChange = props.onTableContentWidthChange,\n onTableContentHeightChange = props.onTableContentHeightChange,\n onTableScroll = props.onTableScroll;\n var contentHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var contentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var tableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(widthProp || 0);\n var columnCount = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var headerOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var tableOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var calculateTableContextHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevContentHeight = contentHeight.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var rows = (table === null || table === void 0 ? void 0 : table.querySelectorAll(\".\" + (prefix === null || prefix === void 0 ? void 0 : prefix('row')))) || [];\n var nextContentHeight = rows.length ? Array.from(rows).map(function (row) {\n return (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__.default)(row) || rowHeight;\n }).reduce(function (x, y) {\n return x + y;\n }) : 0; // After setting the affixHeader property, the height of the two headers should be subtracted.\n\n contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight));\n\n if (!autoHeight) {\n /**\n * The purpose of subtracting SCROLLBAR_WIDTH is to keep the scroll bar from blocking the content part.\n * But it will only be calculated when there is a horizontal scroll bar (contentWidth > tableWidth).\n */\n minScrollY.current = -(nextContentHeight - height) - (contentWidth.current > tableWidth.current ? _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH : 0);\n } // If the height of the content area is less than the height of the table, the vertical scroll bar is reset.\n\n\n if (nextContentHeight < height) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: 0\n });\n } // If the value of scrollTop is greater than the scrollable range, the vertical scroll bar is reset.\n // When Table is set to virtualized, the logic will be entered every time the wheel event is triggered\n // to avoid resetting the scroll bar after scrolling to the bottom, so add the SCROLLBAR_WIDTH value.\n\n\n if (Math.abs(scrollY.current) + height - headerHeight > nextContentHeight + _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: scrollY.current\n });\n }\n\n if (prevContentHeight !== contentHeight.current) {\n onTableContentHeightChange === null || onTableContentHeightChange === void 0 ? void 0 : onTableContentHeightChange(prevContentHeight);\n }\n }, [affixHeader, autoHeight, headerHeight, height, onTableScroll, onTableContentHeightChange, prefix, rowHeight, tableRef]);\n var setOffsetByAffix = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var headerNode = headerWrapperRef === null || headerWrapperRef === void 0 ? void 0 : headerWrapperRef.current;\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHeader) && headerNode) {\n headerOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(headerNode);\n }\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHorizontalScrollbar) && tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n }, [affixHeader, affixHorizontalScrollbar, headerWrapperRef, tableRef]);\n var calculateTableContentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevWidth = contentWidth.current;\n var prevColumnCount = columnCount.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var row = table === null || table === void 0 ? void 0 : table.querySelector(\".\" + prefix('row') + \":not(.virtualized)\");\n var nextContentWidth = row ? (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(row) : 0;\n contentWidth.current = nextContentWidth;\n columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll(\".\" + prefix('cell')).length) || 0; // The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.\n // There is no vertical scroll bar after autoHeight.\n\n minScrollX.current = -(nextContentWidth - tableWidth.current) - (autoHeight ? 0 : _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH);\n /**\n * If the width of the content area and the number of columns change,\n * the horizontal scroll bar is reset.\n * fix: https://github.com/rsuite/rsuite/issues/2039\n */\n\n if (prevWidth > 0 && prevWidth !== contentWidth.current && prevColumnCount > 0 && prevColumnCount !== columnCount.current) {\n onTableContentWidthChange === null || onTableContentWidthChange === void 0 ? void 0 : onTableContentWidthChange(prevWidth);\n }\n }, [autoHeight, onTableContentWidthChange, prefix, tableRef]);\n var calculateTableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (nextWidth) {\n var prevWidth = tableWidth.current;\n\n if (tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableWidth.current = nextWidth || (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n\n if (prevWidth && prevWidth !== tableWidth.current) {\n scrollX.current = 0;\n onTableWidthChange === null || onTableWidthChange === void 0 ? void 0 : onTableWidthChange(prevWidth);\n }\n\n setOffsetByAffix();\n }, [onTableWidthChange, setOffsetByAffix, tableRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_6__.default)(function () {\n calculateTableContextHeight();\n calculateTableContentWidth();\n calculateTableWidth();\n setOffsetByAffix();\n resizeObserver.current = new _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver(function (entries) {\n for (var _iterator = _createForOfIteratorHelperLoose(entries), _step; !(_step = _iterator()).done;) {\n var entry = _step.value;\n calculateTableWidth(entry.contentRect.width);\n }\n });\n resizeObserver.current.observe(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n });\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n calculateTableWidth();\n calculateTableContextHeight();\n calculateTableContentWidth();\n }, [data, height, contentHeight, expandedRowKeys, children, calculateTableContextHeight, calculateTableContentWidth]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n return function () {\n var _resizeObserver$curre;\n\n (_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();\n };\n }, []);\n var setScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollY.current = value;\n }, []);\n var setScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollX.current = value;\n }, []);\n return {\n contentHeight: contentHeight,\n contentWidth: contentWidth,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollY: scrollY,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerOffset: headerOffset,\n tableOffset: tableOffset,\n setScrollY: setScrollY,\n setScrollX: setScrollX\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useTableDimension);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useTableDimension.js?");
|
|
9401
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\");\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateLayoutEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateLayoutEffect.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * The dimension information of the table,\n * including the height, width, scrollable distance and the coordinates of the scroll handle, etc.\n * @param props\n * @returns\n */\nvar useTableDimension = function useTableDimension(props) {\n var data = props.data,\n rowHeight = props.rowHeight,\n tableRef = props.tableRef,\n headerWrapperRef = props.headerWrapperRef,\n prefix = props.prefix,\n widthProp = props.width,\n affixHeader = props.affixHeader,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n headerHeight = props.headerHeight,\n heightProp = props.height,\n autoHeight = props.autoHeight,\n minHeight = props.minHeight,\n fillHeight = props.fillHeight,\n children = props.children,\n expandedRowKeys = props.expandedRowKeys,\n onTableResizeChange = props.onTableResizeChange,\n onTableScroll = props.onTableScroll;\n var contentHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var contentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var tableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(widthProp || 0);\n var tableHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(heightProp || 0);\n var columnCount = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var containerResizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var headerOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var tableOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var calculateTableContextHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevContentHeight = contentHeight.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var rows = (table === null || table === void 0 ? void 0 : table.querySelectorAll(\".\" + (prefix === null || prefix === void 0 ? void 0 : prefix('row')))) || [];\n var nextContentHeight = rows.length ? Array.from(rows).map(function (row) {\n return (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__.default)(row) || rowHeight;\n }).reduce(function (x, y) {\n return x + y;\n }) : 0; // After setting the affixHeader property, the height of the two headers should be subtracted.\n\n contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight));\n var height = fillHeight ? tableHeight.current : heightProp;\n\n if (!autoHeight) {\n /**\n * The purpose of subtracting SCROLLBAR_WIDTH is to keep the scroll bar from blocking the content part.\n * But it will only be calculated when there is a horizontal scroll bar (contentWidth > tableWidth).\n */\n minScrollY.current = -(nextContentHeight - height) - (contentWidth.current > tableWidth.current ? _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH : 0);\n } // If the height of the content area is less than the height of the table, the vertical scroll bar is reset.\n\n\n if (nextContentHeight < height) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: 0\n });\n } // If the value of scrollTop is greater than the scrollable range, the vertical scroll bar is reset.\n // When Table is set to virtualized, the logic will be entered every time the wheel event is triggered\n // to avoid resetting the scroll bar after scrolling to the bottom, so add the SCROLLBAR_WIDTH value.\n\n\n if (Math.abs(scrollY.current) + height - headerHeight > nextContentHeight + _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: scrollY.current\n });\n }\n\n if (prevContentHeight !== contentHeight.current) {\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevContentHeight, 'bodyHeightChanged');\n }\n }, [tableRef, prefix, affixHeader, headerHeight, fillHeight, heightProp, autoHeight, rowHeight, onTableScroll, onTableResizeChange]);\n var setOffsetByAffix = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var headerNode = headerWrapperRef === null || headerWrapperRef === void 0 ? void 0 : headerWrapperRef.current;\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHeader) && headerNode) {\n headerOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(headerNode);\n }\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHorizontalScrollbar) && tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n }, [affixHeader, affixHorizontalScrollbar, headerWrapperRef, tableRef]);\n var calculateTableContentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevWidth = contentWidth.current;\n var prevColumnCount = columnCount.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var row = table === null || table === void 0 ? void 0 : table.querySelector(\".\" + prefix('row') + \":not(.virtualized)\");\n var nextContentWidth = row ? (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(row) : 0;\n contentWidth.current = nextContentWidth - (autoHeight ? _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH : 0);\n columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll(\".\" + prefix('cell')).length) || 0; // The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.\n // There is no vertical scroll bar after autoHeight.\n\n minScrollX.current = -(nextContentWidth - tableWidth.current) - (autoHeight ? 0 : _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH);\n /**\n * If the width of the content area and the number of columns change,\n * the horizontal scroll bar is reset.\n * fix: https://github.com/rsuite/rsuite/issues/2039\n */\n\n if (prevWidth > 0 && prevWidth !== contentWidth.current && prevColumnCount > 0 && prevColumnCount !== columnCount.current) {\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevWidth, 'bodyWidthChanged');\n }\n }, [autoHeight, onTableResizeChange, prefix, tableRef]);\n var calculateTableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (nextWidth) {\n var prevWidth = tableWidth.current;\n\n if (tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableWidth.current = nextWidth || (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n\n if (prevWidth && prevWidth !== tableWidth.current) {\n scrollX.current = 0;\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevWidth, 'widthChanged');\n }\n\n setOffsetByAffix();\n }, [onTableResizeChange, setOffsetByAffix, tableRef]);\n var calculateTableHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (nextHeight) {\n var prevHeight = tableHeight.current;\n\n if (nextHeight) {\n tableHeight.current = nextHeight;\n } else if (tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableHeight.current = (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__.default)(tableRef.current.parentNode);\n }\n\n if (prevHeight && prevHeight !== tableHeight.current) {\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevHeight, 'heightChanged');\n }\n }, [onTableResizeChange, tableRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_6__.default)(function () {\n var _tableRef$current;\n\n calculateTableContextHeight();\n calculateTableContentWidth();\n calculateTableWidth();\n calculateTableHeight();\n setOffsetByAffix();\n containerResizeObserver.current = new _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver(function (entries) {\n calculateTableHeight(entries[0].contentRect.height);\n });\n containerResizeObserver.current.observe(tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.parentNode);\n resizeObserver.current = new _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver(function (entries) {\n calculateTableWidth(entries[0].contentRect.width);\n });\n resizeObserver.current.observe(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n return function () {\n var _resizeObserver$curre, _containerResizeObser;\n\n (_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();\n (_containerResizeObser = containerResizeObserver.current) === null || _containerResizeObser === void 0 ? void 0 : _containerResizeObser.disconnect();\n };\n });\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n calculateTableHeight();\n calculateTableContextHeight();\n }, [fillHeight]);\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n calculateTableWidth();\n calculateTableContextHeight();\n calculateTableContentWidth();\n }, [data, heightProp, contentHeight, expandedRowKeys, children, calculateTableContextHeight, calculateTableContentWidth]);\n var setScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollY.current = value;\n }, []);\n var setScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollX.current = value;\n }, []);\n\n var getTableHeight = function getTableHeight() {\n if (fillHeight) {\n return tableHeight.current;\n }\n\n if ((data === null || data === void 0 ? void 0 : data.length) === 0 && autoHeight) {\n return heightProp;\n }\n\n return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : heightProp;\n };\n\n return {\n contentHeight: contentHeight,\n contentWidth: contentWidth,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollY: scrollY,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerOffset: headerOffset,\n tableOffset: tableOffset,\n getTableHeight: getTableHeight,\n setScrollY: setScrollY,\n setScrollX: setScrollX\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useTableDimension);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useTableDimension.js?");
|
|
9402
9402
|
|
|
9403
9403
|
/***/ }),
|
|
9404
9404
|
|