rsuite 5.2.2 → 5.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/InputPicker/InputPicker.js +1 -1
- package/cjs/Menu/Menu.js +46 -34
- package/cjs/Menu/MenuItem.js +16 -12
- package/cjs/Picker/PickerToggle.js +5 -3
- package/cjs/RadioGroup/RadioGroup.js +2 -2
- package/cjs/Rate/Rate.js +3 -1
- package/cjs/utils/useElementResize.js +6 -3
- package/dist/rsuite.js +35 -13
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/InputPicker/InputPicker.js +1 -1
- package/esm/Menu/Menu.js +46 -36
- package/esm/Menu/MenuItem.js +16 -12
- package/esm/Picker/PickerToggle.js +5 -3
- package/esm/RadioGroup/RadioGroup.js +2 -2
- package/esm/Rate/Rate.js +2 -1
- package/esm/utils/useElementResize.js +6 -3
- package/package.json +2 -2
package/dist/rsuite.js
CHANGED
|
@@ -2089,7 +2089,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2089
2089
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2090
2090
|
|
|
2091
2091
|
"use strict";
|
|
2092
|
-
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 _cloneDeep = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\n\nvar _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _CheckboxGroupContext = __webpack_require__(/*! ./CheckboxGroupContext */ \"./src/CheckboxGroup/CheckboxGroupContext.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckboxGroup/CheckboxGroup.tsx\",\n _this = void 0;\n\nvar CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n className = props.className,\n inline = props.inline,\n children = props.children,\n name = props.name,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'checkbox-group' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"inline\", \"children\", \"name\", \"value\", \"defaultValue\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"onChange\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var classes = merge(className, withClassPrefix({\n inline: inline\n }));\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var handleChange = (0, _react.useCallback)(function (itemValue, itemChecked, event) {\n var nextValue = (0, _cloneDeep.default)(value) || [];\n\n if (itemChecked) {\n nextValue.push(itemValue);\n } else {\n (0, _remove.default)(nextValue, function (i) {\n return (0, _utils.shallowEqual)(i, itemValue);\n });\n }\n\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }, [onChange, setValue, value]);\n var contextValue = (0, _react.useMemo)(function () {\n return {\n inline: inline,\n name: name,\n value: value,\n readOnly: readOnly,\n disabled: disabled,\n plaintext: plaintext,\n controlled: isControlled,\n onChange: handleChange\n };\n }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);\n return /*#__PURE__*/_react.default.createElement(_CheckboxGroupContext.CheckboxGroupContext.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 7\n }\n }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n ref: ref,\n localeKey: \"notSelected\"
|
|
2092
|
+
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 _cloneDeep = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\n\nvar _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _CheckboxGroupContext = __webpack_require__(/*! ./CheckboxGroupContext */ \"./src/CheckboxGroup/CheckboxGroupContext.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckboxGroup/CheckboxGroup.tsx\",\n _this = void 0;\n\nvar CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n className = props.className,\n inline = props.inline,\n children = props.children,\n name = props.name,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'checkbox-group' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"inline\", \"children\", \"name\", \"value\", \"defaultValue\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"onChange\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var classes = merge(className, withClassPrefix({\n inline: inline\n }));\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var handleChange = (0, _react.useCallback)(function (itemValue, itemChecked, event) {\n var nextValue = (0, _cloneDeep.default)(value) || [];\n\n if (itemChecked) {\n nextValue.push(itemValue);\n } else {\n (0, _remove.default)(nextValue, function (i) {\n return (0, _utils.shallowEqual)(i, itemValue);\n });\n }\n\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }, [onChange, setValue, value]);\n var contextValue = (0, _react.useMemo)(function () {\n return {\n inline: inline,\n name: name,\n value: value,\n readOnly: readOnly,\n disabled: disabled,\n plaintext: plaintext,\n controlled: isControlled,\n onChange: handleChange\n };\n }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);\n return /*#__PURE__*/_react.default.createElement(_CheckboxGroupContext.CheckboxGroupContext.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 75,\n columnNumber: 7\n }\n }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({\n ref: ref,\n localeKey: \"notSelected\"\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 11\n }\n }), value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n role: \"group\",\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 11\n }\n }), children));\n});\n\nCheckboxGroup.displayName = 'CheckboxGroup';\nCheckboxGroup.propTypes = {\n as: _propTypes.default.elementType,\n name: _propTypes.default.string,\n className: _propTypes.default.string,\n inline: _propTypes.default.bool,\n value: _propTypes.default.array,\n defaultValue: _propTypes.default.array,\n onChange: _propTypes.default.func,\n children: _propTypes.default.array,\n classPrefix: _propTypes.default.string,\n readOnly: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n plaintext: _propTypes.default.bool\n};\nvar _default = CheckboxGroup;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckboxGroup/CheckboxGroup.tsx?");
|
|
2093
2093
|
|
|
2094
2094
|
/***/ }),
|
|
2095
2095
|
|
|
@@ -2903,7 +2903,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2903
2903
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2904
2904
|
|
|
2905
2905
|
"use strict";
|
|
2906
|
-
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 = exports.InputPickerContext = 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 _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 _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\"));\n\nvar _clone = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\n\nvar _isArray = _interopRequireDefault(__webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.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 _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _Tag = _interopRequireDefault(__webpack_require__(/*! ../Tag */ \"./src/Tag/index.tsx\"));\n\nvar _InputAutosize = _interopRequireDefault(__webpack_require__(/*! ./InputAutosize */ \"./src/InputPicker/InputAutosize.tsx\"));\n\nvar _InputSearch = _interopRequireDefault(__webpack_require__(/*! ./InputSearch */ \"./src/InputPicker/InputSearch.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputPicker/InputPicker.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2,\n _templateObject3,\n _templateObject4,\n _templateObject5;\n\nvar InputPickerContext = /*#__PURE__*/_react.default.createContext({});\n\nexports.InputPickerContext = InputPickerContext;\n\nvar InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _merge;\n\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$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$cacheData = props.cacheData,\n cacheData = _props$cacheData === void 0 ? [] : _props$cacheData,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$data = props.data,\n controlledData = _props$data === void 0 ? [] : _props$data,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n defaultValue = props.defaultValue,\n defaultOpen = props.defaultOpen,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,\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 controlledOpen = props.open,\n placeholder = props.placeholder,\n groupBy = props.groupBy,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\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 creatable = props.creatable,\n valueProp = props.value,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n virtualized = props.virtualized,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n listProps = props.listProps,\n id = props.id,\n tabIndex = props.tabIndex,\n sort = props.sort,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n renderValue = props.renderValue,\n renderMenuItem = props.renderMenuItem,\n renderMenuGroup = props.renderMenuGroup,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExit = props.onExit,\n onExited = props.onExited,\n onChange = props.onChange,\n onClean = props.onClean,\n onCreate = props.onCreate,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onOpen = props.onOpen,\n onClose = props.onClose,\n onBlur = props.onBlur,\n onFocus = props.onFocus,\n searchBy = props.searchBy,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"cleanable\", \"cacheData\", \"classPrefix\", \"data\", \"disabled\", \"readOnly\", \"plaintext\", \"defaultValue\", \"defaultOpen\", \"disabledItemValues\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"open\", \"placeholder\", \"groupBy\", \"menuClassName\", \"menuStyle\", \"menuAutoWidth\", \"menuMaxHeight\", \"creatable\", \"value\", \"valueKey\", \"virtualized\", \"labelKey\", \"listProps\", \"id\", \"tabIndex\", \"sort\", \"renderMenu\", \"renderExtraFooter\", \"renderValue\", \"renderMenuItem\", \"renderMenuGroup\", \"onEnter\", \"onEntered\", \"onExit\", \"onExited\", \"onChange\", \"onClean\", \"onCreate\", \"onSearch\", \"onSelect\", \"onOpen\", \"onClose\", \"onBlur\", \"onFocus\", \"searchBy\", \"placement\"]);\n\n var _useContext = (0, _react.useContext)(InputPickerContext),\n multi = _useContext.multi,\n tagProps = _useContext.tagProps,\n trigger = _useContext.trigger,\n disabledOptions = _useContext.disabledOptions;\n\n if (groupBy === valueKey || groupBy === labelKey) {\n throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');\n }\n\n var overlayRef = (0, _react.useRef)();\n var targetRef = (0, _react.useRef)();\n var triggerRef = (0, _react.useRef)();\n var inputRef = (0, _react.useRef)();\n\n var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),\n locale = _useCustom.locale;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState = (0, _react.useState)(controlledData),\n uncontrolledData = _useState[0],\n setData = _useState[1];\n\n var _useState2 = (0, _react.useState)(100),\n maxWidth = _useState2[0],\n setMaxWidth = _useState2[1];\n\n var _useState3 = (0, _react.useState)([]),\n newData = _useState3[0],\n setNewData = _useState3[1];\n\n var _useState4 = (0, _react.useState)(defaultOpen),\n uncontrolledOpen = _useState4[0],\n setOpen = _useState4[1];\n\n var open = (0, _isUndefined.default)(controlledOpen) ? uncontrolledOpen : controlledOpen;\n var getAllData = (0, _react.useCallback)(function () {\n return [].concat(uncontrolledData, newData);\n }, [uncontrolledData, newData]);\n var getAllDataAndCache = (0, _react.useCallback)(function () {\n return [].concat(getAllData(), cacheData);\n }, [getAllData, cacheData]);\n\n var _useControlled = (0, _utils.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var cloneValue = (0, _react.useCallback)(function () {\n return multi ? (0, _clone.default)(value) || [] : value;\n }, [multi, value]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(multi ? value === null || value === void 0 ? void 0 : value[0] : value, {\n data: getAllDataAndCache(),\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onKeyDown = _useFocusItemValue.onKeyDown;\n\n var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(disabledOptions ? searchKeyword : (filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]) || searchKeyword);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }, [disabledOptions, setFocusItemValue, valueKey, onSearch]); // Use search keywords to filter options.\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: getAllData(),\n searchBy: searchBy,\n callback: handleSearchCallback\n }),\n searchKeyword = _useSearch.searchKeyword,\n setSearchKeyword = _useSearch.setSearchKeyword,\n checkShouldDisplay = _useSearch.checkShouldDisplay,\n handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes\n\n\n (0, _react.useEffect)(function () {\n if (controlledData && !(0, _shallowEqual.default)(controlledData, uncontrolledData)) {\n var _controlledData$;\n\n setData(controlledData);\n setNewData([]);\n setFocusItemValue(controlledData === null || controlledData === void 0 ? void 0 : (_controlledData$ = controlledData[0]) === null || _controlledData$ === void 0 ? void 0 : _controlledData$[valueKey]);\n }\n }, [setFocusItemValue, controlledData, uncontrolledData, valueKey]);\n (0, _react.useEffect)(function () {\n var _triggerRef$current2;\n\n // In multiple selection, you need to set a maximum width for the input.\n if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {\n setMaxWidth((0, _getWidth.default)(triggerRef.current.root));\n }\n }, []); // Update the position of the menu when the search keyword and value change\n\n (0, _react.useEffect)(function () {\n var _triggerRef$current3, _triggerRef$current3$;\n\n (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : (_triggerRef$current3$ = _triggerRef$current3.updatePosition) === null || _triggerRef$current3$ === void 0 ? void 0 : _triggerRef$current3$.call(_triggerRef$current3);\n }, [searchKeyword, value]);\n\n var getDateItem = function getDateItem(value) {\n // Find active `MenuItem` by `value`\n var allData = getAllDataAndCache();\n var activeItem = allData.find(function (item) {\n return (0, _shallowEqual.default)(item[valueKey], value);\n });\n var itemNode = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];\n }\n\n return {\n isValid: !!activeItem,\n activeItem: activeItem,\n itemNode: itemNode\n };\n };\n\n var getInput = (0, _react.useCallback)(function () {\n var _inputRef$current;\n\n return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;\n }, [inputRef, multi]);\n var focusInput = (0, _react.useCallback)(function () {\n var _getInput;\n\n return (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();\n }, [getInput]);\n var blurInput = (0, _react.useCallback)(function () {\n var _getInput2;\n\n return (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();\n }, [getInput]);\n /**\n * Convert the string of the newly created option into an object.\n */\n\n var createOption = (0, _react.useCallback)(function (value) {\n var _ref2;\n\n if (groupBy) {\n var _ref;\n\n return _ref = {\n create: true\n }, _ref[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _ref[valueKey] = value, _ref[labelKey] = value, _ref;\n }\n\n return _ref2 = {\n create: true\n }, _ref2[valueKey] = value, _ref2[labelKey] = value, _ref2;\n }, [groupBy, valueKey, labelKey, locale]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleRemoveItemByTag = (0, _react.useCallback)(function (tag, event) {\n event.stopPropagation();\n var val = cloneValue();\n (0, _remove.default)(val, function (itemVal) {\n return (0, _shallowEqual.default)(itemVal, tag);\n });\n setValue(val);\n handleChange(val, event);\n }, [setValue, cloneValue, handleChange]);\n var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n\n if (creatable && item.create) {\n delete item.create;\n onCreate === null || onCreate === void 0 ? void 0 : onCreate(value, item, event);\n setNewData(newData.concat(item));\n }\n }, [creatable, newData, onSelect, onCreate]);\n /**\n * Callback triggered by single selection\n * @param value\n * @param item\n * @param event\n */\n\n var handleSelectItem = function handleSelectItem(value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n setSearchKeyword('');\n handleSelect(value, item, event);\n handleChange(value, event);\n handleClose();\n };\n /**\n * Callback triggered by multiple selection\n * @param nextItemValue\n * @param item\n * @param event\n * @param checked\n */\n\n\n var handleCheckTag = function handleCheckTag(nextItemValue, item, event, checked) {\n var val = cloneValue();\n\n if (checked) {\n val.push(nextItemValue);\n } else {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _shallowEqual.default)(itemVal, nextItemValue);\n });\n }\n\n setValue(val);\n setSearchKeyword('');\n setFocusItemValue(nextItemValue);\n handleSelect(val, item, event);\n handleChange(val, event);\n focusInput();\n };\n\n var handleTagKeyPress = (0, _react.useCallback)(function (event) {\n var val = cloneValue();\n var data = getAllData();\n\n if (!focusItemValue || !data) {\n return;\n } // If the value is disabled in this option, it is returned.\n\n\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === focusItemValue;\n })) {\n return;\n }\n\n if (!val.some(function (v) {\n return (0, _shallowEqual.default)(v, focusItemValue);\n })) {\n val.push(focusItemValue);\n } else if (!disabledOptions) {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _shallowEqual.default)(itemVal, focusItemValue);\n });\n }\n\n var focusItem = data.find(function (item) {\n return (0, _shallowEqual.default)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);\n });\n\n if (!focusItem) {\n focusItem = createOption(focusItemValue);\n }\n\n setValue(val);\n setSearchKeyword('');\n handleSelect(val, focusItem, event);\n handleChange(val, event);\n }, [cloneValue, getAllData, focusItemValue, disabledItemValues, disabledOptions, setValue, setSearchKeyword, handleSelect, handleChange, valueKey, createOption]);\n var handleMenuItemKeyPress = (0, _react.useCallback)(function (event) {\n if (!focusItemValue || !controlledData) {\n return;\n } // If the value is disabled in this option, it is returned.\n\n\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === focusItemValue;\n })) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var allData = getAllData();\n var focusItem = allData.find(function (item) {\n return (0, _shallowEqual.default)(item[valueKey], focusItemValue);\n });\n\n if (!focusItem && focusItemValue === searchKeyword) {\n focusItem = createOption(searchKeyword);\n }\n\n setValue(focusItemValue);\n setSearchKeyword('');\n handleSelect(focusItemValue, focusItem, event);\n handleChange(focusItemValue, event);\n handleClose();\n }, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, setSearchKeyword, createOption, getAllData, handleChange, handleSelect]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n /**\n * Remove the last item, after pressing the back key on the keyboard.\n * @param event\n */\n\n var removeLastItem = (0, _react.useCallback)(function (event) {\n var target = event === null || event === void 0 ? void 0 : event.target;\n\n if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {\n focusInput();\n return;\n }\n\n if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {\n return;\n }\n\n var val = cloneValue();\n val.pop();\n setValue(val);\n handleChange(val, event);\n }, [setValue, focusInput, handleChange, cloneValue]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || searchKeyword !== '') {\n return;\n }\n\n setValue(null);\n setFocusItemValue(null);\n setSearchKeyword('');\n handleChange(null, event);\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n }, [disabled, searchKeyword, onClean, handleChange, setValue, setFocusItemValue, setSearchKeyword]);\n var events = {\n onMenuPressBackspace: multi ? removeLastItem : handleClean,\n onMenuKeyDown: onKeyDown,\n onMenuPressEnter: null,\n onKeyDown: null\n };\n var handleKeyPress = (0, _react.useCallback)(function (event) {\n // When typing a space, create a tag.\n if ((0, _utils.isOneOf)('Space', trigger) && event.key === _utils.KEY_VALUES.SPACE) {\n handleTagKeyPress(event);\n event.preventDefault();\n } // When typing a comma, create a tag.\n\n\n if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _utils.KEY_VALUES.COMMA) {\n handleTagKeyPress(event);\n event.preventDefault();\n }\n }, [handleTagKeyPress, trigger]);\n\n if (multi) {\n if ((0, _utils.isOneOf)('Enter', trigger)) {\n events.onMenuPressEnter = handleTagKeyPress;\n }\n\n if (creatable) {\n events.onKeyDown = handleKeyPress;\n }\n } else {\n events.onMenuPressEnter = handleMenuItemKeyPress;\n }\n\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef\n }, events, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value);\n setSearchKeyword('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [setFocusItemValue, setSearchKeyword, onClose, value, multi]);\n var handleFocus = (0, _react.useCallback)(function () {\n if (!readOnly) {\n var _triggerRef$current4;\n\n setOpen(true);\n (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();\n }\n }, [readOnly]);\n var handleBlur = (0, _react.useCallback)(function () {\n setOpen(false);\n }, []);\n var handleEnter = (0, _react.useCallback)(function () {\n focusInput();\n setOpen(true);\n }, [focusInput]);\n var handleExit = (0, _react.useCallback)(function () {\n blurInput();\n setOpen(false);\n }, [blurInput]);\n\n var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {\n // 'Create option \"{0}\"' => Create option \"xxxxx\"\n var newLabel = item.create ? /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 578,\n columnNumber: 9\n }\n }, (0, _utils.tplTransform)(locale === null || locale === void 0 ? void 0 : locale.createOption, label)) : label;\n return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;\n };\n\n var checkValue = function checkValue() {\n if (multi) {\n return {\n isValid: false,\n itemNode: null\n };\n }\n\n var dataItem = getDateItem(value);\n var itemNode = dataItem.itemNode;\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n itemNode = renderValue(value, dataItem.activeItem, itemNode);\n }\n\n return {\n isValid: dataItem.isValid,\n itemNode: itemNode\n };\n };\n\n var renderMultiValue = function renderMultiValue() {\n if (!multi) {\n return null;\n }\n\n var _tagProps$closable = tagProps.closable,\n closable = _tagProps$closable === void 0 ? true : _tagProps$closable,\n onClose = tagProps.onClose,\n tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, [\"closable\", \"onClose\"]);\n var tags = value || [];\n var items = [];\n var tagElements = tags.map(function (tag) {\n var _getDateItem = getDateItem(tag),\n isValid = _getDateItem.isValid,\n itemNode = _getDateItem.itemNode,\n activeItem = _getDateItem.activeItem;\n\n items.push(activeItem);\n\n if (!isValid) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({}, tagRest, {\n key: tag,\n size: rest.size === 'lg' ? 'lg' : rest.size === 'xs' ? 'sm' : 'md',\n closable: !disabled && closable && !readOnly && !plaintext,\n title: typeof itemNode === 'string' ? itemNode : undefined,\n onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 619,\n columnNumber: 13\n }\n }), itemNode);\n }).filter(function (item) {\n return item !== null;\n });\n\n if ((tags.length > 0 || isControlled) && (0, _isFunction.default)(renderValue)) {\n return renderValue(value, items, tagElements);\n }\n\n return tagElements;\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';\n var classes = merge(className, menuClassName, prefix(menuClassPrefix));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = (0, _treeUtils.filterNodesOfTree)(getAllData(), checkShouldDisplay);\n\n if (creatable && searchKeyword && !items.find(function (item) {\n return item[valueKey] === searchKeyword;\n })) {\n items = [].concat(items, [createOption(searchKeyword)]);\n } // Create a tree structure data when set `groupBy`\n\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 if (disabledOptions) {\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 660,\n columnNumber: 16\n }\n });\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 classPrefix: menuClassPrefix,\n dropdownMenuItemClassPrefix: multi ? undefined : menuClassPrefix + \"-item\",\n dropdownMenuItemAs: multi ? _Picker.DropdownMenuCheckItem : _Picker.DropdownMenuItem,\n activeItemValues: multi ? value : [value],\n focusItemValue: focusItemValue,\n maxHeight: menuMaxHeight,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: multi ? handleCheckTag : handleSelectItem,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderDropdownMenuItem,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 664,\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: 684,\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 target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 688,\n columnNumber: 9\n }\n }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _checkValue = checkValue(),\n isValid = _checkValue.isValid,\n itemNode = _checkValue.itemNode;\n\n var tagElements = renderMultiValue();\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 * 3.If renderValue returns null or undefined, hasValue is false.\n */\n\n var hasSingleValue = !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(itemNode);\n var hasMultiValue = (0, _isArray.default)(value) && value.length > 0 && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(tagElements);\n var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'input',\n cleanable: cleanable\n })),\n pickerClasses = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"tag\"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)([\"focused\"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)([\"disabled-options\"])))] = disabledOptions, _merge));\n var searching = !!searchKeyword && open;\n var displaySearchInput = searchable && !disabled;\n var inputProps = multi ? {\n inputStyle: {\n maxWidth: maxWidth - 63\n },\n as: _InputAutosize.default\n } : {\n as: 'input'\n };\n\n if (plaintext) {\n var plaintextProps = {}; // TagPicker has -6px margin-left on the plaintext wrapper\n // for fixing margin-left on tags from 2nd line on\n\n if (multi) {\n plaintextProps.style = {\n marginLeft: -6\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({\n localeKey: \"notSelected\",\n ref: targetRef\n }, plaintextProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 748,\n columnNumber: 9\n }\n }), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);\n }\n\n var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n trigger: \"active\",\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: (0, _utils.createChainedFunction)(onEntered, onOpen),\n onExit: (0, _utils.createChainedFunction)(handleExit, onExit),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 757,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n onClick: focusInput,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 768,\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 appearance: appearance,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: targetRef,\n as: toggleAs,\n tabIndex: null,\n onClean: handleClean,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: open,\n disabled: disabled,\n placement: placement,\n inputValue: value,\n caret: !disabledOptions,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 774,\n columnNumber: 11\n }\n }), searching || multi && hasValue ? null : itemNode || placeholderNode), !(!multi && disabled) && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)([\"tag-wrapper\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 796,\n columnNumber: 13\n }\n }, tagElements, displaySearchInput && /*#__PURE__*/_react.default.createElement(_InputSearch.default, (0, _extends2.default)({}, inputProps, {\n tabIndex: tabIndex,\n readOnly: readOnly,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, onBlur),\n onFocus: (0, _utils.createChainedFunction)(handleFocus, onFocus),\n inputRef: inputRef,\n onChange: handleSearch,\n value: open ? searchKeyword : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 799,\n columnNumber: 17\n }\n })))));\n});\n\nInputPicker.displayName = 'InputPicker';\nInputPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n cacheData: _propTypes.default.array,\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n searchable: _propTypes.default.bool,\n creatable: _propTypes.default.bool,\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onCreate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = InputPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputPicker/InputPicker.tsx?");
|
|
2906
|
+
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 = exports.InputPickerContext = 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 _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 _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\"));\n\nvar _clone = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\n\nvar _isArray = _interopRequireDefault(__webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.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 _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _Tag = _interopRequireDefault(__webpack_require__(/*! ../Tag */ \"./src/Tag/index.tsx\"));\n\nvar _InputAutosize = _interopRequireDefault(__webpack_require__(/*! ./InputAutosize */ \"./src/InputPicker/InputAutosize.tsx\"));\n\nvar _InputSearch = _interopRequireDefault(__webpack_require__(/*! ./InputSearch */ \"./src/InputPicker/InputSearch.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputPicker/InputPicker.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2,\n _templateObject3,\n _templateObject4,\n _templateObject5;\n\nvar InputPickerContext = /*#__PURE__*/_react.default.createContext({});\n\nexports.InputPickerContext = InputPickerContext;\n\nvar InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _merge;\n\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$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$cacheData = props.cacheData,\n cacheData = _props$cacheData === void 0 ? [] : _props$cacheData,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$data = props.data,\n controlledData = _props$data === void 0 ? [] : _props$data,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n defaultValue = props.defaultValue,\n defaultOpen = props.defaultOpen,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,\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 controlledOpen = props.open,\n placeholder = props.placeholder,\n groupBy = props.groupBy,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\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 creatable = props.creatable,\n valueProp = props.value,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n virtualized = props.virtualized,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n listProps = props.listProps,\n id = props.id,\n tabIndex = props.tabIndex,\n sort = props.sort,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n renderValue = props.renderValue,\n renderMenuItem = props.renderMenuItem,\n renderMenuGroup = props.renderMenuGroup,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExit = props.onExit,\n onExited = props.onExited,\n onChange = props.onChange,\n onClean = props.onClean,\n onCreate = props.onCreate,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onOpen = props.onOpen,\n onClose = props.onClose,\n onBlur = props.onBlur,\n onFocus = props.onFocus,\n searchBy = props.searchBy,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"cleanable\", \"cacheData\", \"classPrefix\", \"data\", \"disabled\", \"readOnly\", \"plaintext\", \"defaultValue\", \"defaultOpen\", \"disabledItemValues\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"open\", \"placeholder\", \"groupBy\", \"menuClassName\", \"menuStyle\", \"menuAutoWidth\", \"menuMaxHeight\", \"creatable\", \"value\", \"valueKey\", \"virtualized\", \"labelKey\", \"listProps\", \"id\", \"tabIndex\", \"sort\", \"renderMenu\", \"renderExtraFooter\", \"renderValue\", \"renderMenuItem\", \"renderMenuGroup\", \"onEnter\", \"onEntered\", \"onExit\", \"onExited\", \"onChange\", \"onClean\", \"onCreate\", \"onSearch\", \"onSelect\", \"onOpen\", \"onClose\", \"onBlur\", \"onFocus\", \"searchBy\", \"placement\"]);\n\n var _useContext = (0, _react.useContext)(InputPickerContext),\n multi = _useContext.multi,\n tagProps = _useContext.tagProps,\n trigger = _useContext.trigger,\n disabledOptions = _useContext.disabledOptions;\n\n if (groupBy === valueKey || groupBy === labelKey) {\n throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');\n }\n\n var overlayRef = (0, _react.useRef)();\n var targetRef = (0, _react.useRef)();\n var triggerRef = (0, _react.useRef)();\n var inputRef = (0, _react.useRef)();\n\n var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),\n locale = _useCustom.locale;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState = (0, _react.useState)(controlledData),\n uncontrolledData = _useState[0],\n setData = _useState[1];\n\n var _useState2 = (0, _react.useState)(100),\n maxWidth = _useState2[0],\n setMaxWidth = _useState2[1];\n\n var _useState3 = (0, _react.useState)([]),\n newData = _useState3[0],\n setNewData = _useState3[1];\n\n var _useState4 = (0, _react.useState)(defaultOpen),\n uncontrolledOpen = _useState4[0],\n setOpen = _useState4[1];\n\n var open = (0, _isUndefined.default)(controlledOpen) ? uncontrolledOpen : controlledOpen;\n var getAllData = (0, _react.useCallback)(function () {\n return [].concat(uncontrolledData, newData);\n }, [uncontrolledData, newData]);\n var getAllDataAndCache = (0, _react.useCallback)(function () {\n return [].concat(getAllData(), cacheData);\n }, [getAllData, cacheData]);\n\n var _useControlled = (0, _utils.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var cloneValue = (0, _react.useCallback)(function () {\n return multi ? (0, _clone.default)(value) || [] : value;\n }, [multi, value]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(multi ? value === null || value === void 0 ? void 0 : value[0] : value, {\n data: getAllDataAndCache(),\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onKeyDown = _useFocusItemValue.onKeyDown;\n\n var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(disabledOptions ? searchKeyword : (filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]) || searchKeyword);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }, [disabledOptions, setFocusItemValue, valueKey, onSearch]); // Use search keywords to filter options.\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: getAllData(),\n searchBy: searchBy,\n callback: handleSearchCallback\n }),\n searchKeyword = _useSearch.searchKeyword,\n setSearchKeyword = _useSearch.setSearchKeyword,\n checkShouldDisplay = _useSearch.checkShouldDisplay,\n handleSearch = _useSearch.handleSearch; // Update the state when the data in props changes\n\n\n (0, _react.useEffect)(function () {\n if (controlledData && !(0, _shallowEqual.default)(controlledData, uncontrolledData)) {\n var _controlledData$;\n\n setData(controlledData);\n setNewData([]);\n setFocusItemValue(controlledData === null || controlledData === void 0 ? void 0 : (_controlledData$ = controlledData[0]) === null || _controlledData$ === void 0 ? void 0 : _controlledData$[valueKey]);\n }\n }, [setFocusItemValue, controlledData, uncontrolledData, valueKey]);\n (0, _react.useEffect)(function () {\n var _triggerRef$current2;\n\n // In multiple selection, you need to set a maximum width for the input.\n if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {\n setMaxWidth((0, _getWidth.default)(triggerRef.current.root));\n }\n }, []); // Update the position of the menu when the search keyword and value change\n\n (0, _react.useEffect)(function () {\n var _triggerRef$current3, _triggerRef$current3$;\n\n (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : (_triggerRef$current3$ = _triggerRef$current3.updatePosition) === null || _triggerRef$current3$ === void 0 ? void 0 : _triggerRef$current3$.call(_triggerRef$current3);\n }, [searchKeyword, value]);\n\n var getDateItem = function getDateItem(value) {\n // Find active `MenuItem` by `value`\n var allData = getAllDataAndCache();\n var activeItem = allData.find(function (item) {\n return (0, _shallowEqual.default)(item[valueKey], value);\n });\n var itemNode = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];\n }\n\n return {\n isValid: !!activeItem,\n activeItem: activeItem,\n itemNode: itemNode\n };\n };\n\n var getInput = (0, _react.useCallback)(function () {\n var _inputRef$current;\n\n return multi ? (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.input : inputRef.current;\n }, [inputRef, multi]);\n var focusInput = (0, _react.useCallback)(function () {\n var _getInput;\n\n return (_getInput = getInput()) === null || _getInput === void 0 ? void 0 : _getInput.focus();\n }, [getInput]);\n var blurInput = (0, _react.useCallback)(function () {\n var _getInput2;\n\n return (_getInput2 = getInput()) === null || _getInput2 === void 0 ? void 0 : _getInput2.blur();\n }, [getInput]);\n /**\n * Convert the string of the newly created option into an object.\n */\n\n var createOption = (0, _react.useCallback)(function (value) {\n var _ref2;\n\n if (groupBy) {\n var _ref;\n\n return _ref = {\n create: true\n }, _ref[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _ref[valueKey] = value, _ref[labelKey] = value, _ref;\n }\n\n return _ref2 = {\n create: true\n }, _ref2[valueKey] = value, _ref2[labelKey] = value, _ref2;\n }, [groupBy, valueKey, labelKey, locale]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleRemoveItemByTag = (0, _react.useCallback)(function (tag, event) {\n event.stopPropagation();\n var val = cloneValue();\n (0, _remove.default)(val, function (itemVal) {\n return (0, _shallowEqual.default)(itemVal, tag);\n });\n setValue(val);\n handleChange(val, event);\n }, [setValue, cloneValue, handleChange]);\n var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n\n if (creatable && item.create) {\n delete item.create;\n onCreate === null || onCreate === void 0 ? void 0 : onCreate(value, item, event);\n setNewData(newData.concat(item));\n }\n }, [creatable, newData, onSelect, onCreate]);\n /**\n * Callback triggered by single selection\n * @param value\n * @param item\n * @param event\n */\n\n var handleSelectItem = function handleSelectItem(value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n setSearchKeyword('');\n handleSelect(value, item, event);\n handleChange(value, event);\n handleClose();\n };\n /**\n * Callback triggered by multiple selection\n * @param nextItemValue\n * @param item\n * @param event\n * @param checked\n */\n\n\n var handleCheckTag = function handleCheckTag(nextItemValue, item, event, checked) {\n var val = cloneValue();\n\n if (checked) {\n val.push(nextItemValue);\n } else {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _shallowEqual.default)(itemVal, nextItemValue);\n });\n }\n\n setValue(val);\n setSearchKeyword('');\n setFocusItemValue(nextItemValue);\n handleSelect(val, item, event);\n handleChange(val, event);\n focusInput();\n };\n\n var handleTagKeyPress = (0, _react.useCallback)(function (event) {\n var val = cloneValue();\n var data = getAllData();\n\n if (!focusItemValue || !data) {\n return;\n } // If the value is disabled in this option, it is returned.\n\n\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === focusItemValue;\n })) {\n return;\n }\n\n if (!val.some(function (v) {\n return (0, _shallowEqual.default)(v, focusItemValue);\n })) {\n val.push(focusItemValue);\n } else if (!disabledOptions) {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _shallowEqual.default)(itemVal, focusItemValue);\n });\n }\n\n var focusItem = data.find(function (item) {\n return (0, _shallowEqual.default)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);\n });\n\n if (!focusItem) {\n focusItem = createOption(focusItemValue);\n }\n\n setValue(val);\n setSearchKeyword('');\n handleSelect(val, focusItem, event);\n handleChange(val, event);\n }, [cloneValue, getAllData, focusItemValue, disabledItemValues, disabledOptions, setValue, setSearchKeyword, handleSelect, handleChange, valueKey, createOption]);\n var handleMenuItemKeyPress = (0, _react.useCallback)(function (event) {\n if (!focusItemValue || !controlledData) {\n return;\n } // If the value is disabled in this option, it is returned.\n\n\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === focusItemValue;\n })) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var allData = getAllData();\n var focusItem = allData.find(function (item) {\n return (0, _shallowEqual.default)(item[valueKey], focusItemValue);\n });\n\n if (!focusItem && focusItemValue === searchKeyword) {\n focusItem = createOption(searchKeyword);\n }\n\n setValue(focusItemValue);\n setSearchKeyword('');\n handleSelect(focusItemValue, focusItem, event);\n handleChange(focusItemValue, event);\n handleClose();\n }, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, setSearchKeyword, createOption, getAllData, handleChange, handleSelect]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n /**\n * Remove the last item, after pressing the back key on the keyboard.\n * @param event\n */\n\n var removeLastItem = (0, _react.useCallback)(function (event) {\n var target = event === null || event === void 0 ? void 0 : event.target;\n\n if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {\n focusInput();\n return;\n }\n\n if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {\n return;\n }\n\n var val = cloneValue();\n val.pop();\n setValue(val);\n handleChange(val, event);\n }, [setValue, focusInput, handleChange, cloneValue]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || searchKeyword !== '') {\n return;\n }\n\n setValue(null);\n setFocusItemValue(null);\n setSearchKeyword('');\n handleChange(null, event);\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n }, [disabled, searchKeyword, onClean, handleChange, setValue, setFocusItemValue, setSearchKeyword]);\n var events = {\n onMenuPressBackspace: multi ? removeLastItem : handleClean,\n onMenuKeyDown: onKeyDown,\n onMenuPressEnter: null,\n onKeyDown: null\n };\n var handleKeyPress = (0, _react.useCallback)(function (event) {\n // When typing a space, create a tag.\n if ((0, _utils.isOneOf)('Space', trigger) && event.key === _utils.KEY_VALUES.SPACE) {\n handleTagKeyPress(event);\n event.preventDefault();\n } // When typing a comma, create a tag.\n\n\n if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _utils.KEY_VALUES.COMMA) {\n handleTagKeyPress(event);\n event.preventDefault();\n }\n }, [handleTagKeyPress, trigger]);\n\n if (multi) {\n if ((0, _utils.isOneOf)('Enter', trigger)) {\n events.onMenuPressEnter = handleTagKeyPress;\n }\n\n if (creatable) {\n events.onKeyDown = handleKeyPress;\n }\n } else {\n events.onMenuPressEnter = handleMenuItemKeyPress;\n }\n\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef\n }, events, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value);\n setSearchKeyword('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [setFocusItemValue, setSearchKeyword, onClose, value, multi]);\n var handleFocus = (0, _react.useCallback)(function () {\n if (!readOnly) {\n var _triggerRef$current4;\n\n setOpen(true);\n (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.open();\n }\n }, [readOnly]);\n var handleBlur = (0, _react.useCallback)(function () {\n setOpen(false);\n }, []);\n var handleEnter = (0, _react.useCallback)(function () {\n focusInput();\n setOpen(true);\n }, [focusInput]);\n var handleExit = (0, _react.useCallback)(function () {\n blurInput();\n setOpen(false);\n }, [blurInput]);\n\n var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {\n // 'Create option \"{0}\"' => Create option \"xxxxx\"\n var newLabel = item.create ? /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 578,\n columnNumber: 9\n }\n }, (0, _utils.tplTransform)(locale === null || locale === void 0 ? void 0 : locale.createOption, label)) : label;\n return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;\n };\n\n var checkValue = function checkValue() {\n if (multi) {\n return {\n isValid: false,\n itemNode: null\n };\n }\n\n var dataItem = getDateItem(value);\n var itemNode = dataItem.itemNode;\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n itemNode = renderValue(value, dataItem.activeItem, itemNode);\n }\n\n return {\n isValid: dataItem.isValid,\n itemNode: itemNode\n };\n };\n\n var renderMultiValue = function renderMultiValue() {\n if (!multi) {\n return null;\n }\n\n var _tagProps$closable = tagProps.closable,\n closable = _tagProps$closable === void 0 ? true : _tagProps$closable,\n onClose = tagProps.onClose,\n tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, [\"closable\", \"onClose\"]);\n var tags = value || [];\n var items = [];\n var tagElements = tags.map(function (tag) {\n var _getDateItem = getDateItem(tag),\n isValid = _getDateItem.isValid,\n itemNode = _getDateItem.itemNode,\n activeItem = _getDateItem.activeItem;\n\n items.push(activeItem);\n\n if (!isValid) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends2.default)({}, tagRest, {\n key: tag,\n size: rest.size === 'lg' ? 'lg' : rest.size === 'xs' ? 'sm' : 'md',\n closable: !disabled && closable && !readOnly && !plaintext,\n title: typeof itemNode === 'string' ? itemNode : undefined,\n onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 619,\n columnNumber: 13\n }\n }), itemNode);\n }).filter(function (item) {\n return item !== null;\n });\n\n if ((tags.length > 0 || isControlled) && (0, _isFunction.default)(renderValue)) {\n return renderValue(value, items, tagElements);\n }\n\n return tagElements;\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';\n var classes = merge(className, menuClassName, prefix(menuClassPrefix));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = (0, _treeUtils.filterNodesOfTree)(getAllData(), checkShouldDisplay);\n\n if (creatable && searchKeyword && !items.find(function (item) {\n return item[valueKey] === searchKeyword;\n })) {\n items = [].concat(items, [createOption(searchKeyword)]);\n } // Create a tree structure data when set `groupBy`\n\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 if (disabledOptions) {\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 660,\n columnNumber: 16\n }\n });\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 classPrefix: menuClassPrefix,\n dropdownMenuItemClassPrefix: multi ? undefined : menuClassPrefix + \"-item\",\n dropdownMenuItemAs: multi ? _Picker.DropdownMenuCheckItem : _Picker.DropdownMenuItem,\n activeItemValues: multi ? value : [value],\n focusItemValue: focusItemValue,\n maxHeight: menuMaxHeight,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: multi ? handleCheckTag : handleSelectItem,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderDropdownMenuItem,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 664,\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: 684,\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 target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 688,\n columnNumber: 9\n }\n }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _checkValue = checkValue(),\n isValid = _checkValue.isValid,\n itemNode = _checkValue.itemNode;\n\n var tagElements = renderMultiValue();\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 * 3.If renderValue returns null or undefined, hasValue is false.\n */\n\n var hasSingleValue = !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(itemNode);\n var hasMultiValue = (0, _isArray.default)(value) && value.length > 0 && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(tagElements);\n var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'input',\n cleanable: cleanable\n })),\n pickerClasses = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"tag\"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)([\"focused\"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)([\"disabled-options\"])))] = disabledOptions, _merge));\n var searching = !!searchKeyword && open;\n var displaySearchInput = searchable && !disabled;\n var inputProps = multi ? {\n inputStyle: {\n maxWidth: maxWidth - 63\n },\n as: _InputAutosize.default\n } : {\n as: 'input'\n };\n\n if (plaintext) {\n var plaintextProps = {}; // TagPicker has -6px margin-left on the plaintext wrapper\n // for fixing margin-left on tags from 2nd line on\n\n if (multi && hasValue) {\n plaintextProps.style = {\n marginLeft: -6\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({\n localeKey: \"notSelected\",\n ref: targetRef\n }, plaintextProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 748,\n columnNumber: 9\n }\n }), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);\n }\n\n var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n trigger: \"active\",\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: (0, _utils.createChainedFunction)(onEntered, onOpen),\n onExit: (0, _utils.createChainedFunction)(handleExit, onExit),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 757,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n onClick: focusInput,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 768,\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 appearance: appearance,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: targetRef,\n as: toggleAs,\n tabIndex: null,\n onClean: handleClean,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: open,\n disabled: disabled,\n placement: placement,\n inputValue: value,\n caret: !disabledOptions,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 774,\n columnNumber: 11\n }\n }), searching || multi && hasValue ? null : itemNode || placeholderNode), !(!multi && disabled) && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)([\"tag-wrapper\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 796,\n columnNumber: 13\n }\n }, tagElements, displaySearchInput && /*#__PURE__*/_react.default.createElement(_InputSearch.default, (0, _extends2.default)({}, inputProps, {\n tabIndex: tabIndex,\n readOnly: readOnly,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, onBlur),\n onFocus: (0, _utils.createChainedFunction)(handleFocus, onFocus),\n inputRef: inputRef,\n onChange: handleSearch,\n value: open ? searchKeyword : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 799,\n columnNumber: 17\n }\n })))));\n});\n\nInputPicker.displayName = 'InputPicker';\nInputPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n cacheData: _propTypes.default.array,\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n searchable: _propTypes.default.bool,\n creatable: _propTypes.default.bool,\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onCreate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = InputPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputPicker/InputPicker.tsx?");
|
|
2907
2907
|
|
|
2908
2908
|
/***/ }),
|
|
2909
2909
|
|
|
@@ -3123,7 +3123,7 @@ eval("\n\nexports.__esModule = true;\nexports.convertMaskToPlaceholder = convert
|
|
|
3123
3123
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3124
3124
|
|
|
3125
3125
|
"use strict";
|
|
3126
|
-
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 _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 _useFocus = _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)();\n var menuElementRef = (0, _react.useRef)();\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 = (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;\n var menuFocus = (0, _useFocus.default)(menuElementRef);\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 menuFocus.grab();\n }, [dispatch, onToggleMenu, menuFocus]);\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 buttonElementRef.current.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 return !buttonElementRef.current.contains(event.target) && !menuElementRef.current.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 = {\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 var buttonId = (0, _useUniqueId.default)('menubutton-');\n var menuId = (0, _useUniqueId.default)('menu-'); // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14\n\n var buttonAriaAttributes = {\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 var buttonProps = (0, _extends2.default)({\n id: buttonId\n }, buttonAriaAttributes, buttonEventHandlers, {\n // render props\n open: open\n });\n var customMenuButton = renderMenuButton === null || renderMenuButton === void 0 ? void 0 : 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: 246,\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);\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: 390,\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)();\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: 438,\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?");
|
|
3126
|
+
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 _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)();\n var menuElementRef = (0, _react.useRef)();\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 = (_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 buttonElementRef.current.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 return !buttonElementRef.current.contains(event.target) && !menuElementRef.current.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: 256,\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);\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: 400,\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)();\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: 448,\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?");
|
|
3127
3127
|
|
|
3128
3128
|
/***/ }),
|
|
3129
3129
|
|
|
@@ -3145,7 +3145,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3145
3145
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3146
3146
|
|
|
3147
3147
|
"use strict";
|
|
3148
|
-
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 _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 _menuState$items$menu;\n\n var children = props.children,\n selected = props.selected,\n disabled = props.disabled,\n onActivate = props.onActivate;\n var menuitemRef = (0, _react.useRef)();\n var menuitemId = (0, _useUniqueId.default)('menuitem-');\n var menu = (0, _react.useContext)(_MenuContext.default); // fixme make sure <MenuItem> is used inside a <Menu>\n\n var _ref = menu !== null && menu !== void 0 ? menu : [],\n menuState = _ref[0],\n dispatch = _ref[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)\n\n\n var hasFocus = (menuState === null || menuState === void 0 ? void 0 : (_menuState$items$menu = menuState.items[menuState === null || menuState === void 0 ? void 0 : menuState.activeItemIndex]) === null || _menuState$items$menu === void 0 ? void 0 : _menuState$items$menu.element) === menuitemRef.current && !!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 dispatch({\n
|
|
3148
|
+
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 _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 _menuState$items$menu;\n\n var children = props.children,\n selected = props.selected,\n disabled = props.disabled,\n onActivate = props.onActivate;\n var menuitemRef = (0, _react.useRef)();\n var menuitemId = (0, _useUniqueId.default)('menuitem-');\n var menu = (0, _react.useContext)(_MenuContext.default); // fixme make sure <MenuItem> is used inside a <Menu>\n\n var _ref = menu !== null && menu !== void 0 ? menu : [],\n menuState = _ref[0],\n dispatch = _ref[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)\n\n\n var hasFocus = (menuState === null || menuState === void 0 ? void 0 : (_menuState$items$menu = menuState.items[menuState === null || menuState === void 0 ? void 0 : menuState.activeItemIndex]) === null || _menuState$items$menu === void 0 ? void 0 : _menuState$items$menu.element) === menuitemRef.current && !!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 (!hasFocus) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Specific,\n id: menuitemRef.current.id\n });\n }\n }, [hasFocus, dispatch]); // Gain/release focus on mouseenter/mouseleave in `menu`\n\n var handleMouseMove = (0, _react.useCallback)(function () {\n if (!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 dispatch === null || dispatch === void 0 ? void 0 : dispatch({\n type: _MenuContext.MenuActionTypes.RegisterItem,\n element: menuitemElement,\n props: {\n disabled: disabled\n }\n });\n return function () {\n dispatch === null || dispatch === void 0 ? void 0 : dispatch({\n type: _MenuContext.MenuActionTypes.UnregisterItem,\n id: menuitemElement.id\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 }\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?");
|
|
3149
3149
|
|
|
3150
3150
|
/***/ }),
|
|
3151
3151
|
|
|
@@ -3684,7 +3684,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3684
3684
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3685
3685
|
|
|
3686
3686
|
"use strict";
|
|
3687
|
-
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 _debounce = _interopRequireDefault(__webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\"));\n\nvar _ToggleButton = _interopRequireDefault(__webpack_require__(/*! ./ToggleButton */ \"./src/Picker/ToggleButton.tsx\"));\n\nvar _CloseButton = _interopRequireDefault(__webpack_require__(/*! ../CloseButton */ \"./src/CloseButton/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _useToggleCaret = _interopRequireDefault(__webpack_require__(/*! ../utils/useToggleCaret */ \"./src/utils/useToggleCaret.tsx\"));\n\nvar _TextMask = _interopRequireDefault(__webpack_require__(/*! ../MaskedInput/TextMask */ \"./src/MaskedInput/TextMask.tsx\"));\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Picker/PickerToggle.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar defaultInputMask = [];\n\nvar PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeProp = props.active,\n _props$as = props.as,\n Component = _props$as === void 0 ? _ToggleButton.default : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker-toggle' : _props$classPrefix,\n children = props.children,\n _props$caret = props.caret,\n caret = _props$caret === void 0 ? true : _props$caret,\n className = props.className,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n hasValue = props.hasValue,\n cleanableProp = props.cleanable,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n id = props.id,\n value = props.value,\n input = props.input,\n inputPlaceholder = props.inputPlaceholder,\n inputValueProp = props.inputValue,\n _props$inputMask = props.inputMask,\n inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,\n onInputChange = props.onInputChange,\n onInputPressEnter = props.onInputPressEnter,\n onInputBlur = props.onInputBlur,\n onInputFocus = props.onInputFocus,\n onClean = props.onClean,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n placement = props.placement,\n caretComponent = props.caretComponent,\n _props$caretAs = props.caretAs,\n caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"active\", \"as\", \"classPrefix\", \"children\", \"caret\", \"className\", \"disabled\", \"readOnly\", \"plaintext\", \"hasValue\", \"cleanable\", \"tabIndex\", \"id\", \"value\", \"input\", \"inputPlaceholder\", \"inputValue\", \"inputMask\", \"onInputChange\", \"onInputPressEnter\", \"onInputBlur\", \"onInputFocus\", \"onClean\", \"onFocus\", \"onBlur\", \"placement\", \"caretComponent\", \"caretAs\"]);\n var inputRef = (0, _react.useRef)();\n\n var _useState = (0, _react.useState)(false),\n activeState = _useState[0],\n setActive = _useState[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var getInputValue = (0, _react.useCallback)(function () {\n return typeof inputValueProp === 'undefined' ? Array.isArray(value) ? value.join(',') : value : inputValueProp;\n }, [inputValueProp, value]);\n\n var _useState2 = (0, _react.useState)(getInputValue),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n\n (0, _react.useEffect)(function () {\n var value = getInputValue();\n setInputValue(value);\n }, [getInputValue]);\n var classes = merge(className, withClassPrefix({\n active: activeProp || activeState\n }));\n var handleFocus = (0, _react.useCallback)(function (event) {\n setActive(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);\n\n if (input) {\n inputRef.current.focus();\n }\n }, [input, onFocus]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n if (document.activeElement !== inputRef.current) {\n var _inputRef$current;\n\n setActive(false);\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n }, [onBlur]);\n\n var handleInputBlur = function handleInputBlur(event) {\n setInputValue(getInputValue());\n onInputBlur === null || onInputBlur === void 0 ? void 0 : onInputBlur(event);\n };\n\n var handleClean = (0, _react.useCallback)(function (event) {\n event.stopPropagation();\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n setActive(false);\n }, [onClean]);\n var handleInputChange = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var value = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;\n setInputValue(value);\n onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);\n }, [onInputChange]);\n var handleInputKeyDown = (0, _react.useCallback)(function (event) {\n if (input && event.key === _utils.KEY_VALUES.ENTER) {\n onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);\n }\n }, [onInputPressEnter, input]);\n var ToggleCaret = (0, _useToggleCaret.default)(placement);\n var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n ref: ref,\n localeKey: \"notSelected\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 163,\n columnNumber: 9\n }\n }, hasValue ? children : null);\n }\n\n var showCleanButton = cleanableProp && hasValue && !readOnly; // When the component is read-only or disabled, the input is not interactive.\n\n var inputFocused = readOnly || disabled ? false : input && activeState;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": activeProp,\n \"aria-disabled\": disabled,\n \"aria-owns\": id ? id + \"-listbox\" : undefined\n }, rest, {\n ref: ref,\n disabled: disabled,\n tabIndex: disabled ? undefined : tabIndex,\n className: classes,\n onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.\n ,\n onBlur: !disabled ? (0, _debounce.default)(handleBlur, 200) : null,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(_TextMask.default, {\n mask: inputMask,\n value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,\n onBlur: handleInputBlur,\n onFocus: onInputFocus,\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n id: id,\n \"aria-hidden\": !inputFocused,\n readOnly: !inputFocused,\n disabled: disabled,\n \"aria-controls\": id ? id + \"-listbox\" : undefined,\n tabIndex: -1,\n className: prefix('textbox', {\n 'read-only': !inputFocused\n }),\n placeholder: inputPlaceholder,\n render: function render(ref, props) {\n return /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(inputRef, ref)\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 35\n }\n }));\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 9\n }\n }), children ? /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix(hasValue ? 'value' : 'placeholder'),\n \"aria-placeholder\": typeof children === 'string' ? children : null,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 11\n }\n }, children) : null, showCleanButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"clean\"]))),\n tabIndex: -1,\n locale: {\n closeLabel: 'Clear'\n },\n onClick: handleClean,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 11\n }\n }), caret && /*#__PURE__*/_react.default.createElement(Caret, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"caret\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 19\n }\n }));\n});\n\nPickerToggle.displayName = 'PickerToggle';\nPickerToggle.propTypes = {\n classPrefix: _propTypes.default.string,\n hasValue: _propTypes.default.bool,\n cleanable: _propTypes.default.bool,\n className: _propTypes.default.string,\n children: _propTypes.default.node,\n caret: _propTypes.default.bool,\n as: _propTypes.default.elementType,\n onClean: _propTypes.default.func,\n active: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n caretComponent: (0, _deprecatePropType.default)(_propTypes.default.elementType, 'Use `caretAs` instead.'),\n caretAs: _propTypes.default.elementType\n};\nvar _default = PickerToggle;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Picker/PickerToggle.tsx?");
|
|
3687
|
+
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 _debounce = _interopRequireDefault(__webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\"));\n\nvar _ToggleButton = _interopRequireDefault(__webpack_require__(/*! ./ToggleButton */ \"./src/Picker/ToggleButton.tsx\"));\n\nvar _CloseButton = _interopRequireDefault(__webpack_require__(/*! ../CloseButton */ \"./src/CloseButton/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _useToggleCaret = _interopRequireDefault(__webpack_require__(/*! ../utils/useToggleCaret */ \"./src/utils/useToggleCaret.tsx\"));\n\nvar _TextMask = _interopRequireDefault(__webpack_require__(/*! ../MaskedInput/TextMask */ \"./src/MaskedInput/TextMask.tsx\"));\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Picker/PickerToggle.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar defaultInputMask = [];\n\nvar PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeProp = props.active,\n _props$as = props.as,\n Component = _props$as === void 0 ? _ToggleButton.default : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker-toggle' : _props$classPrefix,\n children = props.children,\n _props$caret = props.caret,\n caret = _props$caret === void 0 ? true : _props$caret,\n className = props.className,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n hasValue = props.hasValue,\n cleanableProp = props.cleanable,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n id = props.id,\n value = props.value,\n input = props.input,\n inputPlaceholder = props.inputPlaceholder,\n inputValueProp = props.inputValue,\n _props$inputMask = props.inputMask,\n inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,\n onInputChange = props.onInputChange,\n onInputPressEnter = props.onInputPressEnter,\n onInputBlur = props.onInputBlur,\n onInputFocus = props.onInputFocus,\n onClean = props.onClean,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n placement = props.placement,\n caretComponent = props.caretComponent,\n _props$caretAs = props.caretAs,\n caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"active\", \"as\", \"classPrefix\", \"children\", \"caret\", \"className\", \"disabled\", \"readOnly\", \"plaintext\", \"hasValue\", \"cleanable\", \"tabIndex\", \"id\", \"value\", \"input\", \"inputPlaceholder\", \"inputValue\", \"inputMask\", \"onInputChange\", \"onInputPressEnter\", \"onInputBlur\", \"onInputFocus\", \"onClean\", \"onFocus\", \"onBlur\", \"placement\", \"caretComponent\", \"caretAs\"]);\n var inputRef = (0, _react.useRef)();\n\n var _useState = (0, _react.useState)(false),\n activeState = _useState[0],\n setActive = _useState[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var getInputValue = (0, _react.useCallback)(function () {\n return typeof inputValueProp === 'undefined' ? Array.isArray(value) ? value.join(',') : value : inputValueProp;\n }, [inputValueProp, value]);\n\n var _useState2 = (0, _react.useState)(getInputValue),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n\n (0, _react.useEffect)(function () {\n var value = getInputValue();\n setInputValue(value);\n }, [getInputValue]);\n var classes = merge(className, withClassPrefix({\n active: activeProp || activeState\n }));\n var handleFocus = (0, _react.useCallback)(function (event) {\n setActive(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);\n\n if (input) {\n var _inputRef$current;\n\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n }\n }, [input, onFocus]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n if (document.activeElement !== inputRef.current) {\n var _inputRef$current2;\n\n setActive(false);\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n }, [onBlur]);\n\n var handleInputBlur = function handleInputBlur(event) {\n setInputValue(getInputValue());\n onInputBlur === null || onInputBlur === void 0 ? void 0 : onInputBlur(event);\n };\n\n var handleClean = (0, _react.useCallback)(function (event) {\n event.stopPropagation();\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n setActive(false);\n }, [onClean]);\n var handleInputChange = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var value = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;\n setInputValue(value);\n onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);\n }, [onInputChange]);\n var handleInputKeyDown = (0, _react.useCallback)(function (event) {\n if (input && event.key === _utils.KEY_VALUES.ENTER) {\n onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);\n }\n }, [onInputPressEnter, input]);\n var ToggleCaret = (0, _useToggleCaret.default)(placement);\n var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n ref: ref,\n localeKey: \"notSelected\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 163,\n columnNumber: 9\n }\n }, hasValue ? children : null);\n }\n\n var showCleanButton = cleanableProp && hasValue && !readOnly; // When the component is read-only or disabled, the input is not interactive.\n\n var inputFocused = readOnly || disabled ? false : input && activeState;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": activeProp,\n \"aria-disabled\": disabled,\n \"aria-owns\": id ? id + \"-listbox\" : undefined\n }, rest, {\n ref: ref,\n disabled: disabled,\n tabIndex: disabled ? undefined : tabIndex,\n className: classes,\n onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.\n ,\n onBlur: !disabled ? (0, _debounce.default)(handleBlur, 200) : null,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(_TextMask.default, {\n mask: inputMask,\n value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,\n onBlur: handleInputBlur,\n onFocus: onInputFocus,\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n id: id,\n \"aria-hidden\": !inputFocused,\n readOnly: !inputFocused,\n disabled: disabled,\n \"aria-controls\": id ? id + \"-listbox\" : undefined,\n tabIndex: -1,\n className: prefix('textbox', {\n 'read-only': !inputFocused\n }),\n placeholder: inputPlaceholder,\n render: function render(ref, props) {\n return /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(inputRef, ref)\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 35\n }\n }));\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 9\n }\n }), children ? /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix(hasValue ? 'value' : 'placeholder'),\n \"aria-placeholder\": typeof children === 'string' ? children : null,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 11\n }\n }, children) : null, showCleanButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"clean\"]))),\n tabIndex: -1,\n locale: {\n closeLabel: 'Clear'\n },\n onClick: handleClean,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 11\n }\n }), caret && /*#__PURE__*/_react.default.createElement(Caret, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"caret\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 19\n }\n }));\n});\n\nPickerToggle.displayName = 'PickerToggle';\nPickerToggle.propTypes = {\n classPrefix: _propTypes.default.string,\n hasValue: _propTypes.default.bool,\n cleanable: _propTypes.default.bool,\n className: _propTypes.default.string,\n children: _propTypes.default.node,\n caret: _propTypes.default.bool,\n as: _propTypes.default.elementType,\n onClean: _propTypes.default.func,\n active: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n caretComponent: (0, _deprecatePropType.default)(_propTypes.default.elementType, 'Use `caretAs` instead.'),\n caretAs: _propTypes.default.elementType\n};\nvar _default = PickerToggle;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Picker/PickerToggle.tsx?");
|
|
3688
3688
|
|
|
3689
3689
|
/***/ }),
|
|
3690
3690
|
|
|
@@ -3948,7 +3948,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3948
3948
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3949
3949
|
|
|
3950
3950
|
"use strict";
|
|
3951
|
-
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 = exports.RadioContext = 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 _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RadioGroup/RadioGroup.tsx\",\n _this = void 0;\n\nvar RadioContext = /*#__PURE__*/_react.default.createContext({});\n\nexports.RadioContext = RadioContext;\n\nvar RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n className = props.className,\n inline = props.inline,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'radio-group' : _props$classPrefix,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n name = props.name,\n plaintext = props.plaintext,\n disabled = props.disabled,\n readOnly = props.readOnly,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"inline\", \"children\", \"classPrefix\", \"value\", \"defaultValue\", \"appearance\", \"name\", \"plaintext\", \"disabled\", \"readOnly\", \"onChange\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var classes = merge(className, withClassPrefix(appearance, {\n inline: inline\n }));\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var handleChange = (0, _react.useCallback)(function (nextValue, event) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }, [onChange, setValue]);\n var contextValue = (0, _react.useMemo)(function () {\n return {\n inline: inline,\n name: name,\n value: typeof value === 'undefined' ? null : value,\n controlled: isControlled,\n plaintext: plaintext,\n disabled: disabled,\n readOnly: readOnly,\n onChange: handleChange\n };\n }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);\n return /*#__PURE__*/_react.default.createElement(RadioContext.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 7\n }\n }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n ref: ref,\n localeKey: \"notSelected\"
|
|
3951
|
+
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 = exports.RadioContext = 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 _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RadioGroup/RadioGroup.tsx\",\n _this = void 0;\n\nvar RadioContext = /*#__PURE__*/_react.default.createContext({});\n\nexports.RadioContext = RadioContext;\n\nvar RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n className = props.className,\n inline = props.inline,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'radio-group' : _props$classPrefix,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n name = props.name,\n plaintext = props.plaintext,\n disabled = props.disabled,\n readOnly = props.readOnly,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"inline\", \"children\", \"classPrefix\", \"value\", \"defaultValue\", \"appearance\", \"name\", \"plaintext\", \"disabled\", \"readOnly\", \"onChange\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var classes = merge(className, withClassPrefix(appearance, {\n inline: inline\n }));\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var handleChange = (0, _react.useCallback)(function (nextValue, event) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }, [onChange, setValue]);\n var contextValue = (0, _react.useMemo)(function () {\n return {\n inline: inline,\n name: name,\n value: typeof value === 'undefined' ? null : value,\n controlled: isControlled,\n plaintext: plaintext,\n disabled: disabled,\n readOnly: readOnly,\n onChange: handleChange\n };\n }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);\n return /*#__PURE__*/_react.default.createElement(RadioContext.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 80,\n columnNumber: 7\n }\n }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({\n ref: ref,\n localeKey: \"notSelected\"\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 11\n }\n }), value ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"radiogroup\"\n }, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 11\n }\n }), children));\n});\n\nRadioGroup.displayName = 'RadioGroup';\nRadioGroup.propTypes = {\n appearance: _propTypes.default.oneOf(['default', 'picker']),\n name: _propTypes.default.string,\n inline: _propTypes.default.bool,\n value: _propTypes.default.any,\n defaultValue: _propTypes.default.any,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n onChange: _propTypes.default.func,\n plaintext: _propTypes.default.bool\n};\nvar _default = RadioGroup;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RadioGroup/RadioGroup.tsx?");
|
|
3952
3952
|
|
|
3953
3953
|
/***/ }),
|
|
3954
3954
|
|
|
@@ -4003,7 +4003,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
4003
4003
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4004
4004
|
|
|
4005
4005
|
"use strict";
|
|
4006
|
-
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 _Star = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Star */ \"./node_modules/@rsuite/icons/legacy/Star.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Rate/utils.ts\");\n\nvar _Character = _interopRequireDefault(__webpack_require__(/*! ./Character */ \"./src/Rate/Character.tsx\"));\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Rate/Rate.tsx\",\n _this = void 0;\n\nvar Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'ul' : _props$as,\n _props$character = props.character,\n character = _props$character === void 0 ? /*#__PURE__*/_react.default.createElement(_Star.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber:
|
|
4006
|
+
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 _Star = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Star */ \"./node_modules/@rsuite/icons/legacy/Star.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Rate/utils.ts\");\n\nvar _Character = _interopRequireDefault(__webpack_require__(/*! ./Character */ \"./src/Rate/Character.tsx\"));\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Rate/Rate.tsx\",\n _this = void 0;\n\nvar Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'ul' : _props$as,\n _props$character = props.character,\n character = _props$character === void 0 ? /*#__PURE__*/_react.default.createElement(_Star.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 53,\n columnNumber: 19\n }\n }) : _props$character,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'rate' : _props$classPrefix,\n disabled = props.disabled,\n _props$max = props.max,\n max = _props$max === void 0 ? 5 : _props$max,\n readOnly = props.readOnly,\n vertical = props.vertical,\n _props$size = props.size,\n size = _props$size === void 0 ? 'md' : _props$size,\n color = props.color,\n allowHalf = props.allowHalf,\n valueProp = props.value,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n plaintext = props.plaintext,\n onChange = props.onChange,\n renderCharacter = props.renderCharacter,\n onChangeActive = props.onChangeActive,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"character\", \"className\", \"classPrefix\", \"disabled\", \"max\", \"readOnly\", \"vertical\", \"size\", \"color\", \"allowHalf\", \"value\", \"defaultValue\", \"cleanable\", \"plaintext\", \"onChange\", \"renderCharacter\", \"onChangeActive\"]);\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var getCharacterMap = (0, _react.useCallback)(function (v) {\n return (0, _utils2.transformValueToCharacterMap)(typeof v !== 'undefined' ? v : value, max, allowHalf);\n }, [allowHalf, max, value]);\n\n var _useState = (0, _react.useState)(getCharacterMap()),\n characterMap = _useState[0],\n setCharacterMap = _useState[1];\n\n var hoverValue = (0, _utils2.transformCharacterMapToValue)(characterMap);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var classes = merge(className, withClassPrefix(size, color, {\n disabled: disabled,\n readonly: readOnly\n }));\n var resetCharacterMap = (0, _react.useCallback)(function () {\n setCharacterMap(getCharacterMap());\n }, [getCharacterMap]);\n (0, _react.useEffect)(function () {\n // Update characterMap when value is updated.\n setCharacterMap(getCharacterMap(valueProp)); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueProp]);\n var handleMouseLeave = (0, _react.useCallback)(function (event) {\n resetCharacterMap();\n onChangeActive === null || onChangeActive === void 0 ? void 0 : onChangeActive(value, event);\n }, [onChangeActive, resetCharacterMap, value]);\n var handleChangeValue = (0, _react.useCallback)(function (index, event) {\n var nextValue = (0, _utils2.transformCharacterMapToValue)(characterMap);\n\n if (cleanable && value === nextValue && getCharacterMap(value)[index] === characterMap[index]) {\n nextValue = 0;\n }\n\n if (nextValue !== value) {\n setValue(nextValue);\n setCharacterMap(getCharacterMap(nextValue));\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [characterMap, cleanable, getCharacterMap, onChange, setValue, value]);\n var handleKeyDown = (0, _react.useCallback)(function (index, event) {\n var key = event.key;\n var nextValue = (0, _utils2.transformCharacterMapToValue)(characterMap);\n\n if (key === _utils.KEY_VALUES.RIGHT && nextValue < max) {\n nextValue = allowHalf ? nextValue + 0.5 : nextValue + 1;\n } else if (key === _utils.KEY_VALUES.LEFT && nextValue > 0) {\n nextValue = allowHalf ? nextValue - 0.5 : nextValue - 1;\n }\n\n setCharacterMap(getCharacterMap(nextValue));\n\n if (key === _utils.KEY_VALUES.ENTER) {\n handleChangeValue(index, event);\n }\n }, [allowHalf, characterMap, getCharacterMap, handleChangeValue, max]);\n var handleChangeCharacterMap = (0, _react.useCallback)(function (index, key, event) {\n var nextCharacterMap = characterMap.map(function (_item, i) {\n if (i === index && key === 'before' && allowHalf) {\n return 0.5;\n }\n\n return index >= i ? 1 : 0;\n });\n\n if (!(0, _utils.shallowEqualArray)(characterMap, nextCharacterMap)) {\n setCharacterMap(nextCharacterMap);\n onChangeActive === null || onChangeActive === void 0 ? void 0 : onChangeActive((0, _utils2.transformCharacterMapToValue)(nextCharacterMap), event);\n }\n }, [allowHalf, characterMap, onChangeActive]);\n var handleClick = (0, _react.useCallback)(function (index, key, event) {\n handleChangeCharacterMap(index, key, event);\n handleChangeValue(index, event);\n }, [handleChangeCharacterMap, handleChangeValue]);\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n localeKey: \"notSelected\",\n className: className,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 9\n }\n }, !(0, _isNil.default)(value) ? value + \"(\" + max + \")\" : null);\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"radiogroup\",\n tabIndex: 0\n }, rest, {\n ref: ref,\n className: classes,\n onMouseLeave: handleMouseLeave,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 184,\n columnNumber: 7\n }\n }), characterMap.map(function (item, index) {\n return /*#__PURE__*/_react.default.createElement(_Character.default, {\n role: \"radio\",\n \"aria-posinset\": index + 1,\n \"aria-setsize\": max,\n \"aria-checked\": value === index + 1,\n key: index,\n status: item,\n disabled: disabled || readOnly,\n vertical: vertical,\n onClick: function onClick(key, event) {\n return handleClick(index, key, event);\n },\n onKeyDown: function onKeyDown(event) {\n return handleKeyDown(index, event);\n },\n onMouseMove: function onMouseMove(key, event) {\n return handleChangeCharacterMap(index, key, event);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 193,\n columnNumber: 11\n }\n }, renderCharacter ? renderCharacter(hoverValue, index) : character);\n }));\n});\n\nRate.displayName = 'Rate';\nRate.propTypes = {\n allowHalf: _propTypes.default.bool,\n character: _propTypes.default.node,\n classPrefix: _propTypes.default.string,\n cleanable: _propTypes.default.bool,\n defaultValue: _propTypes.default.number,\n disabled: _propTypes.default.bool,\n max: _propTypes.default.number,\n renderCharacter: _propTypes.default.func,\n readOnly: _propTypes.default.bool,\n size: _propTypes.default.oneOf(_utils.SIZE),\n value: _propTypes.default.number,\n vertical: _propTypes.default.bool,\n onChange: _propTypes.default.func,\n onChangeActive: _propTypes.default.func\n};\nvar _default = Rate;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Rate/Rate.tsx?");
|
|
4007
4007
|
|
|
4008
4008
|
/***/ }),
|
|
4009
4009
|
|
|
@@ -5169,7 +5169,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
5169
5169
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5170
5170
|
|
|
5171
5171
|
"use strict";
|
|
5172
|
-
eval("\n\nexports.__esModule = true;\nexports.default = useElementResize;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _resizeObserver = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n\n/**\n * Attach the event handler directly to the specified DOM element,\n * and it will be triggered when the size of the DOM element is changed.\n *\n * @param eventTarget The target to listen for events on\n * @param listener An event handler\n */\nfunction useElementResize(eventTarget, listener) {\n var resizeObserver = (0, _react.useRef)();\n (0, _react.useEffect)(function () {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n
|
|
5172
|
+
eval("\n\nexports.__esModule = true;\nexports.default = useElementResize;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _resizeObserver = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n\n/**\n * Attach the event handler directly to the specified DOM element,\n * and it will be triggered when the size of the DOM element is changed.\n *\n * @param eventTarget The target to listen for events on\n * @param listener An event handler\n */\nfunction useElementResize(eventTarget, listener) {\n var resizeObserver = (0, _react.useRef)();\n (0, _react.useEffect)(function () {\n if (!resizeObserver.current) {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n resizeObserver.current = new _resizeObserver.ResizeObserver(listener);\n resizeObserver.current.observe(target);\n }\n\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 }, [eventTarget, listener]);\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/useElementResize.ts?");
|
|
5173
5173
|
|
|
5174
5174
|
/***/ }),
|
|
5175
5175
|
|
|
@@ -8958,7 +8958,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
|
|
|
8958
8958
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8959
8959
|
|
|
8960
8960
|
"use strict";
|
|
8961
|
-
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 var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n var expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\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\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 dataProp = props.data,\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 hover = props.hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n locale = props.locale,\n showHeader = props.showHeader,\n sortColumn = props.sortColumn,\n rowHeightProp = props.rowHeight,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n headerHeightProp = props.headerHeight,\n minHeight = props.minHeight,\n height = props.height,\n autoHeight = props.autoHeight,\n rtlProp = props.rtl,\n translate3d = props.translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowHeight = props.rowHeight,\n rowClassName = props.rowClassName,\n rowExpandedHeight = props.rowExpandedHeight,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n shouldUpdateScroll = props.shouldUpdateScroll,\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\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"defaultSortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowHeight\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"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 _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\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 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 rowHeightProp === 'function' ? rowHeightProp(rowData) : rowHeightProp;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\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 colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children).length);\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\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 children: children,\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 (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 colCounts.current = lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children || []).length;\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 } // IF there are fixed columns, add a fixed group\n\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 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 }), 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 } : null\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 }\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 }), /*#__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 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 return lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n });\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 = 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 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 : 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: 'unset'\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); // 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.defaultProps = {\n data: [],\n defaultSortType: _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC,\n height: 200,\n rowHeight: 46,\n headerHeight: 40,\n minHeight: 0,\n rowExpandedHeight: 100,\n hover: true,\n showHeader: true,\n translate3d: true,\n shouldUpdateScroll: true,\n locale: {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n }\n};\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().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf(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 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().arrayOf(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 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 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?");
|
|
8961
|
+
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 var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n var expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\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\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 dataProp = props.data,\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 hover = props.hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n locale = props.locale,\n showHeader = props.showHeader,\n sortColumn = props.sortColumn,\n rowHeightProp = props.rowHeight,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n headerHeightProp = props.headerHeight,\n minHeight = props.minHeight,\n height = props.height,\n autoHeight = props.autoHeight,\n rtlProp = props.rtl,\n translate3d = props.translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowHeight = props.rowHeight,\n rowClassName = props.rowClassName,\n rowExpandedHeight = props.rowExpandedHeight,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n shouldUpdateScroll = props.shouldUpdateScroll,\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\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"defaultSortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowHeight\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"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 rowHeightProp === 'function' ? rowHeightProp(rowData) : rowHeightProp;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\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)();\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\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 } // IF there are fixed columns, add a fixed group\n\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 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 }), 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 } : null\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 }\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 }), /*#__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 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 return lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n });\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 = 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 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 : 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: 'unset'\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.defaultProps = {\n data: [],\n defaultSortType: _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC,\n height: 200,\n rowHeight: 46,\n headerHeight: 40,\n minHeight: 0,\n rowExpandedHeight: 100,\n hover: true,\n showHeader: true,\n translate3d: true,\n shouldUpdateScroll: true,\n locale: {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n }\n};\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().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf(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 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().arrayOf(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 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 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?");
|
|
8962
8962
|
|
|
8963
8963
|
/***/ }),
|
|
8964
8964
|
|
|
@@ -9035,7 +9035,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
|
|
|
9035
9035
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9036
9036
|
|
|
9037
9037
|
"use strict";
|
|
9038
|
-
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
|
|
9038
|
+
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 react_is__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-is */ \"./node_modules/rsuite-table/node_modules/react-is/index.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ColumnGroup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ColumnGroup */ \"./node_modules/rsuite-table/es/ColumnGroup.js\");\n\n\n\n\n\n/**\n * Get the columns ReactElement array.\n * - Handling the case where there is an array of <Column> in children.\n * - Filter empty items in children.\n */\n\nfunction getTableColumns(children) {\n var childrenArray = Array.isArray(children) ? children : [children];\n var flattenColumns = lodash_flatten__WEBPACK_IMPORTED_MODULE_3___default()(childrenArray).map(function (column) {\n // If the column is a group, we need to get the columns from the children.\n if ((column === null || column === void 0 ? void 0 : column.type) === _ColumnGroup__WEBPACK_IMPORTED_MODULE_4__.default) {\n var _column$props = column === null || column === void 0 ? void 0 : column.props,\n header = _column$props.header,\n groupChildren = _column$props.children,\n align = _column$props.align,\n fixed = _column$props.fixed,\n verticalAlign = _column$props.verticalAlign,\n groupHeaderHeight = _column$props.groupHeaderHeight;\n\n var groupChildrenArray = Array.isArray(groupChildren) ? groupChildren : [groupChildren];\n var childColumns = lodash_flatten__WEBPACK_IMPORTED_MODULE_3___default()(groupChildrenArray.map(function (child) {\n return react_is__WEBPACK_IMPORTED_MODULE_2__.isFragment(child) ? child.props.children : child;\n })).filter(Boolean);\n return childColumns.map(function (childColumn, index) {\n // Overwrite the props set by ColumnGroup to Column.\n var groupCellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, childColumn === null || childColumn === void 0 ? void 0 : childColumn.props, {\n groupHeaderHeight: groupHeaderHeight,\n align: align,\n fixed: fixed,\n verticalAlign: verticalAlign\n });\n /**\n * Set attributes for the first column in the group:\n * @field groupCount: The number of grouping sub-items.\n * @field groupHeader: Group header title.\n * @field resizable: Set to not resizable.\n */\n\n\n if (index === 0) {\n groupCellProps.groupCount = childColumns.length;\n groupCellProps.groupHeader = header;\n groupCellProps.resizable = false;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(childColumn, groupCellProps);\n });\n } else if (react_is__WEBPACK_IMPORTED_MODULE_2__.isFragment(column)) {\n var _column$props2;\n\n // If the column is a fragment, we need to get the columns from the children.\n return ((_column$props2 = column.props) === null || _column$props2 === void 0 ? void 0 : _column$props2.children) || column;\n } // If the column is not a group, we just return the column.\n\n\n return column;\n }); // Flatten the array in Columns into a one-dimensional array, and calculate lastColumn and firstColumn.\n\n return lodash_flatten__WEBPACK_IMPORTED_MODULE_3___default()(flattenColumns).filter(function (col) {\n return col;\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getTableColumns);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/getTableColumns.js?");
|
|
9039
9039
|
|
|
9040
9040
|
/***/ }),
|
|
9041
9041
|
|
|
@@ -9211,7 +9211,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9211
9211
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9212
9212
|
|
|
9213
9213
|
"use strict";
|
|
9214
|
-
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\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 (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 (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n clearCache();\n }, [clearCache, mouseAreaRef, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var _addStyle;\n\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 (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\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 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\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 cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[columnChildren[1].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 === columns.length - 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: columnChildren[1].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(columnChildren[0], (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(columnChildren[1], cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\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?");
|
|
9214
|
+
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\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 (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 (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n clearCache();\n }, [clearCache, mouseAreaRef, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var _addStyle;\n\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 (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\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 cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[columnChildren[1].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: columnChildren[1].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(columnChildren[0], (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(columnChildren[1], 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?");
|
|
9215
9215
|
|
|
9216
9216
|
/***/ }),
|
|
9217
9217
|
|
|
@@ -9277,7 +9277,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9277
9277
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9278
9278
|
|
|
9279
9279
|
"use strict";
|
|
9280
|
-
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 children = props.children,\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 return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;\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) {\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 forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\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 }\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 wheelElement = tableBodyRef.current.querySelector('.rs-table-body-wheel-area');\n var handleElement = scrollbarYRef.current.handle;\n var transitionCSS = ['transition-duration', 'transition-timing-function'];\n\n if (!virtualized) {\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 (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(wheelElement, transitionCSS);\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(handleElement, transitionCSS);\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 return setScrolling(false);\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$curren3, _scrollbarYRef$curren4;\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$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : (_scrollbarYRef$curren4 = _scrollbarYRef$curren3.resetScrollBarPosition) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : _scrollbarYRef$curren4.call(_scrollbarYRef$curren3, 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 onScrollLeft(0);\n }, [children]);\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) {\n return handleWheel(0, delta);\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?");
|
|
9280
|
+
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 return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;\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) {\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 forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\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 }\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 wheelElement = tableBodyRef.current.querySelector('.rs-table-body-wheel-area');\n var handleElement = scrollbarYRef.current.handle;\n var transitionCSS = ['transition-duration', 'transition-timing-function'];\n\n if (!virtualized) {\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 (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(wheelElement, transitionCSS);\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(handleElement, transitionCSS);\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 return setScrolling(false);\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$curren3, _scrollbarYRef$curren4;\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$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : (_scrollbarYRef$curren4 = _scrollbarYRef$curren3.resetScrollBarPosition) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : _scrollbarYRef$curren4.call(_scrollbarYRef$curren3, 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) {\n return handleWheel(0, delta);\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?");
|
|
9281
9281
|
|
|
9282
9282
|
/***/ }),
|
|
9283
9283
|
|
|
@@ -9299,7 +9299,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9299
9299
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9300
9300
|
|
|
9301
9301
|
"use strict";
|
|
9302
|
-
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 _useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useUpdateLayoutEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateLayoutEffect.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isEmpty */ \"./node_modules/lodash/isEmpty.js\");\n/* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/**\n * The row information of the table, get the DOM of all rows, and summarize the row height.\n * @param props\n * @returns\n */\nvar useTableRows = function useTableRows(props) {\n var prefix = props.prefix,\n wordWrap = props.wordWrap,\n data = props.data;\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n tableRowsMaxHeight = _useState[0],\n setTableRowsMaxHeight = _useState[1];\n\n var tableRows = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)({});\n\n var bindTableRowsRef = function bindTableRowsRef(index, rowData) {\n return function (ref) {\n if (ref) {\n tableRows.current[index] = [ref, rowData];\n }\n };\n };\n\n var calculateRowMaxHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n if (wordWrap) {\n var nextTableRowsMaxHeight = [];\n var curTableRows = Object.values(tableRows.current);\n\n for (var i = 0; i < curTableRows.length; i++) {\n var _curTableRows$i = curTableRows[i],\n row = _curTableRows$i[0];\n\n if (row) {\n var cells = row.querySelectorAll(\".\" + prefix('cell-wrap')) || [];\n var cellArray = Array.from(cells);\n var maxHeight = 0;\n\n for (var j = 0; j < cellArray.length; j++) {\n var cell = cellArray[j];\n var h = (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__.default)(cell);\n maxHeight = Math.max(maxHeight, h);\n }\n\n nextTableRowsMaxHeight.push(maxHeight);\n }\n } // Can't perform a React state update on an unmounted component\n\n\n if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default()(tableRows.current)) {\n setTableRowsMaxHeight(nextTableRowsMaxHeight);\n }\n }\n }, [prefix, wordWrap]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_3__.default)(function () {\n setTimeout(calculateRowMaxHeight, 1);\n });\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_2__.default)(function () {\n /**\n * After the data is updated, the height of the cell DOM needs to be re-acquired,\n * and what is often obtained is not the latest DOM that has been rendered.\n * So use `setTimeout` to delay obtaining the height of the cell DOM.\n * TODO: To be improved\n */\n setTimeout(calculateRowMaxHeight, 1);\n }, [data]);\n return {\n bindTableRowsRef: bindTableRowsRef,\n tableRowsMaxHeight: tableRowsMaxHeight,\n tableRows: tableRows\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useTableRows);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useTableRows.js?");
|
|
9302
|
+
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 _useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useUpdateLayoutEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateLayoutEffect.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/isEmpty */ \"./node_modules/lodash/isEmpty.js\");\n/* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/**\n * The row information of the table, get the DOM of all rows, and summarize the row height.\n * @param props\n * @returns\n */\nvar useTableRows = function useTableRows(props) {\n var prefix = props.prefix,\n wordWrap = props.wordWrap,\n data = props.data,\n expandedRowKeys = props.expandedRowKeys;\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n tableRowsMaxHeight = _useState[0],\n setTableRowsMaxHeight = _useState[1];\n\n var tableRows = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)({});\n\n var bindTableRowsRef = function bindTableRowsRef(index, rowData) {\n return function (ref) {\n if (ref) {\n tableRows.current[index] = [ref, rowData];\n }\n };\n };\n\n var calculateRowMaxHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n if (wordWrap) {\n var nextTableRowsMaxHeight = [];\n var curTableRows = Object.values(tableRows.current);\n\n for (var i = 0; i < curTableRows.length; i++) {\n var _curTableRows$i = curTableRows[i],\n row = _curTableRows$i[0];\n\n if (row) {\n var cells = row.querySelectorAll(\".\" + prefix('cell-wrap')) || [];\n var cellArray = Array.from(cells);\n var maxHeight = 0;\n\n for (var j = 0; j < cellArray.length; j++) {\n var cell = cellArray[j];\n var h = (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__.default)(cell);\n maxHeight = Math.max(maxHeight, h);\n }\n\n nextTableRowsMaxHeight.push(maxHeight);\n }\n } // Can't perform a React state update on an unmounted component\n\n\n if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default()(tableRows.current)) {\n setTableRowsMaxHeight(nextTableRowsMaxHeight);\n }\n }\n }, [prefix, wordWrap]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_3__.default)(function () {\n setTimeout(calculateRowMaxHeight, 1);\n });\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_2__.default)(function () {\n /**\n * After the data is updated, the height of the cell DOM needs to be re-acquired,\n * and what is often obtained is not the latest DOM that has been rendered.\n * So use `setTimeout` to delay obtaining the height of the cell DOM.\n * TODO: To be improved\n */\n setTimeout(calculateRowMaxHeight, 1);\n }, [data, expandedRowKeys]);\n return {\n bindTableRowsRef: bindTableRowsRef,\n tableRowsMaxHeight: tableRowsMaxHeight,\n tableRows: tableRows\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useTableRows);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useTableRows.js?");
|
|
9303
9303
|
|
|
9304
9304
|
/***/ }),
|
|
9305
9305
|
|
|
@@ -9325,6 +9325,28 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9325
9325
|
|
|
9326
9326
|
/***/ }),
|
|
9327
9327
|
|
|
9328
|
+
/***/ "./node_modules/rsuite-table/node_modules/react-is/cjs/react-is.development.js":
|
|
9329
|
+
/*!*************************************************************************************!*\
|
|
9330
|
+
!*** ./node_modules/rsuite-table/node_modules/react-is/cjs/react-is.development.js ***!
|
|
9331
|
+
\*************************************************************************************/
|
|
9332
|
+
/***/ (function(__unused_webpack_module, exports) {
|
|
9333
|
+
|
|
9334
|
+
"use strict";
|
|
9335
|
+
eval("/** @license React v17.0.2\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/node_modules/react-is/cjs/react-is.development.js?");
|
|
9336
|
+
|
|
9337
|
+
/***/ }),
|
|
9338
|
+
|
|
9339
|
+
/***/ "./node_modules/rsuite-table/node_modules/react-is/index.js":
|
|
9340
|
+
/*!******************************************************************!*\
|
|
9341
|
+
!*** ./node_modules/rsuite-table/node_modules/react-is/index.js ***!
|
|
9342
|
+
\******************************************************************/
|
|
9343
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
9344
|
+
|
|
9345
|
+
"use strict";
|
|
9346
|
+
eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/rsuite-table/node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/node_modules/react-is/index.js?");
|
|
9347
|
+
|
|
9348
|
+
/***/ }),
|
|
9349
|
+
|
|
9328
9350
|
/***/ "./node_modules/schema-typed/es/ArrayType.js":
|
|
9329
9351
|
/*!***************************************************!*\
|
|
9330
9352
|
!*** ./node_modules/schema-typed/es/ArrayType.js ***!
|