rsuite 5.8.1 → 5.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ButtonToolbar/styles/index.less +1 -1
- package/CHANGELOG.md +24 -0
- package/README.md +4 -0
- package/Table/styles/index.less +2 -10
- package/cjs/Button/Button.d.ts +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/cjs/DateRangePicker/DateRangePicker.js +4 -2
- package/cjs/Dropdown/Dropdown.d.ts +5 -2
- package/cjs/Dropdown/Dropdown.js +5 -1
- package/cjs/Form/Form.d.ts +1 -1
- package/cjs/Form/Form.js +15 -5
- package/cjs/Form/FormContext.d.ts +2 -0
- package/cjs/FormControl/FormControl.d.ts +2 -0
- package/cjs/FormControl/FormControl.js +11 -1
- package/cjs/Menu/Menu.d.ts +10 -2
- package/cjs/Menu/Menu.js +18 -11
- package/cjs/Menu/Menubar.js +10 -3
- package/cjs/Modal/Modal.d.ts +6 -2
- package/cjs/Modal/Modal.js +6 -2
- package/cjs/utils/dom.d.ts +1 -1
- package/dist/rsuite-rtl.css +5 -12
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +5 -12
- package/dist/rsuite.js +14 -14
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Button/Button.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -0
- package/esm/DateRangePicker/DateRangePicker.js +4 -2
- package/esm/Dropdown/Dropdown.d.ts +5 -2
- package/esm/Dropdown/Dropdown.js +5 -1
- package/esm/Form/Form.d.ts +1 -1
- package/esm/Form/Form.js +15 -5
- package/esm/Form/FormContext.d.ts +2 -0
- package/esm/FormControl/FormControl.d.ts +2 -0
- package/esm/FormControl/FormControl.js +12 -1
- package/esm/Menu/Menu.d.ts +10 -2
- package/esm/Menu/Menu.js +18 -11
- package/esm/Menu/Menubar.js +9 -3
- package/esm/Modal/Modal.d.ts +6 -2
- package/esm/Modal/Modal.js +5 -3
- package/esm/utils/dom.d.ts +1 -1
- package/package.json +2 -2
package/dist/rsuite.js
CHANGED
|
@@ -2353,7 +2353,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2353
2353
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2354
2354
|
|
|
2355
2355
|
"use strict";
|
|
2356
|
-
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 _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Calendar */ \"./node_modules/@rsuite/icons/legacy/Calendar.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _partial = _interopRequireDefault(__webpack_require__(/*! lodash/partial */ \"./node_modules/lodash/partial.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _dateUtils = __webpack_require__(/*! ../utils/dateUtils */ \"./src/utils/dateUtils.ts\");\n\nvar _Calendar2 = _interopRequireDefault(__webpack_require__(/*! ./Calendar */ \"./src/DateRangePicker/Calendar.tsx\"));\n\nvar disabledDateUtils = _interopRequireWildcard(__webpack_require__(/*! ./disabledDateUtils */ \"./src/DateRangePicker/disabledDateUtils.ts\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateRangePicker/utils.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangePicker/DateRangePicker.tsx\",\n _this = void 0;\n\nvar DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _ref, _ref2, _merge;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n className = props.className,\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$character = props.character,\n character = _props$character === void 0 ? ' ~ ' : _props$character,\n defaultCalendarValue = props.defaultCalendarValue,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n disabledDateProp = props.disabledDate,\n _props$format = props.format,\n formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,\n hoverRange = props.hoverRange,\n _props$isoWeek = props.isoWeek,\n isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,\n _props$limitEndYear = props.limitEndYear,\n limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,\n overrideLocale = props.locale,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n oneTap = props.oneTap,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n ranges = props.ranges,\n renderValue = props.renderValue,\n _props$showOneCalenda = props.showOneCalendar,\n showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,\n showWeekNumbers = props.showWeekNumbers,\n showMeridian = props.showMeridian,\n style = props.style,\n toggleAs = props.toggleAs,\n caretAs = props.caretAs,\n valueProp = props.value,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onOk = props.onOk,\n onOpen = props.onOpen,\n onSelect = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"appearance\", \"cleanable\", \"character\", \"defaultCalendarValue\", \"defaultValue\", \"disabled\", \"disabledDate\", \"format\", \"hoverRange\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"menuStyle\", \"oneTap\", \"placeholder\", \"placement\", \"ranges\", \"renderValue\", \"showOneCalendar\", \"showWeekNumbers\", \"showMeridian\", \"style\", \"toggleAs\", \"caretAs\", \"value\", \"onChange\", \"onClean\", \"onClose\", \"onEnter\", \"onEntered\", \"onExited\", \"onOk\", \"onOpen\", \"onSelect\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),\n locale = _useCustom.locale,\n formatDate = _useCustom.formatDate,\n parseDate = _useCustom.parseDate;\n\n var rangeFormatStr = \"\" + formatStr + character + formatStr;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),\n value = _useControlled[0],\n setValue = _useControlled[1];\n /**\n * Whether to complete the selection.\n * Everytime selection will change this value. If the value is false, it means that the selection has not been completed.\n *\n * In `oneTap` mode, select action will not change this value, its value should be true always.\n */\n\n\n var hasDoneSelect = (0, _react.useRef)(true);\n /**\n * The currently selected date range.\n *\n * The time range is selected by two clicks. After the first click,\n * the cursor will store a temporary event date in the process until\n * the second click to determine the end date of the date range.\n *\n */\n\n var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState[0],\n setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n\n\n var _useState2 = (0, _react.useState)(null),\n hoverDateRange = _useState2[0],\n setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.\n\n\n var _useState3 = (0, _react.useState)((0, _utils2.getCalendarDate)({\n value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null\n })),\n calendarDate = _useState3[0],\n setCalendarDate = _useState3[1];\n\n var _useState4 = (0, _react.useState)(),\n inputState = _useState4[0],\n setInputState = _useState4[1];\n /**\n * When hoverRange is set, `selectValue` will be updated during the hover process,\n * which will cause the `selectValue` to be updated after the first click,\n * so declare a Ref to temporarily store the `selectValue` of the first click.\n */\n\n\n var selectRangeValueRef = (0, _react.useRef)(null);\n /**\n * Call this function to update the calendar panel rendering benchmark value.\n * If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].\n */\n\n var updateCalendarDate = (0, _react.useCallback)(function (value) {\n setCalendarDate((0, _utils2.getCalendarDate)({\n value: value\n }));\n }, []); // if valueProp changed then update selectValue/hoverValue\n\n (0, _react.useEffect)(function () {\n setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);\n setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);\n }, [valueProp]);\n\n var _useState5 = (0, _react.useState)(false),\n isPickerToggleActive = _useState5[0],\n setPickerToggleActive = _useState5[1];\n\n var rootRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var triggerRef = (0, _react.useRef)(null);\n var handleCloseDropdown = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef,\n rootRef: rootRef\n });\n var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {\n var _nextValue$, _nextValue$2;\n\n var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;\n var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;\n\n if (startDate && endDate) {\n var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);\n\n if (isPlaintext) {\n return formatDate(displayValue[0], formatStr) + character + formatDate(displayValue[1], formatStr);\n }\n\n return renderValue ? renderValue(displayValue, formatStr) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[0],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 271,\n columnNumber: 13\n }\n }), character, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[1],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 273,\n columnNumber: 13\n }\n }));\n }\n\n return isPlaintext ? '' : placeholder || rangeFormatStr;\n }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);\n /**\n * preset hover range\n */\n\n var getHoverRangeValue = (0, _react.useCallback)(function (date) {\n function getHoverRangeFunc() {\n if (hoverRange === 'week') {\n return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);\n } else if (hoverRange === 'month') {\n return _utils2.getMonthHoverRange;\n }\n\n return hoverRange;\n }\n\n var hoverRangeFunc = getHoverRangeFunc();\n\n if ((0, _isNil.default)(hoverRangeFunc)) {\n return null;\n }\n\n var hoverValues = hoverRangeFunc(date);\n var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;\n\n if (!isHoverRangeValid) {\n return null;\n }\n\n if (_utils.DateUtils.isAfter(hoverValues[0], hoverValues[1])) {\n hoverValues.reverse();\n }\n\n return hoverValues;\n }, [hoverRange, isoWeek]);\n var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n\n // If nextValue is null, it means that the user is erasing the selected dates.\n setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);\n\n if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n } // `closeOverlay` default value is `true`\n\n\n if (closeOverlay !== false) {\n handleCloseDropdown();\n }\n }, [formatStr, handleCloseDropdown, onChange, setValue, value]);\n /**\n * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.\n * The MouseMove event is called between the first click and the second click to update the selection state.\n */\n\n var handleMouseMove = (0, _react.useCallback)(function (date) {\n var nextHoverDateRange = getHoverRangeValue(date); // If hasDoneSelect is false,\n // it means there's already one selected date\n // and waiting for user to select the second date to complete the selection.\n\n if (!hasDoneSelect.current) {\n // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules\n if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {\n var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];\n\n if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {\n nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];\n }\n\n setSelectedDates(nextSelectedDates);\n } else {\n setHoverDateRange(function (prevHoverValue) {\n return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];\n });\n } // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated\n\n } else if (!(0, _isNil.default)(nextHoverDateRange)) {\n setHoverDateRange(nextHoverDateRange);\n }\n }, [getHoverRangeValue]);\n /**\n * Callback for selecting a date cell in the calendar grid\n */\n\n var handleSelectDate = (0, _react.useCallback)(function (date, event) {\n var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];\n var hoverRangeValue = getHoverRangeValue(date);\n var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode\n\n if (hasDoneSelect.current && oneTap) {\n handleValueUpdate(event, noHoverRangeValid ? [(0, _utils2.setTimingMargin)(date), (0, _utils2.setTimingMargin)(date, 'right')] : hoverRangeValue);\n hasDoneSelect.current = false;\n return;\n } // no preset hover range can use\n\n\n if (noHoverRangeValid) {\n // start select\n if (hasDoneSelect.current) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!hasDoneSelect.current) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n } // If user have completed the selection, then sort\n\n\n if (nextSelectDates.length === 2 && _utils.DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {\n nextSelectDates.reverse();\n }\n\n setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);\n setSelectedDates(nextSelectDates);\n updateCalendarDate(nextSelectDates);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);\n hasDoneSelect.current = !hasDoneSelect.current;\n }, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);\n /**\n * If `selectValue` changed, there will be the following effects.\n * 1. Check if the selection is completed.\n * 2. if the selection is completed, set the temporary `hoverValue` empty.\n */\n\n (0, _react.useEffect)(function () {\n var selectValueLength = selectedDates.length;\n var doneSelected = selectValueLength === 0 || selectValueLength === 2;\n doneSelected && setHoverDateRange(null);\n }, [selectedDates]);\n var handleChangeCalendarDate = (0, _react.useCallback)(function (index, date) {\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = date;\n updateCalendarDate(nextCalendarDate);\n }, [calendarDate, updateCalendarDate]);\n var handleChangeCalendarTime = (0, _react.useCallback)(function (index, date) {\n setSelectedDates(function (prev) {\n var next = [].concat(prev);\n var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day\n\n if (next[index]) {\n clonedDate.setFullYear(next[index].getFullYear(), next[index].getMonth(), next[index].getDate());\n }\n\n next[index] = clonedDate;\n return next;\n });\n handleChangeCalendarDate(index, date);\n }, [handleChangeCalendarDate]);\n /**\n * The callback triggered when PM/AM is switched.\n */\n\n var handleToggleMeridian = (0, _react.useCallback)(function (index) {\n var next = Array.from(calendarDate);\n var clonedDate = new Date(next[index].valueOf());\n\n var hours = _utils.DateUtils.getHours(clonedDate);\n\n var nextHours = hours >= 12 ? hours - 12 : hours + 12;\n next[index] = _utils.DateUtils.setHours(clonedDate, nextHours);\n setCalendarDate(next); // If the value already exists, update the value again.\n\n if (selectedDates.length === 2) {\n setSelectedDates(next);\n }\n }, [calendarDate, selectedDates]);\n /**\n * Toolbar operation callback function\n */\n\n var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {\n if (closeOverlay === void 0) {\n closeOverlay = false;\n }\n\n handleValueUpdate(event, value, closeOverlay);\n }, [handleValueUpdate]);\n var handleOK = (0, _react.useCallback)(function (event) {\n handleValueUpdate(event, selectedDates);\n onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);\n }, [handleValueUpdate, onOk, selectedDates]);\n var handleClean = (0, _react.useCallback)(function (event) {\n updateCalendarDate(null);\n handleValueUpdate(event, null);\n }, [handleValueUpdate, updateCalendarDate]);\n /**\n * Callback after the input box value is changed.\n */\n\n var handleInputChange = (0, _react.useCallback)(function (value) {\n setInputState('Typing');\n var rangeValue = value.split(character); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true\n // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false\n\n if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {\n locale: locale.dateLocale\n }) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {\n locale: locale.dateLocale\n })) {\n setInputState('Error');\n return;\n }\n\n var startDate = parseDate(rangeValue[0], formatStr);\n var endDate = parseDate(rangeValue[1], formatStr);\n var selectValue = [startDate, endDate];\n\n if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {\n setInputState('Error');\n return;\n }\n\n if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {\n setInputState('Error');\n return;\n }\n\n setHoverDateRange(selectValue);\n setSelectedDates(selectValue);\n updateCalendarDate(selectValue);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [character, rangeFormatStr, updateCalendarDate]);\n /**\n * The callback after the enter key is triggered on the input\n */\n\n var handleInputPressEnd = (0, _react.useCallback)(function (event) {\n if (inputState === 'Typing') {\n handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);\n }\n\n setInputState('Initial');\n }, [handleValueUpdate, selectedDates, inputState]);\n var handleEnter = (0, _react.useCallback)(function () {\n var nextCalendarDate;\n\n if (value && value.length) {\n var _startDate = value[0],\n endData = value[1];\n nextCalendarDate = [_startDate, (0, _dateUtils.isSameMonth)(_startDate, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];\n } else {\n nextCalendarDate = (0, _utils2.getCalendarDate)({\n value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null\n });\n }\n\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n updateCalendarDate(nextCalendarDate);\n }, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);\n var handleEntered = (0, _react.useCallback)(function () {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setPickerToggleActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setPickerToggleActive(false);\n hasDoneSelect.current = true;\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]);\n var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {\n var _disabledDateProp;\n\n return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;\n }, [disabledDateProp]);\n var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {\n // If the date is between the start and the end\n // the button is disabled\n while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {\n if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {\n return true;\n }\n\n start = _utils.DateUtils.addDays(start, 1);\n }\n\n return false;\n }, [isDateDisabled, selectedDates]);\n var disabledOkButton = (0, _react.useCallback)(function () {\n var start = selectedDates[0],\n end = selectedDates[1];\n\n if (!start || !end || !hasDoneSelect.current) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);\n }, [disabledByBetween, selectedDates]);\n var disabledShortcutButton = (0, _react.useCallback)(function (value) {\n if (value === void 0) {\n value = [];\n }\n\n var _value = value,\n start = _value[0],\n end = _value[1];\n\n if (!start || !end) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);\n }, [disabledByBetween]);\n var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {\n return isDateDisabled(date, values, hasDoneSelect.current, type);\n }, [isDateDisabled]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n active: isPickerToggleActive,\n onExit: handleClean\n }, rest));\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('daterange-menu'));\n var panelClasses = prefix('daterange-panel', {\n 'daterange-panel-show-one-calendar': showOneCalendar\n });\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var panelProps = {\n calendarDate: calendarDate,\n disabledDate: handleDisabledDate,\n format: formatStr,\n hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,\n isoWeek: isoWeek,\n limitEndYear: limitEndYear,\n locale: locale,\n showOneCalendar: showOneCalendar,\n showWeekNumbers: showWeekNumbers,\n value: selectedDates,\n showMeridian: showMeridian,\n onChangeCalendarDate: handleChangeCalendarDate,\n onChangeCalendarTime: handleChangeCalendarTime,\n onMouseMove: handleMouseMove,\n onSelect: handleSelectDate,\n onToggleMeridian: handleToggleMeridian\n };\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n className: classes,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n target: triggerRef,\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 712,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 718,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 719,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 720,\n columnNumber: 13\n }\n }, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(\"daterange-calendar-\" + (showOneCalendar ? 'single' : 'group')),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 721,\n columnNumber: 13\n }\n }, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 0\n }, panelProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 722,\n columnNumber: 15\n }\n })), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 1\n }, panelProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 723,\n columnNumber: 36\n }\n })))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n calendarDate: selectedDates,\n disabledOkBtn: disabledOkButton,\n disabledShortcut: disabledShortcutButton,\n hideOkBtn: oneTap,\n onOk: handleOK,\n onClickShortcut: handleShortcutPageDate,\n ranges: ranges,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 726,\n columnNumber: 11\n }\n })));\n };\n\n var hasValue = !(0, _isNil.default)(value) && value.length > 1;\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n name: 'daterange',\n appearance: appearance,\n hasValue: hasValue,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 752,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n ref: rootRef,\n className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = inputState === 'Error', _merge)),\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 761,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {\n as: toggleAs,\n ref: targetRef,\n appearance: appearance,\n input: true,\n inputMask: _utils.DateUtils.getDateMask(rangeFormatStr),\n inputValue: value ? getDisplayString(value, true) : '',\n inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,\n onInputChange: handleInputChange,\n onInputBlur: handleInputPressEnd,\n onInputPressEnter: handleInputPressEnd,\n onKeyDown: onPickerKeyDown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: isPickerToggleActive,\n placement: placement,\n disabled: disabled,\n caretAs: caretAs || _Calendar.default,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 768,\n columnNumber: 9\n }\n }), getDisplayString(value))));\n});\n\nDateRangePicker.after = disabledDateUtils.after;\nDateRangePicker.afterToday = disabledDateUtils.afterToday;\nDateRangePicker.allowedDays = disabledDateUtils.allowedDays;\nDateRangePicker.allowedMaxDays = disabledDateUtils.allowedMaxDays;\nDateRangePicker.allowedRange = disabledDateUtils.allowedRange;\nDateRangePicker.before = disabledDateUtils.before;\nDateRangePicker.beforeToday = disabledDateUtils.beforeToday;\nDateRangePicker.combine = disabledDateUtils.combine;\nDateRangePicker.displayName = 'DateRangePicker';\nDateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {\n ranges: _propTypes.default.array,\n value: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultCalendarValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n hoverRange: _propTypes.default.oneOfType([_propTypes.default.oneOf(['week', 'month']), _propTypes.default.func]),\n format: _propTypes.default.string,\n isoWeek: _propTypes.default.bool,\n oneTap: _propTypes.default.bool,\n limitEndYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onOk: _propTypes.default.func,\n disabledDate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n showWeekNumbers: _propTypes.default.bool,\n showMeridian: _propTypes.default.bool,\n showOneCalendar: _propTypes.default.bool\n});\nvar _default = DateRangePicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePicker.tsx?");
|
|
2356
|
+
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 _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Calendar */ \"./node_modules/@rsuite/icons/legacy/Calendar.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _partial = _interopRequireDefault(__webpack_require__(/*! lodash/partial */ \"./node_modules/lodash/partial.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _dateUtils = __webpack_require__(/*! ../utils/dateUtils */ \"./src/utils/dateUtils.ts\");\n\nvar _Calendar2 = _interopRequireDefault(__webpack_require__(/*! ./Calendar */ \"./src/DateRangePicker/Calendar.tsx\"));\n\nvar disabledDateUtils = _interopRequireWildcard(__webpack_require__(/*! ./disabledDateUtils */ \"./src/DateRangePicker/disabledDateUtils.ts\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateRangePicker/utils.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangePicker/DateRangePicker.tsx\",\n _this = void 0;\n\nvar DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _ref, _ref2, _merge;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n className = props.className,\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$character = props.character,\n character = _props$character === void 0 ? ' ~ ' : _props$character,\n defaultCalendarValue = props.defaultCalendarValue,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n disabledDateProp = props.disabledDate,\n _props$format = props.format,\n formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,\n hoverRange = props.hoverRange,\n _props$isoWeek = props.isoWeek,\n isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,\n _props$limitEndYear = props.limitEndYear,\n limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,\n overrideLocale = props.locale,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n oneTap = props.oneTap,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n ranges = props.ranges,\n renderValue = props.renderValue,\n _props$showOneCalenda = props.showOneCalendar,\n showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,\n showWeekNumbers = props.showWeekNumbers,\n showMeridian = props.showMeridian,\n style = props.style,\n toggleAs = props.toggleAs,\n caretAs = props.caretAs,\n valueProp = props.value,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onOk = props.onOk,\n onOpen = props.onOpen,\n onSelect = props.onSelect,\n renderTitle = props.renderTitle,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"appearance\", \"cleanable\", \"character\", \"defaultCalendarValue\", \"defaultValue\", \"disabled\", \"disabledDate\", \"format\", \"hoverRange\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"menuStyle\", \"oneTap\", \"placeholder\", \"placement\", \"ranges\", \"renderValue\", \"showOneCalendar\", \"showWeekNumbers\", \"showMeridian\", \"style\", \"toggleAs\", \"caretAs\", \"value\", \"onChange\", \"onClean\", \"onClose\", \"onEnter\", \"onEntered\", \"onExited\", \"onOk\", \"onOpen\", \"onSelect\", \"renderTitle\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),\n locale = _useCustom.locale,\n formatDate = _useCustom.formatDate,\n parseDate = _useCustom.parseDate;\n\n var rangeFormatStr = \"\" + formatStr + character + formatStr;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),\n value = _useControlled[0],\n setValue = _useControlled[1];\n /**\n * Whether to complete the selection.\n * Everytime selection will change this value. If the value is false, it means that the selection has not been completed.\n *\n * In `oneTap` mode, select action will not change this value, its value should be true always.\n */\n\n\n var hasDoneSelect = (0, _react.useRef)(true);\n /**\n * The currently selected date range.\n *\n * The time range is selected by two clicks. After the first click,\n * the cursor will store a temporary event date in the process until\n * the second click to determine the end date of the date range.\n *\n */\n\n var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState[0],\n setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n\n\n var _useState2 = (0, _react.useState)(null),\n hoverDateRange = _useState2[0],\n setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.\n\n\n var _useState3 = (0, _react.useState)((0, _utils2.getCalendarDate)({\n value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null\n })),\n calendarDate = _useState3[0],\n setCalendarDate = _useState3[1];\n\n var _useState4 = (0, _react.useState)(),\n inputState = _useState4[0],\n setInputState = _useState4[1];\n /**\n * When hoverRange is set, `selectValue` will be updated during the hover process,\n * which will cause the `selectValue` to be updated after the first click,\n * so declare a Ref to temporarily store the `selectValue` of the first click.\n */\n\n\n var selectRangeValueRef = (0, _react.useRef)(null);\n /**\n * Call this function to update the calendar panel rendering benchmark value.\n * If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].\n */\n\n var updateCalendarDate = (0, _react.useCallback)(function (value) {\n setCalendarDate((0, _utils2.getCalendarDate)({\n value: value\n }));\n }, []); // if valueProp changed then update selectValue/hoverValue\n\n (0, _react.useEffect)(function () {\n setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);\n setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);\n }, [valueProp]);\n\n var _useState5 = (0, _react.useState)(false),\n isPickerToggleActive = _useState5[0],\n setPickerToggleActive = _useState5[1];\n\n var rootRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var triggerRef = (0, _react.useRef)(null);\n var handleCloseDropdown = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef,\n rootRef: rootRef\n });\n var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {\n var _nextValue$, _nextValue$2;\n\n var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;\n var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;\n\n if (startDate && endDate) {\n var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);\n\n if (isPlaintext) {\n return formatDate(displayValue[0], formatStr) + character + formatDate(displayValue[1], formatStr);\n }\n\n return renderValue ? renderValue(displayValue, formatStr) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[0],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 13\n }\n }), character, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[1],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 277,\n columnNumber: 13\n }\n }));\n }\n\n return isPlaintext ? '' : placeholder || rangeFormatStr;\n }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);\n /**\n * preset hover range\n */\n\n var getHoverRangeValue = (0, _react.useCallback)(function (date) {\n function getHoverRangeFunc() {\n if (hoverRange === 'week') {\n return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);\n } else if (hoverRange === 'month') {\n return _utils2.getMonthHoverRange;\n }\n\n return hoverRange;\n }\n\n var hoverRangeFunc = getHoverRangeFunc();\n\n if ((0, _isNil.default)(hoverRangeFunc)) {\n return null;\n }\n\n var hoverValues = hoverRangeFunc(date);\n var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;\n\n if (!isHoverRangeValid) {\n return null;\n }\n\n if (_utils.DateUtils.isAfter(hoverValues[0], hoverValues[1])) {\n hoverValues.reverse();\n }\n\n return hoverValues;\n }, [hoverRange, isoWeek]);\n var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n\n // If nextValue is null, it means that the user is erasing the selected dates.\n setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);\n\n if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n } // `closeOverlay` default value is `true`\n\n\n if (closeOverlay !== false) {\n handleCloseDropdown();\n }\n }, [formatStr, handleCloseDropdown, onChange, setValue, value]);\n /**\n * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.\n * The MouseMove event is called between the first click and the second click to update the selection state.\n */\n\n var handleMouseMove = (0, _react.useCallback)(function (date) {\n var nextHoverDateRange = getHoverRangeValue(date); // If hasDoneSelect is false,\n // it means there's already one selected date\n // and waiting for user to select the second date to complete the selection.\n\n if (!hasDoneSelect.current) {\n // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules\n if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {\n var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];\n\n if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {\n nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];\n }\n\n setSelectedDates(nextSelectedDates);\n } else {\n setHoverDateRange(function (prevHoverValue) {\n return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];\n });\n } // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated\n\n } else if (!(0, _isNil.default)(nextHoverDateRange)) {\n setHoverDateRange(nextHoverDateRange);\n }\n }, [getHoverRangeValue]);\n /**\n * Callback for selecting a date cell in the calendar grid\n */\n\n var handleSelectDate = (0, _react.useCallback)(function (date, event) {\n var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];\n var hoverRangeValue = getHoverRangeValue(date);\n var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode\n\n if (hasDoneSelect.current && oneTap) {\n handleValueUpdate(event, noHoverRangeValid ? [(0, _utils2.setTimingMargin)(date), (0, _utils2.setTimingMargin)(date, 'right')] : hoverRangeValue);\n hasDoneSelect.current = false;\n return;\n } // no preset hover range can use\n\n\n if (noHoverRangeValid) {\n // start select\n if (hasDoneSelect.current) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!hasDoneSelect.current) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n } // If user have completed the selection, then sort\n\n\n if (nextSelectDates.length === 2 && _utils.DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {\n nextSelectDates.reverse();\n }\n\n setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : [nextSelectDates[0], nextSelectDates[0]]);\n setSelectedDates(nextSelectDates);\n updateCalendarDate(nextSelectDates);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);\n hasDoneSelect.current = !hasDoneSelect.current;\n }, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);\n /**\n * If `selectValue` changed, there will be the following effects.\n * 1. Check if the selection is completed.\n * 2. if the selection is completed, set the temporary `hoverValue` empty.\n */\n\n (0, _react.useEffect)(function () {\n var selectValueLength = selectedDates.length;\n var doneSelected = selectValueLength === 0 || selectValueLength === 2;\n doneSelected && setHoverDateRange(null);\n }, [selectedDates]);\n var handleChangeCalendarDate = (0, _react.useCallback)(function (index, date) {\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = date;\n updateCalendarDate(nextCalendarDate);\n }, [calendarDate, updateCalendarDate]);\n var handleChangeCalendarTime = (0, _react.useCallback)(function (index, date) {\n setSelectedDates(function (prev) {\n var next = [].concat(prev);\n var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day\n\n if (next[index]) {\n clonedDate.setFullYear(next[index].getFullYear(), next[index].getMonth(), next[index].getDate());\n }\n\n next[index] = clonedDate;\n return next;\n });\n handleChangeCalendarDate(index, date);\n }, [handleChangeCalendarDate]);\n /**\n * The callback triggered when PM/AM is switched.\n */\n\n var handleToggleMeridian = (0, _react.useCallback)(function (index) {\n var next = Array.from(calendarDate);\n var clonedDate = new Date(next[index].valueOf());\n\n var hours = _utils.DateUtils.getHours(clonedDate);\n\n var nextHours = hours >= 12 ? hours - 12 : hours + 12;\n next[index] = _utils.DateUtils.setHours(clonedDate, nextHours);\n setCalendarDate(next); // If the value already exists, update the value again.\n\n if (selectedDates.length === 2) {\n setSelectedDates(next);\n }\n }, [calendarDate, selectedDates]);\n /**\n * Toolbar operation callback function\n */\n\n var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {\n if (closeOverlay === void 0) {\n closeOverlay = false;\n }\n\n handleValueUpdate(event, value, closeOverlay);\n }, [handleValueUpdate]);\n var handleOK = (0, _react.useCallback)(function (event) {\n handleValueUpdate(event, selectedDates);\n onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);\n }, [handleValueUpdate, onOk, selectedDates]);\n var handleClean = (0, _react.useCallback)(function (event) {\n updateCalendarDate(null);\n handleValueUpdate(event, null);\n }, [handleValueUpdate, updateCalendarDate]);\n /**\n * Callback after the input box value is changed.\n */\n\n var handleInputChange = (0, _react.useCallback)(function (value) {\n setInputState('Typing');\n var rangeValue = value.split(character); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true\n // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false\n\n if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {\n locale: locale.dateLocale\n }) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {\n locale: locale.dateLocale\n })) {\n setInputState('Error');\n return;\n }\n\n var startDate = parseDate(rangeValue[0], formatStr);\n var endDate = parseDate(rangeValue[1], formatStr);\n var selectValue = [startDate, endDate];\n\n if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {\n setInputState('Error');\n return;\n }\n\n if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {\n setInputState('Error');\n return;\n }\n\n setHoverDateRange(selectValue);\n setSelectedDates(selectValue);\n updateCalendarDate(selectValue);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [character, rangeFormatStr, updateCalendarDate]);\n /**\n * The callback after the enter key is triggered on the input\n */\n\n var handleInputPressEnd = (0, _react.useCallback)(function (event) {\n if (inputState === 'Typing') {\n handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);\n }\n\n setInputState('Initial');\n }, [handleValueUpdate, selectedDates, inputState]);\n var handleEnter = (0, _react.useCallback)(function () {\n var nextCalendarDate;\n\n if (value && value.length) {\n var _startDate = value[0],\n endData = value[1];\n nextCalendarDate = [_startDate, (0, _dateUtils.isSameMonth)(_startDate, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];\n } else {\n nextCalendarDate = (0, _utils2.getCalendarDate)({\n value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null\n });\n }\n\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n updateCalendarDate(nextCalendarDate);\n }, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);\n var handleEntered = (0, _react.useCallback)(function () {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setPickerToggleActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setPickerToggleActive(false);\n hasDoneSelect.current = true;\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]);\n var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {\n var _disabledDateProp;\n\n return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;\n }, [disabledDateProp]);\n var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {\n // If the date is between the start and the end\n // the button is disabled\n while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {\n if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {\n return true;\n }\n\n start = _utils.DateUtils.addDays(start, 1);\n }\n\n return false;\n }, [isDateDisabled, selectedDates]);\n var disabledOkButton = (0, _react.useCallback)(function () {\n var start = selectedDates[0],\n end = selectedDates[1];\n\n if (!start || !end || !hasDoneSelect.current) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);\n }, [disabledByBetween, selectedDates]);\n var disabledShortcutButton = (0, _react.useCallback)(function (value) {\n if (value === void 0) {\n value = [];\n }\n\n var _value = value,\n start = _value[0],\n end = _value[1];\n\n if (!start || !end) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);\n }, [disabledByBetween]);\n var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {\n return isDateDisabled(date, values, hasDoneSelect.current, type);\n }, [isDateDisabled]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n active: isPickerToggleActive,\n onExit: handleClean\n }, rest));\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('daterange-menu'));\n var panelClasses = prefix('daterange-panel', {\n 'daterange-panel-show-one-calendar': showOneCalendar\n });\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var panelProps = {\n calendarDate: calendarDate,\n disabledDate: handleDisabledDate,\n format: formatStr,\n hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,\n isoWeek: isoWeek,\n limitEndYear: limitEndYear,\n locale: locale,\n showOneCalendar: showOneCalendar,\n showWeekNumbers: showWeekNumbers,\n value: selectedDates,\n showMeridian: showMeridian,\n onChangeCalendarDate: handleChangeCalendarDate,\n onChangeCalendarTime: handleChangeCalendarTime,\n onMouseMove: handleMouseMove,\n onSelect: handleSelectDate,\n onToggleMeridian: handleToggleMeridian,\n renderTitle: renderTitle\n };\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n className: classes,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n target: triggerRef,\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 717,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 723,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 724,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 725,\n columnNumber: 13\n }\n }, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(\"daterange-calendar-\" + (showOneCalendar ? 'single' : 'group')),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 726,\n columnNumber: 13\n }\n }, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 0\n }, panelProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 727,\n columnNumber: 15\n }\n })), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 1\n }, panelProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 728,\n columnNumber: 36\n }\n })))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n calendarDate: selectedDates,\n disabledOkBtn: disabledOkButton,\n disabledShortcut: disabledShortcutButton,\n hideOkBtn: oneTap,\n onOk: handleOK,\n onClickShortcut: handleShortcutPageDate,\n ranges: ranges,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 731,\n columnNumber: 11\n }\n })));\n };\n\n var hasValue = !(0, _isNil.default)(value) && value.length > 1;\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n name: 'daterange',\n appearance: appearance,\n hasValue: hasValue,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 757,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n ref: rootRef,\n className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = inputState === 'Error', _merge)),\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 766,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {\n as: toggleAs,\n ref: targetRef,\n appearance: appearance,\n input: true,\n inputMask: _utils.DateUtils.getDateMask(rangeFormatStr),\n inputValue: value ? getDisplayString(value, true) : '',\n inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,\n onInputChange: handleInputChange,\n onInputBlur: handleInputPressEnd,\n onInputPressEnter: handleInputPressEnd,\n onKeyDown: onPickerKeyDown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: isPickerToggleActive,\n placement: placement,\n disabled: disabled,\n caretAs: caretAs || _Calendar.default,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 773,\n columnNumber: 9\n }\n }), getDisplayString(value))));\n});\n\nDateRangePicker.after = disabledDateUtils.after;\nDateRangePicker.afterToday = disabledDateUtils.afterToday;\nDateRangePicker.allowedDays = disabledDateUtils.allowedDays;\nDateRangePicker.allowedMaxDays = disabledDateUtils.allowedMaxDays;\nDateRangePicker.allowedRange = disabledDateUtils.allowedRange;\nDateRangePicker.before = disabledDateUtils.before;\nDateRangePicker.beforeToday = disabledDateUtils.beforeToday;\nDateRangePicker.combine = disabledDateUtils.combine;\nDateRangePicker.displayName = 'DateRangePicker';\nDateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {\n ranges: _propTypes.default.array,\n value: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultCalendarValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n hoverRange: _propTypes.default.oneOfType([_propTypes.default.oneOf(['week', 'month']), _propTypes.default.func]),\n format: _propTypes.default.string,\n isoWeek: _propTypes.default.bool,\n oneTap: _propTypes.default.bool,\n limitEndYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onOk: _propTypes.default.func,\n disabledDate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n showWeekNumbers: _propTypes.default.bool,\n showMeridian: _propTypes.default.bool,\n showOneCalendar: _propTypes.default.bool\n});\nvar _default = DateRangePicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePicker.tsx?");
|
|
2357
2357
|
|
|
2358
2358
|
/***/ }),
|
|
2359
2359
|
|
|
@@ -2507,7 +2507,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2507
2507
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2508
2508
|
|
|
2509
2509
|
"use strict";
|
|
2510
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Dropdown/DropdownMenu.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _DropdownItem = _interopRequireDefault(__webpack_require__(/*! ./DropdownItem */ \"./src/Dropdown/DropdownItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _DropdownToggle = _interopRequireDefault(__webpack_require__(/*! ./DropdownToggle */ \"./src/Dropdown/DropdownToggle.tsx\"));\n\nvar _MenuContext = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _kebabCase = _interopRequireDefault(__webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar */ \"./src/Navbar/index.tsx\");\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure/Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _SidenavDropdown = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdown */ \"./src/Sidenav/SidenavDropdown.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/Dropdown.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown> API\n * When used inside <Sidenav>, renders a <TreeviewRootItem>;\n * Otherwise renders a <MenuRoot>\n */\nvar Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeKey = props.activeKey,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"activeKey\", \"onSelect\"]);\n var _rest$as = rest.as,\n Component = _rest$as === void 0 ? 'div' : _rest$as,\n title = rest.title,\n onClose = rest.onClose,\n onOpen = rest.onOpen,\n onToggle = rest.onToggle,\n eventKey = rest.eventKey,\n _rest$trigger = rest.trigger,\n trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,\n _rest$placement = rest.placement,\n placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,\n toggleAs = rest.toggleAs,\n toggleClassName = rest.toggleClassName,\n _rest$classPrefix = rest.classPrefix,\n classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,\n className = rest.className,\n disabled = rest.disabled,\n children = rest.children,\n menuStyle = rest.menuStyle,\n style = rest.style,\n toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, [\"as\", \"title\", \"onClose\", \"onOpen\", \"onToggle\", \"eventKey\", \"trigger\", \"placement\", \"toggleAs\", \"toggleClassName\", \"classPrefix\", \"className\", \"disabled\", \"children\", \"menuStyle\", \"style\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n onSelectFromNav = _useContext.onSelect;\n\n var emitSelect = (0, _react.useCallback)(function (eventKey, event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>\n\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [onSelectProp, onSelectFromNav]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),\n withNavItemClassPrefix = _useClassNames3.withClassPrefix,\n mergeNavItemClassNames = _useClassNames3.merge;\n\n var menuButtonTriggers = (0, _react.useMemo)(function () {\n if (!trigger) {\n return undefined;\n }\n\n var triggerMap = {\n hover: 'mouseover',\n click: 'click',\n contextMenu: 'contextmenu'\n };\n\n if (!Array.isArray(trigger)) {\n return [triggerMap[trigger]];\n }\n\n return trigger.map(function (t) {\n return triggerMap[t];\n });\n }, [trigger]);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n\n var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),\n items = _useReducer[0].items,\n dispatch = _useReducer[1];\n\n var hasSelectedItem = (0, _react.useMemo)(function () {\n return items.some(function (item) {\n return item.props.selected;\n });\n }, [items]);\n var dropdownContextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: emitSelect,\n hasSelectedItem: hasSelectedItem,\n dispatch: dispatch\n };\n }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({\n ref: ref\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 188,\n columnNumber: 9\n }\n })));\n } // Renders a disclosure when used inside <Navbar>\n\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 196,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 197,\n columnNumber: 9\n }\n }, function (_ref, containerRef) {\n var _withClassPrefix;\n\n var open = _ref.open;\n var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 210,\n columnNumber: 17\n }\n }, function (buttonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: buttonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(buttonProps, ['open']), toggleProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 212,\n columnNumber: 21\n }\n }), title);\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 17\n }\n }, function (_ref2, elementRef) {\n var open = _ref2.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n ref: elementRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 229,\n columnNumber: 23\n }\n }, children);\n }));\n }));\n }\n\n var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: menuButtonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 249,\n columnNumber: 5\n }\n }), title);\n };\n\n if (parentMenu) {\n renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 264,\n columnNumber: 7\n }\n }, function (_ref3, menuitemRef) {\n var active = _ref3.active,\n menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"active\"]);\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n as: toggleAs,\n className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({\n focus: active\n }))\n }, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 13\n }\n }), title);\n });\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Menu.default, {\n menuButtonText: title,\n renderMenuButton: renderMenuButton,\n openMenuOn: menuButtonTriggers,\n renderMenuPopup: function renderMenuPopup(_ref4, popupRef) {\n var open = _ref4.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu\n\n var showHeader = !!sidenav;\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open\n }, popupProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 300,\n columnNumber: 13\n }\n }), showHeader && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 30\n }\n }, title), children);\n },\n onToggleMenu: function onToggleMenu(open, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);\n sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);\n\n if (open) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n } else {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 290,\n columnNumber: 7\n }\n }, function (_ref5, menuContainerRef) {\n var _withClassPrefix2;\n\n var open = _ref5.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"open\"]);\n var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, (0, _pick.default)(toggleProps, ['data-testid']), {\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 334,\n columnNumber: 13\n }\n }));\n }));\n});\n\nDropdown.Item = _DropdownItem.default;\nDropdown.Menu = _DropdownMenu.default;\nDropdown.displayName = 'Dropdown';\nDropdown.propTypes = {\n activeKey: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),\n placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),\n title: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n icon: _propTypes.default.node,\n menuStyle: _propTypes.default.object,\n className: _propTypes.default.string,\n toggleClassName: _propTypes.default.string,\n children: _propTypes.default.node,\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n eventKey: _propTypes.default.any,\n as: _propTypes.default.elementType,\n toggleAs: _propTypes.default.elementType,\n noCaret: _propTypes.default.bool,\n style: _propTypes.default.object,\n onClose: _propTypes.default.func,\n onOpen: _propTypes.default.func,\n onToggle: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onMouseEnter: _propTypes.default.func,\n onMouseLeave: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onClick: _propTypes.default.func,\n renderToggle: _propTypes.default.func\n};\nvar _default = Dropdown;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/Dropdown.tsx?");
|
|
2510
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Dropdown/DropdownMenu.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _DropdownItem = _interopRequireDefault(__webpack_require__(/*! ./DropdownItem */ \"./src/Dropdown/DropdownItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _DropdownToggle = _interopRequireDefault(__webpack_require__(/*! ./DropdownToggle */ \"./src/Dropdown/DropdownToggle.tsx\"));\n\nvar _MenuContext = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _kebabCase = _interopRequireDefault(__webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar */ \"./src/Navbar/index.tsx\");\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure/Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _SidenavDropdown = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdown */ \"./src/Sidenav/SidenavDropdown.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/Dropdown.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown> API\n * When used inside <Sidenav>, renders a <TreeviewRootItem>;\n * Otherwise renders a <MenuRoot>\n */\nvar Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeKey = props.activeKey,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"activeKey\", \"onSelect\"]);\n var _rest$as = rest.as,\n Component = _rest$as === void 0 ? 'div' : _rest$as,\n title = rest.title,\n onClose = rest.onClose,\n onOpen = rest.onOpen,\n onToggle = rest.onToggle,\n eventKey = rest.eventKey,\n _rest$trigger = rest.trigger,\n trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,\n _rest$placement = rest.placement,\n placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,\n toggleAs = rest.toggleAs,\n toggleClassName = rest.toggleClassName,\n open = rest.open,\n defaultOpen = rest.defaultOpen,\n _rest$classPrefix = rest.classPrefix,\n classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,\n className = rest.className,\n disabled = rest.disabled,\n children = rest.children,\n menuStyle = rest.menuStyle,\n style = rest.style,\n toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, [\"as\", \"title\", \"onClose\", \"onOpen\", \"onToggle\", \"eventKey\", \"trigger\", \"placement\", \"toggleAs\", \"toggleClassName\", \"open\", \"defaultOpen\", \"classPrefix\", \"className\", \"disabled\", \"children\", \"menuStyle\", \"style\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n onSelectFromNav = _useContext.onSelect;\n\n var emitSelect = (0, _react.useCallback)(function (eventKey, event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>\n\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [onSelectProp, onSelectFromNav]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),\n withNavItemClassPrefix = _useClassNames3.withClassPrefix,\n mergeNavItemClassNames = _useClassNames3.merge;\n\n var menuButtonTriggers = (0, _react.useMemo)(function () {\n if (!trigger) {\n return undefined;\n }\n\n var triggerMap = {\n hover: 'mouseover',\n click: 'click',\n contextMenu: 'contextmenu'\n };\n\n if (!Array.isArray(trigger)) {\n return [triggerMap[trigger]];\n }\n\n return trigger.map(function (t) {\n return triggerMap[t];\n });\n }, [trigger]);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n\n var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),\n items = _useReducer[0].items,\n dispatch = _useReducer[1];\n\n var hasSelectedItem = (0, _react.useMemo)(function () {\n return items.some(function (item) {\n return item.props.selected;\n });\n }, [items]);\n var dropdownContextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: emitSelect,\n hasSelectedItem: hasSelectedItem,\n dispatch: dispatch\n };\n }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({\n ref: ref\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 193,\n columnNumber: 9\n }\n })));\n } // Renders a disclosure when used inside <Navbar>\n\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 202,\n columnNumber: 9\n }\n }, function (_ref, containerRef) {\n var _withClassPrefix;\n\n var open = _ref.open;\n var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 214,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 17\n }\n }, function (buttonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: buttonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(buttonProps, ['open']), toggleProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 21\n }\n }), title);\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 230,\n columnNumber: 17\n }\n }, function (_ref2, elementRef) {\n var open = _ref2.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n ref: elementRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 234,\n columnNumber: 23\n }\n }, children);\n }));\n }));\n }\n\n var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: menuButtonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 254,\n columnNumber: 5\n }\n }), title);\n };\n\n if (parentMenu) {\n renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 269,\n columnNumber: 7\n }\n }, function (_ref3, menuitemRef) {\n var active = _ref3.active,\n menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"active\"]);\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n as: toggleAs,\n className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({\n focus: active\n }))\n }, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 13\n }\n }), title);\n });\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 294,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Menu.default, {\n open: open,\n defaultOpen: defaultOpen,\n menuButtonText: title,\n renderMenuButton: renderMenuButton,\n openMenuOn: menuButtonTriggers,\n renderMenuPopup: function renderMenuPopup(_ref4, popupRef) {\n var open = _ref4.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu\n\n var showHeader = !!sidenav;\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open\n }, popupProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 13\n }\n }), showHeader && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 30\n }\n }, title), children);\n },\n onToggleMenu: function onToggleMenu(open, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);\n sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);\n\n if (open) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n } else {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 295,\n columnNumber: 7\n }\n }, function (_ref5, menuContainerRef) {\n var _withClassPrefix2;\n\n var open = _ref5.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"open\"]);\n var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, (0, _pick.default)(toggleProps, ['data-testid']), {\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 13\n }\n }));\n }));\n});\n\nDropdown.Item = _DropdownItem.default;\nDropdown.Menu = _DropdownMenu.default;\nDropdown.displayName = 'Dropdown';\nDropdown.propTypes = {\n activeKey: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),\n placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),\n title: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n icon: _propTypes.default.node,\n menuStyle: _propTypes.default.object,\n className: _propTypes.default.string,\n toggleClassName: _propTypes.default.string,\n children: _propTypes.default.node,\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n eventKey: _propTypes.default.any,\n as: _propTypes.default.elementType,\n toggleAs: _propTypes.default.elementType,\n noCaret: _propTypes.default.bool,\n style: _propTypes.default.object,\n onClose: _propTypes.default.func,\n onOpen: _propTypes.default.func,\n onToggle: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onMouseEnter: _propTypes.default.func,\n onMouseLeave: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onClick: _propTypes.default.func,\n renderToggle: _propTypes.default.func\n};\nvar _default = Dropdown;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/Dropdown.tsx?");
|
|
2511
2511
|
|
|
2512
2512
|
/***/ }),
|
|
2513
2513
|
|
|
@@ -2650,7 +2650,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2650
2650
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2651
2651
|
|
|
2652
2652
|
"use strict";
|
|
2653
|
-
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 _extends6 = _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 _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\n\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\n\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\n\nvar _useFormClassNames = __webpack_require__(/*! ./useFormClassNames */ \"./src/Form/useFormClassNames.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\",\n _this = void 0;\n\nvar Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$checkTrigger = props.checkTrigger,\n checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,\n _props$errorFromConte = props.errorFromContext,\n errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,\n _props$formDefaultVal = props.formDefaultValue,\n formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,\n formValue = props.formValue,\n formError = props.formError,\n fluid = props.fluid,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'vertical' : _props$layout,\n _props$model = props.model,\n model = _props$model === void 0 ? (0, _schemaTyped.SchemaModel)({}) : _props$model,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n className = props.className,\n children = props.children,\n disabled = props.disabled,\n onSubmit = props.onSubmit,\n onCheck = props.onCheck,\n onError = props.onError,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"checkTrigger\", \"classPrefix\", \"errorFromContext\", \"formDefaultValue\", \"formValue\", \"formError\", \"fluid\", \"layout\", \"model\", \"readOnly\", \"plaintext\", \"className\", \"children\", \"disabled\", \"onSubmit\", \"onCheck\", \"onError\", \"onChange\"]);\n var classes = (0, _useFormClassNames.useFormClassNames)({\n classPrefix: classPrefix,\n className: className,\n fluid: fluid,\n layout: layout,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled\n });\n\n var _useState = (0, _react.useState)(formDefaultValue),\n _formValue = _useState[0],\n setFormValue = _useState[1];\n\n var _useState2 = (0, _react.useState)(formError || {}),\n _formError = _useState2[0],\n setFormError = _useState2[1];\n\n var getFormValue = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formValue) ? _formValue : formValue;\n }, [_formValue, formValue]);\n var getFormError = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formError) ? _formError : formError;\n }, [formError, _formError]);\n /**\n * Validate the form data and return a boolean.\n * The error message after verification is returned in the callback.\n * @param callback\n */\n\n var check = (0, _react.useCallback)(function (callback) {\n var formValue = getFormValue() || {};\n var formError = {};\n var errorCount = 0;\n Object.keys(model.spec).forEach(function (key) {\n var checkResult = model.checkForField(key, formValue);\n\n if (checkResult.hasError === true) {\n errorCount += 1;\n formError[key] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult;\n }\n });\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n return false;\n }\n\n return true;\n }, [onCheck, onError, model, getFormValue]);\n /**\n * Check the data field\n * @param fieldName\n * @param callback\n */\n\n var checkForField = (0, _react.useCallback)(function (fieldName, callback) {\n var _extends2;\n\n var formValue = getFormValue() || {};\n var checkResult = model.checkForField(fieldName, formValue);\n var formError = (0, _extends6.default)({}, getFormError(), (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(checkResult);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return !checkResult.hasError;\n }, [model, getFormValue, getFormError, onCheck, onError]);\n /**\n * Check form data asynchronously and return a Promise\n */\n\n var checkAsync = (0, _react.useCallback)(function () {\n var formValue = getFormValue() || {};\n var promises = [];\n var keys = [];\n Object.keys(model.spec).forEach(function (key) {\n keys.push(key);\n promises.push(model.checkForFieldAsync(key, formValue));\n });\n return Promise.all(promises).then(function (values) {\n var formError = {};\n var errorCount = 0;\n\n for (var i = 0; i < values.length; i++) {\n if (values[i].hasError) {\n errorCount += 1;\n formError[keys[i]] = values[i].errorMessage;\n }\n }\n\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return {\n hasError: errorCount > 0,\n formError: formError\n };\n });\n }, [model, getFormValue, onCheck, onError]);\n /**\n * Asynchronously check form fields and return Promise\n * @param fieldName\n */\n\n var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {\n var formValue = getFormValue() || {};\n return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {\n var _extends3;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return checkResult;\n });\n }, [model, getFormValue, getFormError, onCheck, onError]);\n var cleanErrors = (0, _react.useCallback)(function () {\n setFormError({});\n }, []);\n var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {\n setFormError((0, _omit.default)(_formError, [fieldName]));\n }, [_formError]);\n var resetErrors = (0, _react.useCallback)(function (formError) {\n if (formError === void 0) {\n formError = {};\n }\n\n setFormError(formError);\n }, []);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n check: check,\n checkForField: checkForField,\n checkAsync: checkAsync,\n checkForFieldAsync: checkForFieldAsync,\n cleanErrors: cleanErrors,\n cleanErrorForField: cleanErrorForField,\n resetErrors: resetErrors\n };\n });\n var handleSubmit = (0, _react.useCallback)(function (event) {\n if (disabled || readOnly || plaintext) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n var checkStatus = check();\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(checkStatus, event);\n }, [disabled, readOnly, plaintext, check, onSubmit]);\n var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {\n var _extends4;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends4 = {}, _extends4[name] = errorMessage, _extends4));\n setFormError(formError);\n onError === null || onError === void 0 ? void 0 : onError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onError, onCheck, getFormError]);\n var handleFieldSuccess = (0, _react.useCallback)(function (name) {\n var formError = (0, _omit.default)(getFormError(), [name]);\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onCheck, getFormError]);\n var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {\n var _extends5;\n\n var formValue = getFormValue();\n var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));\n setFormValue(nextFormValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);\n }, [onChange, getFormValue]);\n var rootRef = (0, _react.useRef)(null);\n var formContextValue = (0, _react.useMemo)(function () {\n return {\n model: model,\n checkTrigger: checkTrigger,\n formDefaultValue: formDefaultValue,\n errorFromContext: errorFromContext,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n formError: getFormError(),\n onFieldChange: handleFieldChange,\n onFieldError: handleFieldError,\n onFieldSuccess: handleFieldSuccess\n };\n }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, handleFieldChange, handleFieldError, handleFieldSuccess]);\n return /*#__PURE__*/_react.default.createElement(\"form\", (0, _extends6.default)({}, rest, {\n ref: rootRef,\n onSubmit: handleSubmit,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 378,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {\n value: formContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 379,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {\n value: formValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 380,\n columnNumber: 9\n }\n }, children)));\n});\n\nForm.Control = _FormControl.default;\nForm.ControlLabel = _FormControlLabel.default;\nForm.ErrorMessage = _FormErrorMessage.default;\nForm.Group = _FormGroup.default;\nForm.HelpText = _FormHelpText.default;\nForm.Control = _FormControl.default;\nForm.displayName = 'Form';\nForm.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n errorFromContext: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['horizontal', 'vertical', 'inline']),\n fluid: _propTypes.default.bool,\n formValue: _propTypes.default.object,\n formDefaultValue: _propTypes.default.object,\n formError: _propTypes.default.object,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n onChange: _propTypes.default.func,\n onError: _propTypes.default.func,\n onCheck: _propTypes.default.func,\n onSubmit: _propTypes.default.func,\n model: _propTypes.default.any,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n disabled: _propTypes.default.bool\n};\nvar _default = Form;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
|
|
2653
|
+
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 _extends6 = _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 _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _schemaTyped = __webpack_require__(/*! schema-typed */ \"./node_modules/schema-typed/es/index.js\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ./FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormControl = _interopRequireDefault(__webpack_require__(/*! ../FormControl */ \"./src/FormControl/index.tsx\"));\n\nvar _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ../FormControlLabel */ \"./src/FormControlLabel/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _FormGroup = _interopRequireDefault(__webpack_require__(/*! ../FormGroup */ \"./src/FormGroup/index.tsx\"));\n\nvar _FormHelpText = _interopRequireDefault(__webpack_require__(/*! ../FormHelpText */ \"./src/FormHelpText/index.tsx\"));\n\nvar _useFormClassNames = __webpack_require__(/*! ./useFormClassNames */ \"./src/Form/useFormClassNames.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Form/Form.tsx\",\n _this = void 0;\n\nvar Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$checkTrigger = props.checkTrigger,\n checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form' : _props$classPrefix,\n _props$errorFromConte = props.errorFromContext,\n errorFromContext = _props$errorFromConte === void 0 ? true : _props$errorFromConte,\n _props$formDefaultVal = props.formDefaultValue,\n formDefaultValue = _props$formDefaultVal === void 0 ? {} : _props$formDefaultVal,\n formValue = props.formValue,\n formError = props.formError,\n fluid = props.fluid,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'vertical' : _props$layout,\n _props$model = props.model,\n model = _props$model === void 0 ? (0, _schemaTyped.SchemaModel)({}) : _props$model,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n className = props.className,\n children = props.children,\n disabled = props.disabled,\n onSubmit = props.onSubmit,\n onCheck = props.onCheck,\n onError = props.onError,\n onChange = props.onChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"checkTrigger\", \"classPrefix\", \"errorFromContext\", \"formDefaultValue\", \"formValue\", \"formError\", \"fluid\", \"layout\", \"model\", \"readOnly\", \"plaintext\", \"className\", \"children\", \"disabled\", \"onSubmit\", \"onCheck\", \"onError\", \"onChange\"]);\n var classes = (0, _useFormClassNames.useFormClassNames)({\n classPrefix: classPrefix,\n className: className,\n fluid: fluid,\n layout: layout,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled\n });\n\n var _useState = (0, _react.useState)(formDefaultValue),\n _formValue = _useState[0],\n setFormValue = _useState[1];\n\n var _useState2 = (0, _react.useState)(formError || {}),\n _formError = _useState2[0],\n setFormError = _useState2[1];\n\n var getFormValue = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formValue) ? _formValue : formValue;\n }, [_formValue, formValue]);\n var getFormError = (0, _react.useCallback)(function () {\n return (0, _isUndefined.default)(formError) ? _formError : formError;\n }, [formError, _formError]);\n /**\n * Validate the form data and return a boolean.\n * The error message after verification is returned in the callback.\n * @param callback\n */\n\n var check = (0, _react.useCallback)(function (callback) {\n var formValue = getFormValue() || {};\n var formError = {};\n var errorCount = 0;\n Object.keys(model.spec).forEach(function (key) {\n var checkResult = model.checkForField(key, formValue);\n\n if (checkResult.hasError === true) {\n errorCount += 1;\n formError[key] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult;\n }\n });\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n return false;\n }\n\n return true;\n }, [onCheck, onError, model, getFormValue]);\n /**\n * Check the data field\n * @param fieldName\n * @param callback\n */\n\n var checkForField = (0, _react.useCallback)(function (fieldName, callback) {\n var _extends2;\n\n var formValue = getFormValue() || {};\n var checkResult = model.checkForField(fieldName, formValue);\n var formError = (0, _extends6.default)({}, getFormError(), (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n callback === null || callback === void 0 ? void 0 : callback(checkResult);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return !checkResult.hasError;\n }, [model, getFormValue, getFormError, onCheck, onError]);\n /**\n * Check form data asynchronously and return a Promise\n */\n\n var checkAsync = (0, _react.useCallback)(function () {\n var formValue = getFormValue() || {};\n var promises = [];\n var keys = [];\n Object.keys(model.spec).forEach(function (key) {\n keys.push(key);\n promises.push(model.checkForFieldAsync(key, formValue));\n });\n return Promise.all(promises).then(function (values) {\n var formError = {};\n var errorCount = 0;\n\n for (var i = 0; i < values.length; i++) {\n if (values[i].hasError) {\n errorCount += 1;\n formError[keys[i]] = values[i].errorMessage;\n }\n }\n\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (errorCount > 0) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return {\n hasError: errorCount > 0,\n formError: formError\n };\n });\n }, [model, getFormValue, onCheck, onError]);\n /**\n * Asynchronously check form fields and return Promise\n * @param fieldName\n */\n\n var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {\n var formValue = getFormValue() || {};\n return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {\n var _extends3;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n setFormError(formError);\n\n if (checkResult.hasError) {\n onError === null || onError === void 0 ? void 0 : onError(formError);\n }\n\n return checkResult;\n });\n }, [model, getFormValue, getFormError, onCheck, onError]);\n var cleanErrors = (0, _react.useCallback)(function () {\n setFormError({});\n }, []);\n var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {\n setFormError((0, _omit.default)(_formError, [fieldName]));\n }, [_formError]);\n var resetErrors = (0, _react.useCallback)(function (formError) {\n if (formError === void 0) {\n formError = {};\n }\n\n setFormError(formError);\n }, []);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n check: check,\n checkForField: checkForField,\n checkAsync: checkAsync,\n checkForFieldAsync: checkForFieldAsync,\n cleanErrors: cleanErrors,\n cleanErrorForField: cleanErrorForField,\n resetErrors: resetErrors\n };\n });\n var removeFieldError = (0, _react.useCallback)(function (name) {\n var formError = (0, _omit.default)(getFormError(), [name]);\n setFormError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [getFormError, onCheck]);\n var removeFieldValue = (0, _react.useCallback)(function (name) {\n var formValue = (0, _omit.default)(getFormValue(), [name]);\n setFormValue(formValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(formValue);\n }, [getFormValue, onChange]);\n var handleSubmit = (0, _react.useCallback)(function (event) {\n if (disabled || readOnly || plaintext) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n var checkStatus = check();\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(checkStatus, event);\n }, [disabled, readOnly, plaintext, check, onSubmit]);\n var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {\n var _extends4;\n\n var formError = (0, _extends6.default)({}, getFormError(), (_extends4 = {}, _extends4[name] = errorMessage, _extends4));\n setFormError(formError);\n onError === null || onError === void 0 ? void 0 : onError(formError);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);\n }, [onError, onCheck, getFormError]);\n var handleFieldSuccess = (0, _react.useCallback)(function (name) {\n removeFieldError(name);\n }, [removeFieldError]);\n var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {\n var _extends5;\n\n var formValue = getFormValue();\n var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));\n setFormValue(nextFormValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);\n }, [onChange, getFormValue]);\n var rootRef = (0, _react.useRef)(null);\n var formContextValue = (0, _react.useMemo)(function () {\n return {\n model: model,\n checkTrigger: checkTrigger,\n formDefaultValue: formDefaultValue,\n errorFromContext: errorFromContext,\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n formError: getFormError(),\n removeFieldValue: removeFieldValue,\n removeFieldError: removeFieldError,\n onFieldChange: handleFieldChange,\n onFieldError: handleFieldError,\n onFieldSuccess: handleFieldSuccess\n };\n }, [model, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, removeFieldValue, removeFieldError, handleFieldChange, handleFieldError, handleFieldSuccess]);\n return /*#__PURE__*/_react.default.createElement(\"form\", (0, _extends6.default)({}, rest, {\n ref: rootRef,\n onSubmit: handleSubmit,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 398,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(_FormContext.default.Provider, {\n value: formContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 399,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_FormContext.FormValueContext.Provider, {\n value: formValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 9\n }\n }, children)));\n});\n\nForm.Control = _FormControl.default;\nForm.ControlLabel = _FormControlLabel.default;\nForm.ErrorMessage = _FormErrorMessage.default;\nForm.Group = _FormGroup.default;\nForm.HelpText = _FormHelpText.default;\nForm.Control = _FormControl.default;\nForm.displayName = 'Form';\nForm.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n children: _propTypes.default.node,\n errorFromContext: _propTypes.default.bool,\n layout: _propTypes.default.oneOf(['horizontal', 'vertical', 'inline']),\n fluid: _propTypes.default.bool,\n formValue: _propTypes.default.object,\n formDefaultValue: _propTypes.default.object,\n formError: _propTypes.default.object,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n onChange: _propTypes.default.func,\n onError: _propTypes.default.func,\n onCheck: _propTypes.default.func,\n onSubmit: _propTypes.default.func,\n model: _propTypes.default.any,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n disabled: _propTypes.default.bool\n};\nvar _default = Form;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Form/Form.tsx?");
|
|
2654
2654
|
|
|
2655
2655
|
/***/ }),
|
|
2656
2656
|
|
|
@@ -2694,7 +2694,7 @@ eval("\n\nexports.__esModule = true;\nexports.useFormClassNames = useFormClassNa
|
|
|
2694
2694
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2695
2695
|
|
|
2696
2696
|
"use strict";
|
|
2697
|
-
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 _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ../Form/FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormGroup = __webpack_require__(/*! ../FormGroup/FormGroup */ \"./src/FormGroup/FormGroup.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/FormControl/FormControl.tsx\",\n _this = void 0,\n _templateObject;\n\nvar FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _useContext = (0, _react.useContext)(_FormContext.default),\n readOnlyContext = _useContext.readOnly,\n plaintextContext = _useContext.plaintext,\n disabledContext = _useContext.disabled,\n errorFromContext = _useContext.errorFromContext,\n _useContext$formDefau = _useContext.formDefaultValue,\n formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,\n formError = _useContext.formError,\n onFieldChange = _useContext.onFieldChange,\n onFieldError = _useContext.onFieldError,\n onFieldSuccess = _useContext.onFieldSuccess,\n model = _useContext.model,\n contextCheckTrigger = _useContext.checkTrigger;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$accepter = props.accepter,\n AccepterComponent = _props$accepter === void 0 ? _Input.default : _props$accepter,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form-control' : _props$classPrefix,\n className = props.className,\n checkAsync = props.checkAsync,\n checkTrigger = props.checkTrigger,\n _props$errorPlacement = props.errorPlacement,\n errorPlacement = _props$errorPlacement === void 0 ? 'bottomStart' : _props$errorPlacement,\n errorMessage = props.errorMessage,\n name = props.name,\n value = props.value,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? readOnlyContext : _props$readOnly,\n _props$plaintext = props.plaintext,\n plaintext = _props$plaintext === void 0 ? plaintextContext : _props$plaintext,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? disabledContext : _props$disabled,\n onChange = props.onChange,\n onBlur = props.onBlur,\n defaultValue = props.defaultValue,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"accepter\", \"classPrefix\", \"className\", \"checkAsync\", \"checkTrigger\", \"errorPlacement\", \"errorMessage\", \"name\", \"value\", \"readOnly\", \"plaintext\", \"disabled\", \"onChange\", \"onBlur\", \"defaultValue\"]);\n\n var _useContext2 = (0, _react.useContext)(_FormGroup.FormGroupContext),\n controlId = _useContext2.controlId;\n\n if (!onFieldChange) {\n throw new Error(\"\\n <FormControl> must be inside a component decorated with <Form>.\\n And need to update React to 16.6.0 +.\\n \");\n }\n\n var trigger = checkTrigger || contextCheckTrigger;\n var formValue = (0, _react.useContext)(_FormContext.FormValueContext);\n var val = (0, _isUndefined.default)(value) ? formValue === null || formValue === void 0 ? void 0 : formValue[name] : value;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, withClassPrefix('wrapper'));\n\n var handleFieldChange = function handleFieldChange(value, event) {\n handleFieldCheck(value, trigger === 'change');\n onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(name, value, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n var handleFieldBlur = function handleFieldBlur(event) {\n handleFieldCheck(val, trigger === 'blur');\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n };\n\n var handleFieldCheck = function handleFieldCheck(value, isCheckTrigger) {\n var _extends2;\n\n var callbackEvents = function callbackEvents(checkResult) {\n // The relevant event is triggered only when the inspection is allowed.\n if (isCheckTrigger) {\n if (checkResult.hasError) {\n onFieldError === null || onFieldError === void 0 ? void 0 : onFieldError(name, (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult);\n } else {\n onFieldSuccess === null || onFieldSuccess === void 0 ? void 0 : onFieldSuccess(name);\n }\n }\n\n return checkResult;\n };\n\n var nextFormValue = (0, _extends3.default)({}, formValue, (_extends2 = {}, _extends2[name] = value, _extends2));\n\n if (checkAsync) {\n return model === null || model === void 0 ? void 0 : model.checkForFieldAsync(name, nextFormValue).then(function (checkResult) {\n return callbackEvents(checkResult);\n });\n }\n\n return Promise.resolve(callbackEvents(model === null || model === void 0 ? void 0 : model.checkForField(name, nextFormValue)));\n };\n\n var messageNode = null;\n\n if (!(0, _isUndefined.default)(errorMessage)) {\n messageNode = errorMessage;\n } else if (errorFromContext) {\n var fieldError = formError === null || formError === void 0 ? void 0 : formError[name];\n\n if (typeof fieldError === 'string' || !(fieldError !== null && fieldError !== void 0 && fieldError.array) && !(fieldError !== null && fieldError !== void 0 && fieldError.object) && fieldError !== null && fieldError !== void 0 && fieldError.hasError) {\n messageNode = fieldError;\n }\n }\n\n var ariaDescribedby = controlId ? controlId + \"-help-text\" : null;\n var fieldHasError = Boolean(messageNode);\n var ariaErrormessage = fieldHasError && controlId ? controlId + \"-error-message\" : undefined;\n return /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n ref: ref,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 166,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(AccepterComponent, (0, _extends3.default)({\n id: controlId,\n \"aria-labelledby\": controlId ? controlId + \"-control-label\" : null,\n \"aria-describedby\": ariaDescribedby,\n \"aria-invalid\": fieldHasError || undefined,\n \"aria-errormessage\": ariaErrormessage\n }, rest, {\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n name: name,\n onChange: handleFieldChange,\n onBlur: handleFieldBlur,\n defaultValue: defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name],\n value: val,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 167,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(_FormErrorMessage.default, {\n id: controlId + \"-error-message\",\n role: \"alert\",\n \"aria-relevant\": \"all\",\n show: !!messageNode,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"message-wrapper\"]))),\n placement: errorPlacement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 184,\n columnNumber: 7\n }\n }, messageNode));\n});\n\nFormControl.displayName = 'FormControl';\nFormControl.propTypes = {\n name: _propTypes.default.string.isRequired,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n checkAsync: _propTypes.default.bool,\n accepter: _propTypes.default.any,\n onChange: _propTypes.default.func,\n onBlur: _propTypes.default.func,\n classPrefix: _propTypes.default.string,\n errorMessage: _propTypes.default.node,\n errorPlacement: _propTypes.default.oneOf(['bottomStart', 'bottomEnd', 'topStart', 'topEnd', 'leftStart', 'rightStart', 'leftEnd', 'rightEnd']),\n value: _propTypes.default.any\n};\nvar _default = FormControl;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/FormControl/FormControl.tsx?");
|
|
2697
|
+
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 _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _FormErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../FormErrorMessage */ \"./src/FormErrorMessage/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _FormContext = _interopRequireWildcard(__webpack_require__(/*! ../Form/FormContext */ \"./src/Form/FormContext.tsx\"));\n\nvar _FormGroup = __webpack_require__(/*! ../FormGroup/FormGroup */ \"./src/FormGroup/FormGroup.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/FormControl/FormControl.tsx\",\n _this = void 0,\n _templateObject;\n\nvar FormControl = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _useContext = (0, _react.useContext)(_FormContext.default),\n readOnlyContext = _useContext.readOnly,\n plaintextContext = _useContext.plaintext,\n disabledContext = _useContext.disabled,\n errorFromContext = _useContext.errorFromContext,\n _useContext$formDefau = _useContext.formDefaultValue,\n formDefaultValue = _useContext$formDefau === void 0 ? {} : _useContext$formDefau,\n formError = _useContext.formError,\n removeFieldValue = _useContext.removeFieldValue,\n removeFieldError = _useContext.removeFieldError,\n onFieldChange = _useContext.onFieldChange,\n onFieldError = _useContext.onFieldError,\n onFieldSuccess = _useContext.onFieldSuccess,\n model = _useContext.model,\n contextCheckTrigger = _useContext.checkTrigger;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$accepter = props.accepter,\n AccepterComponent = _props$accepter === void 0 ? _Input.default : _props$accepter,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'form-control' : _props$classPrefix,\n className = props.className,\n checkAsync = props.checkAsync,\n checkTrigger = props.checkTrigger,\n _props$errorPlacement = props.errorPlacement,\n errorPlacement = _props$errorPlacement === void 0 ? 'bottomStart' : _props$errorPlacement,\n errorMessage = props.errorMessage,\n name = props.name,\n value = props.value,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? readOnlyContext : _props$readOnly,\n _props$plaintext = props.plaintext,\n plaintext = _props$plaintext === void 0 ? plaintextContext : _props$plaintext,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? disabledContext : _props$disabled,\n onChange = props.onChange,\n onBlur = props.onBlur,\n defaultValue = props.defaultValue,\n _props$shouldResetWit = props.shouldResetWithUnmount,\n shouldResetWithUnmount = _props$shouldResetWit === void 0 ? false : _props$shouldResetWit,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"accepter\", \"classPrefix\", \"className\", \"checkAsync\", \"checkTrigger\", \"errorPlacement\", \"errorMessage\", \"name\", \"value\", \"readOnly\", \"plaintext\", \"disabled\", \"onChange\", \"onBlur\", \"defaultValue\", \"shouldResetWithUnmount\"]);\n\n var _useContext2 = (0, _react.useContext)(_FormGroup.FormGroupContext),\n controlId = _useContext2.controlId;\n\n if (!onFieldChange) {\n throw new Error(\"\\n <FormControl> must be inside a component decorated with <Form>.\\n And need to update React to 16.6.0 +.\\n \");\n }\n\n (0, _utils.useWillUnmount)(function () {\n if (shouldResetWithUnmount) {\n removeFieldValue === null || removeFieldValue === void 0 ? void 0 : removeFieldValue(name);\n removeFieldError === null || removeFieldError === void 0 ? void 0 : removeFieldError(name);\n }\n });\n var trigger = checkTrigger || contextCheckTrigger;\n var formValue = (0, _react.useContext)(_FormContext.FormValueContext);\n var val = (0, _isUndefined.default)(value) ? formValue === null || formValue === void 0 ? void 0 : formValue[name] : value;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, withClassPrefix('wrapper'));\n\n var handleFieldChange = function handleFieldChange(value, event) {\n handleFieldCheck(value, trigger === 'change');\n onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(name, value, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n var handleFieldBlur = function handleFieldBlur(event) {\n handleFieldCheck(val, trigger === 'blur');\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n };\n\n var handleFieldCheck = function handleFieldCheck(value, isCheckTrigger) {\n var _extends2;\n\n var callbackEvents = function callbackEvents(checkResult) {\n // The relevant event is triggered only when the inspection is allowed.\n if (isCheckTrigger) {\n if (checkResult.hasError) {\n onFieldError === null || onFieldError === void 0 ? void 0 : onFieldError(name, (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult);\n } else {\n onFieldSuccess === null || onFieldSuccess === void 0 ? void 0 : onFieldSuccess(name);\n }\n }\n\n return checkResult;\n };\n\n var nextFormValue = (0, _extends3.default)({}, formValue, (_extends2 = {}, _extends2[name] = value, _extends2));\n\n if (checkAsync) {\n return model === null || model === void 0 ? void 0 : model.checkForFieldAsync(name, nextFormValue).then(function (checkResult) {\n return callbackEvents(checkResult);\n });\n }\n\n return Promise.resolve(callbackEvents(model === null || model === void 0 ? void 0 : model.checkForField(name, nextFormValue)));\n };\n\n var messageNode = null;\n\n if (!(0, _isUndefined.default)(errorMessage)) {\n messageNode = errorMessage;\n } else if (errorFromContext) {\n var fieldError = formError === null || formError === void 0 ? void 0 : formError[name];\n\n if (typeof fieldError === 'string' || !(fieldError !== null && fieldError !== void 0 && fieldError.array) && !(fieldError !== null && fieldError !== void 0 && fieldError.object) && fieldError !== null && fieldError !== void 0 && fieldError.hasError) {\n messageNode = fieldError;\n }\n }\n\n var ariaDescribedby = controlId ? controlId + \"-help-text\" : null;\n var fieldHasError = Boolean(messageNode);\n var ariaErrormessage = fieldHasError && controlId ? controlId + \"-error-message\" : undefined;\n return /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n ref: ref,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(AccepterComponent, (0, _extends3.default)({\n id: controlId,\n \"aria-labelledby\": controlId ? controlId + \"-control-label\" : null,\n \"aria-describedby\": ariaDescribedby,\n \"aria-invalid\": fieldHasError || undefined,\n \"aria-errormessage\": ariaErrormessage\n }, rest, {\n readOnly: readOnly,\n plaintext: plaintext,\n disabled: disabled,\n name: name,\n onChange: handleFieldChange,\n onBlur: handleFieldBlur,\n defaultValue: defaultValue !== null && defaultValue !== void 0 ? defaultValue : formDefaultValue[name],\n value: val,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 181,\n columnNumber: 7\n }\n })), /*#__PURE__*/_react.default.createElement(_FormErrorMessage.default, {\n id: controlId + \"-error-message\",\n role: \"alert\",\n \"aria-relevant\": \"all\",\n show: !!messageNode,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"message-wrapper\"]))),\n placement: errorPlacement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 198,\n columnNumber: 7\n }\n }, messageNode));\n});\n\nFormControl.displayName = 'FormControl';\nFormControl.propTypes = {\n name: _propTypes.default.string.isRequired,\n checkTrigger: _propTypes.default.oneOf(['change', 'blur', 'none']),\n checkAsync: _propTypes.default.bool,\n accepter: _propTypes.default.any,\n onChange: _propTypes.default.func,\n onBlur: _propTypes.default.func,\n classPrefix: _propTypes.default.string,\n errorMessage: _propTypes.default.node,\n errorPlacement: _propTypes.default.oneOf(['bottomStart', 'bottomEnd', 'topStart', 'topEnd', 'leftStart', 'rightStart', 'leftEnd', 'rightEnd']),\n value: _propTypes.default.any\n};\nvar _default = FormControl;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/FormControl/FormControl.tsx?");
|
|
2698
2698
|
|
|
2699
2699
|
/***/ }),
|
|
2700
2700
|
|
|
@@ -3189,7 +3189,7 @@ eval("\n\nexports.__esModule = true;\nexports.convertMaskToPlaceholder = convert
|
|
|
3189
3189
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3190
3190
|
|
|
3191
3191
|
"use strict";
|
|
3192
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _useMenu = _interopRequireDefault(__webpack_require__(/*! ./useMenu */ \"./src/Menu/useMenu.ts\"));\n\nvar _useFocus2 = _interopRequireDefault(__webpack_require__(/*! ../utils/useFocus */ \"./src/utils/useFocus.ts\"));\n\nvar _useClickOutside = _interopRequireDefault(__webpack_require__(/*! ../utils/useClickOutside */ \"./src/utils/useClickOutside.ts\"));\n\nvar _events = __webpack_require__(/*! ../utils/events */ \"./src/utils/events.ts\");\n\nvar _dom = __webpack_require__(/*! ../utils/dom */ \"./src/utils/dom.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Menu/Menu.tsx\";\nvar defaultOpenMenuOn = ['click'];\n/**\n * Headless ARIA `menu`\n */\n\nfunction Menu(props) {\n var _items$activeItemInde;\n\n var disabled = props.disabled,\n children = props.children,\n _props$openMenuOn = props.openMenuOn,\n openMenuOn = _props$openMenuOn === void 0 ? defaultOpenMenuOn : _props$openMenuOn,\n menuButtonText = props.menuButtonText,\n renderMenuButton = props.renderMenuButton,\n renderMenuPopup = props.renderMenuPopup,\n onToggleMenu = props.onToggleMenu;\n var buttonElementRef = (0, _react.useRef)(null);\n var menuElementRef = (0, _react.useRef)(null);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var isSubmenu = !!parentMenu;\n var menu = (0, _useMenu.default)();\n var _menu$ = menu[0],\n open = _menu$.open,\n items = _menu$.items,\n activeItemIndex = _menu$.activeItemIndex,\n dispatch = menu[1];\n\n var _useCustom = (0, _utils.useCustom)('Menu'),\n rtl = _useCustom.rtl;\n\n var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;\n\n var _useFocus = (0, _useFocus2.default)(menuElementRef),\n grabFocus = _useFocus.grab;\n\n var openMenu = (0, _react.useCallback)(function (event) {\n dispatch({\n type: _MenuContext.MenuActionTypes.OpenMenu\n });\n\n if (!event.isTrusted) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n }\n\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);\n grabFocus();\n }, [dispatch, onToggleMenu, grabFocus]);\n var closeMenu = (0, _react.useCallback)(function (event, returnFocusToButton) {\n if (returnFocusToButton === void 0) {\n returnFocusToButton = true;\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);\n\n if (returnFocusToButton) {\n var _buttonElementRef$cur;\n\n (_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({\n preventScroll: true\n });\n }\n }, [dispatch, onToggleMenu, buttonElementRef]);\n var toggleMenu = (0, _react.useCallback)(function (event) {\n if (!open) {\n openMenu(event);\n } else {\n closeMenu(event);\n }\n }, [open, openMenu, closeMenu]);\n (0, _useClickOutside.default)({\n enabled: open,\n isOutside: function isOutside(event) {\n var _buttonElementRef$cur2, _menuElementRef$curre;\n\n return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));\n },\n // fixme if clicking on a focusable element, don't move focus to menu button\n handle: function handle(event) {\n return closeMenu(event, !(0, _dom.isFocusableElement)(event.target));\n }\n });\n /**\n * Keyboard interaction on menu button\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-13\n */\n\n var handleButtonKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Open the menu\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n } else {\n closeMenu(e);\n }\n\n break;\n // Open the menu (if closed) and move focus to first item\n // This is mostly useful after opening the menu with click\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n }\n }, [open, openMenu, closeMenu, dispatch]);\n var handleButtonClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n toggleMenu(event);\n }, [disabled, toggleMenu]);\n var handleButtonContextMenu = (0, _react.useCallback)(function (event) {\n // prevents default contextmenu\n event.preventDefault(); // Only opens menu on right click. Left click can close the menu opened by a right click\n\n if (open) return;\n if (disabled) return;\n openMenu(event);\n }, [open, disabled, openMenu]);\n var buttonEventHandlers = (0, _react.useMemo)(function () {\n var buttonEventHandlers = {\n onKeyDown: handleButtonKeydown\n };\n /**\n * Bind event of trigger,\n * not used in in the expanded state of '<Sidenav>'\n */\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {\n buttonEventHandlers.onClick = handleButtonClick;\n }\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {\n buttonEventHandlers.onContextMenu = handleButtonContextMenu;\n }\n\n return buttonEventHandlers;\n }, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);\n var buttonId = (0, _useUniqueId.default)('menubutton-');\n var menuId = (0, _useUniqueId.default)('menu-');\n var buttonAriaAttributes = (0, _react.useMemo)(function () {\n // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14\n return {\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': open || undefined,\n // it's recommend to remove aria-expanded when menu is hidden\n 'aria-controls': menuId\n };\n }, [open, menuId]);\n var buttonProps = (0, _react.useMemo)(function () {\n return (0, _extends2.default)({\n id: buttonId\n }, buttonAriaAttributes, buttonEventHandlers, {\n // render props\n open: open\n });\n }, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);\n var customMenuButton = (0, _react.useMemo)(function () {\n return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);\n }, [renderMenuButton, buttonProps, buttonElementRef]);\n var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement(\"button\", (0, _extends2.default)({\n ref: buttonElementRef\n }, buttonProps, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 259,\n columnNumber: 5\n }\n }), menuButtonText);\n /**\n * Keyboard interaction on menu\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-12\n */\n\n var handleMenuKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Move focus to previous item\n case _utils.KEY_VALUES.UP:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Prev\n });\n break;\n // Move focus to next item\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Next\n });\n break;\n // When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n\n case _utils.KEY_VALUES.RIGHT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n } else if (isSubmenu) {\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n }\n\n break;\n // When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem.\n\n case _utils.KEY_VALUES.LEFT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if (isSubmenu) {\n closeMenu(e);\n }\n } else if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n\n break;\n // Move focus to the first item\n\n case _utils.KEY_VALUES.HOME:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n // Move focus to the last item\n\n case _utils.KEY_VALUES.END:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Last\n });\n break;\n // - When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n // - Otherwise, activates the item and closes the menu.\n\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n if (activeItem) {\n e.preventDefault();\n e.stopPropagation();\n activeItem.click();\n\n if (!activeItem.getAttribute('aria-haspopup')) {\n closeMenu(e);\n }\n }\n\n break;\n // Close the menu that contains focus and return focus to the element or context,\n // e.g., menu button or parent menuitem, from which the menu was opened.\n\n case _utils.KEY_VALUES.ESC:\n closeMenu(e);\n break;\n }\n }, [dispatch, activeItem, isSubmenu, rtl, closeMenu]); // Only used for clicks bubbling from child `menuitem`s.\n\n var handleMenuClick = (0, _react.useCallback)(function (event) {\n var target = event.target; // Only handle clicks on `menuitem`s\n\n if (target.getAttribute('role') !== 'menuitem') return; // Ignore clicks on `menuitem`s that controls a submenu\n\n if (target.getAttribute('aria-haspopup') === 'menu') return; // Ignore disabled `menuitem`s\n\n if (target.getAttribute('aria-disabled') === 'true') return;\n closeMenu(event, !isSubmenu);\n }, [closeMenu, isSubmenu]); // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-13\n\n var menuAriaAttributes = {\n role: 'menu',\n 'aria-labelledby': buttonId,\n 'aria-activedescendant': activeItem === null || activeItem === void 0 ? void 0 : activeItem.id\n };\n var menuEventHandlers = {\n onClick: handleMenuClick,\n onKeyDown: handleMenuKeydown\n };\n var menuProps = (0, _extends2.default)({\n id: menuId\n }, menuAriaAttributes, menuEventHandlers, {\n tabIndex: 0\n });\n var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {\n open: open\n }), menuElementRef); // fixme Wrong children here\n\n var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: menuElementRef\n }, menuProps, {\n hidden: !open,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 404,\n columnNumber: 5\n }\n }), children);\n var handleMouseEnter = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n openMenu(e);\n }\n }, [disabled, openMenu]);\n var handleMouseLeave = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n closeMenu(e);\n }\n }, [disabled, closeMenu]);\n var rootElementRef = (0, _react.useRef)(null);\n var handleContainerBlur = (0, _react.useCallback)(function (event) {\n if ((0, _events.isFocusLeaving)(event)) {\n closeMenu(event, false);\n }\n }, [closeMenu]);\n var rootEventHandlers = {\n onBlur: handleContainerBlur\n };\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('mouseover')) {\n rootEventHandlers.onMouseEnter = handleMouseEnter;\n rootEventHandlers.onMouseLeave = handleMouseLeave;\n }\n\n var rootProps = (0, _extends2.default)({}, rootEventHandlers, {\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttonElement, /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {\n value: menu,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 452,\n columnNumber: 9\n }\n }, menuElement)),\n // render props\n open: open\n });\n\n if (isSubmenu) {\n rootProps.role = 'none presentation';\n }\n\n return children(rootProps, rootElementRef);\n}\n\nMenu.displayName = 'Menu';\nMenu.propTypes = {\n children: _propTypes.default.func.isRequired\n};\nvar _default = Menu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Menu/Menu.tsx?");
|
|
3192
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _useMenu = _interopRequireDefault(__webpack_require__(/*! ./useMenu */ \"./src/Menu/useMenu.ts\"));\n\nvar _useFocus2 = _interopRequireDefault(__webpack_require__(/*! ../utils/useFocus */ \"./src/utils/useFocus.ts\"));\n\nvar _useClickOutside = _interopRequireDefault(__webpack_require__(/*! ../utils/useClickOutside */ \"./src/utils/useClickOutside.ts\"));\n\nvar _events = __webpack_require__(/*! ../utils/events */ \"./src/utils/events.ts\");\n\nvar _dom = __webpack_require__(/*! ../utils/dom */ \"./src/utils/dom.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Menu/Menu.tsx\";\nvar defaultOpenMenuOn = ['click'];\n/**\n * Headless ARIA `menu`\n */\n\nfunction Menu(_ref) {\n var _items$activeItemInde;\n\n var disabled = _ref.disabled,\n children = _ref.children,\n _ref$openMenuOn = _ref.openMenuOn,\n openMenuOn = _ref$openMenuOn === void 0 ? defaultOpenMenuOn : _ref$openMenuOn,\n _ref$defaultOpen = _ref.defaultOpen,\n defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,\n openProp = _ref.open,\n menuButtonText = _ref.menuButtonText,\n renderMenuButton = _ref.renderMenuButton,\n renderMenuPopup = _ref.renderMenuPopup,\n onToggleMenu = _ref.onToggleMenu;\n var buttonElementRef = (0, _react.useRef)(null);\n var menuElementRef = (0, _react.useRef)(null);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var isSubmenu = !!parentMenu;\n var menu = (0, _useMenu.default)({\n open: defaultOpen\n });\n var _menu$ = menu[0],\n openState = _menu$.open,\n items = _menu$.items,\n activeItemIndex = _menu$.activeItemIndex,\n dispatch = menu[1];\n var openControlled = typeof openProp !== 'undefined';\n var open = openControlled ? openProp : openState;\n\n var _useCustom = (0, _utils.useCustom)('Menu'),\n rtl = _useCustom.rtl;\n\n var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;\n\n var _useFocus = (0, _useFocus2.default)(menuElementRef),\n grabFocus = _useFocus.grab;\n\n var openMenu = (0, _react.useCallback)(function (event) {\n dispatch({\n type: _MenuContext.MenuActionTypes.OpenMenu\n });\n\n if (!event.isTrusted) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n }\n\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);\n grabFocus();\n }, [dispatch, onToggleMenu, grabFocus]);\n var closeMenu = (0, _react.useCallback)(function (event, returnFocusToButton) {\n if (returnFocusToButton === void 0) {\n returnFocusToButton = true;\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);\n\n if (returnFocusToButton) {\n var _buttonElementRef$cur;\n\n (_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({\n preventScroll: true\n });\n }\n }, [dispatch, onToggleMenu, buttonElementRef]);\n var toggleMenu = (0, _react.useCallback)(function (event) {\n if (!open) {\n openMenu(event);\n } else {\n closeMenu(event);\n }\n }, [open, openMenu, closeMenu]);\n (0, _useClickOutside.default)({\n enabled: open,\n isOutside: function isOutside(event) {\n var _buttonElementRef$cur2, _menuElementRef$curre;\n\n return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));\n },\n // fixme if clicking on a focusable element, don't move focus to menu button\n handle: function handle(event) {\n return closeMenu(event, !(0, _dom.isFocusableElement)(event.target));\n }\n });\n /**\n * Keyboard interaction on menu button\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-13\n */\n\n var handleButtonKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Open the menu\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n } else {\n closeMenu(e);\n }\n\n break;\n // Open the menu (if closed) and move focus to first item\n // This is mostly useful after opening the menu with click\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n\n if (!open) {\n openMenu(e);\n }\n\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n }\n }, [open, openMenu, closeMenu, dispatch]);\n var handleButtonClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n toggleMenu(event);\n }, [disabled, toggleMenu]);\n var handleButtonContextMenu = (0, _react.useCallback)(function (event) {\n // prevents default contextmenu\n event.preventDefault(); // Only opens menu on right click. Left click can close the menu opened by a right click\n\n if (open) return;\n if (disabled) return;\n openMenu(event);\n }, [open, disabled, openMenu]);\n var buttonEventHandlers = (0, _react.useMemo)(function () {\n var buttonEventHandlers = {\n onKeyDown: handleButtonKeydown\n };\n /**\n * Bind event of trigger,\n * not used in in the expanded state of '<Sidenav>'\n */\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {\n buttonEventHandlers.onClick = handleButtonClick;\n }\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {\n buttonEventHandlers.onContextMenu = handleButtonContextMenu;\n }\n\n return buttonEventHandlers;\n }, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);\n var buttonId = (0, _useUniqueId.default)('menubutton-');\n var menuId = (0, _useUniqueId.default)('menu-');\n var buttonAriaAttributes = (0, _react.useMemo)(function () {\n // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14\n return {\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': open || undefined,\n // it's recommend to remove aria-expanded when menu is hidden\n 'aria-controls': menuId\n };\n }, [open, menuId]);\n var buttonProps = (0, _react.useMemo)(function () {\n return (0, _extends2.default)({\n id: buttonId\n }, buttonAriaAttributes, buttonEventHandlers, {\n // render props\n open: open\n });\n }, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);\n var customMenuButton = (0, _react.useMemo)(function () {\n return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);\n }, [renderMenuButton, buttonProps, buttonElementRef]);\n var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement(\"button\", (0, _extends2.default)({\n ref: buttonElementRef\n }, buttonProps, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 5\n }\n }), menuButtonText);\n /**\n * Keyboard interaction on menu\n * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-12\n */\n\n var handleMenuKeydown = (0, _react.useCallback)(function (e) {\n switch (e.key) {\n // Move focus to previous item\n case _utils.KEY_VALUES.UP:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Prev\n });\n break;\n // Move focus to next item\n\n case _utils.KEY_VALUES.DOWN:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Next\n });\n break;\n // When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n\n case _utils.KEY_VALUES.RIGHT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n } else if (isSubmenu) {\n dispatch({\n type: _MenuContext.MenuActionTypes.CloseMenu\n });\n }\n\n break;\n // When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem.\n\n case _utils.KEY_VALUES.LEFT:\n e.preventDefault();\n e.stopPropagation();\n\n if (!rtl) {\n if (isSubmenu) {\n closeMenu(e);\n }\n } else if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {\n activeItem.click();\n }\n\n break;\n // Move focus to the first item\n\n case _utils.KEY_VALUES.HOME:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n // Move focus to the last item\n\n case _utils.KEY_VALUES.END:\n e.preventDefault();\n e.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Last\n });\n break;\n // - When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.\n // - Otherwise, activates the item and closes the menu.\n\n case _utils.KEY_VALUES.ENTER:\n case _utils.KEY_VALUES.SPACE:\n if (activeItem) {\n e.preventDefault();\n e.stopPropagation();\n activeItem.click();\n\n if (!activeItem.getAttribute('aria-haspopup')) {\n closeMenu(e);\n }\n }\n\n break;\n // Close the menu that contains focus and return focus to the element or context,\n // e.g., menu button or parent menuitem, from which the menu was opened.\n\n case _utils.KEY_VALUES.ESC:\n closeMenu(e);\n break;\n }\n }, [dispatch, activeItem, isSubmenu, rtl, closeMenu]); // Only used for clicks bubbling from child `menuitem`s.\n\n var handleMenuClick = (0, _react.useCallback)(function (event) {\n var target = event.target; // Only handle clicks on `menuitem`s\n\n if (target.getAttribute('role') !== 'menuitem') return; // Ignore clicks on `menuitem`s that controls a submenu\n\n if (target.getAttribute('aria-haspopup') === 'menu') return; // Ignore disabled `menuitem`s\n\n if (target.getAttribute('aria-disabled') === 'true') return;\n closeMenu(event, !isSubmenu);\n }, [closeMenu, isSubmenu]); // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-13\n\n var menuAriaAttributes = {\n role: 'menu',\n 'aria-labelledby': buttonId,\n 'aria-activedescendant': activeItem === null || activeItem === void 0 ? void 0 : activeItem.id\n };\n var menuEventHandlers = {\n onClick: handleMenuClick,\n onKeyDown: handleMenuKeydown\n };\n var menuProps = (0, _extends2.default)({\n id: menuId\n }, menuAriaAttributes, menuEventHandlers, {\n tabIndex: 0\n });\n var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {\n open: open\n }), menuElementRef); // fixme Wrong children here\n\n var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: menuElementRef\n }, menuProps, {\n hidden: !open,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 417,\n columnNumber: 5\n }\n }), children);\n var handleMouseEnter = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n openMenu(e);\n }\n }, [disabled, openMenu]);\n var handleMouseLeave = (0, _react.useCallback)(function (e) {\n if (!disabled) {\n closeMenu(e);\n }\n }, [disabled, closeMenu]);\n var rootElementRef = (0, _react.useRef)(null);\n var handleContainerBlur = (0, _react.useCallback)(function (event) {\n if ((0, _events.isFocusLeaving)(event)) {\n closeMenu(event, false);\n }\n }, [closeMenu]);\n var rootEventHandlers = {\n onBlur: handleContainerBlur\n };\n\n if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('mouseover')) {\n rootEventHandlers.onMouseEnter = handleMouseEnter;\n rootEventHandlers.onMouseLeave = handleMouseLeave;\n }\n\n var rootProps = (0, _extends2.default)({}, rootEventHandlers, {\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttonElement, /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {\n value: menu,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 465,\n columnNumber: 9\n }\n }, menuElement)),\n // render props\n open: open\n });\n\n if (isSubmenu) {\n rootProps.role = 'none presentation';\n }\n\n return children(rootProps, rootElementRef);\n}\n\nMenu.displayName = 'Menu';\nMenu.propTypes = {\n children: _propTypes.default.func.isRequired\n};\nvar _default = Menu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Menu/Menu.tsx?");
|
|
3193
3193
|
|
|
3194
3194
|
/***/ }),
|
|
3195
3195
|
|
|
@@ -3222,7 +3222,7 @@ eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/h
|
|
|
3222
3222
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3223
3223
|
|
|
3224
3224
|
"use strict";
|
|
3225
|
-
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 = Menubar;\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _events = __webpack_require__(/*! ../utils/events */ \"./src/utils/events.ts\");\n\nvar _useMenu = _interopRequireDefault(__webpack_require__(/*! ./useMenu */ \"./src/Menu/useMenu.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Menu/Menubar.tsx\";\n\nfunction Menubar(_ref) {\n var _ref$vertical = _ref.vertical,\n vertical = _ref$vertical === void 0 ? false : _ref$vertical,\n children = _ref.children,\n onActivateItem = _ref.onActivateItem;\n var menubar = (0, _useMenu.default)({\n role: 'menubar'\n });\n var _menubar$ = menubar[0],\n items = _menubar$.items,\n activeItemIndex = _menubar$.activeItemIndex,\n dispatch = menubar[1];\n var menubarElementRef = (0, _react.useRef)(null);\n var onFocus = (0, _react.useCallback)(function (event) {\n // Focus moves inside Menubar\n if ((0, _events.isFocusEntering)(event)) {\n if (activeItemIndex === null) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n }\n }\n }, [activeItemIndex, dispatch]);\n var onBlur = (0, _react.useCallback)(function (event) {\n // Focus moves outside of Menubar\n if ((0, _events.isFocusLeaving)(event)) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n }\n }, [dispatch]);\n\n var _useCustom = (0, _utils.useCustom)('Menubar'),\n rtl = _useCustom.rtl;\n\n var onKeyDown = (0, _react.useCallback)(function (event) {\n var activeItemElement = (0, _isNil.default)(activeItemIndex) ? null : items[activeItemIndex].element;\n\n switch (true) {\n case !vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:\n case !vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:\n case vertical && event.key === _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Next\n });\n break;\n\n case !vertical && !rtl && event.key === _utils.KEY_VALUES.LEFT:\n case !vertical && rtl && event.key === _utils.KEY_VALUES.RIGHT:\n case vertical && event.key === _utils.KEY_VALUES.UP:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Prev\n });\n break;\n\n case event.key === _utils.KEY_VALUES.HOME:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n\n case event.key === _utils.KEY_VALUES.END:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Last\n });\n break;\n\n case !vertical && event.key === _utils.KEY_VALUES.DOWN:\n case vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:\n case vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:\n if ((activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.getAttribute('aria-haspopup')) === 'menu') {\n event.preventDefault();\n event.stopPropagation();\n activeItemElement.click();\n }\n\n break;\n\n case event.key === _utils.KEY_VALUES.ENTER:\n case event.key === _utils.KEY_VALUES.SPACE:\n event.preventDefault();\n event.stopPropagation();\n activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.click();\n break;\n }\n }, [rtl, items, activeItemIndex, dispatch, vertical]); // Only used for handling click events bubbling from children\n // Which indicates that a child menuitem is being activated\n\n var onClick = (0, _react.useCallback)(function (event) {\n if (items.some(function (item) {\n return item.element === event.target;\n })) {\n onActivateItem === null || onActivateItem === void 0 ? void 0 : onActivateItem(event);\n }\n }, [items, onActivateItem]);\n return /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {\n value: menubar,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber:
|
|
3225
|
+
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 = Menubar;\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _MenuContext = _interopRequireWildcard(__webpack_require__(/*! ./MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _events = __webpack_require__(/*! ../utils/events */ \"./src/utils/events.ts\");\n\nvar _useMenu = _interopRequireDefault(__webpack_require__(/*! ./useMenu */ \"./src/Menu/useMenu.ts\"));\n\nvar _dom = __webpack_require__(/*! ../utils/dom */ \"./src/utils/dom.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Menu/Menubar.tsx\";\n\nfunction Menubar(_ref) {\n var _items$activeItemInde3;\n\n var _ref$vertical = _ref.vertical,\n vertical = _ref$vertical === void 0 ? false : _ref$vertical,\n children = _ref.children,\n onActivateItem = _ref.onActivateItem;\n var menubar = (0, _useMenu.default)({\n role: 'menubar'\n });\n var _menubar$ = menubar[0],\n items = _menubar$.items,\n activeItemIndex = _menubar$.activeItemIndex,\n dispatch = menubar[1];\n var menubarElementRef = (0, _react.useRef)(null);\n var onFocus = (0, _react.useCallback)(function (event) {\n // Focus moves inside Menubar\n if ((0, _events.isFocusEntering)(event) && // Skip if focus is moving to a focusable element within this menu\n !(event.target !== event.currentTarget && (0, _dom.isFocusableElement)(event.target))) {\n if (activeItemIndex === null) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n }\n }\n }, [activeItemIndex, dispatch]);\n var onBlur = (0, _react.useCallback)(function (event) {\n // Focus moves outside of Menubar\n if ((0, _events.isFocusLeaving)(event)) {\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.None\n });\n }\n }, [dispatch]);\n\n var _useCustom = (0, _utils.useCustom)('Menubar'),\n rtl = _useCustom.rtl;\n\n var onKeyDown = (0, _react.useCallback)(function (event) {\n var _items$activeItemInde, _items$activeItemInde2;\n\n var activeItemElement = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = (_items$activeItemInde2 = items[activeItemIndex]) === null || _items$activeItemInde2 === void 0 ? void 0 : _items$activeItemInde2.element) !== null && _items$activeItemInde !== void 0 ? _items$activeItemInde : null;\n\n switch (true) {\n case !vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:\n case !vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:\n case vertical && event.key === _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Next\n });\n break;\n\n case !vertical && !rtl && event.key === _utils.KEY_VALUES.LEFT:\n case !vertical && rtl && event.key === _utils.KEY_VALUES.RIGHT:\n case vertical && event.key === _utils.KEY_VALUES.UP:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Prev\n });\n break;\n\n case event.key === _utils.KEY_VALUES.HOME:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.First\n });\n break;\n\n case event.key === _utils.KEY_VALUES.END:\n event.preventDefault();\n event.stopPropagation();\n dispatch({\n type: _MenuContext.MenuActionTypes.MoveFocus,\n to: _MenuContext.MoveFocusTo.Last\n });\n break;\n\n case !vertical && event.key === _utils.KEY_VALUES.DOWN:\n case vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:\n case vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:\n if ((activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.getAttribute('aria-haspopup')) === 'menu') {\n event.preventDefault();\n event.stopPropagation();\n activeItemElement.click();\n }\n\n break;\n\n case event.key === _utils.KEY_VALUES.ENTER:\n case event.key === _utils.KEY_VALUES.SPACE:\n event.preventDefault();\n event.stopPropagation();\n activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.click();\n break;\n }\n }, [rtl, items, activeItemIndex, dispatch, vertical]); // Only used for handling click events bubbling from children\n // Which indicates that a child menuitem is being activated\n\n var onClick = (0, _react.useCallback)(function (event) {\n if (items.some(function (item) {\n return item.element === event.target;\n })) {\n onActivateItem === null || onActivateItem === void 0 ? void 0 : onActivateItem(event);\n }\n }, [items, onActivateItem]);\n return /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {\n value: menubar,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 5\n }\n }, children({\n role: 'menubar',\n tabIndex: 0,\n onFocus: onFocus,\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onClick: onClick,\n 'aria-activedescendant': (0, _isNil.default)(activeItemIndex) ? undefined : (_items$activeItemInde3 = items[activeItemIndex]) === null || _items$activeItemInde3 === void 0 ? void 0 : _items$activeItemInde3.element.id,\n 'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'\n\n }, menubarElementRef));\n}\n\n//# sourceURL=webpack://rsuite/./src/Menu/Menubar.tsx?");
|
|
3226
3226
|
|
|
3227
3227
|
/***/ }),
|
|
3228
3228
|
|
|
@@ -3266,7 +3266,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3266
3266
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3267
3267
|
|
|
3268
3268
|
"use strict";
|
|
3269
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _getAnimationEnd = _interopRequireDefault(__webpack_require__(/*! dom-lib/getAnimationEnd */ \"./node_modules/dom-lib/esm/getAnimationEnd.js\"));\n\nvar _Modal = _interopRequireWildcard(__webpack_require__(/*! ../Overlay/Modal */ \"./src/Overlay/Modal.tsx\"));\n\nvar _Bounce = _interopRequireDefault(__webpack_require__(/*! ../Animation/Bounce */ \"./src/Animation/Bounce.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _ModalDialog = _interopRequireWildcard(__webpack_require__(/*! ./ModalDialog */ \"./src/Modal/ModalDialog.tsx\"));\n\nvar _ModalContext = __webpack_require__(/*! ./ModalContext */ \"./src/Modal/ModalContext.ts\");\n\nvar _ModalBody = _interopRequireDefault(__webpack_require__(/*! ./ModalBody */ \"./src/Modal/ModalBody.tsx\"));\n\nvar _ModalHeader = _interopRequireDefault(__webpack_require__(/*! ./ModalHeader */ \"./src/Modal/ModalHeader.tsx\"));\n\nvar _ModalTitle = _interopRequireDefault(__webpack_require__(/*! ./ModalTitle */ \"./src/Modal/ModalTitle.tsx\"));\n\nvar _ModalFooter = _interopRequireDefault(__webpack_require__(/*! ./ModalFooter */ \"./src/Modal/ModalFooter.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Modal/utils.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Modal/Modal.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var className = props.className,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,\n dialogClassName = props.dialogClassName,\n backdropClassName = props.backdropClassName,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n dialogStyle = props.dialogStyle,\n _props$animation = props.animation,\n animation = _props$animation === void 0 ? _Bounce.default : _props$animation,\n open = props.open,\n _props$size = props.size,\n size = _props$size === void 0 ? 'sm' : _props$size,\n full = props.full,\n _props$dialogAs = props.dialogAs,\n Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,\n animationProps = props.animationProps,\n _props$animationTimeo = props.animationTimeout,\n animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,\n _props$overflow = props.overflow,\n overflow = _props$overflow === void 0 ? true : _props$overflow,\n _props$drawer = props.drawer,\n drawer = _props$drawer === void 0 ? false : _props$drawer,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExited = props.onExited,\n _props$role = props.role,\n role = _props$role === void 0 ? 'dialog' : _props$role,\n idProp = props.id,\n ariaLabelledby = props['aria-labelledby'],\n ariaDescribedby = props['aria-describedby'],\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"className\", \"children\", \"classPrefix\", \"dialogClassName\", \"backdropClassName\", \"backdrop\", \"dialogStyle\", \"animation\", \"open\", \"size\", \"full\", \"dialogAs\", \"animationProps\", \"animationTimeout\", \"overflow\", \"drawer\", \"onClose\", \"onEntered\", \"onEntering\", \"onExited\", \"role\", \"id\", \"aria-labelledby\", \"aria-describedby\"]);\n var inClass = {\n in: open && !animation\n };\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useState = (0, _react.useState)(false),\n shake = _useState[0],\n setShake = _useState[1];\n\n var classes = merge(className, prefix(size, {\n full: full\n }));\n var dialogRef = (0, _react.useRef)(null);\n var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.\n\n var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {\n overflow: overflow,\n drawer: drawer,\n prefix: prefix\n }),\n bodyStyles = _useBodyStyles[0],\n onChangeBodyStyles = _useBodyStyles[1],\n onDestroyEvents = _useBodyStyles[2];\n\n var dialogId = (0, _useUniqueId.default)('dialog-', idProp);\n var modalContextValue = (0, _react.useMemo)(function () {\n return {\n dialogId: dialogId,\n onModalClose: onClose,\n getBodyStyles: function getBodyStyles() {\n return bodyStyles;\n },\n isDrawer: drawer\n };\n }, [dialogId, onClose, bodyStyles, drawer]);\n var handleExited = (0, _react.useCallback)(function (node) {\n var _transitionEndListene;\n\n onExited === null || onExited === void 0 ? void 0 : onExited(node);\n onDestroyEvents();\n (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();\n transitionEndListener.current = null;\n }, [onDestroyEvents, onExited]);\n var handleEntered = (0, _react.useCallback)(function (node) {\n onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);\n onChangeBodyStyles();\n }, [onChangeBodyStyles, onEntered]);\n var handleEntering = (0, _react.useCallback)(function (node) {\n onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);\n onChangeBodyStyles(true);\n }, [onChangeBodyStyles, onEntering]);\n var handleBackdropClick = (0, _react.useCallback)(function (e) {\n if (e.target !== e.currentTarget) {\n return;\n } // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.\n\n\n if (backdrop === 'static') {\n setShake(true);\n\n if (!transitionEndListener.current && dialogRef.current) {\n //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59\n transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {\n setShake(false);\n });\n }\n\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }, [backdrop, onClose]);\n var handleClick = (0, _react.useCallback)(function (e) {\n if (dialogRef.current && e.target !== dialogRef.current) {\n handleBackdropClick(e);\n }\n }, [handleBackdropClick]);\n (0, _utils.useWillUnmount)(function () {\n var _transitionEndListene2;\n\n (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();\n });\n return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {\n value: modalContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n backdrop: backdrop,\n open: open,\n onClose: onClose,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"wrapper\"]))),\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExited: handleExited,\n backdropClassName: merge(prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"backdrop\"]))), backdropClassName, inClass),\n containerClassName: prefix({\n open: open,\n 'has-backdrop': backdrop\n }),\n transition: animation ? animation : undefined,\n animationProps: animationProps,\n dialogTransitionTimeout: animationTimeout,\n backdropTransitionTimeout: 150,\n onClick: backdrop ? handleClick : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 178,\n columnNumber: 7\n }\n }), function (transitionProps, transitionRef) {\n var transitionClassName = transitionProps.className,\n transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({\n role: role,\n id: dialogId,\n \"aria-labelledby\": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + \"-title\",\n \"aria-describedby\": ariaDescribedby\n }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {\n ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),\n classPrefix: classPrefix,\n className: merge(classes, transitionClassName, prefix({\n shake: shake\n })),\n dialogClassName: dialogClassName,\n dialogStyle: dialogStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 13\n }\n }), children);\n }));\n});\n\nModal.Body = _ModalBody.default;\nModal.Header = _ModalHeader.default;\nModal.Title = _ModalTitle.default;\nModal.Footer = _ModalFooter.default;\nModal.Dialog = _ModalDialog.default;\nModal.displayName = 'Modal';\nModal.propTypes = (0, _extends2.default)({}, _Modal.modalPropTypes, {\n animation: _propTypes.default.any,\n animationTimeout: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n dialogClassName: _propTypes.default.string,\n size: _propTypes.default.oneOf(_utils.SIZE),\n dialogStyle: _propTypes.default.object,\n dialogAs: _propTypes.default.elementType,\n full: _propTypes.default.bool,\n overflow: _propTypes.default.bool,\n drawer: _propTypes.default.bool\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Modal/Modal.tsx?");
|
|
3269
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _getAnimationEnd = _interopRequireDefault(__webpack_require__(/*! dom-lib/getAnimationEnd */ \"./node_modules/dom-lib/esm/getAnimationEnd.js\"));\n\nvar _Modal = _interopRequireWildcard(__webpack_require__(/*! ../Overlay/Modal */ \"./src/Overlay/Modal.tsx\"));\n\nvar _Bounce = _interopRequireDefault(__webpack_require__(/*! ../Animation/Bounce */ \"./src/Animation/Bounce.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _ModalDialog = _interopRequireWildcard(__webpack_require__(/*! ./ModalDialog */ \"./src/Modal/ModalDialog.tsx\"));\n\nvar _ModalContext = __webpack_require__(/*! ./ModalContext */ \"./src/Modal/ModalContext.ts\");\n\nvar _ModalBody = _interopRequireDefault(__webpack_require__(/*! ./ModalBody */ \"./src/Modal/ModalBody.tsx\"));\n\nvar _ModalHeader = _interopRequireDefault(__webpack_require__(/*! ./ModalHeader */ \"./src/Modal/ModalHeader.tsx\"));\n\nvar _ModalTitle = _interopRequireDefault(__webpack_require__(/*! ./ModalTitle */ \"./src/Modal/ModalTitle.tsx\"));\n\nvar _ModalFooter = _interopRequireDefault(__webpack_require__(/*! ./ModalFooter */ \"./src/Modal/ModalFooter.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Modal/utils.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Modal/Modal.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar modalSizes = ['xs', 'sm', 'md', 'lg', 'full'];\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var className = props.className,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,\n dialogClassName = props.dialogClassName,\n backdropClassName = props.backdropClassName,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n dialogStyle = props.dialogStyle,\n _props$animation = props.animation,\n animation = _props$animation === void 0 ? _Bounce.default : _props$animation,\n open = props.open,\n _props$size = props.size,\n size = _props$size === void 0 ? 'sm' : _props$size,\n full = props.full,\n _props$dialogAs = props.dialogAs,\n Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,\n animationProps = props.animationProps,\n _props$animationTimeo = props.animationTimeout,\n animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,\n _props$overflow = props.overflow,\n overflow = _props$overflow === void 0 ? true : _props$overflow,\n _props$drawer = props.drawer,\n drawer = _props$drawer === void 0 ? false : _props$drawer,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExited = props.onExited,\n _props$role = props.role,\n role = _props$role === void 0 ? 'dialog' : _props$role,\n idProp = props.id,\n ariaLabelledby = props['aria-labelledby'],\n ariaDescribedby = props['aria-describedby'],\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"className\", \"children\", \"classPrefix\", \"dialogClassName\", \"backdropClassName\", \"backdrop\", \"dialogStyle\", \"animation\", \"open\", \"size\", \"full\", \"dialogAs\", \"animationProps\", \"animationTimeout\", \"overflow\", \"drawer\", \"onClose\", \"onEntered\", \"onEntering\", \"onExited\", \"role\", \"id\", \"aria-labelledby\", \"aria-describedby\"]);\n var inClass = {\n in: open && !animation\n };\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useState = (0, _react.useState)(false),\n shake = _useState[0],\n setShake = _useState[1];\n\n var classes = merge(className, prefix(size, {\n full: full\n }));\n var dialogRef = (0, _react.useRef)(null);\n var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.\n\n var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {\n overflow: overflow,\n drawer: drawer,\n prefix: prefix\n }),\n bodyStyles = _useBodyStyles[0],\n onChangeBodyStyles = _useBodyStyles[1],\n onDestroyEvents = _useBodyStyles[2];\n\n var dialogId = (0, _useUniqueId.default)('dialog-', idProp);\n var modalContextValue = (0, _react.useMemo)(function () {\n return {\n dialogId: dialogId,\n onModalClose: onClose,\n getBodyStyles: function getBodyStyles() {\n return bodyStyles;\n },\n isDrawer: drawer\n };\n }, [dialogId, onClose, bodyStyles, drawer]);\n var handleExited = (0, _react.useCallback)(function (node) {\n var _transitionEndListene;\n\n onExited === null || onExited === void 0 ? void 0 : onExited(node);\n onDestroyEvents();\n (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();\n transitionEndListener.current = null;\n }, [onDestroyEvents, onExited]);\n var handleEntered = (0, _react.useCallback)(function (node) {\n onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);\n onChangeBodyStyles();\n }, [onChangeBodyStyles, onEntered]);\n var handleEntering = (0, _react.useCallback)(function (node) {\n onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);\n onChangeBodyStyles(true);\n }, [onChangeBodyStyles, onEntering]);\n var handleBackdropClick = (0, _react.useCallback)(function (e) {\n if (e.target !== e.currentTarget) {\n return;\n } // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.\n\n\n if (backdrop === 'static') {\n setShake(true);\n\n if (!transitionEndListener.current && dialogRef.current) {\n //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59\n transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {\n setShake(false);\n });\n }\n\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }, [backdrop, onClose]);\n var handleClick = (0, _react.useCallback)(function (e) {\n if (dialogRef.current && e.target !== dialogRef.current) {\n handleBackdropClick(e);\n }\n }, [handleBackdropClick]);\n (0, _utils.useWillUnmount)(function () {\n var _transitionEndListene2;\n\n (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();\n });\n return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {\n value: modalContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 185,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n backdrop: backdrop,\n open: open,\n onClose: onClose,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"wrapper\"]))),\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExited: handleExited,\n backdropClassName: merge(prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"backdrop\"]))), backdropClassName, inClass),\n containerClassName: prefix({\n open: open,\n 'has-backdrop': backdrop\n }),\n transition: animation ? animation : undefined,\n animationProps: animationProps,\n dialogTransitionTimeout: animationTimeout,\n backdropTransitionTimeout: 150,\n onClick: backdrop ? handleClick : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 186,\n columnNumber: 7\n }\n }), function (transitionProps, transitionRef) {\n var transitionClassName = transitionProps.className,\n transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({\n role: role,\n id: dialogId,\n \"aria-labelledby\": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + \"-title\",\n \"aria-describedby\": ariaDescribedby\n }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {\n ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),\n classPrefix: classPrefix,\n className: merge(classes, transitionClassName, prefix({\n shake: shake\n })),\n dialogClassName: dialogClassName,\n dialogStyle: dialogStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 207,\n columnNumber: 13\n }\n }), children);\n }));\n});\n\nModal.Body = _ModalBody.default;\nModal.Header = _ModalHeader.default;\nModal.Title = _ModalTitle.default;\nModal.Footer = _ModalFooter.default;\nModal.Dialog = _ModalDialog.default;\nModal.displayName = 'Modal';\nModal.propTypes = (0, _extends2.default)({}, _Modal.modalPropTypes, {\n animation: _propTypes.default.any,\n animationTimeout: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n dialogClassName: _propTypes.default.string,\n size: _propTypes.default.oneOf(modalSizes),\n dialogStyle: _propTypes.default.object,\n dialogAs: _propTypes.default.elementType,\n full: (0, _deprecatePropType.default)(_propTypes.default.bool, 'Use size=\"full\" instead.'),\n overflow: _propTypes.default.bool,\n drawer: _propTypes.default.bool\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Modal/Modal.tsx?");
|
|
3270
3270
|
|
|
3271
3271
|
/***/ }),
|
|
3272
3272
|
|
|
@@ -9013,7 +9013,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9013
9013
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9014
9014
|
|
|
9015
9015
|
"use strict";
|
|
9016
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\");\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rsuite/icons/Sort */ \"./node_modules/@rsuite/icons/Sort.js\");\n/* harmony import */ var _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @rsuite/icons/SortUp */ \"./node_modules/@rsuite/icons/SortUp.js\");\n/* harmony import */ var _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @rsuite/icons/SortDown */ \"./node_modules/@rsuite/icons/SortDown.js\");\n/* harmony import */ var _ColumnResizeHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ColumnResizeHandler */ \"./node_modules/rsuite-table/es/ColumnResizeHandler.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Cell */ \"./node_modules/rsuite-table/es/Cell.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar SORTED_ICON = {\n desc: _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__.default,\n asc: _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__.default\n};\nvar HeaderCell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,\n width = props.width,\n dataKey = props.dataKey,\n headerHeight = props.headerHeight,\n children = props.children,\n left = props.left,\n sortable = props.sortable,\n sortColumn = props.sortColumn,\n sortType = props.sortType,\n groupHeader = props.groupHeader,\n resizable = props.resizable,\n fixed = props.fixed,\n minWidth = props.minWidth,\n index = props.index,\n flexGrow = props.flexGrow,\n align = props.align,\n verticalAlign = props.verticalAlign,\n onColumnResizeEnd = props.onColumnResizeEnd,\n onResize = props.onResize,\n onColumnResizeStart = props.onColumnResizeStart,\n onColumnResizeMove = props.onColumnResizeMove,\n onSortColumn = props.onSortColumn,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"className\", \"classPrefix\", \"width\", \"dataKey\", \"headerHeight\", \"children\", \"left\", \"sortable\", \"sortColumn\", \"sortType\", \"groupHeader\", \"resizable\", \"fixed\", \"minWidth\", \"index\", \"flexGrow\", \"align\", \"verticalAlign\", \"onColumnResizeEnd\", \"onResize\", \"onColumnResizeStart\", \"onColumnResizeMove\", \"onSortColumn\"]);\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0),\n columnWidth = _useState[0],\n setColumnWidth = _useState[1];\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useUpdateEffect)(function () {\n setColumnWidth(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0);\n }, [flexGrow, width]);\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n sortable: sortable\n }));\n var ariaSort;\n\n if (sortColumn === dataKey) {\n ariaSort = 'other';\n\n if (sortType === 'asc') {\n ariaSort = 'ascending';\n } else if (sortType === 'desc') {\n ariaSort = 'descending';\n }\n }\n\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (sortable) {\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey);\n }\n }, [dataKey, onSortColumn, sortable]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n onColumnResizeStart === null || onColumnResizeStart === void 0 ? void 0 : onColumnResizeStart(columnWidth, left, !!fixed);\n }, [columnWidth, fixed, left, onColumnResizeStart]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (nextColumnWidth, cursorDelta) {\n setColumnWidth(nextColumnWidth);\n onColumnResizeEnd === null || onColumnResizeEnd === void 0 ? void 0 : onColumnResizeEnd(nextColumnWidth, cursorDelta, dataKey, index);\n onResize === null || onResize === void 0 ? void 0 : onResize(nextColumnWidth, dataKey);\n }, [dataKey, index, onColumnResizeEnd, onResize]);\n\n var renderSortColumn = function renderSortColumn() {\n if (sortable && !groupHeader) {\n var _classNames;\n\n var SortIcon = sortColumn === dataKey && sortType ? SORTED_ICON[sortType] : _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__.default;\n var iconClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()(prefix('icon-sort'), (_classNames = {}, _classNames[prefix(\"icon-sort-\" + sortType)] = sortColumn === dataKey, _classNames));\n
|
|
9016
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\");\n/* harmony import */ var lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isNil__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @rsuite/icons/Sort */ \"./node_modules/@rsuite/icons/Sort.js\");\n/* harmony import */ var _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @rsuite/icons/SortUp */ \"./node_modules/@rsuite/icons/SortUp.js\");\n/* harmony import */ var _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @rsuite/icons/SortDown */ \"./node_modules/@rsuite/icons/SortDown.js\");\n/* harmony import */ var _ColumnResizeHandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ColumnResizeHandler */ \"./node_modules/rsuite-table/es/ColumnResizeHandler.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Cell */ \"./node_modules/rsuite-table/es/Cell.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar SORTED_ICON = {\n desc: _rsuite_icons_SortDown__WEBPACK_IMPORTED_MODULE_8__.default,\n asc: _rsuite_icons_SortUp__WEBPACK_IMPORTED_MODULE_7__.default\n};\nvar HeaderCell = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'cell-header' : _props$classPrefix,\n width = props.width,\n dataKey = props.dataKey,\n headerHeight = props.headerHeight,\n children = props.children,\n left = props.left,\n sortable = props.sortable,\n sortColumn = props.sortColumn,\n sortType = props.sortType,\n groupHeader = props.groupHeader,\n resizable = props.resizable,\n fixed = props.fixed,\n minWidth = props.minWidth,\n index = props.index,\n flexGrow = props.flexGrow,\n align = props.align,\n verticalAlign = props.verticalAlign,\n onColumnResizeEnd = props.onColumnResizeEnd,\n onResize = props.onResize,\n onColumnResizeStart = props.onColumnResizeStart,\n onColumnResizeMove = props.onColumnResizeMove,\n onSortColumn = props.onSortColumn,\n renderSortIcon = props.renderSortIcon,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"className\", \"classPrefix\", \"width\", \"dataKey\", \"headerHeight\", \"children\", \"left\", \"sortable\", \"sortColumn\", \"sortType\", \"groupHeader\", \"resizable\", \"fixed\", \"minWidth\", \"index\", \"flexGrow\", \"align\", \"verticalAlign\", \"onColumnResizeEnd\", \"onResize\", \"onColumnResizeStart\", \"onColumnResizeMove\", \"onSortColumn\", \"renderSortIcon\"]);\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0),\n columnWidth = _useState[0],\n setColumnWidth = _useState[1];\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useUpdateEffect)(function () {\n setColumnWidth(lodash_isNil__WEBPACK_IMPORTED_MODULE_5___default()(flexGrow) ? width : 0);\n }, [flexGrow, width]);\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_10__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n sortable: sortable\n }));\n var ariaSort;\n\n if (sortColumn === dataKey) {\n ariaSort = 'other';\n\n if (sortType === 'asc') {\n ariaSort = 'ascending';\n } else if (sortType === 'desc') {\n ariaSort = 'descending';\n }\n }\n\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (sortable) {\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey);\n }\n }, [dataKey, onSortColumn, sortable]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n onColumnResizeStart === null || onColumnResizeStart === void 0 ? void 0 : onColumnResizeStart(columnWidth, left, !!fixed);\n }, [columnWidth, fixed, left, onColumnResizeStart]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (nextColumnWidth, cursorDelta) {\n setColumnWidth(nextColumnWidth);\n onColumnResizeEnd === null || onColumnResizeEnd === void 0 ? void 0 : onColumnResizeEnd(nextColumnWidth, cursorDelta, dataKey, index);\n onResize === null || onResize === void 0 ? void 0 : onResize(nextColumnWidth, dataKey);\n }, [dataKey, index, onColumnResizeEnd, onResize]);\n\n var renderSortColumn = function renderSortColumn() {\n if (sortable && !groupHeader) {\n var _classNames;\n\n var SortIcon = sortColumn === dataKey && sortType ? SORTED_ICON[sortType] : _rsuite_icons_Sort__WEBPACK_IMPORTED_MODULE_6__.default;\n var iconClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()(prefix('icon-sort'), (_classNames = {}, _classNames[prefix(\"icon-sort-\" + sortType)] = sortColumn === dataKey, _classNames));\n var sortIcon = renderSortIcon ? renderSortIcon(sortColumn === dataKey ? sortType : undefined) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(SortIcon, {\n className: iconClasses\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", {\n className: prefix('sort-wrapper')\n }, sortIcon);\n }\n\n return null;\n };\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: ref,\n className: classes\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Cell__WEBPACK_IMPORTED_MODULE_11__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n \"aria-sort\": ariaSort\n }, rest, {\n width: width,\n dataKey: dataKey,\n left: left,\n headerHeight: headerHeight,\n isHeaderCell: true,\n align: !groupHeader ? align : undefined,\n verticalAlign: !groupHeader ? verticalAlign : undefined,\n onClick: !groupHeader ? handleClick : undefined\n }), children, renderSortColumn()), resizable ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_ColumnResizeHandler__WEBPACK_IMPORTED_MODULE_9__.default, {\n defaultColumnWidth: columnWidth,\n key: columnWidth,\n columnLeft: left,\n columnFixed: fixed,\n height: headerHeight ? headerHeight - 1 : undefined,\n minWidth: minWidth,\n onColumnResizeMove: onColumnResizeMove,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeEnd: handleColumnResizeEnd\n }) : null);\n});\nHeaderCell.displayName = 'HeaderCell';\nHeaderCell.propTypes = {\n index: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n sortType: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['desc', 'asc']),\n sortable: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n resizable: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n minWidth: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n onColumnResizeStart: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onColumnResizeEnd: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onResize: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onColumnResizeMove: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n flexGrow: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n fixed: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n renderSortIcon: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (HeaderCell);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/HeaderCell.js?");
|
|
9017
9017
|
|
|
9018
9018
|
/***/ }),
|
|
9019
9019
|
|
|
@@ -9057,7 +9057,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
|
|
|
9057
9057
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9058
9058
|
|
|
9059
9059
|
"use strict";
|
|
9060
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/DOMMouseMoveTracker */ \"./node_modules/dom-lib/esm/DOMMouseMoveTracker.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n\n\n\n\n\n\n\n\n\nvar Scrollbar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var _styles;\n\n var _props$length = props.length,\n length = _props$length === void 0 ? 1 : _props$length,\n _props$scrollLength = props.scrollLength,\n scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,\n vertical = props.vertical,\n className = props.className,\n tableId = props.tableId,\n onMouseDown = props.onMouseDown,\n onScroll = props.onScroll,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"length\", \"scrollLength\", \"classPrefix\", \"vertical\", \"className\", \"tableId\", \"onMouseDown\", \"onScroll\"]);\n\n var _React$useContext = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(_TableContext__WEBPACK_IMPORTED_MODULE_8__.default),\n translateDOMPositionXY = _React$useContext.translateDOMPositionXY;\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false),\n handlePressed = _useState[0],\n setHandlePressed = _useState[1];\n\n var _useState2 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({\n top: 0,\n left: 0\n }),\n barOffset = _useState2[0],\n setBarOffset = _useState2[1];\n\n var scrollOffset = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(0);\n var scrollRange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(scrollLength);\n var barRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var handleRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var mouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n horizontal: !vertical,\n hide: scrollLength <= length,\n pressed: handlePressed\n }));\n var width = length / scrollLength * 100;\n var styles = (_styles = {}, _styles[vertical ? 'height' : 'width'] = width + \"%\", _styles[vertical ? 'minHeight' : 'minWidth'] = _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH, _styles);\n var valuenow = scrollOffset.current / length * 100 + width;\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useMount)(function () {\n setTimeout(function () {\n if (barRef.current) {\n setBarOffset((0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__.default)(barRef.current));\n }\n }, 1);\n });\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n return function () {\n releaseMouseMoves();\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useUpdateEffect)(function () {\n if (scrollOffset.current) {\n // Update the position of the scroll bar when the height of the table content area changes.\n scrollOffset.current = scrollRange.current / scrollLength * scrollOffset.current;\n updateScrollBarPosition(0);\n }\n\n scrollRange.current = scrollLength;\n }, [scrollLength]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return barRef.current;\n },\n\n get handle() {\n return handleRef.current;\n },\n\n onWheelScroll: function onWheelScroll(delta, momentum) {\n var nextDelta = delta / (scrollLength / length);\n updateScrollBarPosition(nextDelta, undefined, momentum);\n },\n resetScrollBarPosition: function resetScrollBarPosition(forceDelta) {\n if (forceDelta === void 0) {\n forceDelta = 0;\n }\n\n scrollOffset.current = 0;\n updateScrollBarPosition(0, forceDelta);\n }\n };\n });\n var updateScrollBarPosition = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, forceDelta, momentum) {\n var max = scrollLength && length ? length - Math.max(length / scrollLength * length, _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH + 2) : 0;\n var styles = momentum ? {\n 'transition-duration': _constants__WEBPACK_IMPORTED_MODULE_6__.TRANSITION_DURATION + \"ms\",\n 'transition-timing-function': _constants__WEBPACK_IMPORTED_MODULE_6__.BEZIER\n } : {};\n\n if (typeof forceDelta === 'undefined') {\n scrollOffset.current += delta;\n scrollOffset.current = Math.max(scrollOffset.current, 0);\n scrollOffset.current = Math.min(scrollOffset.current, max);\n } else {\n scrollOffset.current = forceDelta || 0;\n }\n\n if (vertical) {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, scrollOffset.current);\n } else {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, scrollOffset.current, 0);\n }\n\n if (handleRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__.default)(handleRef.current, styles);\n }\n }, [length, scrollLength, translateDOMPositionXY, vertical]);\n var handleScroll = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, event) {\n var scrollDelta = delta * (scrollLength / length);\n updateScrollBarPosition(delta);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(scrollDelta, event);\n }, [length, onScroll, scrollLength, updateScrollBarPosition]);\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _handleRef$current;\n\n if (handleRef.current && (_handleRef$current = handleRef.current) !== null && _handleRef$current !== void 0 && _handleRef$current.contains(event.target)) {\n return;\n }\n\n if (typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) !== 'number' || typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.left) !== 'number') {\n return;\n }\n\n var offset = vertical ? event.pageY - (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) : event.pageX - barOffset.left;\n var handleWidth = length / scrollLength * length;\n var delta = offset - handleWidth;\n var nextDelta = offset > scrollOffset.current ? delta - scrollOffset.current : offset - scrollOffset.current;\n handleScroll(nextDelta, event);\n }, [barOffset, handleScroll, length, scrollLength, vertical]);\n var releaseMouseMoves = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;\n\n (_mouseMoveTracker$cur = mouseMoveTracker.current) === null || _mouseMoveTracker$cur === void 0 ? void 0 : (_mouseMoveTracker$cur2 = _mouseMoveTracker$cur.releaseMouseMoves) === null || _mouseMoveTracker$cur2 === void 0 ? void 0 : _mouseMoveTracker$cur2.call(_mouseMoveTracker$cur);\n mouseMoveTracker.current = null;\n }, []);\n var handleDragMove = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (deltaX, deltaY, event) {\n var _window, _window$event;\n\n if (!mouseMoveTracker.current || !mouseMoveTracker.current.isDragging()) {\n return;\n }\n\n if ((event === null || event === void 0 ? void 0 : event.buttons) === 0 || ((_window = window) === null || _window === void 0 ? void 0 : (_window$event = _window.event) === null || _window$event === void 0 ? void 0 : _window$event['buttons']) === 0) {\n releaseMouseMoves();\n return;\n }\n\n handleScroll(vertical ? deltaY : deltaX, event);\n }, [handleScroll, releaseMouseMoves, vertical]);\n var handleDragEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n releaseMouseMoves();\n setHandlePressed(false);\n }, [releaseMouseMoves]);\n var getMouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n return mouseMoveTracker.current || new dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__.default(handleDragMove, handleDragEnd, document.body);\n }, [handleDragEnd, handleDragMove]);\n var handleMouseDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _mouseMoveTracker$cur3;\n\n mouseMoveTracker.current = getMouseMoveTracker();\n mouseMoveTracker === null || mouseMoveTracker === void 0 ? void 0 : (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);\n setHandlePressed(true);\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);\n }, [getMouseMoveTracker, onMouseDown]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: \"scrollbar\",\n \"aria-controls\": tableId,\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": valuenow,\n \"aria-orientation\": vertical ? 'vertical' : 'horizontal'\n }, rest, {\n ref: barRef,\n className: classes,\n onClick: handleClick\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: handleRef,\n className: prefix('handle'),\n style: styles,\n onMouseDown: handleMouseDown,\n role: \"button\",\n tabIndex: -1\n }));\n});\nScrollbar.displayName = 'Table.Scrollbar';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scrollbar);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Scrollbar.js?");
|
|
9060
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/DOMMouseMoveTracker */ \"./node_modules/dom-lib/esm/DOMMouseMoveTracker.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n\n\n\n\n\n\n\n\n\nvar Scrollbar = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var _barRef$current, _styles;\n\n var _props$length = props.length,\n length = _props$length === void 0 ? 1 : _props$length,\n _props$scrollLength = props.scrollLength,\n scrollLength = _props$scrollLength === void 0 ? 1 : _props$scrollLength,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'scrollbar' : _props$classPrefix,\n vertical = props.vertical,\n className = props.className,\n tableId = props.tableId,\n onMouseDown = props.onMouseDown,\n onScroll = props.onScroll,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"length\", \"scrollLength\", \"classPrefix\", \"vertical\", \"className\", \"tableId\", \"onMouseDown\", \"onScroll\"]);\n\n var _React$useContext = react__WEBPACK_IMPORTED_MODULE_2___default().useContext(_TableContext__WEBPACK_IMPORTED_MODULE_8__.default),\n translateDOMPositionXY = _React$useContext.translateDOMPositionXY;\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false),\n handlePressed = _useState[0],\n setHandlePressed = _useState[1];\n\n var _useState2 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({\n top: 0,\n left: 0\n }),\n barOffset = _useState2[0],\n setBarOffset = _useState2[1];\n\n var scrollOffset = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(0);\n var scrollRange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(scrollLength);\n var barRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var handleRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var mouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n horizontal: !vertical,\n pressed: handlePressed\n }), // keep the 'fixed' class name if it has already been given by useAffix hook\n ((_barRef$current = barRef.current) === null || _barRef$current === void 0 ? void 0 : _barRef$current.classList.contains('fixed')) && 'fixed');\n var width = length / scrollLength * 100;\n var styles = (_styles = {}, _styles[vertical ? 'height' : 'width'] = width + \"%\", _styles[vertical ? 'minHeight' : 'minWidth'] = _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH, _styles);\n var valuenow = scrollOffset.current / length * 100 + width;\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useMount)(function () {\n setTimeout(function () {\n if (barRef.current) {\n setBarOffset((0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_5__.default)(barRef.current));\n }\n }, 1);\n return function () {\n releaseMouseMoves();\n };\n });\n (0,_utils__WEBPACK_IMPORTED_MODULE_7__.useUpdateEffect)(function () {\n if (scrollOffset.current) {\n // Update the position of the scroll bar when the height of the table content area changes.\n scrollOffset.current = scrollRange.current / scrollLength * scrollOffset.current;\n updateScrollBarPosition(0);\n }\n\n scrollRange.current = scrollLength;\n }, [scrollLength]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return barRef.current;\n },\n\n get handle() {\n return handleRef.current;\n },\n\n onWheelScroll: function onWheelScroll(delta, momentum) {\n var nextDelta = delta / (scrollLength / length);\n updateScrollBarPosition(nextDelta, undefined, momentum);\n },\n resetScrollBarPosition: function resetScrollBarPosition(forceDelta) {\n if (forceDelta === void 0) {\n forceDelta = 0;\n }\n\n scrollOffset.current = 0;\n updateScrollBarPosition(0, forceDelta);\n }\n };\n });\n var updateScrollBarPosition = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, forceDelta, momentum) {\n var max = scrollLength && length ? length - Math.max(length / scrollLength * length, _constants__WEBPACK_IMPORTED_MODULE_6__.SCROLLBAR_MIN_WIDTH + 2) : 0;\n var styles = momentum ? {\n 'transition-duration': _constants__WEBPACK_IMPORTED_MODULE_6__.TRANSITION_DURATION + \"ms\",\n 'transition-timing-function': _constants__WEBPACK_IMPORTED_MODULE_6__.BEZIER\n } : {};\n\n if (typeof forceDelta === 'undefined') {\n scrollOffset.current += delta;\n scrollOffset.current = Math.max(scrollOffset.current, 0);\n scrollOffset.current = Math.min(scrollOffset.current, max);\n } else {\n scrollOffset.current = forceDelta || 0;\n }\n\n if (vertical) {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, 0, scrollOffset.current);\n } else {\n translateDOMPositionXY === null || translateDOMPositionXY === void 0 ? void 0 : translateDOMPositionXY(styles, scrollOffset.current, 0);\n }\n\n if (handleRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_4__.default)(handleRef.current, styles);\n }\n }, [length, scrollLength, translateDOMPositionXY, vertical]);\n var handleScroll = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (delta, event) {\n var scrollDelta = delta * (scrollLength / length);\n updateScrollBarPosition(delta);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(scrollDelta, event);\n }, [length, onScroll, scrollLength, updateScrollBarPosition]);\n var handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _handleRef$current;\n\n if (handleRef.current && (_handleRef$current = handleRef.current) !== null && _handleRef$current !== void 0 && _handleRef$current.contains(event.target)) {\n return;\n }\n\n if (typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) !== 'number' || typeof (barOffset === null || barOffset === void 0 ? void 0 : barOffset.left) !== 'number') {\n return;\n }\n\n var offset = vertical ? event.pageY - (barOffset === null || barOffset === void 0 ? void 0 : barOffset.top) : event.pageX - barOffset.left;\n var handleWidth = length / scrollLength * length;\n var delta = offset - handleWidth;\n var nextDelta = offset > scrollOffset.current ? delta - scrollOffset.current : offset - scrollOffset.current;\n handleScroll(nextDelta, event);\n }, [barOffset, handleScroll, length, scrollLength, vertical]);\n var releaseMouseMoves = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n var _mouseMoveTracker$cur, _mouseMoveTracker$cur2;\n\n (_mouseMoveTracker$cur = mouseMoveTracker.current) === null || _mouseMoveTracker$cur === void 0 ? void 0 : (_mouseMoveTracker$cur2 = _mouseMoveTracker$cur.releaseMouseMoves) === null || _mouseMoveTracker$cur2 === void 0 ? void 0 : _mouseMoveTracker$cur2.call(_mouseMoveTracker$cur);\n mouseMoveTracker.current = null;\n }, []);\n var handleDragMove = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (deltaX, deltaY, event) {\n var _window, _window$event;\n\n if (!mouseMoveTracker.current || !mouseMoveTracker.current.isDragging()) {\n return;\n }\n\n if ((event === null || event === void 0 ? void 0 : event.buttons) === 0 || ((_window = window) === null || _window === void 0 ? void 0 : (_window$event = _window.event) === null || _window$event === void 0 ? void 0 : _window$event['buttons']) === 0) {\n releaseMouseMoves();\n return;\n }\n\n handleScroll(vertical ? deltaY : deltaX, event);\n }, [handleScroll, releaseMouseMoves, vertical]);\n var handleDragEnd = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n releaseMouseMoves();\n setHandlePressed(false);\n }, [releaseMouseMoves]);\n var getMouseMoveTracker = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n return mouseMoveTracker.current || new dom_lib_DOMMouseMoveTracker__WEBPACK_IMPORTED_MODULE_3__.default(handleDragMove, handleDragEnd, document.body);\n }, [handleDragEnd, handleDragMove]);\n var handleMouseDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (event) {\n var _mouseMoveTracker$cur3;\n\n mouseMoveTracker.current = getMouseMoveTracker();\n mouseMoveTracker === null || mouseMoveTracker === void 0 ? void 0 : (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);\n setHandlePressed(true);\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);\n }, [getMouseMoveTracker, onMouseDown]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: \"scrollbar\",\n \"aria-controls\": tableId,\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": valuenow,\n \"aria-orientation\": vertical ? 'vertical' : 'horizontal'\n }, rest, {\n ref: barRef,\n className: classes,\n onClick: handleClick\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: handleRef,\n className: prefix('handle'),\n style: styles,\n onMouseDown: handleMouseDown,\n role: \"button\",\n tabIndex: -1\n }));\n});\nScrollbar.displayName = 'Table.Scrollbar';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scrollbar);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Scrollbar.js?");
|
|
9061
9061
|
|
|
9062
9062
|
/***/ }),
|
|
9063
9063
|
|
|
@@ -9068,7 +9068,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
|
|
|
9068
9068
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9069
9069
|
|
|
9070
9070
|
"use strict";
|
|
9071
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/translateDOMPositionXY */ \"./node_modules/dom-lib/esm/translateDOMPositionXY.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Row */ \"./node_modules/rsuite-table/es/Row.js\");\n/* harmony import */ var _CellGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CellGroup */ \"./node_modules/rsuite-table/es/CellGroup.js\");\n/* harmony import */ var _Scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Scrollbar */ \"./node_modules/rsuite-table/es/Scrollbar.js\");\n/* harmony import */ var _MouseArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MouseArea */ \"./node_modules/rsuite-table/es/MouseArea.js\");\n/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Loader */ \"./node_modules/rsuite-table/es/Loader.js\");\n/* harmony import */ var _EmptyMessage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EmptyMessage */ \"./node_modules/rsuite-table/es/EmptyMessage.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Filter those expanded nodes.\n * @param data\n * @param expandedRowKeys\n * @param rowKey\n * @returns\n */\nvar filterTreeData = function filterTreeData(data, expandedRowKeys, rowKey) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_15__.flattenData)(data).filter(function (rowData) {\n if (rowKey) {\n var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n\n var _expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\n\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.EXPANDED_KEY] = _expanded;\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH] = parents.length;\n return _expanded;\n }\n });\n};\n\nvar DATA_PLACEHOLDER = [];\nvar Table = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var affixHeader = props.affixHeader,\n children = props.children,\n classPrefix = props.classPrefix,\n className = props.className,\n _props$data = props.data,\n dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,\n _props$defaultSortTyp = props.defaultSortType,\n defaultSortType = _props$defaultSortTyp === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC : _props$defaultSortTyp,\n widthProp = props.width,\n expandedRowKeysProp = props.expandedRowKeys,\n defaultExpandAllRows = props.defaultExpandAllRows,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n style = props.style,\n id = props.id,\n isTree = props.isTree,\n _props$hover = props.hover,\n hover = _props$hover === void 0 ? true : _props$hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n } : _props$locale,\n _props$showHeader = props.showHeader,\n showHeader = _props$showHeader === void 0 ? true : _props$showHeader,\n sortColumn = props.sortColumn,\n _props$rowHeight = props.rowHeight,\n rowHeight = _props$rowHeight === void 0 ? 46 : _props$rowHeight,\n sortTypeProp = props.sortType,\n _props$headerHeight = props.headerHeight,\n headerHeightProp = _props$headerHeight === void 0 ? 40 : _props$headerHeight,\n _props$minHeight = props.minHeight,\n minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,\n _props$height = props.height,\n height = _props$height === void 0 ? 200 : _props$height,\n autoHeight = props.autoHeight,\n rtlProp = props.rtl,\n _props$translate3d = props.translate3d,\n translate3d = _props$translate3d === void 0 ? true : _props$translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowClassName = props.rowClassName,\n _props$rowExpandedHei = props.rowExpandedHeight,\n rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n _props$shouldUpdateSc = props.shouldUpdateScroll,\n shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,\n renderRowProp = props.renderRow,\n renderRowExpandedProp = props.renderRowExpanded,\n renderLoading = props.renderLoading,\n renderEmpty = props.renderEmpty,\n onSortColumn = props.onSortColumn,\n onScroll = props.onScroll,\n renderTreeToggle = props.renderTreeToggle,\n onRowClick = props.onRowClick,\n onRowContextMenu = props.onRowContextMenu,\n onExpandChange = props.onExpandChange,\n onTouchStart = props.onTouchStart,\n onTouchMove = props.onTouchMove,\n onTouchEnd = props.onTouchEnd,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"affixHeader\", \"children\", \"classPrefix\", \"className\", \"data\", \"defaultSortType\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"renderRow\", \"renderRowExpanded\", \"renderLoading\", \"renderEmpty\", \"onSortColumn\", \"onScroll\", \"renderTreeToggle\", \"onRowClick\", \"onRowContextMenu\", \"onExpandChange\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\"]);\n\n if (isTree && !rowKey) {\n throw new Error('The `rowKey` is required when set isTree');\n }\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useClassNames)(classPrefix || 'table', typeof classPrefix !== 'undefined'),\n withClassPrefix = _useClassNames.withClassPrefix,\n mergeCls = _useClassNames.merge,\n prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.\n\n\n var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_2__.useReducer)(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useControlled = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findRowKeys)(dataProp, rowKey, lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp)) : defaultExpandedRowKeys || []),\n expandedRowKeys = _useControlled[0],\n setExpandedRowKeys = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(function () {\n return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;\n }),\n data = _useState[0],\n setData = _useState[1];\n\n var _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n expandedRowKeys: expandedRowKeys,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\n\n var headerHeight = showHeader ? headerHeightProp : 0;\n var rtl = rtlProp || (0,_utils__WEBPACK_IMPORTED_MODULE_15__.isRTL)();\n\n var getRowHeight = function getRowHeight(rowData) {\n if (rowData === void 0) {\n rowData = {};\n }\n\n return typeof rowHeight === 'function' ? rowHeight(rowData) : rowHeight;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\n forceUseTransform: true,\n enable3DTransform: translate3d\n }));\n var shouldFixedColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props;\n\n return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;\n });\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n /**\n * Reset the position of the scroll bar after the table size changes.\n */\n\n var resetScrollbar = function resetScrollbar(event) {\n forceUpdate();\n\n if (typeof shouldUpdateScroll === 'function') {\n onScrollTo(shouldUpdateScroll(event));\n } else if (shouldUpdateScroll) {\n var vertical = event === 'bodyHeightChanged';\n vertical ? onScrollTop(0) : onScrollLeft(0);\n }\n };\n\n var _useTableDimension = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableDimension)({\n data: dataProp,\n width: widthProp,\n rowHeight: rowHeight,\n tableRef: tableRef,\n headerWrapperRef: headerWrapperRef,\n prefix: prefix,\n affixHeader: affixHeader,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n headerHeight: headerHeight,\n height: height,\n autoHeight: autoHeight,\n children: children,\n expandedRowKeys: expandedRowKeys,\n onTableScroll: function onTableScroll(coords) {\n onScrollTo(coords);\n },\n onTableContentHeightChange: function onTableContentHeightChange() {\n resetScrollbar('bodyHeightChanged');\n },\n onTableContentWidthChange: function onTableContentWidthChange() {\n resetScrollbar('bodyWidthChanged');\n },\n onTableWidthChange: function onTableWidthChange() {\n resetScrollbar('widthChanged');\n }\n }),\n contentHeight = _useTableDimension.contentHeight,\n contentWidth = _useTableDimension.contentWidth,\n minScrollY = _useTableDimension.minScrollY,\n minScrollX = _useTableDimension.minScrollX,\n scrollY = _useTableDimension.scrollY,\n scrollX = _useTableDimension.scrollX,\n tableWidth = _useTableDimension.tableWidth,\n tableOffset = _useTableDimension.tableOffset,\n headerOffset = _useTableDimension.headerOffset,\n setScrollY = _useTableDimension.setScrollY,\n setScrollX = _useTableDimension.setScrollX;\n\n var getTableHeight = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (data.length === 0 && autoHeight) {\n return height;\n }\n\n return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : height;\n }, [autoHeight, contentHeight, data.length, headerHeight, height, minHeight]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useAffix)({\n tableHeight: getTableHeight,\n contentHeight: contentHeight,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n affixHeader: affixHeader,\n tableOffset: tableOffset,\n headerOffset: headerOffset,\n headerHeight: headerHeight,\n scrollbarXRef: scrollbarXRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef\n });\n\n var _usePosition = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.usePosition)({\n data: dataProp,\n height: height,\n tableWidth: tableWidth,\n tableRef: tableRef,\n prefix: prefix,\n translateDOMPositionXY: translateDOMPositionXY,\n wheelWrapperRef: wheelWrapperRef,\n headerWrapperRef: headerWrapperRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef,\n tableHeaderRef: tableHeaderRef,\n scrollX: scrollX,\n scrollY: scrollY,\n contentWidth: contentWidth,\n shouldFixedColumn: shouldFixedColumn\n }),\n forceUpdatePosition = _usePosition.forceUpdatePosition;\n\n var _useScrollListener = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useScrollListener)({\n rtl: rtl,\n data: dataProp,\n height: height,\n virtualized: virtualized,\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n headerHeight: headerHeight,\n autoHeight: autoHeight,\n tableBodyRef: tableBodyRef,\n scrollbarXRef: scrollbarXRef,\n scrollbarYRef: scrollbarYRef,\n disabledScroll: disabledScroll,\n loading: loading,\n tableRef: tableRef,\n contentWidth: contentWidth,\n tableWidth: tableWidth,\n scrollY: scrollY,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollX: scrollX,\n setScrollX: setScrollX,\n setScrollY: setScrollY,\n forceUpdatePosition: forceUpdatePosition,\n onScroll: onScroll,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }),\n isScrolling = _useScrollListener.isScrolling,\n onScrollHorizontal = _useScrollListener.onScrollHorizontal,\n onScrollVertical = _useScrollListener.onScrollVertical,\n onScrollBody = _useScrollListener.onScrollBody,\n onScrollTop = _useScrollListener.onScrollTop,\n onScrollLeft = _useScrollListener.onScrollLeft,\n onScrollTo = _useScrollListener.onScrollTo;\n\n var _useCellDescriptor = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useCellDescriptor)({\n children: children,\n rtl: rtl,\n mouseAreaRef: mouseAreaRef,\n tableRef: tableRef,\n minScrollX: minScrollX,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerHeight: headerHeight,\n showHeader: showHeader,\n sortType: sortTypeProp,\n defaultSortType: defaultSortType,\n sortColumn: sortColumn,\n prefix: prefix,\n onSortColumn: onSortColumn,\n rowHeight: rowHeight\n }),\n headerCells = _useCellDescriptor.headerCells,\n bodyCells = _useCellDescriptor.bodyCells,\n allColumnsWidth = _useCellDescriptor.allColumnsWidth,\n hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;\n\n var colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n setData(isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp);\n }, [dataProp, expandedRowKeys, rowKey, isTree]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n if ((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) !== colCounts.current) {\n onScrollLeft(0);\n colCounts.current = (headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0;\n }\n }, [children]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return tableRef.current;\n },\n\n get body() {\n return wheelWrapperRef.current;\n },\n\n scrollTop: onScrollTop,\n scrollLeft: onScrollLeft\n };\n });\n var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current;\n var classes = mergeCls(className, withClassPrefix({\n bordered: bordered,\n hover: hover,\n loading: loading,\n treetable: isTree,\n 'word-wrap': wordWrap,\n 'cell-bordered': cellBordered\n }));\n\n var styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n width: widthProp || 'auto',\n height: getTableHeight()\n }, style);\n\n var renderRowExpanded = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n var styles = {\n height: rowExpandedHeight\n };\n\n if (typeof renderRowExpandedProp === 'function') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('row-expanded'),\n style: styles\n }, renderRowExpandedProp(rowData));\n }\n\n return null;\n }, [prefix, renderRowExpandedProp, rowExpandedHeight]);\n\n var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {\n var depth = props.depth,\n restRowProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"depth\"]);\n\n if (typeof rowClassName === 'function') {\n restRowProps.className = rowClassName(rowData);\n } else {\n restRowProps.className = rowClassName;\n }\n\n var rowStyles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props === null || props === void 0 ? void 0 : props.style);\n\n var rowRight = 0;\n\n if (rtl && contentWidth.current > tableWidth.current) {\n rowRight = tableWidth.current - contentWidth.current;\n rowStyles.right = rowRight;\n }\n\n var rowNode = null; // IF there are fixed columns, add a fixed group\n\n if (shouldFixedColumn && contentWidth.current > tableWidth.current) {\n var fixedLeftCells = [];\n var fixedRightCells = [];\n var scrollCells = [];\n var fixedLeftCellGroupWidth = 0;\n var fixedRightCellGroupWidth = 0;\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var _cell$props = cell.props,\n fixed = _cell$props.fixed,\n width = _cell$props.width;\n var isFixedStart = fixed === 'left' || fixed === true;\n var isFixedEnd = fixed === 'right';\n\n if (rtl) {\n isFixedStart = fixed === 'right';\n isFixedEnd = fixed === 'left' || fixed === true;\n }\n\n if (isFixedStart) {\n fixedLeftCells.push(cell);\n fixedLeftCellGroupWidth += width;\n } else if (isFixedEnd) {\n fixedRightCells.push(cell);\n fixedRightCellGroupWidth += width;\n } else {\n scrollCells.push(cell);\n }\n }\n\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, fixedLeftCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"left\",\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedLeftCellGroupWidth,\n style: rtl ? {\n right: tableWidth.current - fixedLeftCellGroupWidth - rowRight\n } : undefined\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedLeftCells))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(scrollCells)), fixedRightCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"right\",\n style: rtl ? {\n right: 0 - rowRight\n } : {\n left: tableWidth.current - fixedRightCellGroupWidth - _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n },\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedRightCellGroupWidth + _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedRightCells, _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH))) : null, shouldRenderExpandedRow && renderRowExpanded(rowData));\n } else {\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(cells)), shouldRenderExpandedRow && renderRowExpanded(rowData));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), renderRowProp ? renderRowProp(rowNode, rowData) : rowNode);\n };\n\n var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var rowProps = {\n 'aria-rowindex': 1,\n rowRef: tableHeaderRef,\n width: rowWidth,\n height: getRowHeight(),\n headerHeight: headerHeight,\n isHeaderRow: true,\n top: 0\n };\n var fixedStyle = {\n position: 'fixed',\n overflow: 'hidden',\n height: headerHeight,\n width: tableWidth.current,\n top: top\n }; // Affix header\n\n var header = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('affix-header'),\n style: fixedStyle,\n ref: affixHeaderWrapperRef\n }, renderRow(rowProps, headerCells));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n role: \"rowgroup\",\n className: prefix('header-row-wrapper'),\n ref: headerWrapperRef\n }, renderRow(rowProps, headerCells)));\n };\n\n var shouldRenderExpandedRow = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && rowKey && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n })) {\n return true;\n }\n\n return false;\n }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);\n var bindRowClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowData, event);\n };\n }, [onRowClick]);\n var bindRowContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowContextMenu === null || onRowContextMenu === void 0 ? void 0 : onRowContextMenu(rowData, event);\n };\n }, [onRowContextMenu]);\n var handleTreeToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (treeRowKey, _rowIndex, rowData) {\n var open = false;\n var nextExpandedRowKeys = [];\n\n for (var i = 0; i < expandedRowKeys.length; i++) {\n var key = expandedRowKeys[i];\n\n if (key === treeRowKey) {\n open = true;\n } else {\n nextExpandedRowKeys.push(key);\n }\n }\n\n if (!open) {\n nextExpandedRowKeys.push(treeRowKey);\n }\n\n setExpandedRowKeys(nextExpandedRowKeys);\n onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);\n }, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);\n\n var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {\n var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);\n var nextRowKey = rowKey && typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;\n\n var rowProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props, {\n key: nextRowKey,\n 'aria-rowindex': props.key + 2,\n rowRef: bindTableRowsRef(props.key, rowData),\n onClick: bindRowClick(rowData),\n onContextMenu: bindRowContextMenu(rowData)\n });\n\n var expanded = expandedRowKeys.some(function (key) {\n return rowKey && key === rowData[rowKey];\n });\n var cells = [];\n\n for (var i = 0; i < bodyCells.length; i++) {\n var _cell$props2, _cell$props2$rowSpan;\n\n var cell = bodyCells[i];\n var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);\n\n var _rowHeight = rowSpan ? rowSpan * (props.height || 46) : props.height;\n\n if (rowSpan) {\n var _rowProps$style;\n\n rowProps.rowSpan = rowSpan;\n rowProps.style = {\n /**\n * In the case of multiple-column merged rows,\n * the `zIndex` value of the previous row should be greater than the `zIndex` value of the following row.\n * So `rowSpan` is used as the `zIndex` value.\n */\n zIndex: ((_rowProps$style = rowProps.style) === null || _rowProps$style === void 0 ? void 0 : _rowProps$style.zIndex) || rowSpan,\n overflow: 'inherit'\n }; // TODO: Do not render those cells merged by `rowSpan`\n }\n\n cells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(cell, {\n hasChildren: hasChildren,\n rowData: rowData,\n wordWrap: wordWrap,\n height: _rowHeight,\n rowIndex: props.key,\n depth: props.depth,\n renderTreeToggle: renderTreeToggle,\n onTreeToggle: handleTreeToggle,\n rowKey: nextRowKey,\n expanded: expanded,\n rowSpan: rowSpan\n }));\n }\n\n return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);\n };\n\n var renderScrollbar = function renderScrollbar() {\n var height = getTableHeight();\n\n if (disabledScroll) {\n return null;\n }\n\n return [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"scrollbar\",\n tableId: id,\n style: {\n width: tableWidth.current\n },\n length: tableWidth.current,\n onScroll: onScrollHorizontal,\n scrollLength: contentWidth.current,\n ref: scrollbarXRef\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"vertical-scrollbar\",\n vertical: true,\n tableId: id,\n length: height - headerHeight,\n scrollLength: contentHeight.current,\n onScroll: onScrollVertical,\n ref: scrollbarYRef\n })];\n };\n\n var renderTableBody = function renderTableBody(bodyCells, rowWidth) {\n var _visibleRows$current;\n\n var height = getTableHeight();\n var bodyHeight = height - headerHeight;\n var bodyStyles = {\n top: headerHeight,\n height: bodyHeight\n };\n var contentHeight = 0;\n var topHideHeight = 0;\n var bottomHideHeight = 0;\n visibleRows.current = [];\n\n if (data) {\n var top = 0; // Row position\n\n var minTop = Math.abs(scrollY.current);\n var maxTop = minTop + height + rowExpandedHeight;\n var isCustomRowHeight = typeof rowHeight === 'function';\n var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,\n // you need to loop through the data to get the height of each row.\n\n if (isUncertainHeight && virtualized || !virtualized) {\n // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredHeight = height * 3;\n minTop = Math.max(minTop - coveredHeight, 0);\n maxTop = maxTop + coveredHeight;\n }\n\n for (var index = 0; index < data.length; index++) {\n var _rowData = data[index];\n var maxHeight = tableRowsMaxHeight[index];\n var shouldRender = shouldRenderExpandedRow(_rowData);\n var nextRowHeight = 0;\n\n if (typeof rowHeight === 'function') {\n nextRowHeight = rowHeight(_rowData);\n } else {\n nextRowHeight = maxHeight ? Math.max(maxHeight + _constants__WEBPACK_IMPORTED_MODULE_14__.CELL_PADDING_HEIGHT, rowHeight) : rowHeight;\n\n if (shouldRender) {\n nextRowHeight += rowExpandedHeight;\n }\n }\n\n contentHeight += nextRowHeight;\n var rowProps = {\n key: index,\n top: top,\n width: rowWidth,\n depth: _rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n height: nextRowHeight\n };\n top += nextRowHeight;\n\n if (virtualized && !wordWrap) {\n if (top + nextRowHeight < minTop) {\n topHideHeight += nextRowHeight;\n continue;\n } else if (top > maxTop) {\n bottomHideHeight += nextRowHeight;\n continue;\n }\n }\n\n visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, shouldRender));\n }\n } else {\n /** virtualized */\n // If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,\n // thereby reducing the performance cost of traversing all data.\n var _nextRowHeight = getRowHeight();\n\n var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);\n var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredCount = Math.floor(height / _nextRowHeight * 3);\n startIndex = Math.max(startIndex - coveredCount, 0);\n endIndex = Math.min(endIndex + coveredCount, data.length);\n }\n\n contentHeight = data.length * _nextRowHeight;\n topHideHeight = startIndex * _nextRowHeight;\n bottomHideHeight = (data.length - endIndex) * _nextRowHeight;\n\n for (var _index = startIndex; _index < endIndex; _index++) {\n var _rowData2 = data[_index];\n var _rowProps = {\n key: _index,\n depth: _rowData2[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n top: _index * _nextRowHeight,\n width: rowWidth,\n height: _nextRowHeight\n };\n visibleRows.current.push(renderRowData(bodyCells, _rowData2, _rowProps, false));\n }\n }\n }\n\n var wheelStyles = {\n position: 'absolute',\n height: contentHeight,\n minHeight: height,\n pointerEvents: isScrolling ? 'none' : undefined\n };\n var topRowStyles = {\n height: topHideHeight\n };\n var bottomRowStyles = {\n height: bottomHideHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: tableBodyRef,\n role: \"rowgroup\",\n className: prefix('body-row-wrapper'),\n style: bodyStyles,\n onScroll: onScrollBody\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n style: wheelStyles,\n className: prefix('body-wheel-area'),\n ref: wheelWrapperRef\n }, topHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: topRowStyles,\n className: \"virtualized\"\n }) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: bottomRowStyles,\n className: \"virtualized\"\n }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_EmptyMessage__WEBPACK_IMPORTED_MODULE_12__.default, {\n locale: locale,\n renderEmpty: renderEmpty,\n addPrefix: prefix,\n loading: !!((_visibleRows$current = visibleRows.current) !== null && _visibleRows$current !== void 0 && _visibleRows$current.length) || loading\n }), renderScrollbar(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Loader__WEBPACK_IMPORTED_MODULE_11__.default, {\n locale: locale,\n loadAnimation: loadAnimation,\n loading: loading,\n addPrefix: prefix,\n renderLoading: renderLoading\n }));\n };\n\n var contextValue = react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(function () {\n return {\n classPrefix: withClassPrefix(),\n translateDOMPositionXY: translateDOMPositionXY.current,\n rtl: rtl,\n isTree: isTree,\n hasCustomTreeCol: hasCustomTreeCol\n };\n }, [hasCustomTreeCol, isTree, rtl, withClassPrefix]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TableContext__WEBPACK_IMPORTED_MODULE_13__.default.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.\n // Its value is an integer equal to the total number of rows available, including header rows.\n ,\n \"aria-rowcount\": data.length + 1,\n \"aria-colcount\": colCounts.current,\n \"aria-busy\": loading\n }, rest, {\n className: classes,\n style: styles,\n ref: tableRef\n }), showHeader && renderTableHeader(headerCells, rowWidth), children && renderTableBody(bodyCells, rowWidth), showHeader && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_MouseArea__WEBPACK_IMPORTED_MODULE_10__.default, {\n ref: mouseAreaRef,\n addPrefix: prefix,\n headerHeight: headerHeight,\n height: getTableHeight()\n })));\n});\nTable.displayName = 'Table';\nTable.propTypes = {\n autoHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n affixHeader: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n affixHorizontalScrollbar: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n bordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n classPrefix: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n cellBordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n data: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array.isRequired),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n defaultSortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n disabledScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n expandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n hover: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n height: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n headerHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n locale: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n loading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n loadAnimation: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n minHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n rowKey: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n rowHeight: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)]),\n renderTreeToggle: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRowExpanded: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRow: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowExpandedHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n renderEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderLoading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n rtl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n style: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n sortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n showHeader: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n shouldUpdateScroll: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]),\n translate3d: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n wordWrap: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n width: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n virtualized: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n isTree: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n onRowClick: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onRowContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onExpandChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Table);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Table.js?");
|
|
9071
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/translateDOMPositionXY */ \"./node_modules/dom-lib/esm/translateDOMPositionXY.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Row */ \"./node_modules/rsuite-table/es/Row.js\");\n/* harmony import */ var _CellGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CellGroup */ \"./node_modules/rsuite-table/es/CellGroup.js\");\n/* harmony import */ var _Scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Scrollbar */ \"./node_modules/rsuite-table/es/Scrollbar.js\");\n/* harmony import */ var _MouseArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MouseArea */ \"./node_modules/rsuite-table/es/MouseArea.js\");\n/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Loader */ \"./node_modules/rsuite-table/es/Loader.js\");\n/* harmony import */ var _EmptyMessage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EmptyMessage */ \"./node_modules/rsuite-table/es/EmptyMessage.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Filter those expanded nodes.\n * @param data\n * @param expandedRowKeys\n * @param rowKey\n * @returns\n */\nvar filterTreeData = function filterTreeData(data, expandedRowKeys, rowKey) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_15__.flattenData)(data).filter(function (rowData) {\n if (rowKey) {\n var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n\n var _expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\n\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.EXPANDED_KEY] = _expanded;\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH] = parents.length;\n return _expanded;\n }\n });\n};\n\nvar DATA_PLACEHOLDER = [];\nvar Table = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var affixHeader = props.affixHeader,\n children = props.children,\n classPrefix = props.classPrefix,\n className = props.className,\n _props$data = props.data,\n dataProp = _props$data === void 0 ? DATA_PLACEHOLDER : _props$data,\n _props$defaultSortTyp = props.defaultSortType,\n defaultSortType = _props$defaultSortTyp === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC : _props$defaultSortTyp,\n widthProp = props.width,\n expandedRowKeysProp = props.expandedRowKeys,\n defaultExpandAllRows = props.defaultExpandAllRows,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n style = props.style,\n id = props.id,\n isTree = props.isTree,\n _props$hover = props.hover,\n hover = _props$hover === void 0 ? true : _props$hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n _props$locale = props.locale,\n locale = _props$locale === void 0 ? {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n } : _props$locale,\n _props$showHeader = props.showHeader,\n showHeader = _props$showHeader === void 0 ? true : _props$showHeader,\n sortColumn = props.sortColumn,\n _props$rowHeight = props.rowHeight,\n rowHeight = _props$rowHeight === void 0 ? 46 : _props$rowHeight,\n sortTypeProp = props.sortType,\n _props$headerHeight = props.headerHeight,\n headerHeightProp = _props$headerHeight === void 0 ? 40 : _props$headerHeight,\n _props$minHeight = props.minHeight,\n minHeight = _props$minHeight === void 0 ? 0 : _props$minHeight,\n _props$height = props.height,\n height = _props$height === void 0 ? 200 : _props$height,\n autoHeight = props.autoHeight,\n fillHeight = props.fillHeight,\n rtlProp = props.rtl,\n _props$translate3d = props.translate3d,\n translate3d = _props$translate3d === void 0 ? true : _props$translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowClassName = props.rowClassName,\n _props$rowExpandedHei = props.rowExpandedHeight,\n rowExpandedHeight = _props$rowExpandedHei === void 0 ? 100 : _props$rowExpandedHei,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n _props$shouldUpdateSc = props.shouldUpdateScroll,\n shouldUpdateScroll = _props$shouldUpdateSc === void 0 ? true : _props$shouldUpdateSc,\n renderRowProp = props.renderRow,\n renderRowExpandedProp = props.renderRowExpanded,\n renderLoading = props.renderLoading,\n renderEmpty = props.renderEmpty,\n onSortColumn = props.onSortColumn,\n onScroll = props.onScroll,\n renderTreeToggle = props.renderTreeToggle,\n onRowClick = props.onRowClick,\n onRowContextMenu = props.onRowContextMenu,\n onExpandChange = props.onExpandChange,\n onTouchStart = props.onTouchStart,\n onTouchMove = props.onTouchMove,\n onTouchEnd = props.onTouchEnd,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"affixHeader\", \"children\", \"classPrefix\", \"className\", \"data\", \"defaultSortType\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"fillHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"renderRow\", \"renderRowExpanded\", \"renderLoading\", \"renderEmpty\", \"onSortColumn\", \"onScroll\", \"renderTreeToggle\", \"onRowClick\", \"onRowContextMenu\", \"onExpandChange\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\"]);\n\n if (isTree && !rowKey) {\n throw new Error('The `rowKey` is required when set isTree');\n }\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useClassNames)(classPrefix || 'table', typeof classPrefix !== 'undefined'),\n withClassPrefix = _useClassNames.withClassPrefix,\n mergeCls = _useClassNames.merge,\n prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.\n\n\n var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_2__.useReducer)(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useControlled = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findRowKeys)(dataProp, rowKey, lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp)) : defaultExpandedRowKeys || []),\n expandedRowKeys = _useControlled[0],\n setExpandedRowKeys = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(function () {\n return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;\n }),\n data = _useState[0],\n setData = _useState[1];\n\n var _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n expandedRowKeys: expandedRowKeys,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\n\n var headerHeight = showHeader ? headerHeightProp : 0;\n var rtl = rtlProp || (0,_utils__WEBPACK_IMPORTED_MODULE_15__.isRTL)();\n\n var getRowHeight = function getRowHeight(rowData) {\n if (rowData === void 0) {\n rowData = {};\n }\n\n return typeof rowHeight === 'function' ? rowHeight(rowData) : rowHeight;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\n forceUseTransform: true,\n enable3DTransform: translate3d\n })); // Check for the existence of fixed columns in all column properties.\n\n var shouldFixedColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props;\n\n return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;\n }); // Check all column properties for the existence of rowSpan.\n\n var shouldRowSpanColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props2;\n\n return child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.rowSpan;\n });\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n\n var handleTableResizeChange = function handleTableResizeChange(_prevSize, event) {\n forceUpdate();\n /**\n * Reset the position of the scroll bar after the table size changes.\n */\n\n if (typeof shouldUpdateScroll === 'function') {\n onScrollTo(shouldUpdateScroll(event));\n } else if (shouldUpdateScroll) {\n var vertical = event === 'bodyHeightChanged';\n vertical ? onScrollTop(0) : onScrollLeft(0);\n }\n };\n\n var _useTableDimension = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableDimension)({\n data: dataProp,\n width: widthProp,\n rowHeight: rowHeight,\n tableRef: tableRef,\n headerWrapperRef: headerWrapperRef,\n prefix: prefix,\n affixHeader: affixHeader,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n headerHeight: headerHeight,\n height: height,\n minHeight: minHeight,\n autoHeight: autoHeight,\n fillHeight: fillHeight,\n children: children,\n expandedRowKeys: expandedRowKeys,\n onTableScroll: function onTableScroll(coords) {\n onScrollTo(coords);\n },\n onTableResizeChange: handleTableResizeChange\n }),\n contentHeight = _useTableDimension.contentHeight,\n contentWidth = _useTableDimension.contentWidth,\n minScrollY = _useTableDimension.minScrollY,\n minScrollX = _useTableDimension.minScrollX,\n scrollY = _useTableDimension.scrollY,\n scrollX = _useTableDimension.scrollX,\n tableWidth = _useTableDimension.tableWidth,\n tableOffset = _useTableDimension.tableOffset,\n headerOffset = _useTableDimension.headerOffset,\n setScrollY = _useTableDimension.setScrollY,\n setScrollX = _useTableDimension.setScrollX,\n getTableHeight = _useTableDimension.getTableHeight;\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useAffix)({\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n affixHeader: affixHeader,\n tableOffset: tableOffset,\n headerOffset: headerOffset,\n headerHeight: headerHeight,\n scrollbarXRef: scrollbarXRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef\n });\n\n var _usePosition = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.usePosition)({\n data: dataProp,\n height: height,\n tableWidth: tableWidth,\n tableRef: tableRef,\n prefix: prefix,\n translateDOMPositionXY: translateDOMPositionXY,\n wheelWrapperRef: wheelWrapperRef,\n headerWrapperRef: headerWrapperRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef,\n tableHeaderRef: tableHeaderRef,\n scrollX: scrollX,\n scrollY: scrollY,\n contentWidth: contentWidth,\n shouldFixedColumn: shouldFixedColumn\n }),\n forceUpdatePosition = _usePosition.forceUpdatePosition;\n\n var _useScrollListener = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useScrollListener)({\n rtl: rtl,\n data: dataProp,\n height: height,\n virtualized: virtualized,\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n headerHeight: headerHeight,\n autoHeight: autoHeight,\n tableBodyRef: tableBodyRef,\n scrollbarXRef: scrollbarXRef,\n scrollbarYRef: scrollbarYRef,\n disabledScroll: disabledScroll,\n loading: loading,\n tableRef: tableRef,\n contentWidth: contentWidth,\n tableWidth: tableWidth,\n scrollY: scrollY,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollX: scrollX,\n setScrollX: setScrollX,\n setScrollY: setScrollY,\n forceUpdatePosition: forceUpdatePosition,\n onScroll: onScroll,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }),\n isScrolling = _useScrollListener.isScrolling,\n onScrollHorizontal = _useScrollListener.onScrollHorizontal,\n onScrollVertical = _useScrollListener.onScrollVertical,\n onScrollBody = _useScrollListener.onScrollBody,\n onScrollTop = _useScrollListener.onScrollTop,\n onScrollLeft = _useScrollListener.onScrollLeft,\n onScrollTo = _useScrollListener.onScrollTo;\n\n var _useCellDescriptor = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useCellDescriptor)({\n children: children,\n rtl: rtl,\n mouseAreaRef: mouseAreaRef,\n tableRef: tableRef,\n minScrollX: minScrollX,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerHeight: headerHeight,\n showHeader: showHeader,\n sortType: sortTypeProp,\n defaultSortType: defaultSortType,\n sortColumn: sortColumn,\n prefix: prefix,\n onSortColumn: onSortColumn,\n // Force table update after column width change, so scrollbar re-renders.\n onHeaderCellResize: forceUpdate,\n rowHeight: rowHeight\n }),\n headerCells = _useCellDescriptor.headerCells,\n bodyCells = _useCellDescriptor.bodyCells,\n allColumnsWidth = _useCellDescriptor.allColumnsWidth,\n hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;\n\n var colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n setData(isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp);\n }, [dataProp, expandedRowKeys, rowKey, isTree]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n if ((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) !== colCounts.current) {\n onScrollLeft(0);\n colCounts.current = (headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0;\n }\n }, [children]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return tableRef.current;\n },\n\n get body() {\n return wheelWrapperRef.current;\n },\n\n scrollTop: onScrollTop,\n scrollLeft: onScrollLeft\n };\n });\n var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current; // Whether to show vertical scroll bar\n\n var hasVerticalScrollbar = !autoHeight && contentHeight.current > getTableHeight() - headerHeight; // Whether to show the horizontal scroll bar\n\n var hasHorizontalScrollbar = contentWidth.current > tableWidth.current;\n var classes = mergeCls(className, withClassPrefix({\n bordered: bordered,\n hover: hover && !shouldRowSpanColumn,\n loading: loading,\n treetable: isTree,\n 'word-wrap': wordWrap,\n 'cell-bordered': cellBordered\n }));\n\n var styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n width: widthProp || 'auto',\n height: getTableHeight()\n }, style);\n\n var renderRowExpanded = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n var styles = {\n height: rowExpandedHeight\n };\n\n if (typeof renderRowExpandedProp === 'function') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('row-expanded'),\n style: styles\n }, renderRowExpandedProp(rowData));\n }\n\n return null;\n }, [prefix, renderRowExpandedProp, rowExpandedHeight]);\n\n var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {\n var depth = props.depth,\n restRowProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"depth\"]);\n\n if (typeof rowClassName === 'function') {\n restRowProps.className = rowClassName(rowData);\n } else {\n restRowProps.className = rowClassName;\n }\n\n var rowStyles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props === null || props === void 0 ? void 0 : props.style);\n\n var rowRight = 0;\n\n if (rtl && contentWidth.current > tableWidth.current) {\n rowRight = tableWidth.current - contentWidth.current;\n rowStyles.right = rowRight;\n }\n\n var rowNode = null; // IF there are fixed columns, add a fixed group\n\n if (shouldFixedColumn && contentWidth.current > tableWidth.current) {\n var fixedLeftCells = [];\n var fixedRightCells = [];\n var scrollCells = [];\n var fixedLeftCellGroupWidth = 0;\n var fixedRightCellGroupWidth = 0;\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var _cell$props = cell.props,\n fixed = _cell$props.fixed,\n width = _cell$props.width;\n var isFixedStart = fixed === 'left' || fixed === true;\n var isFixedEnd = fixed === 'right';\n\n if (rtl) {\n isFixedStart = fixed === 'right';\n isFixedEnd = fixed === 'left' || fixed === true;\n }\n\n if (isFixedStart) {\n fixedLeftCells.push(cell);\n fixedLeftCellGroupWidth += width;\n } else if (isFixedEnd) {\n fixedRightCells.push(cell);\n fixedRightCellGroupWidth += width;\n } else {\n scrollCells.push(cell);\n }\n }\n\n if (hasVerticalScrollbar && fixedRightCellGroupWidth) {\n fixedRightCellGroupWidth += _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH;\n }\n\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, fixedLeftCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"left\",\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedLeftCellGroupWidth,\n style: rtl ? {\n right: tableWidth.current - fixedLeftCellGroupWidth - rowRight\n } : undefined\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedLeftCells))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(scrollCells)), fixedRightCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"right\",\n style: rtl ? {\n right: 0 - rowRight\n } : {\n left: tableWidth.current - fixedRightCellGroupWidth\n },\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedRightCellGroupWidth\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedRightCells, hasVerticalScrollbar ? _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH : 0))) : null, shouldRenderExpandedRow && renderRowExpanded(rowData));\n } else {\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(cells)), shouldRenderExpandedRow && renderRowExpanded(rowData));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), renderRowProp ? renderRowProp(rowNode, rowData) : rowNode);\n };\n\n var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var rowProps = {\n 'aria-rowindex': 1,\n rowRef: tableHeaderRef,\n width: rowWidth,\n height: getRowHeight(),\n headerHeight: headerHeight,\n isHeaderRow: true,\n top: 0\n };\n var fixedStyle = {\n position: 'fixed',\n overflow: 'hidden',\n height: headerHeight,\n width: tableWidth.current,\n top: top\n }; // Affix header\n\n var header = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('affix-header'),\n style: fixedStyle,\n ref: affixHeaderWrapperRef\n }, renderRow(rowProps, headerCells));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n role: \"rowgroup\",\n className: prefix('header-row-wrapper'),\n ref: headerWrapperRef\n }, renderRow(rowProps, headerCells)));\n };\n\n var shouldRenderExpandedRow = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && rowKey && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n })) {\n return true;\n }\n\n return false;\n }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);\n var bindRowClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowData, event);\n };\n }, [onRowClick]);\n var bindRowContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowContextMenu === null || onRowContextMenu === void 0 ? void 0 : onRowContextMenu(rowData, event);\n };\n }, [onRowContextMenu]);\n var handleTreeToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (treeRowKey, _rowIndex, rowData) {\n var open = false;\n var nextExpandedRowKeys = [];\n\n for (var i = 0; i < expandedRowKeys.length; i++) {\n var key = expandedRowKeys[i];\n\n if (key === treeRowKey) {\n open = true;\n } else {\n nextExpandedRowKeys.push(key);\n }\n }\n\n if (!open) {\n nextExpandedRowKeys.push(treeRowKey);\n }\n\n setExpandedRowKeys(nextExpandedRowKeys);\n onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);\n }, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);\n /**\n * Records the status of merged rows.\n * { cellKey: [count,index]}\n */\n\n var rowSpanState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)({});\n\n var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {\n var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);\n var nextRowKey = rowKey && typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;\n\n var rowProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props, {\n key: nextRowKey,\n 'aria-rowindex': props.key + 2,\n rowRef: bindTableRowsRef(props.key, rowData),\n onClick: bindRowClick(rowData),\n onContextMenu: bindRowContextMenu(rowData)\n });\n\n var expanded = expandedRowKeys.some(function (key) {\n return rowKey && key === rowData[rowKey];\n });\n var cells = [];\n\n for (var i = 0; i < bodyCells.length; i++) {\n var _cell$props2, _cell$props2$rowSpan, _rowSpanState$current, _cell$props3, _rowSpanState$current2;\n\n var cell = bodyCells[i];\n var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);\n\n var _rowHeight = rowSpan ? rowSpan * (props.height || 46) : props.height;\n\n var _cellKey = cell.props.dataKey || i; // Record the cell state of the merged row\n\n\n if (((_rowSpanState$current = rowSpanState.current[_cellKey]) === null || _rowSpanState$current === void 0 ? void 0 : _rowSpanState$current[1]) > 0) {\n rowSpanState.current[_cellKey][1] -= 1; // Restart counting when merged to the last cell.\n\n if (rowSpanState.current[_cellKey][1] === 0) {\n rowSpanState.current[_cellKey][0] = 0;\n }\n }\n\n if (rowSpan) {\n // The state of the initial merged cell\n rowSpanState.current[_cellKey] = [rowSpan, rowSpan];\n rowProps.rowSpan = rowSpan;\n rowProps.style = {\n overflow: 'inherit'\n };\n } // Cells marked as deleted when checking for merged cell.\n\n\n var removedCell = (_cell$props3 = cell.props) !== null && _cell$props3 !== void 0 && _cell$props3.rowSpan && !rowSpan && ((_rowSpanState$current2 = rowSpanState.current[_cellKey]) === null || _rowSpanState$current2 === void 0 ? void 0 : _rowSpanState$current2[0]) !== 0 ? true : false;\n cells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(cell, {\n hasChildren: hasChildren,\n rowData: rowData,\n wordWrap: wordWrap,\n height: _rowHeight,\n rowIndex: props.key,\n depth: props.depth,\n renderTreeToggle: renderTreeToggle,\n onTreeToggle: handleTreeToggle,\n rowKey: nextRowKey,\n expanded: expanded,\n rowSpan: rowSpan,\n removed: removedCell\n }));\n }\n\n return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);\n };\n\n var renderScrollbar = function renderScrollbar() {\n var height = getTableHeight();\n\n if (disabledScroll) {\n return null;\n }\n\n var scrollbars = [];\n\n if (hasHorizontalScrollbar) {\n scrollbars.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"scrollbar\",\n tableId: id,\n style: {\n width: tableWidth.current\n },\n length: tableWidth.current,\n onScroll: onScrollHorizontal,\n scrollLength: contentWidth.current,\n ref: scrollbarXRef\n }));\n }\n\n if (hasVerticalScrollbar) {\n scrollbars.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n vertical: true,\n key: \"vertical-scrollbar\",\n tableId: id,\n length: height - headerHeight,\n onScroll: onScrollVertical,\n scrollLength: contentHeight.current,\n ref: scrollbarYRef\n }));\n }\n\n return scrollbars;\n };\n\n var renderTableBody = function renderTableBody(bodyCells, rowWidth) {\n var _visibleRows$current;\n\n var height = getTableHeight();\n var bodyHeight = height - headerHeight;\n var bodyStyles = {\n top: headerHeight,\n height: bodyHeight\n };\n var contentHeight = 0;\n var topHideHeight = 0;\n var bottomHideHeight = 0;\n visibleRows.current = [];\n\n if (data) {\n var top = 0; // Row position\n\n var minTop = Math.abs(scrollY.current);\n var maxTop = minTop + height + rowExpandedHeight;\n var isCustomRowHeight = typeof rowHeight === 'function';\n var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,\n // you need to loop through the data to get the height of each row.\n\n if (isUncertainHeight && virtualized || !virtualized) {\n // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredHeight = height * 3;\n minTop = Math.max(minTop - coveredHeight, 0);\n maxTop = maxTop + coveredHeight;\n }\n\n for (var index = 0; index < data.length; index++) {\n var _rowData = data[index];\n var maxHeight = tableRowsMaxHeight[index];\n var shouldRender = shouldRenderExpandedRow(_rowData);\n var nextRowHeight = 0;\n\n if (typeof rowHeight === 'function') {\n nextRowHeight = rowHeight(_rowData);\n } else {\n nextRowHeight = maxHeight ? Math.max(maxHeight + _constants__WEBPACK_IMPORTED_MODULE_14__.CELL_PADDING_HEIGHT, rowHeight) : rowHeight;\n\n if (shouldRender) {\n nextRowHeight += rowExpandedHeight;\n }\n }\n\n contentHeight += nextRowHeight;\n var rowProps = {\n key: index,\n top: top,\n width: rowWidth,\n depth: _rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n height: nextRowHeight\n };\n top += nextRowHeight;\n\n if (virtualized && !wordWrap) {\n if (top + nextRowHeight < minTop) {\n topHideHeight += nextRowHeight;\n continue;\n } else if (top > maxTop) {\n bottomHideHeight += nextRowHeight;\n continue;\n }\n }\n\n visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, shouldRender));\n }\n } else {\n /** virtualized */\n // If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,\n // thereby reducing the performance cost of traversing all data.\n var _nextRowHeight = getRowHeight();\n\n var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);\n var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredCount = Math.floor(height / _nextRowHeight * 3);\n startIndex = Math.max(startIndex - coveredCount, 0);\n endIndex = Math.min(endIndex + coveredCount, data.length);\n }\n\n contentHeight = data.length * _nextRowHeight;\n topHideHeight = startIndex * _nextRowHeight;\n bottomHideHeight = (data.length - endIndex) * _nextRowHeight;\n\n for (var _index = startIndex; _index < endIndex; _index++) {\n var _rowData2 = data[_index];\n var _rowProps = {\n key: _index,\n depth: _rowData2[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n top: _index * _nextRowHeight,\n width: rowWidth,\n height: _nextRowHeight\n };\n visibleRows.current.push(renderRowData(bodyCells, _rowData2, _rowProps, false));\n }\n }\n }\n\n var wheelStyles = {\n position: 'absolute',\n height: contentHeight,\n minHeight: height,\n pointerEvents: isScrolling ? 'none' : undefined\n };\n var topRowStyles = {\n height: topHideHeight\n };\n var bottomRowStyles = {\n height: bottomHideHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: tableBodyRef,\n role: \"rowgroup\",\n className: prefix('body-row-wrapper'),\n style: bodyStyles,\n onScroll: onScrollBody\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n style: wheelStyles,\n className: prefix('body-wheel-area'),\n ref: wheelWrapperRef\n }, topHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: topRowStyles,\n className: \"virtualized\"\n }) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: bottomRowStyles,\n className: \"virtualized\"\n }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_EmptyMessage__WEBPACK_IMPORTED_MODULE_12__.default, {\n locale: locale,\n renderEmpty: renderEmpty,\n addPrefix: prefix,\n loading: !!((_visibleRows$current = visibleRows.current) !== null && _visibleRows$current !== void 0 && _visibleRows$current.length) || loading\n }), renderScrollbar(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Loader__WEBPACK_IMPORTED_MODULE_11__.default, {\n locale: locale,\n loadAnimation: loadAnimation,\n loading: loading,\n addPrefix: prefix,\n renderLoading: renderLoading\n }));\n };\n\n var contextValue = react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(function () {\n return {\n classPrefix: withClassPrefix(),\n translateDOMPositionXY: translateDOMPositionXY.current,\n rtl: rtl,\n isTree: isTree,\n hasCustomTreeCol: hasCustomTreeCol\n };\n }, [hasCustomTreeCol, isTree, rtl, withClassPrefix]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TableContext__WEBPACK_IMPORTED_MODULE_13__.default.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.\n // Its value is an integer equal to the total number of rows available, including header rows.\n ,\n \"aria-rowcount\": data.length + 1,\n \"aria-colcount\": colCounts.current,\n \"aria-busy\": loading\n }, rest, {\n className: classes,\n style: styles,\n ref: tableRef\n }), showHeader && renderTableHeader(headerCells, rowWidth), children && renderTableBody(bodyCells, rowWidth), showHeader && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_MouseArea__WEBPACK_IMPORTED_MODULE_10__.default, {\n ref: mouseAreaRef,\n addPrefix: prefix,\n headerHeight: headerHeight,\n height: getTableHeight()\n })));\n});\nTable.displayName = 'Table';\nTable.propTypes = {\n autoHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n fillHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n affixHeader: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n affixHorizontalScrollbar: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n bordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n classPrefix: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n cellBordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n data: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n defaultSortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n disabledScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n expandedRowKeys: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().array),\n hover: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n height: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n headerHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n locale: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n loading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n loadAnimation: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n minHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n rowKey: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n rowHeight: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)]),\n renderTreeToggle: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRowExpanded: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRow: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowExpandedHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n renderEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderLoading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n rtl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n style: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n sortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n showHeader: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n shouldUpdateScroll: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]),\n translate3d: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n wordWrap: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n width: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n virtualized: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n isTree: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n onRowClick: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onRowContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onExpandChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Table);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Table.js?");
|
|
9072
9072
|
|
|
9073
9073
|
/***/ }),
|
|
9074
9074
|
|
|
@@ -9310,7 +9310,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom_
|
|
|
9310
9310
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9311
9311
|
|
|
9312
9312
|
"use strict";
|
|
9313
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var _toggleClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./toggleClass */ \"./node_modules/rsuite-table/es/utils/toggleClass.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\nvar useAffix = function useAffix(props) {\n var
|
|
9313
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var _toggleClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./toggleClass */ \"./node_modules/rsuite-table/es/utils/toggleClass.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\nvar useAffix = function useAffix(props) {\n var getTableHeight = props.getTableHeight,\n contentHeight = props.contentHeight,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n affixHeader = props.affixHeader,\n tableOffset = props.tableOffset,\n headerOffset = props.headerOffset,\n headerHeight = props.headerHeight,\n scrollbarXRef = props.scrollbarXRef,\n affixHeaderWrapperRef = props.affixHeaderWrapperRef;\n var scrollListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var handleAffixHorizontalScrollbar = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _tableOffset$current, _scrollbarXRef$curren;\n\n var scrollY = window.scrollY || window.pageYOffset;\n var windowHeight = (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_1__.default)(window);\n var height = getTableHeight();\n var bottom = typeof affixHorizontalScrollbar === 'number' ? affixHorizontalScrollbar : 0;\n var offsetTop = ((_tableOffset$current = tableOffset.current) === null || _tableOffset$current === void 0 ? void 0 : _tableOffset$current.top) || 0;\n var fixedScrollbar = scrollY + windowHeight < height + (offsetTop + bottom) && scrollY + windowHeight - headerHeight > offsetTop + bottom;\n\n if (scrollbarXRef !== null && scrollbarXRef !== void 0 && (_scrollbarXRef$curren = scrollbarXRef.current) !== null && _scrollbarXRef$curren !== void 0 && _scrollbarXRef$curren.root) {\n (0,_toggleClass__WEBPACK_IMPORTED_MODULE_5__.default)(scrollbarXRef.current.root, 'fixed', fixedScrollbar);\n\n if (fixedScrollbar) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(scrollbarXRef.current.root, 'bottom', bottom + \"px\");\n } else {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_3__.default)(scrollbarXRef.current.root, 'bottom');\n }\n }\n }, [affixHorizontalScrollbar, headerHeight, scrollbarXRef, getTableHeight, tableOffset]);\n var handleAffixTableHeader = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _headerOffset$current;\n\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var scrollY = window.scrollY || window.pageYOffset;\n var offsetTop = ((_headerOffset$current = headerOffset.current) === null || _headerOffset$current === void 0 ? void 0 : _headerOffset$current.top) || 0;\n var fixedHeader = scrollY - (offsetTop - top) >= 0 && scrollY < offsetTop - top + contentHeight.current;\n\n if (affixHeaderWrapperRef.current) {\n (0,_toggleClass__WEBPACK_IMPORTED_MODULE_5__.default)(affixHeaderWrapperRef.current, 'fixed', fixedHeader);\n }\n }, [affixHeader, affixHeaderWrapperRef, contentHeight, headerOffset]);\n var handleWindowScroll = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHeader)) {\n handleAffixTableHeader();\n }\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHorizontalScrollbar)) {\n handleAffixHorizontalScrollbar();\n }\n }, [affixHeader, affixHorizontalScrollbar, handleAffixTableHeader, handleAffixHorizontalScrollbar]);\n /**\n * Update the position of the fixed element after the height of the table changes.\n * fix: https://github.com/rsuite/rsuite/issues/1716\n */\n\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__.default)(handleWindowScroll, [getTableHeight]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHeader) || (0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_6__.default)(affixHorizontalScrollbar)) {\n scrollListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(window, 'scroll', handleWindowScroll);\n }\n\n return function () {\n var _scrollListener$curre;\n\n (_scrollListener$curre = scrollListener.current) === null || _scrollListener$curre === void 0 ? void 0 : _scrollListener$curre.off();\n };\n }, [affixHeader, affixHorizontalScrollbar, handleWindowScroll]);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useAffix);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useAffix.js?");
|
|
9314
9314
|
|
|
9315
9315
|
/***/ }),
|
|
9316
9316
|
|
|
@@ -9321,7 +9321,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9321
9321
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9322
9322
|
|
|
9323
9323
|
"use strict";
|
|
9324
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/addClass */ \"./node_modules/dom-lib/esm/addClass.js\");\n/* harmony import */ var dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/removeClass */ \"./node_modules/dom-lib/esm/removeClass.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _useControlled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useControlled */ \"./node_modules/rsuite-table/es/utils/useControlled.js\");\n/* harmony import */ var _getTableColumns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getTableColumns */ \"./node_modules/rsuite-table/es/utils/getTableColumns.js\");\n/* harmony import */ var _getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getTotalByColumns */ \"./node_modules/rsuite-table/es/utils/getTotalByColumns.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Attach rendering-related attributes to all cells of the form and cache them.\n * @param props\n * @returns\n */\nvar useCellDescriptor = function useCellDescriptor(props) {\n var children = props.children,\n rtl = props.rtl,\n mouseAreaRef = props.mouseAreaRef,\n tableRef = props.tableRef,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n tableWidth = props.tableWidth,\n headerHeight = props.headerHeight,\n showHeader = props.showHeader,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n sortColumn = props.sortColumn,\n rowHeight = props.rowHeight,\n onSortColumn = props.onSortColumn,\n prefix = props.prefix;\n\n var _useControlled = (0,_useControlled__WEBPACK_IMPORTED_MODULE_8__.default)(sortTypeProp, defaultSortType),\n sortType = _useControlled[0],\n setSortType = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(),\n cacheData = _useState[0],\n setCacheData = _useState[1];\n\n var clearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function () {\n setCacheData(null);\n }, []);\n var setColumnResizing = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (resizing) {\n if (!tableRef.current) {\n return;\n }\n\n if (resizing) {\n (0,dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef.current, prefix('column-resizing'));\n } else {\n (0,dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__.default)(tableRef.current, prefix('column-resizing'));\n }\n }, [prefix, tableRef]);\n var columnWidths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({});\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__.default)(function () {\n clearCache();\n }, [children, sortColumn, sortType, tableWidth.current, scrollX.current, minScrollX.current]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (columnWidth, _cursorDelta, dataKey, index) {\n columnWidths.current[dataKey + \"_\" + index + \"_width\"] = columnWidth;\n setColumnResizing(false);\n\n if (mouseAreaRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n }\n\n clearCache();\n }, [clearCache, mouseAreaRef, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var mouseAreaLeft = width + left;\n var x = mouseAreaLeft;\n var dir = 'left';\n\n if (rtl) {\n mouseAreaLeft += minScrollX.current + _constants__WEBPACK_IMPORTED_MODULE_7__.SCROLLBAR_WIDTH;\n dir = 'right';\n }\n\n if (!fixed) {\n x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);\n }\n\n if (mouseAreaRef.current) {\n var _addStyle;\n\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\n }\n }, [minScrollX, mouseAreaRef, rtl, scrollX]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n setColumnResizing(true);\n handleColumnResizeMove(width, left, fixed);\n }, [handleColumnResizeMove, setColumnResizing]);\n var handleSortColumn = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (dataKey) {\n var nextSortType = sortType;\n\n if (sortColumn === dataKey) {\n nextSortType = sortType === _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC ? _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.DESC : _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC;\n setSortType(nextSortType);\n }\n\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);\n }, [onSortColumn, setSortType, sortColumn, sortType]);\n\n if (cacheData) {\n return cacheData;\n }\n\n var hasCustomTreeCol = false;\n var left = 0; // Cell left margin\n\n var headerCells = []; // Table header cell\n\n var bodyCells = []; // Table body cell\n\n if (!children) {\n var _cacheCell = {\n columns: [],\n headerCells: headerCells,\n bodyCells: bodyCells,\n hasCustomTreeCol: hasCustomTreeCol,\n allColumnsWidth: left\n };\n setCacheData(_cacheCell);\n return _cacheCell;\n }\n\n var columns = (0,_getTableColumns__WEBPACK_IMPORTED_MODULE_9__.default)(children);\n var count = columns.length;\n\n var _getTotalByColumns = (0,_getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__.default)(columns),\n totalFlexGrow = _getTotalByColumns.totalFlexGrow,\n totalWidth = _getTotalByColumns.totalWidth;\n\n react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(columns, function (column, index) {\n if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(column)) {\n var _columnWidths$current;\n\n var columnChildren = column.props.children;\n var _column$props = column.props,\n width = _column$props.width,\n resizable = _column$props.resizable,\n flexGrow = _column$props.flexGrow,\n minWidth = _column$props.minWidth,\n onResize = _column$props.onResize,\n treeCol = _column$props.treeCol;\n\n if (treeCol) {\n hasCustomTreeCol = true;\n }\n\n if (resizable && flexGrow) {\n console.warn(\"Cannot set 'resizable' and 'flexGrow' together in <Column>, column index: \" + index);\n }\n\n if (columnChildren.length !== 2) {\n throw new Error(\"Component <HeaderCell> and <Cell> is required, column index: \" + index + \" \");\n }\n\n var headerCell = columnChildren[0];\n var cell = columnChildren[1];\n var cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cell.props.dataKey + \"_\" + index + \"_width\"]) || width || 0;\n\n if (tableWidth.current && flexGrow && totalFlexGrow) {\n cellWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);\n }\n\n var cellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, lodash_omit__WEBPACK_IMPORTED_MODULE_5___default()(column.props, ['children']), {\n 'aria-colindex': index + 1,\n left: left,\n headerHeight: headerHeight,\n key: index,\n width: cellWidth,\n height: typeof rowHeight === 'function' ? rowHeight() : rowHeight,\n firstColumn: index === 0,\n lastColumn: index === count - 1\n });\n\n if (showHeader && headerHeight) {\n var headerCellProps = {\n // Resizable column\n // `index` is used to define the serial number when dragging the column width\n index: index,\n dataKey: cell.props.dataKey,\n isHeaderCell: true,\n minWidth: column.props.minWidth,\n sortable: column.props.sortable,\n onSortColumn: handleSortColumn,\n sortType: sortType,\n sortColumn: sortColumn,\n flexGrow: flexGrow\n };\n\n if (resizable) {\n lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(headerCellProps, {\n onResize: onResize,\n onColumnResizeEnd: handleColumnResizeEnd,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeMove: handleColumnResizeMove\n });\n }\n\n headerCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(headerCell, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, cellProps, headerCellProps)));\n }\n\n bodyCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(cell, cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\n columns: columns,\n headerCells: headerCells,\n bodyCells: bodyCells,\n allColumnsWidth: left,\n hasCustomTreeCol: hasCustomTreeCol\n };\n setCacheData(cacheCell);\n return cacheCell;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useCellDescriptor);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useCellDescriptor.js?");
|
|
9324
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/addClass */ \"./node_modules/dom-lib/esm/addClass.js\");\n/* harmony import */ var dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/removeClass */ \"./node_modules/dom-lib/esm/removeClass.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _useControlled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useControlled */ \"./node_modules/rsuite-table/es/utils/useControlled.js\");\n/* harmony import */ var _getTableColumns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getTableColumns */ \"./node_modules/rsuite-table/es/utils/getTableColumns.js\");\n/* harmony import */ var _getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getTotalByColumns */ \"./node_modules/rsuite-table/es/utils/getTotalByColumns.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Attach rendering-related attributes to all cells of the form and cache them.\n * @param props\n * @returns\n */\nvar useCellDescriptor = function useCellDescriptor(props) {\n var children = props.children,\n rtl = props.rtl,\n mouseAreaRef = props.mouseAreaRef,\n tableRef = props.tableRef,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n tableWidth = props.tableWidth,\n headerHeight = props.headerHeight,\n showHeader = props.showHeader,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n sortColumn = props.sortColumn,\n rowHeight = props.rowHeight,\n onSortColumn = props.onSortColumn,\n onHeaderCellResize = props.onHeaderCellResize,\n prefix = props.prefix;\n\n var _useControlled = (0,_useControlled__WEBPACK_IMPORTED_MODULE_8__.default)(sortTypeProp, defaultSortType),\n sortType = _useControlled[0],\n setSortType = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(),\n cacheData = _useState[0],\n setCacheData = _useState[1];\n\n var clearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function () {\n setCacheData(null);\n }, []);\n var setColumnResizing = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (resizing) {\n if (!tableRef.current) {\n return;\n }\n\n if (resizing) {\n (0,dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef.current, prefix('column-resizing'));\n } else {\n (0,dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__.default)(tableRef.current, prefix('column-resizing'));\n }\n }, [prefix, tableRef]);\n var columnWidths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({});\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__.default)(function () {\n clearCache();\n }, [children, sortColumn, sortType, tableWidth.current, scrollX.current, minScrollX.current]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (columnWidth, _cursorDelta, dataKey, index) {\n columnWidths.current[dataKey + \"_\" + index + \"_width\"] = columnWidth;\n setColumnResizing(false);\n\n if (mouseAreaRef.current) {\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n }\n\n clearCache();\n onHeaderCellResize === null || onHeaderCellResize === void 0 ? void 0 : onHeaderCellResize(columnWidth, dataKey);\n }, [clearCache, mouseAreaRef, onHeaderCellResize, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var mouseAreaLeft = width + left;\n var x = mouseAreaLeft;\n var dir = 'left';\n\n if (rtl) {\n mouseAreaLeft += minScrollX.current + _constants__WEBPACK_IMPORTED_MODULE_7__.SCROLLBAR_WIDTH;\n dir = 'right';\n }\n\n if (!fixed) {\n x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);\n }\n\n if (mouseAreaRef.current) {\n var _addStyle;\n\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\n }\n }, [minScrollX, mouseAreaRef, rtl, scrollX]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n setColumnResizing(true);\n handleColumnResizeMove(width, left, fixed);\n }, [handleColumnResizeMove, setColumnResizing]);\n var handleSortColumn = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (dataKey) {\n var nextSortType = sortType;\n\n if (sortColumn === dataKey) {\n nextSortType = sortType === _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC ? _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.DESC : _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC;\n setSortType(nextSortType);\n }\n\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);\n }, [onSortColumn, setSortType, sortColumn, sortType]);\n\n if (cacheData) {\n return cacheData;\n }\n\n var hasCustomTreeCol = false;\n var left = 0; // Cell left margin\n\n var headerCells = []; // Table header cell\n\n var bodyCells = []; // Table body cell\n\n if (!children) {\n var _cacheCell = {\n columns: [],\n headerCells: headerCells,\n bodyCells: bodyCells,\n hasCustomTreeCol: hasCustomTreeCol,\n allColumnsWidth: left\n };\n setCacheData(_cacheCell);\n return _cacheCell;\n }\n\n var columns = (0,_getTableColumns__WEBPACK_IMPORTED_MODULE_9__.default)(children);\n var count = columns.length;\n\n var _getTotalByColumns = (0,_getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__.default)(columns),\n totalFlexGrow = _getTotalByColumns.totalFlexGrow,\n totalWidth = _getTotalByColumns.totalWidth;\n\n react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(columns, function (column, index) {\n if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(column)) {\n var _columnWidths$current;\n\n var columnChildren = column.props.children;\n var _column$props = column.props,\n _width = _column$props.width,\n resizable = _column$props.resizable,\n flexGrow = _column$props.flexGrow,\n minWidth = _column$props.minWidth,\n onResize = _column$props.onResize,\n treeCol = _column$props.treeCol;\n\n if (treeCol) {\n hasCustomTreeCol = true;\n }\n\n if (resizable && flexGrow) {\n console.warn(\"Cannot set 'resizable' and 'flexGrow' together in <Column>, column index: \" + index);\n }\n\n if (columnChildren.length !== 2) {\n throw new Error(\"Component <HeaderCell> and <Cell> is required, column index: \" + index + \" \");\n }\n\n var headerCell = columnChildren[0];\n var cell = columnChildren[1];\n var cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cell.props.dataKey + \"_\" + index + \"_width\"]) || _width || 0;\n\n if (tableWidth.current && flexGrow && totalFlexGrow) {\n cellWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);\n }\n\n var cellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, lodash_omit__WEBPACK_IMPORTED_MODULE_5___default()(column.props, ['children']), {\n 'aria-colindex': index + 1,\n left: left,\n headerHeight: headerHeight,\n key: index,\n width: cellWidth,\n height: typeof rowHeight === 'function' ? rowHeight() : rowHeight,\n firstColumn: index === 0,\n lastColumn: index === count - 1\n });\n\n if (showHeader && headerHeight) {\n var headerCellProps = {\n // Resizable column\n // `index` is used to define the serial number when dragging the column width\n index: index,\n dataKey: cell.props.dataKey,\n isHeaderCell: true,\n minWidth: column.props.minWidth,\n sortable: column.props.sortable,\n onSortColumn: handleSortColumn,\n sortType: sortType,\n sortColumn: sortColumn,\n flexGrow: flexGrow\n };\n\n if (resizable) {\n lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(headerCellProps, {\n onResize: onResize,\n onColumnResizeEnd: handleColumnResizeEnd,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeMove: handleColumnResizeMove\n });\n }\n\n headerCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(headerCell, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, cellProps, headerCellProps)));\n }\n\n bodyCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(cell, cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\n columns: columns,\n headerCells: headerCells,\n bodyCells: bodyCells,\n allColumnsWidth: left,\n hasCustomTreeCol: hasCustomTreeCol\n };\n setCacheData(cacheCell);\n return cacheCell;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useCellDescriptor);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useCellDescriptor.js?");
|
|
9325
9325
|
|
|
9326
9326
|
/***/ }),
|
|
9327
9327
|
|
|
@@ -9387,7 +9387,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9387
9387
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9388
9388
|
|
|
9389
9389
|
"use strict";
|
|
9390
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/WheelHandler */ \"./node_modules/dom-lib/esm/WheelHandler.js\");\n/* harmony import */ var dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/scrollLeft */ \"./node_modules/dom-lib/esm/scrollLeft.js\");\n/* harmony import */ var dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/scrollTop */ \"./node_modules/dom-lib/esm/scrollTop.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var _requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./requestAnimationTimeout */ \"./node_modules/rsuite-table/es/utils/requestAnimationTimeout.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isSupportTouchEvent */ \"./node_modules/rsuite-table/es/utils/isSupportTouchEvent.js\");\n\n\n\n\n\n\n\n\n\n\n // Inertial sliding start time threshold\n\nvar momentumTimeThreshold = 300; // Inertial sliding start vertical distance threshold\n\nvar momentumYThreshold = 15;\n\n/**\n * Calculate the distance of inertial sliding.\n */\nvar momentum = function momentum(current, start, duration) {\n // Inertial sliding acceleration.\n var deceleration = 0.003;\n var distance = current - start;\n var speed = 2 * Math.abs(distance) / duration;\n var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n return {\n delta: current - destination,\n duration: _constants__WEBPACK_IMPORTED_MODULE_9__.TRANSITION_DURATION,\n bezier: _constants__WEBPACK_IMPORTED_MODULE_9__.BEZIER\n };\n};\n/**\n * Add scroll, touch, and wheel monitoring events to the table,\n * and update the scroll position of the table.\n * @param props\n * @returns\n */\n\n\nvar useScrollListener = function useScrollListener(props) {\n var data = props.data,\n autoHeight = props.autoHeight,\n tableBodyRef = props.tableBodyRef,\n scrollbarXRef = props.scrollbarXRef,\n scrollbarYRef = props.scrollbarYRef,\n disabledScroll = props.disabledScroll,\n loading = props.loading,\n tableRef = props.tableRef,\n contentWidth = props.contentWidth,\n tableWidth = props.tableWidth,\n scrollY = props.scrollY,\n minScrollY = props.minScrollY,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n setScrollX = props.setScrollX,\n setScrollY = props.setScrollY,\n virtualized = props.virtualized,\n forceUpdatePosition = props.forceUpdatePosition,\n onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onTouchEnd = props.onTouchEnd,\n height = props.height,\n getTableHeight = props.getTableHeight,\n contentHeight = props.contentHeight,\n headerHeight = props.headerHeight,\n rtl = props.rtl;\n var wheelListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchStartListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchMoveListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchEndListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n isScrolling = _useState[0],\n setScrolling = _useState[1];\n\n var touchX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var touchY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var disableEventsTimeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var isTouching = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false); // The start time within the inertial sliding range.\n\n var momentumStartTime = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0); // The vertical starting value within the inertial sliding range.\n\n var momentumStartY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var shouldHandleWheelX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n return true;\n }, [disabledScroll, loading]);\n var shouldHandleWheelY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n if (typeof scrollY.current === 'number' && typeof minScrollY.current === 'number') {\n return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;\n }\n }, [disabledScroll, loading, minScrollY, scrollY]);\n var debounceScrollEndedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n disableEventsTimeoutId.current = null;\n setScrolling(false);\n }, []);\n /**\n * Triggered when scrolling, including: wheel/touch/scroll\n * @param deltaX\n * @param deltaY\n * @param momentumOptions The configuration of inertial scrolling is used for the touch event.\n */\n\n var handleWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions, event) {\n if (!tableRef.current) {\n return;\n }\n\n var nextScrollX = contentWidth.current <= tableWidth.current ? 0 : scrollX.current - deltaX;\n var nextScrollY = scrollY.current - deltaY;\n var y = Math.min(0, nextScrollY < minScrollY.current ? minScrollY.current : nextScrollY);\n var x = Math.min(0, nextScrollX < minScrollX.current ? minScrollX.current : nextScrollX);\n setScrollX(x);\n setScrollY(y);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(x), Math.abs(y));\n\n if (virtualized) {\n // Add a state to the table during virtualized scrolling.\n // Make it set CSS `pointer-events:none` on the DOM to avoid wrong event interaction.\n setScrolling(true);\n\n if (disableEventsTimeoutId.current) {\n (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.cancelAnimationTimeout)(disableEventsTimeoutId.current);\n }\n\n disableEventsTimeoutId.current = (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.requestAnimationTimeout)(debounceScrollEndedCallback, // When momentum is enabled, set a delay of 50ms rendering.\n momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? 50 : 0);\n } // When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.\n\n\n if ((event === null || event === void 0 ? void 0 : event.type) === 'click') {\n /**\n * With virtualized enabled, the list will be re-rendered on every scroll.\n * Update the position of the rendered list with a delay.\n * fix: https://github.com/rsuite/rsuite/issues/2378\n */\n setTimeout(function () {\n return forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, 0);\n return;\n }\n\n forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, [tableRef, contentWidth, tableWidth, scrollX, scrollY, minScrollY, minScrollX, setScrollX, setScrollY, onScroll, forceUpdatePosition, virtualized, debounceScrollEndedCallback]);\n var onWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions) {\n var _scrollbarXRef$curren, _scrollbarXRef$curren2, _scrollbarYRef$curren, _scrollbarYRef$curren2;\n\n handleWheel(deltaX, deltaY, momentumOptions);\n (_scrollbarXRef$curren = scrollbarXRef.current) === null || _scrollbarXRef$curren === void 0 ? void 0 : (_scrollbarXRef$curren2 = _scrollbarXRef$curren.onWheelScroll) === null || _scrollbarXRef$curren2 === void 0 ? void 0 : _scrollbarXRef$curren2.call(_scrollbarXRef$curren, deltaX);\n (_scrollbarYRef$curren = scrollbarYRef.current) === null || _scrollbarYRef$curren === void 0 ? void 0 : (_scrollbarYRef$curren2 = _scrollbarYRef$curren.onWheelScroll) === null || _scrollbarYRef$curren2 === void 0 ? void 0 : _scrollbarYRef$curren2.call(_scrollbarYRef$curren, deltaY, momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? true : false);\n }, [handleWheel, scrollbarXRef, scrollbarYRef]);\n var wheelHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); // Stop unending scrolling and remove transition\n\n var stopScroll = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _tableBodyRef$current, _scrollbarYRef$curren3;\n\n var wheelElement = (_tableBodyRef$current = tableBodyRef.current) === null || _tableBodyRef$current === void 0 ? void 0 : _tableBodyRef$current.querySelector('.rs-table-body-wheel-area');\n var handleElement = (_scrollbarYRef$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : _scrollbarYRef$curren3.handle;\n var transitionCSS = ['transition-duration', 'transition-timing-function'];\n\n if (!virtualized && wheelElement) {\n // Get the current translate position.\n var matrix = window.getComputedStyle(wheelElement).getPropertyValue('transform');\n var offsetY = Math.round(+matrix.split(')')[0].split(', ')[5]);\n setScrollY(offsetY);\n }\n\n if (wheelElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(wheelElement, transitionCSS);\n }\n\n if (handleElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(handleElement, transitionCSS);\n }\n }, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]); // Handle the Touch event and initialize it when touchstart is triggered.\n\n var handleTouchStart = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n var _event$touches$ = event.touches[0],\n pageX = _event$touches$.pageX,\n pageY = _event$touches$.pageY;\n touchX.current = pageX;\n touchY.current = pageY;\n momentumStartTime.current = new Date().getTime();\n momentumStartY.current = scrollY.current;\n isTouching.current = true;\n onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event); // Stop unfinished scrolling when Touch starts.\n\n stopScroll();\n }, [onTouchStart, scrollY, stopScroll]); // Handle the Touch event and update the scroll when touchmove is triggered.\n\n var handleTouchMove = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n var _event$touches$2 = event.touches[0],\n pageX = _event$touches$2.pageX,\n pageY = _event$touches$2.pageY;\n var deltaX = touchX.current - pageX;\n var deltaY = autoHeight ? 0 : touchY.current - pageY;\n\n if (!shouldHandleWheelY(deltaY) && !shouldHandleWheelX(deltaX)) {\n return;\n }\n /**\n * Prevent the default touch event when the table is scrollable.\n * fix: https://github.com/rsuite/rsuite-table/commit/21785fc18f430519ab5885c44540d9ffc30de366#commitcomment-36236425\n */\n\n\n if (!autoHeight && shouldHandleWheelY(deltaY)) {\n var _event$preventDefault;\n\n (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);\n }\n\n var now = new Date().getTime();\n onWheel(deltaX, deltaY);\n touchX.current = pageX;\n touchY.current = pageY; // Record the offset value and time under the condition of triggering inertial scrolling.\n\n if (now - momentumStartTime.current > momentumTimeThreshold) {\n momentumStartY.current = scrollY.current;\n momentumStartTime.current = now;\n }\n\n onTouchMove === null || onTouchMove === void 0 ? void 0 : onTouchMove(event);\n }, [autoHeight, onWheel, onTouchMove, scrollY, shouldHandleWheelX, shouldHandleWheelY]);\n var handleTouchEnd = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n isTouching.current = false;\n var touchDuration = new Date().getTime() - momentumStartTime.current;\n var absDeltaY = Math.abs(scrollY.current - momentumStartY.current); // Enable inertial sliding.\n\n if (touchDuration < momentumTimeThreshold && absDeltaY > momentumYThreshold) {\n var _momentum = momentum(scrollY.current, momentumStartY.current, touchDuration),\n delta = _momentum.delta,\n duration = _momentum.duration,\n bezier = _momentum.bezier;\n\n onWheel(0, delta, {\n duration: duration,\n bezier: bezier\n });\n onTouchEnd === null || onTouchEnd === void 0 ? void 0 : onTouchEnd(event);\n }\n }, [onWheel, onTouchEnd, scrollY]);\n /**\n * When the user uses the tab key in the Table, the onScroll event is triggered,\n * and the scroll bar position should be updated at the same time.\n * https://github.com/rsuite/rsuite/issues/234\n */\n\n var onScrollBody = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (event.target !== tableBodyRef.current) {\n return;\n }\n\n var left = (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target);\n var top = (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target);\n\n if (top === 0 && left === 0) {\n return;\n }\n\n onWheel(left, top);\n (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target, 0);\n (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target, 0);\n }, [onWheel, tableBodyRef]);\n var getControlledScrollTopValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n if (autoHeight) {\n return [0, 0];\n }\n\n var height = getTableHeight(); // The maximum range of scrolling value is judged.\n\n value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight))); // The value is a value of the theoretical scroll position of the table,\n // and the scrollY coordinate value and the value of the scroll bar position are calculated by value.\n\n return [-value, value / contentHeight.current * (height - headerHeight)];\n }, [autoHeight, contentHeight, getTableHeight, headerHeight]);\n\n var rerender = function rerender() {\n setScrolling(true);\n setTimeout(function () {\n if (tableBodyRef.current) {\n setScrolling(false);\n }\n }, 0);\n };\n\n var getControlledScrollLeftValue = function getControlledScrollLeftValue(value) {\n // The maximum range of scrolling value is judged.\n value = Math.min(value, Math.max(0, contentWidth.current - tableWidth.current));\n return [-value, value / contentWidth.current * tableWidth.current];\n };\n\n var onScrollTop = function onScrollTop(top) {\n var _scrollbarYRef$curren4, _scrollbarYRef$curren5;\n\n if (top === void 0) {\n top = 0;\n }\n\n var _getControlledScrollT = getControlledScrollTopValue(top),\n nextScrollY = _getControlledScrollT[0],\n handleScrollY = _getControlledScrollT[1];\n\n setScrollY(nextScrollY);\n scrollbarYRef === null || scrollbarYRef === void 0 ? void 0 : (_scrollbarYRef$curren4 = scrollbarYRef.current) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : (_scrollbarYRef$curren5 = _scrollbarYRef$curren4.resetScrollBarPosition) === null || _scrollbarYRef$curren5 === void 0 ? void 0 : _scrollbarYRef$curren5.call(_scrollbarYRef$curren4, handleScrollY);\n forceUpdatePosition();\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(scrollX.current), Math.abs(nextScrollY)));\n /**\n * After calling `scrollTop`, a white screen will appear when `virtualized` is true.\n * The reason is that the coordinates of the DOM are directly manipulated,\n * but the component is not re-rendered. Need to call `rerender`.\n * Fix: rsuite#1044\n */\n\n if (virtualized && contentHeight.current > height) {\n rerender();\n }\n };\n\n var onScrollLeft = function onScrollLeft(left) {\n var _scrollbarXRef$curren3, _scrollbarXRef$curren4;\n\n if (left === void 0) {\n left = 0;\n }\n\n var _getControlledScrollL = getControlledScrollLeftValue(left),\n nextScrollX = _getControlledScrollL[0],\n scrollbarX = _getControlledScrollL[1];\n\n setScrollX(nextScrollX);\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(nextScrollX), Math.abs(scrollY.current)));\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren3 = scrollbarXRef.current) === null || _scrollbarXRef$curren3 === void 0 ? void 0 : (_scrollbarXRef$curren4 = _scrollbarXRef$curren3.resetScrollBarPosition) === null || _scrollbarXRef$curren4 === void 0 ? void 0 : _scrollbarXRef$curren4.call(_scrollbarXRef$curren3, scrollbarX);\n forceUpdatePosition();\n };\n\n var onScrollTo = function onScrollTo(coord) {\n var _ref = coord || {},\n x = _ref.x,\n y = _ref.y;\n\n if (typeof x === 'number') {\n onScrollLeft(x);\n }\n\n if (typeof y === 'number') {\n onScrollTop(y);\n }\n };\n\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n if (scrollY.current !== 0) {\n onScrollTop(Math.abs(scrollY.current));\n }\n }, [height, data]);\n var releaseListeners = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _wheelListener$curren, _touchStartListener$c, _touchMoveListener$cu, _touchEndListener$cur;\n\n wheelHandler.current = null;\n (_wheelListener$curren = wheelListener.current) === null || _wheelListener$curren === void 0 ? void 0 : _wheelListener$curren.off();\n (_touchStartListener$c = touchStartListener.current) === null || _touchStartListener$c === void 0 ? void 0 : _touchStartListener$c.off();\n (_touchMoveListener$cu = touchMoveListener.current) === null || _touchMoveListener$cu === void 0 ? void 0 : _touchMoveListener$cu.off();\n (_touchEndListener$cur = touchEndListener.current) === null || _touchEndListener$cur === void 0 ? void 0 : _touchEndListener$cur.off();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var options = {\n passive: false\n };\n var tableBody = tableBodyRef.current;\n\n if (tableBody) {\n // Reset the listener after props is updated.\n releaseListeners();\n wheelHandler.current = new dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__.default(onWheel, shouldHandleWheelX, shouldHandleWheelY, false);\n wheelListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'wheel', wheelHandler.current.onWheel, options);\n\n if ((0,_isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__.default)()) {\n touchStartListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchstart', handleTouchStart, options);\n touchMoveListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchmove', handleTouchMove, options);\n touchEndListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchend', handleTouchEnd, options);\n }\n }\n\n return releaseListeners;\n }, [handleTouchEnd, handleTouchMove, handleTouchStart, onWheel, releaseListeners, shouldHandleWheelX, shouldHandleWheelY, tableBodyRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_8__.default)(function () {\n if (rtl) {\n var _scrollbarXRef$curren5, _scrollbarXRef$curren6;\n\n // Initialize scroll position\n setScrollX(tableWidth.current - contentWidth.current - _constants__WEBPACK_IMPORTED_MODULE_9__.SCROLLBAR_WIDTH);\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren5 = scrollbarXRef.current) === null || _scrollbarXRef$curren5 === void 0 ? void 0 : (_scrollbarXRef$curren6 = _scrollbarXRef$curren5.resetScrollBarPosition) === null || _scrollbarXRef$curren6 === void 0 ? void 0 : _scrollbarXRef$curren6.call(_scrollbarXRef$curren5, -scrollX.current);\n forceUpdatePosition();\n }\n });\n var onScrollHorizontal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n return handleWheel(delta, 0);\n }, [handleWheel]);\n var onScrollVertical = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta, event) {\n return handleWheel(0, delta, undefined, event);\n }, [handleWheel]);\n return {\n isScrolling: isScrolling,\n onScrollHorizontal: onScrollHorizontal,\n onScrollVertical: onScrollVertical,\n onScrollBody: onScrollBody,\n onScrollTop: onScrollTop,\n onScrollLeft: onScrollLeft,\n onScrollTo: onScrollTo\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useScrollListener);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useScrollListener.js?");
|
|
9390
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/WheelHandler */ \"./node_modules/dom-lib/esm/WheelHandler.js\");\n/* harmony import */ var dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/scrollLeft */ \"./node_modules/dom-lib/esm/scrollLeft.js\");\n/* harmony import */ var dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/scrollTop */ \"./node_modules/dom-lib/esm/scrollTop.js\");\n/* harmony import */ var dom_lib_on__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\");\n/* harmony import */ var dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! dom-lib/removeStyle */ \"./node_modules/dom-lib/esm/removeStyle.js\");\n/* harmony import */ var _requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./requestAnimationTimeout */ \"./node_modules/rsuite-table/es/utils/requestAnimationTimeout.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isSupportTouchEvent */ \"./node_modules/rsuite-table/es/utils/isSupportTouchEvent.js\");\n\n\n\n\n\n\n\n\n\n\n // Inertial sliding start time threshold\n\nvar momentumTimeThreshold = 300; // Inertial sliding start vertical distance threshold\n\nvar momentumYThreshold = 15;\n\n/**\n * Calculate the distance of inertial sliding.\n */\nvar momentum = function momentum(current, start, duration) {\n // Inertial sliding acceleration.\n var deceleration = 0.003;\n var distance = current - start;\n var speed = 2 * Math.abs(distance) / duration;\n var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n return {\n delta: current - destination,\n duration: _constants__WEBPACK_IMPORTED_MODULE_9__.TRANSITION_DURATION,\n bezier: _constants__WEBPACK_IMPORTED_MODULE_9__.BEZIER\n };\n};\n/**\n * Add scroll, touch, and wheel monitoring events to the table,\n * and update the scroll position of the table.\n * @param props\n * @returns\n */\n\n\nvar useScrollListener = function useScrollListener(props) {\n var data = props.data,\n autoHeight = props.autoHeight,\n tableBodyRef = props.tableBodyRef,\n scrollbarXRef = props.scrollbarXRef,\n scrollbarYRef = props.scrollbarYRef,\n disabledScroll = props.disabledScroll,\n loading = props.loading,\n tableRef = props.tableRef,\n contentWidth = props.contentWidth,\n tableWidth = props.tableWidth,\n scrollY = props.scrollY,\n minScrollY = props.minScrollY,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n setScrollX = props.setScrollX,\n setScrollY = props.setScrollY,\n virtualized = props.virtualized,\n forceUpdatePosition = props.forceUpdatePosition,\n onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onTouchEnd = props.onTouchEnd,\n height = props.height,\n getTableHeight = props.getTableHeight,\n contentHeight = props.contentHeight,\n headerHeight = props.headerHeight,\n rtl = props.rtl;\n var wheelListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchStartListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchMoveListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var touchEndListener = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n isScrolling = _useState[0],\n setScrolling = _useState[1];\n\n var touchX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var touchY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var disableEventsTimeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var isTouching = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false); // The start time within the inertial sliding range.\n\n var momentumStartTime = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0); // The vertical starting value within the inertial sliding range.\n\n var momentumStartY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var shouldHandleWheelX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n return true;\n }, [disabledScroll, loading]);\n var shouldHandleWheelY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n if (delta === 0 || disabledScroll || loading) {\n return false;\n }\n\n if (typeof scrollY.current === 'number' && typeof minScrollY.current === 'number') {\n return delta >= 0 && scrollY.current > minScrollY.current || delta < 0 && scrollY.current < 0;\n }\n }, [disabledScroll, loading, minScrollY, scrollY]);\n var debounceScrollEndedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n disableEventsTimeoutId.current = null;\n setScrolling(false);\n }, []);\n /**\n * Triggered when scrolling, including: wheel/touch/scroll\n * @param deltaX\n * @param deltaY\n * @param momentumOptions The configuration of inertial scrolling is used for the touch event.\n */\n\n var handleWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions, event) {\n if (!tableRef.current) {\n return;\n }\n\n var nextScrollX = contentWidth.current <= tableWidth.current ? 0 : scrollX.current - deltaX;\n var nextScrollY = scrollY.current - deltaY;\n var y = Math.min(0, nextScrollY < minScrollY.current ? minScrollY.current : nextScrollY);\n var x = Math.min(0, nextScrollX < minScrollX.current ? minScrollX.current : nextScrollX);\n setScrollX(x);\n setScrollY(y);\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(x), Math.abs(y));\n\n if (virtualized) {\n // Add a state to the table during virtualized scrolling.\n // Make it set CSS `pointer-events:none` on the DOM to avoid wrong event interaction.\n setScrolling(true);\n\n if (disableEventsTimeoutId.current) {\n (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.cancelAnimationTimeout)(disableEventsTimeoutId.current);\n }\n\n disableEventsTimeoutId.current = (0,_requestAnimationTimeout__WEBPACK_IMPORTED_MODULE_6__.requestAnimationTimeout)(debounceScrollEndedCallback, // When momentum is enabled, set a delay of 50ms rendering.\n momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? 50 : 0);\n } // When the user clicks on the scrollbar, the scrollbar will be moved to the clicked position.\n\n\n if ((event === null || event === void 0 ? void 0 : event.type) === 'click') {\n /**\n * With virtualized enabled, the list will be re-rendered on every scroll.\n * Update the position of the rendered list with a delay.\n * fix: https://github.com/rsuite/rsuite/issues/2378\n */\n setTimeout(function () {\n return forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, 0);\n return;\n }\n\n forceUpdatePosition(momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.duration, momentumOptions === null || momentumOptions === void 0 ? void 0 : momentumOptions.bezier);\n }, [tableRef, contentWidth, tableWidth, scrollX, scrollY, minScrollY, minScrollX, setScrollX, setScrollY, onScroll, forceUpdatePosition, virtualized, debounceScrollEndedCallback]);\n var onWheel = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (deltaX, deltaY, momentumOptions) {\n var _scrollbarXRef$curren, _scrollbarXRef$curren2, _scrollbarYRef$curren, _scrollbarYRef$curren2;\n\n handleWheel(deltaX, deltaY, momentumOptions);\n (_scrollbarXRef$curren = scrollbarXRef.current) === null || _scrollbarXRef$curren === void 0 ? void 0 : (_scrollbarXRef$curren2 = _scrollbarXRef$curren.onWheelScroll) === null || _scrollbarXRef$curren2 === void 0 ? void 0 : _scrollbarXRef$curren2.call(_scrollbarXRef$curren, deltaX);\n (_scrollbarYRef$curren = scrollbarYRef.current) === null || _scrollbarYRef$curren === void 0 ? void 0 : (_scrollbarYRef$curren2 = _scrollbarYRef$curren.onWheelScroll) === null || _scrollbarYRef$curren2 === void 0 ? void 0 : _scrollbarYRef$curren2.call(_scrollbarYRef$curren, deltaY, momentumOptions !== null && momentumOptions !== void 0 && momentumOptions.duration ? true : false);\n }, [handleWheel, scrollbarXRef, scrollbarYRef]);\n var wheelHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); // Stop unending scrolling and remove transition\n\n var stopScroll = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _tableBodyRef$current, _scrollbarYRef$curren3;\n\n var wheelElement = (_tableBodyRef$current = tableBodyRef.current) === null || _tableBodyRef$current === void 0 ? void 0 : _tableBodyRef$current.querySelector('.rs-table-body-wheel-area');\n var handleElement = (_scrollbarYRef$curren3 = scrollbarYRef.current) === null || _scrollbarYRef$curren3 === void 0 ? void 0 : _scrollbarYRef$curren3.handle;\n var transitionCSS = ['transition-duration', 'transition-timing-function'];\n\n if (!virtualized && wheelElement) {\n // Get the current translate position.\n var matrix = window.getComputedStyle(wheelElement).getPropertyValue('transform');\n var offsetY = Math.round(+matrix.split(')')[0].split(', ')[5]);\n setScrollY(offsetY);\n }\n\n if (wheelElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(wheelElement, transitionCSS);\n }\n\n if (handleElement) {\n (0,dom_lib_removeStyle__WEBPACK_IMPORTED_MODULE_5__.default)(handleElement, transitionCSS);\n }\n }, [scrollbarYRef, setScrollY, tableBodyRef, virtualized]); // Handle the Touch event and initialize it when touchstart is triggered.\n\n var handleTouchStart = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n var _event$touches$ = event.touches[0],\n pageX = _event$touches$.pageX,\n pageY = _event$touches$.pageY;\n touchX.current = pageX;\n touchY.current = pageY;\n momentumStartTime.current = new Date().getTime();\n momentumStartY.current = scrollY.current;\n isTouching.current = true;\n onTouchStart === null || onTouchStart === void 0 ? void 0 : onTouchStart(event); // Stop unfinished scrolling when Touch starts.\n\n stopScroll();\n }, [onTouchStart, scrollY, stopScroll]); // Handle the Touch event and update the scroll when touchmove is triggered.\n\n var handleTouchMove = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n var _event$touches$2 = event.touches[0],\n pageX = _event$touches$2.pageX,\n pageY = _event$touches$2.pageY;\n var deltaX = touchX.current - pageX;\n var deltaY = autoHeight ? 0 : touchY.current - pageY;\n\n if (!shouldHandleWheelY(deltaY) && !shouldHandleWheelX(deltaX)) {\n return;\n }\n /**\n * Prevent the default touch event when the table is scrollable.\n * fix: https://github.com/rsuite/rsuite-table/commit/21785fc18f430519ab5885c44540d9ffc30de366#commitcomment-36236425\n */\n\n\n if (!autoHeight && shouldHandleWheelY(deltaY)) {\n var _event$preventDefault;\n\n (_event$preventDefault = event.preventDefault) === null || _event$preventDefault === void 0 ? void 0 : _event$preventDefault.call(event);\n }\n\n var now = new Date().getTime();\n onWheel(deltaX, deltaY);\n touchX.current = pageX;\n touchY.current = pageY; // Record the offset value and time under the condition of triggering inertial scrolling.\n\n if (now - momentumStartTime.current > momentumTimeThreshold) {\n momentumStartY.current = scrollY.current;\n momentumStartTime.current = now;\n }\n\n onTouchMove === null || onTouchMove === void 0 ? void 0 : onTouchMove(event);\n }, [autoHeight, onWheel, onTouchMove, scrollY, shouldHandleWheelX, shouldHandleWheelY]);\n var handleTouchEnd = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (!isTouching.current) {\n return;\n }\n\n isTouching.current = false;\n var touchDuration = new Date().getTime() - momentumStartTime.current;\n var absDeltaY = Math.abs(scrollY.current - momentumStartY.current); // Enable inertial sliding.\n\n if (touchDuration < momentumTimeThreshold && absDeltaY > momentumYThreshold) {\n var _momentum = momentum(scrollY.current, momentumStartY.current, touchDuration),\n delta = _momentum.delta,\n duration = _momentum.duration,\n bezier = _momentum.bezier;\n\n onWheel(0, delta, {\n duration: duration,\n bezier: bezier\n });\n onTouchEnd === null || onTouchEnd === void 0 ? void 0 : onTouchEnd(event);\n }\n }, [onWheel, onTouchEnd, scrollY]);\n /**\n * When the user uses the tab key in the Table, the onScroll event is triggered,\n * and the scroll bar position should be updated at the same time.\n * https://github.com/rsuite/rsuite/issues/234\n */\n\n var onScrollBody = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (event) {\n if (event.target !== tableBodyRef.current) {\n return;\n }\n\n var left = (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target);\n var top = (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target);\n\n if (top === 0 && left === 0) {\n return;\n }\n\n onWheel(left, top);\n (0,dom_lib_scrollLeft__WEBPACK_IMPORTED_MODULE_2__.default)(event.target, 0);\n (0,dom_lib_scrollTop__WEBPACK_IMPORTED_MODULE_3__.default)(event.target, 0);\n }, [onWheel, tableBodyRef]);\n var getControlledScrollTopValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n if (autoHeight) {\n return [0, 0];\n }\n\n var height = getTableHeight(); // The maximum range of scrolling value is judged.\n\n value = Math.min(value, Math.max(0, contentHeight.current - (height - headerHeight))); // The value is a value of the theoretical scroll position of the table,\n // and the scrollY coordinate value and the value of the scroll bar position are calculated by value.\n\n return [-value, value / contentHeight.current * (height - headerHeight)];\n }, [autoHeight, contentHeight, getTableHeight, headerHeight]);\n\n var rerender = function rerender() {\n setScrolling(true);\n setTimeout(function () {\n if (tableBodyRef.current) {\n setScrolling(false);\n }\n }, 0);\n };\n\n var getControlledScrollLeftValue = function getControlledScrollLeftValue(value) {\n // The maximum range of scrolling value is judged.\n value = Math.min(value, Math.max(0, contentWidth.current - tableWidth.current));\n return [-value, value / contentWidth.current * tableWidth.current];\n };\n\n var onScrollTop = function onScrollTop(top) {\n var _scrollbarYRef$curren4, _scrollbarYRef$curren5;\n\n if (top === void 0) {\n top = 0;\n }\n\n var _getControlledScrollT = getControlledScrollTopValue(top),\n nextScrollY = _getControlledScrollT[0],\n handleScrollY = _getControlledScrollT[1];\n\n var height = getTableHeight();\n setScrollY(nextScrollY);\n scrollbarYRef === null || scrollbarYRef === void 0 ? void 0 : (_scrollbarYRef$curren4 = scrollbarYRef.current) === null || _scrollbarYRef$curren4 === void 0 ? void 0 : (_scrollbarYRef$curren5 = _scrollbarYRef$curren4.resetScrollBarPosition) === null || _scrollbarYRef$curren5 === void 0 ? void 0 : _scrollbarYRef$curren5.call(_scrollbarYRef$curren4, handleScrollY);\n forceUpdatePosition();\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(scrollX.current), Math.abs(nextScrollY)));\n /**\n * After calling `scrollTop`, a white screen will appear when `virtualized` is true.\n * The reason is that the coordinates of the DOM are directly manipulated,\n * but the component is not re-rendered. Need to call `rerender`.\n * Fix: rsuite#1044\n */\n\n if (virtualized && contentHeight.current > height) {\n rerender();\n }\n };\n\n var onScrollLeft = function onScrollLeft(left) {\n var _scrollbarXRef$curren3, _scrollbarXRef$curren4;\n\n if (left === void 0) {\n left = 0;\n }\n\n var _getControlledScrollL = getControlledScrollLeftValue(left),\n nextScrollX = _getControlledScrollL[0],\n scrollbarX = _getControlledScrollL[1];\n\n setScrollX(nextScrollX);\n !loading && (onScroll === null || onScroll === void 0 ? void 0 : onScroll(Math.abs(nextScrollX), Math.abs(scrollY.current)));\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren3 = scrollbarXRef.current) === null || _scrollbarXRef$curren3 === void 0 ? void 0 : (_scrollbarXRef$curren4 = _scrollbarXRef$curren3.resetScrollBarPosition) === null || _scrollbarXRef$curren4 === void 0 ? void 0 : _scrollbarXRef$curren4.call(_scrollbarXRef$curren3, scrollbarX);\n forceUpdatePosition();\n };\n\n var onScrollTo = function onScrollTo(coord) {\n var _ref = coord || {},\n x = _ref.x,\n y = _ref.y;\n\n if (typeof x === 'number') {\n onScrollLeft(x);\n }\n\n if (typeof y === 'number') {\n onScrollTop(y);\n }\n };\n\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n if (scrollY.current !== 0) {\n onScrollTop(Math.abs(scrollY.current));\n }\n }, [height, data]);\n var releaseListeners = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var _wheelListener$curren, _touchStartListener$c, _touchMoveListener$cu, _touchEndListener$cur;\n\n wheelHandler.current = null;\n (_wheelListener$curren = wheelListener.current) === null || _wheelListener$curren === void 0 ? void 0 : _wheelListener$curren.off();\n (_touchStartListener$c = touchStartListener.current) === null || _touchStartListener$c === void 0 ? void 0 : _touchStartListener$c.off();\n (_touchMoveListener$cu = touchMoveListener.current) === null || _touchMoveListener$cu === void 0 ? void 0 : _touchMoveListener$cu.off();\n (_touchEndListener$cur = touchEndListener.current) === null || _touchEndListener$cur === void 0 ? void 0 : _touchEndListener$cur.off();\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var options = {\n passive: false\n };\n var tableBody = tableBodyRef.current;\n\n if (tableBody) {\n // Reset the listener after props is updated.\n releaseListeners();\n wheelHandler.current = new dom_lib_WheelHandler__WEBPACK_IMPORTED_MODULE_1__.default(onWheel, shouldHandleWheelX, shouldHandleWheelY, false);\n wheelListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'wheel', wheelHandler.current.onWheel, options);\n\n if ((0,_isSupportTouchEvent__WEBPACK_IMPORTED_MODULE_10__.default)()) {\n touchStartListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchstart', handleTouchStart, options);\n touchMoveListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchmove', handleTouchMove, options);\n touchEndListener.current = (0,dom_lib_on__WEBPACK_IMPORTED_MODULE_4__.default)(tableBody, 'touchend', handleTouchEnd, options);\n }\n }\n\n return releaseListeners;\n }, [handleTouchEnd, handleTouchMove, handleTouchStart, onWheel, releaseListeners, shouldHandleWheelX, shouldHandleWheelY, tableBodyRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_8__.default)(function () {\n if (rtl) {\n var _scrollbarXRef$curren5, _scrollbarXRef$curren6;\n\n // Initialize scroll position\n setScrollX(tableWidth.current - contentWidth.current - _constants__WEBPACK_IMPORTED_MODULE_9__.SCROLLBAR_WIDTH);\n scrollbarXRef === null || scrollbarXRef === void 0 ? void 0 : (_scrollbarXRef$curren5 = scrollbarXRef.current) === null || _scrollbarXRef$curren5 === void 0 ? void 0 : (_scrollbarXRef$curren6 = _scrollbarXRef$curren5.resetScrollBarPosition) === null || _scrollbarXRef$curren6 === void 0 ? void 0 : _scrollbarXRef$curren6.call(_scrollbarXRef$curren5, -scrollX.current);\n forceUpdatePosition();\n }\n });\n var onScrollHorizontal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta) {\n return handleWheel(delta, 0);\n }, [handleWheel]);\n var onScrollVertical = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (delta, event) {\n return handleWheel(0, delta, undefined, event);\n }, [handleWheel]);\n return {\n isScrolling: isScrolling,\n onScrollHorizontal: onScrollHorizontal,\n onScrollVertical: onScrollVertical,\n onScrollBody: onScrollBody,\n onScrollTop: onScrollTop,\n onScrollLeft: onScrollLeft,\n onScrollTo: onScrollTo\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useScrollListener);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useScrollListener.js?");
|
|
9391
9391
|
|
|
9392
9392
|
/***/ }),
|
|
9393
9393
|
|
|
@@ -9398,7 +9398,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
|
|
|
9398
9398
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
9399
9399
|
|
|
9400
9400
|
"use strict";
|
|
9401
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\");\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateLayoutEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateLayoutEffect.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The dimension information of the table,\n * including the height, width, scrollable distance and the coordinates of the scroll handle, etc.\n * @param props\n * @returns\n */\nvar useTableDimension = function useTableDimension(props) {\n var data = props.data,\n rowHeight = props.rowHeight,\n tableRef = props.tableRef,\n headerWrapperRef = props.headerWrapperRef,\n prefix = props.prefix,\n widthProp = props.width,\n affixHeader = props.affixHeader,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n headerHeight = props.headerHeight,\n height = props.height,\n autoHeight = props.autoHeight,\n children = props.children,\n expandedRowKeys = props.expandedRowKeys,\n onTableWidthChange = props.onTableWidthChange,\n onTableContentWidthChange = props.onTableContentWidthChange,\n onTableContentHeightChange = props.onTableContentHeightChange,\n onTableScroll = props.onTableScroll;\n var contentHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var contentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var tableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(widthProp || 0);\n var columnCount = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var headerOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var tableOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var calculateTableContextHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevContentHeight = contentHeight.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var rows = (table === null || table === void 0 ? void 0 : table.querySelectorAll(\".\" + (prefix === null || prefix === void 0 ? void 0 : prefix('row')))) || [];\n var nextContentHeight = rows.length ? Array.from(rows).map(function (row) {\n return (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__.default)(row) || rowHeight;\n }).reduce(function (x, y) {\n return x + y;\n }) : 0; // After setting the affixHeader property, the height of the two headers should be subtracted.\n\n contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight));\n\n if (!autoHeight) {\n /**\n * The purpose of subtracting SCROLLBAR_WIDTH is to keep the scroll bar from blocking the content part.\n * But it will only be calculated when there is a horizontal scroll bar (contentWidth > tableWidth).\n */\n minScrollY.current = -(nextContentHeight - height) - (contentWidth.current > tableWidth.current ? _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH : 0);\n } // If the height of the content area is less than the height of the table, the vertical scroll bar is reset.\n\n\n if (nextContentHeight < height) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: 0\n });\n } // If the value of scrollTop is greater than the scrollable range, the vertical scroll bar is reset.\n // When Table is set to virtualized, the logic will be entered every time the wheel event is triggered\n // to avoid resetting the scroll bar after scrolling to the bottom, so add the SCROLLBAR_WIDTH value.\n\n\n if (Math.abs(scrollY.current) + height - headerHeight > nextContentHeight + _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: scrollY.current\n });\n }\n\n if (prevContentHeight !== contentHeight.current) {\n onTableContentHeightChange === null || onTableContentHeightChange === void 0 ? void 0 : onTableContentHeightChange(prevContentHeight);\n }\n }, [affixHeader, autoHeight, headerHeight, height, onTableScroll, onTableContentHeightChange, prefix, rowHeight, tableRef]);\n var setOffsetByAffix = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var headerNode = headerWrapperRef === null || headerWrapperRef === void 0 ? void 0 : headerWrapperRef.current;\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHeader) && headerNode) {\n headerOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(headerNode);\n }\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHorizontalScrollbar) && tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n }, [affixHeader, affixHorizontalScrollbar, headerWrapperRef, tableRef]);\n var calculateTableContentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevWidth = contentWidth.current;\n var prevColumnCount = columnCount.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var row = table === null || table === void 0 ? void 0 : table.querySelector(\".\" + prefix('row') + \":not(.virtualized)\");\n var nextContentWidth = row ? (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(row) : 0;\n contentWidth.current = nextContentWidth;\n columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll(\".\" + prefix('cell')).length) || 0; // The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.\n // There is no vertical scroll bar after autoHeight.\n\n minScrollX.current = -(nextContentWidth - tableWidth.current) - (autoHeight ? 0 : _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH);\n /**\n * If the width of the content area and the number of columns change,\n * the horizontal scroll bar is reset.\n * fix: https://github.com/rsuite/rsuite/issues/2039\n */\n\n if (prevWidth > 0 && prevWidth !== contentWidth.current && prevColumnCount > 0 && prevColumnCount !== columnCount.current) {\n onTableContentWidthChange === null || onTableContentWidthChange === void 0 ? void 0 : onTableContentWidthChange(prevWidth);\n }\n }, [autoHeight, onTableContentWidthChange, prefix, tableRef]);\n var calculateTableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (nextWidth) {\n var prevWidth = tableWidth.current;\n\n if (tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableWidth.current = nextWidth || (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n\n if (prevWidth && prevWidth !== tableWidth.current) {\n scrollX.current = 0;\n onTableWidthChange === null || onTableWidthChange === void 0 ? void 0 : onTableWidthChange(prevWidth);\n }\n\n setOffsetByAffix();\n }, [onTableWidthChange, setOffsetByAffix, tableRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_6__.default)(function () {\n calculateTableContextHeight();\n calculateTableContentWidth();\n calculateTableWidth();\n setOffsetByAffix();\n resizeObserver.current = new _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver(function (entries) {\n for (var _iterator = _createForOfIteratorHelperLoose(entries), _step; !(_step = _iterator()).done;) {\n var entry = _step.value;\n calculateTableWidth(entry.contentRect.width);\n }\n });\n resizeObserver.current.observe(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n });\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n calculateTableWidth();\n calculateTableContextHeight();\n calculateTableContentWidth();\n }, [data, height, contentHeight, expandedRowKeys, children, calculateTableContextHeight, calculateTableContentWidth]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n return function () {\n var _resizeObserver$curre;\n\n (_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();\n };\n }, []);\n var setScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollY.current = value;\n }, []);\n var setScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollX.current = value;\n }, []);\n return {\n contentHeight: contentHeight,\n contentWidth: contentWidth,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollY: scrollY,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerOffset: headerOffset,\n tableOffset: tableOffset,\n setScrollY: setScrollY,\n setScrollX: setScrollX\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useTableDimension);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useTableDimension.js?");
|
|
9401
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\");\n/* harmony import */ var dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\");\n/* harmony import */ var dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n/* harmony import */ var _useMount__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useMount */ \"./node_modules/rsuite-table/es/utils/useMount.js\");\n/* harmony import */ var _useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useUpdateLayoutEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateLayoutEffect.js\");\n/* harmony import */ var _isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./isNumberOrTrue */ \"./node_modules/rsuite-table/es/utils/isNumberOrTrue.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * The dimension information of the table,\n * including the height, width, scrollable distance and the coordinates of the scroll handle, etc.\n * @param props\n * @returns\n */\nvar useTableDimension = function useTableDimension(props) {\n var data = props.data,\n rowHeight = props.rowHeight,\n tableRef = props.tableRef,\n headerWrapperRef = props.headerWrapperRef,\n prefix = props.prefix,\n widthProp = props.width,\n affixHeader = props.affixHeader,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n headerHeight = props.headerHeight,\n heightProp = props.height,\n autoHeight = props.autoHeight,\n minHeight = props.minHeight,\n fillHeight = props.fillHeight,\n children = props.children,\n expandedRowKeys = props.expandedRowKeys,\n onTableResizeChange = props.onTableResizeChange,\n onTableScroll = props.onTableScroll;\n var contentHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var contentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var scrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var minScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var tableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(widthProp || 0);\n var tableHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(heightProp || 0);\n var columnCount = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);\n var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var containerResizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();\n var headerOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var tableOffset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n var calculateTableContextHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevContentHeight = contentHeight.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var rows = (table === null || table === void 0 ? void 0 : table.querySelectorAll(\".\" + (prefix === null || prefix === void 0 ? void 0 : prefix('row')))) || [];\n var nextContentHeight = rows.length ? Array.from(rows).map(function (row) {\n return (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__.default)(row) || rowHeight;\n }).reduce(function (x, y) {\n return x + y;\n }) : 0; // After setting the affixHeader property, the height of the two headers should be subtracted.\n\n contentHeight.current = Math.round(nextContentHeight - (affixHeader ? headerHeight * 2 : headerHeight));\n var height = fillHeight ? tableHeight.current : heightProp;\n\n if (!autoHeight) {\n /**\n * The purpose of subtracting SCROLLBAR_WIDTH is to keep the scroll bar from blocking the content part.\n * But it will only be calculated when there is a horizontal scroll bar (contentWidth > tableWidth).\n */\n minScrollY.current = -(nextContentHeight - height) - (contentWidth.current > tableWidth.current ? _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH : 0);\n } // If the height of the content area is less than the height of the table, the vertical scroll bar is reset.\n\n\n if (nextContentHeight < height) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: 0\n });\n } // If the value of scrollTop is greater than the scrollable range, the vertical scroll bar is reset.\n // When Table is set to virtualized, the logic will be entered every time the wheel event is triggered\n // to avoid resetting the scroll bar after scrolling to the bottom, so add the SCROLLBAR_WIDTH value.\n\n\n if (Math.abs(scrollY.current) + height - headerHeight > nextContentHeight + _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH) {\n onTableScroll === null || onTableScroll === void 0 ? void 0 : onTableScroll({\n y: scrollY.current\n });\n }\n\n if (prevContentHeight !== contentHeight.current) {\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevContentHeight, 'bodyHeightChanged');\n }\n }, [tableRef, prefix, affixHeader, headerHeight, fillHeight, heightProp, autoHeight, rowHeight, onTableScroll, onTableResizeChange]);\n var setOffsetByAffix = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var headerNode = headerWrapperRef === null || headerWrapperRef === void 0 ? void 0 : headerWrapperRef.current;\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHeader) && headerNode) {\n headerOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(headerNode);\n }\n\n if ((0,_isNumberOrTrue__WEBPACK_IMPORTED_MODULE_8__.default)(affixHorizontalScrollbar) && tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableOffset.current = (0,dom_lib_getOffset__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n }, [affixHeader, affixHorizontalScrollbar, headerWrapperRef, tableRef]);\n var calculateTableContentWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n var prevWidth = contentWidth.current;\n var prevColumnCount = columnCount.current;\n var table = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current;\n var row = table === null || table === void 0 ? void 0 : table.querySelector(\".\" + prefix('row') + \":not(.virtualized)\");\n var nextContentWidth = row ? (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(row) : 0;\n contentWidth.current = nextContentWidth - (autoHeight ? _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH : 0);\n columnCount.current = (row === null || row === void 0 ? void 0 : row.querySelectorAll(\".\" + prefix('cell')).length) || 0; // The value of SCROLLBAR_WIDTH is subtracted so that the scroll bar does not block the content part.\n // There is no vertical scroll bar after autoHeight.\n\n minScrollX.current = -(nextContentWidth - tableWidth.current) - (autoHeight ? 0 : _constants__WEBPACK_IMPORTED_MODULE_4__.SCROLLBAR_WIDTH);\n /**\n * If the width of the content area and the number of columns change,\n * the horizontal scroll bar is reset.\n * fix: https://github.com/rsuite/rsuite/issues/2039\n */\n\n if (prevWidth > 0 && prevWidth !== contentWidth.current && prevColumnCount > 0 && prevColumnCount !== columnCount.current) {\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevWidth, 'bodyWidthChanged');\n }\n }, [autoHeight, onTableResizeChange, prefix, tableRef]);\n var calculateTableWidth = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (nextWidth) {\n var prevWidth = tableWidth.current;\n\n if (tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableWidth.current = nextWidth || (0,dom_lib_getWidth__WEBPACK_IMPORTED_MODULE_1__.default)(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n }\n\n if (prevWidth && prevWidth !== tableWidth.current) {\n scrollX.current = 0;\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevWidth, 'widthChanged');\n }\n\n setOffsetByAffix();\n }, [onTableResizeChange, setOffsetByAffix, tableRef]);\n var calculateTableHeight = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (nextHeight) {\n var prevHeight = tableHeight.current;\n\n if (nextHeight) {\n tableHeight.current = nextHeight;\n } else if (tableRef !== null && tableRef !== void 0 && tableRef.current) {\n tableHeight.current = (0,dom_lib_getHeight__WEBPACK_IMPORTED_MODULE_2__.default)(tableRef.current.parentNode);\n }\n\n if (prevHeight && prevHeight !== tableHeight.current) {\n onTableResizeChange === null || onTableResizeChange === void 0 ? void 0 : onTableResizeChange(prevHeight, 'heightChanged');\n }\n }, [onTableResizeChange, tableRef]);\n (0,_useMount__WEBPACK_IMPORTED_MODULE_6__.default)(function () {\n var _tableRef$current;\n\n calculateTableContextHeight();\n calculateTableContentWidth();\n calculateTableWidth();\n calculateTableHeight();\n setOffsetByAffix();\n containerResizeObserver.current = new _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver(function (entries) {\n calculateTableHeight(entries[0].contentRect.height);\n });\n containerResizeObserver.current.observe(tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.parentNode);\n resizeObserver.current = new _juggle_resize_observer__WEBPACK_IMPORTED_MODULE_5__.ResizeObserver(function (entries) {\n calculateTableWidth(entries[0].contentRect.width);\n });\n resizeObserver.current.observe(tableRef === null || tableRef === void 0 ? void 0 : tableRef.current);\n return function () {\n var _resizeObserver$curre, _containerResizeObser;\n\n (_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();\n (_containerResizeObser = containerResizeObserver.current) === null || _containerResizeObser === void 0 ? void 0 : _containerResizeObser.disconnect();\n };\n });\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n calculateTableHeight();\n calculateTableContextHeight();\n }, [fillHeight]);\n (0,_useUpdateLayoutEffect__WEBPACK_IMPORTED_MODULE_7__.default)(function () {\n calculateTableWidth();\n calculateTableContextHeight();\n calculateTableContentWidth();\n }, [data, heightProp, contentHeight, expandedRowKeys, children, calculateTableContextHeight, calculateTableContentWidth]);\n var setScrollY = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollY.current = value;\n }, []);\n var setScrollX = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (value) {\n scrollX.current = value;\n }, []);\n\n var getTableHeight = function getTableHeight() {\n if (fillHeight) {\n return tableHeight.current;\n }\n\n if ((data === null || data === void 0 ? void 0 : data.length) === 0 && autoHeight) {\n return heightProp;\n }\n\n return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : heightProp;\n };\n\n return {\n contentHeight: contentHeight,\n contentWidth: contentWidth,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollY: scrollY,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerOffset: headerOffset,\n tableOffset: tableOffset,\n getTableHeight: getTableHeight,\n setScrollY: setScrollY,\n setScrollX: setScrollX\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useTableDimension);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useTableDimension.js?");
|
|
9402
9402
|
|
|
9403
9403
|
/***/ }),
|
|
9404
9404
|
|