rsuite 5.4.3 → 5.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/Carousel/styles/index.less +1 -0
- package/CheckTreePicker/styles/index.less +51 -50
- package/Dropdown/styles/index.less +2 -19
- package/Modal/styles/mixin.less +1 -0
- package/Picker/styles/mixin.less +3 -2
- package/README.md +1 -1
- package/Sidenav/styles/index.less +54 -59
- package/TreePicker/styles/index.less +3 -3
- package/cjs/Calendar/useCalendarDate.d.ts +1 -1
- package/cjs/Calendar/useCalendarDate.js +1 -1
- package/cjs/Carousel/Carousel.js +7 -1
- package/cjs/Cascader/Cascader.js +15 -4
- package/cjs/CheckTreePicker/CheckTreePicker.js +1 -1
- package/cjs/CheckTreePicker/utils.js +1 -1
- package/cjs/CustomProvider/CustomProvider.d.ts +14 -14
- package/cjs/CustomProvider/CustomProvider.js +4 -3
- package/cjs/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/DatePicker/DatePicker.js +2 -4
- package/cjs/DateRangePicker/Calendar.js +2 -16
- package/cjs/Dropdown/Dropdown.d.ts +5 -0
- package/cjs/Dropdown/DropdownMenu.js +5 -11
- package/cjs/Dropdown/test/Dropdown.test.d.ts +1 -0
- package/cjs/Dropdown/test/Dropdown.test.js +30 -0
- package/cjs/InputNumber/InputNumber.d.ts +1 -1
- package/cjs/InputNumber/InputNumber.js +36 -6
- package/cjs/InputNumber/test/InputNumber.test.d.ts +1 -0
- package/cjs/InputNumber/test/InputNumber.test.js +14 -0
- package/cjs/Modal/utils.js +16 -8
- package/cjs/MultiCascader/MultiCascader.js +7 -3
- package/cjs/Nav/NavItem.js +3 -1
- package/cjs/Picker/DropdownMenu.js +5 -0
- package/cjs/Picker/PickerToggle.js +2 -4
- package/cjs/RangeSlider/RangeSlider.d.ts +12 -2
- package/cjs/RangeSlider/RangeSlider.js +35 -12
- package/cjs/Uploader/UploadFileItem.d.ts +1 -1
- package/cjs/Uploader/UploadFileItem.js +1 -1
- package/cjs/Uploader/Uploader.js +3 -0
- package/cjs/utils/propTypeChecker.d.ts +2 -6
- package/cjs/utils/propTypeChecker.js +7 -59
- package/cjs/utils/treeUtils.js +4 -3
- package/cjs/utils/useClickOutside.js +6 -2
- package/dist/rsuite-rtl.css +115 -127
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +115 -127
- package/dist/rsuite.js +24 -24
- 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/Calendar/useCalendarDate.d.ts +1 -1
- package/esm/Calendar/useCalendarDate.js +1 -1
- package/esm/Carousel/Carousel.js +9 -3
- package/esm/Cascader/Cascader.js +15 -4
- package/esm/CheckTreePicker/CheckTreePicker.js +1 -1
- package/esm/CheckTreePicker/utils.js +1 -1
- package/esm/CustomProvider/CustomProvider.d.ts +14 -14
- package/esm/CustomProvider/CustomProvider.js +2 -2
- package/esm/DatePicker/DatePicker.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +2 -3
- package/esm/DateRangePicker/Calendar.js +2 -16
- package/esm/Dropdown/Dropdown.d.ts +5 -0
- package/esm/Dropdown/DropdownMenu.js +5 -11
- package/esm/Dropdown/test/Dropdown.test.d.ts +1 -0
- package/esm/Dropdown/test/Dropdown.test.js +22 -0
- package/esm/InputNumber/InputNumber.d.ts +1 -1
- package/esm/InputNumber/InputNumber.js +38 -7
- package/esm/InputNumber/test/InputNumber.test.d.ts +1 -0
- package/esm/InputNumber/test/InputNumber.test.js +7 -0
- package/esm/Modal/utils.js +16 -8
- package/esm/MultiCascader/MultiCascader.js +7 -3
- package/esm/Nav/NavItem.js +3 -1
- package/esm/Picker/DropdownMenu.js +5 -0
- package/esm/Picker/PickerToggle.js +2 -4
- package/esm/RangeSlider/RangeSlider.d.ts +12 -2
- package/esm/RangeSlider/RangeSlider.js +35 -12
- package/esm/Uploader/UploadFileItem.d.ts +1 -1
- package/esm/Uploader/UploadFileItem.js +1 -1
- package/esm/Uploader/Uploader.js +4 -1
- package/esm/utils/propTypeChecker.d.ts +2 -6
- package/esm/utils/propTypeChecker.js +7 -59
- package/esm/utils/treeUtils.js +6 -3
- package/esm/utils/useClickOutside.js +6 -2
- package/package.json +2 -2
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
3
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
6
|
|
|
5
7
|
exports.__esModule = true;
|
|
@@ -9,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
11
|
|
|
10
12
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
13
|
|
|
12
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
14
16
|
var _prefix = require("../utils/prefix");
|
|
15
17
|
|
|
@@ -37,7 +39,7 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
37
39
|
}, rest);
|
|
38
40
|
}, [classPrefix, theme, rest]);
|
|
39
41
|
|
|
40
|
-
_react.
|
|
42
|
+
(0, _react.useEffect)(function () {
|
|
41
43
|
if (_DOMHelper.canUseDOM && theme) {
|
|
42
44
|
(0, _DOMHelper.addClass)(document.body, (0, _prefix.prefix)(classPrefix, "theme-" + theme)); // Remove the className that will cause style conflicts
|
|
43
45
|
|
|
@@ -48,7 +50,6 @@ var CustomProvider = function CustomProvider(props) {
|
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
}, [classPrefix, theme]);
|
|
51
|
-
|
|
52
53
|
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
53
54
|
value: value
|
|
54
55
|
}, children);
|
|
@@ -3,7 +3,7 @@ import { RangeType } from './Toolbar';
|
|
|
3
3
|
import { DatePickerLocale } from '../locales';
|
|
4
4
|
import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
|
|
5
5
|
export type { RangeType } from './Toolbar';
|
|
6
|
-
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date> {
|
|
6
|
+
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null> {
|
|
7
7
|
/** Configure shortcut options */
|
|
8
8
|
ranges?: RangeType<Date>[];
|
|
9
9
|
/** Calendar panel default presentation date and time */
|
|
@@ -15,8 +15,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
|
-
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
19
|
-
|
|
20
18
|
var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
|
|
21
19
|
|
|
22
20
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
@@ -194,11 +192,11 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
194
192
|
closeOverlay = true;
|
|
195
193
|
}
|
|
196
194
|
|
|
197
|
-
var nextValue =
|
|
195
|
+
var nextValue = typeof nextPageDate !== 'undefined' ? nextPageDate : calendarDate;
|
|
198
196
|
setCalendarDate(nextValue || new Date());
|
|
199
197
|
setValue(nextValue);
|
|
200
198
|
|
|
201
|
-
if (nextValue !== value
|
|
199
|
+
if (nextValue !== value) {
|
|
202
200
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
203
201
|
} // `closeOverlay` default value is `true`
|
|
204
202
|
|
|
@@ -114,22 +114,8 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
114
114
|
return !after;
|
|
115
115
|
}, [calendarDate, index, showOneCalendar]);
|
|
116
116
|
var disabledMonth = (0, _react.useCallback)(function (date) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (disabledDate !== null && disabledDate !== void 0 && disabledDate(date, value, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (showOneCalendar) return false;
|
|
124
|
-
|
|
125
|
-
if (index === 1) {
|
|
126
|
-
after = (0, _dateUtils.isAfter)(date, calendarDate[0]);
|
|
127
|
-
return !after;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
after = (0, _dateUtils.isAfter)(calendarDate[1], date);
|
|
131
|
-
return !after;
|
|
132
|
-
}, [calendarDate, disabledDate, index, showOneCalendar, value]);
|
|
117
|
+
return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, value, _utils.DATERANGE_DISABLED_TARGET.CALENDAR);
|
|
118
|
+
}, [disabledDate, value]);
|
|
133
119
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
134
120
|
format: format,
|
|
135
121
|
calendarState: calendarState,
|
|
@@ -3,6 +3,7 @@ import DropdownMenu from './DropdownMenu';
|
|
|
3
3
|
import { TypeAttributes, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
4
4
|
import { IconProps } from '@rsuite/icons/lib/Icon';
|
|
5
5
|
import DropdownItem from './DropdownItem';
|
|
6
|
+
import Button from '../Button';
|
|
6
7
|
export declare type DropdownTrigger = 'click' | 'hover' | 'contextMenu';
|
|
7
8
|
export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect' | 'title'> {
|
|
8
9
|
/** Define the title as a submenu */
|
|
@@ -48,6 +49,10 @@ export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttr
|
|
|
48
49
|
onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
|
|
49
50
|
}
|
|
50
51
|
export interface DropdownComponent extends RsRefForwardingComponent<'div', DropdownProps> {
|
|
52
|
+
<ToggleAs extends React.ElementType = typeof Button>(props: DropdownProps & {
|
|
53
|
+
ref?: React.Ref<any>;
|
|
54
|
+
toggleAs?: ToggleAs;
|
|
55
|
+
} & React.ComponentProps<ToggleAs>, context: any): JSX.Element | null;
|
|
51
56
|
Item: typeof DropdownItem;
|
|
52
57
|
Menu: typeof DropdownMenu;
|
|
53
58
|
}
|
|
@@ -152,8 +152,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
152
152
|
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
153
153
|
disabled: disabled,
|
|
154
154
|
open: open,
|
|
155
|
-
submenu: true
|
|
156
|
-
|
|
155
|
+
submenu: true
|
|
157
156
|
}));
|
|
158
157
|
return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
|
|
159
158
|
ref: (0, _utils.mergeRefs)(ref, containerRef),
|
|
@@ -161,13 +160,10 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
161
160
|
}, props), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, null, function (_ref2, buttonRef) {
|
|
162
161
|
var open = _ref2.open,
|
|
163
162
|
buttonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["open"]);
|
|
164
|
-
var classes = mergeItemClassNames(className, prefixItemClassName(
|
|
165
|
-
withItemClassPrefix({
|
|
163
|
+
var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), withItemClassPrefix({
|
|
166
164
|
'with-icon': icon,
|
|
167
165
|
open: open,
|
|
168
|
-
|
|
169
|
-
disabled: disabled // focus: active
|
|
170
|
-
|
|
166
|
+
disabled: disabled
|
|
171
167
|
}));
|
|
172
168
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
173
169
|
ref: (0, _utils.mergeRefs)(buttonRef, buttonRef),
|
|
@@ -202,8 +198,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
202
198
|
var selected = _ref5.selected,
|
|
203
199
|
active = _ref5.active,
|
|
204
200
|
menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref5, ["selected", "active"]);
|
|
205
|
-
var classes = mergeItemClassNames(className, prefixItemClassName(
|
|
206
|
-
withItemClassPrefix({
|
|
201
|
+
var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["toggle"]))), withItemClassPrefix({
|
|
207
202
|
'with-icon': icon,
|
|
208
203
|
open: open,
|
|
209
204
|
active: selected,
|
|
@@ -239,8 +234,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
239
234
|
var classes = mergeItemClassNames(className, withItemClassPrefix({
|
|
240
235
|
disabled: disabled,
|
|
241
236
|
open: open,
|
|
242
|
-
submenu: true
|
|
243
|
-
|
|
237
|
+
submenu: true
|
|
244
238
|
}));
|
|
245
239
|
return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
|
|
246
240
|
ref: (0, _utils.mergeRefs)(ref, menuContainerRef),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _Dropdown = _interopRequireDefault(require("../Dropdown"));
|
|
8
|
+
|
|
9
|
+
var ref = /*#__PURE__*/_react.default.createRef(); // Infer `toggleAs` props (defaults to Button)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
/*#__PURE__*/
|
|
13
|
+
_react.default.createElement(_Dropdown.default, {
|
|
14
|
+
ref: ref,
|
|
15
|
+
appearance: "subtle",
|
|
16
|
+
size: "sm"
|
|
17
|
+
});
|
|
18
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var CustomToggle = function CustomToggle(_props) {
|
|
22
|
+
return null;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/*#__PURE__*/
|
|
26
|
+
_react.default.createElement(_Dropdown.default, {
|
|
27
|
+
ref: ref,
|
|
28
|
+
toggleAs: CustomToggle,
|
|
29
|
+
myProp: "myValue"
|
|
30
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { WithAsProps, TypeAttributes, FormControlBaseProps } from '../@types/common';
|
|
3
|
-
export interface InputNumberProps<T = number | string> extends WithAsProps, FormControlBaseProps<T> {
|
|
3
|
+
export interface InputNumberProps<T = number | string> extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'prefix'>, WithAsProps, FormControlBaseProps<T> {
|
|
4
4
|
/** Button can have different appearances */
|
|
5
5
|
buttonAppearance?: TypeAttributes.Appearance;
|
|
6
6
|
/** An input can show that it is disabled */
|
|
@@ -114,15 +114,15 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
114
114
|
step = _props$step === void 0 ? 1 : _props$step,
|
|
115
115
|
_props$buttonAppearan = props.buttonAppearance,
|
|
116
116
|
buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
_props$max = props.max,
|
|
120
|
-
max = _props$max === void 0 ? Infinity : _props$max,
|
|
117
|
+
minProp = props.min,
|
|
118
|
+
maxProp = props.max,
|
|
121
119
|
_props$scrollable = props.scrollable,
|
|
122
120
|
scrollable = _props$scrollable === void 0 ? true : _props$scrollable,
|
|
123
121
|
onChange = props.onChange,
|
|
124
122
|
onWheel = props.onWheel,
|
|
125
123
|
restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "disabled", "readOnly", "plaintext", "value", "defaultValue", "size", "prefix", "postfix", "step", "buttonAppearance", "min", "max", "scrollable", "onChange", "onWheel"]);
|
|
124
|
+
var min = minProp !== null && minProp !== void 0 ? minProp : -Infinity;
|
|
125
|
+
var max = maxProp !== null && maxProp !== void 0 ? maxProp : Infinity;
|
|
126
126
|
|
|
127
127
|
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
|
|
128
128
|
value = _useControlled[0],
|
|
@@ -187,6 +187,35 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
187
187
|
var bit = decimals(val, step);
|
|
188
188
|
handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);
|
|
189
189
|
}, [getSafeValue, handleChangeValue, step, value]);
|
|
190
|
+
var handleKeyDown = (0, _react.useCallback)(function (event) {
|
|
191
|
+
switch (event.key) {
|
|
192
|
+
case _utils.KEY_VALUES.UP:
|
|
193
|
+
event.preventDefault();
|
|
194
|
+
handlePlus(event);
|
|
195
|
+
break;
|
|
196
|
+
|
|
197
|
+
case _utils.KEY_VALUES.DOWN:
|
|
198
|
+
event.preventDefault();
|
|
199
|
+
handleMinus(event);
|
|
200
|
+
break;
|
|
201
|
+
|
|
202
|
+
case _utils.KEY_VALUES.HOME:
|
|
203
|
+
if (typeof minProp !== 'undefined') {
|
|
204
|
+
event.preventDefault();
|
|
205
|
+
handleChangeValue(getSafeValue(minProp), event);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
break;
|
|
209
|
+
|
|
210
|
+
case _utils.KEY_VALUES.END:
|
|
211
|
+
if (typeof maxProp !== 'undefined') {
|
|
212
|
+
event.preventDefault();
|
|
213
|
+
handleChangeValue(getSafeValue(maxProp), event);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
}, [handlePlus, handleMinus, minProp, maxProp, handleChangeValue, getSafeValue]);
|
|
190
219
|
var handleWheel = (0, _react.useCallback)(function (event) {
|
|
191
220
|
if (!disabled && !readOnly && event.target === document.activeElement) {
|
|
192
221
|
event.preventDefault();
|
|
@@ -233,7 +262,7 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
233
262
|
}, [handleWheel, scrollable]);
|
|
234
263
|
|
|
235
264
|
var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {
|
|
236
|
-
type: "
|
|
265
|
+
type: "number",
|
|
237
266
|
autoComplete: "off",
|
|
238
267
|
step: step,
|
|
239
268
|
inputRef: inputRef,
|
|
@@ -243,7 +272,8 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
243
272
|
disabled: disabled,
|
|
244
273
|
readOnly: readOnly,
|
|
245
274
|
plaintext: plaintext,
|
|
246
|
-
ref: plaintext ? ref : undefined
|
|
275
|
+
ref: plaintext ? ref : undefined,
|
|
276
|
+
onKeyDown: handleKeyDown
|
|
247
277
|
}));
|
|
248
278
|
|
|
249
279
|
if (plaintext) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _InputNumber = _interopRequireDefault(require("../InputNumber"));
|
|
8
|
+
|
|
9
|
+
// Inherits <input type="number" /> attributes
|
|
10
|
+
|
|
11
|
+
/*#__PURE__*/
|
|
12
|
+
_react.default.createElement(_InputNumber.default, {
|
|
13
|
+
placeholder: "Enter number"
|
|
14
|
+
});
|
package/cjs/Modal/utils.js
CHANGED
|
@@ -56,21 +56,29 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
56
56
|
|
|
57
57
|
(_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);
|
|
58
58
|
(_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();
|
|
59
|
+
windowResizeListener.current = null;
|
|
60
|
+
contentElementResizeObserver.current = null;
|
|
59
61
|
}, []);
|
|
60
62
|
var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {
|
|
61
|
-
if (overflow && !drawer) {
|
|
63
|
+
if (overflow && !drawer && ref.current) {
|
|
62
64
|
updateBodyStyles(undefined, entering);
|
|
63
65
|
contentElement.current = ref.current.querySelector("." + prefix('content'));
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
66
|
+
|
|
67
|
+
if (!windowResizeListener.current) {
|
|
68
|
+
windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (contentElement.current && !contentElementResizeObserver.current) {
|
|
72
|
+
contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
|
|
73
|
+
return updateBodyStyles();
|
|
74
|
+
});
|
|
75
|
+
contentElementResizeObserver.current.observe(contentElement.current);
|
|
76
|
+
}
|
|
69
77
|
}
|
|
70
78
|
}, [drawer, overflow, prefix, ref, updateBodyStyles]);
|
|
71
79
|
(0, _react.useEffect)(function () {
|
|
72
|
-
onDestroyEvents
|
|
73
|
-
}, [
|
|
80
|
+
return onDestroyEvents; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
81
|
+
}, []);
|
|
74
82
|
return [overflow ? bodyStyles : {}, onChangeBodyStyles, onDestroyEvents];
|
|
75
83
|
};
|
|
76
84
|
|
|
@@ -220,8 +220,11 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
220
220
|
children.then(function (data) {
|
|
221
221
|
node.loading = false;
|
|
222
222
|
node[childrenKey] = data;
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
|
|
224
|
+
if (targetRef.current) {
|
|
225
|
+
addFlattenData(data, node);
|
|
226
|
+
addColumn(data, cascadePaths.length);
|
|
227
|
+
}
|
|
225
228
|
});
|
|
226
229
|
} else {
|
|
227
230
|
node.loading = false;
|
|
@@ -258,7 +261,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
258
261
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);
|
|
259
262
|
}, [cascade, onChange, onCheck, setValue, splitValue, value, valueKey]);
|
|
260
263
|
var handleClean = (0, _react.useCallback)(function (event) {
|
|
261
|
-
if (disabled) {
|
|
264
|
+
if (disabled || !targetRef.current) {
|
|
262
265
|
return;
|
|
263
266
|
}
|
|
264
267
|
|
|
@@ -479,6 +482,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
479
482
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {
|
|
480
483
|
classPrefix: classPrefix,
|
|
481
484
|
hasValue: hasValue,
|
|
485
|
+
countable: countable,
|
|
482
486
|
name: 'cascader',
|
|
483
487
|
appearance: appearance,
|
|
484
488
|
cleanable: cleanable
|
package/cjs/Nav/NavItem.js
CHANGED
|
@@ -104,7 +104,9 @@ var NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
if (navbar) {
|
|
107
|
-
return /*#__PURE__*/_react.default.createElement(_NavbarItem.default,
|
|
107
|
+
return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, (0, _extends2.default)({
|
|
108
|
+
ref: ref
|
|
109
|
+
}, props));
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
@@ -122,6 +122,11 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
122
122
|
|
|
123
123
|
(0, _react.useEffect)(function () {
|
|
124
124
|
var container = menuBodyContainerRef.current;
|
|
125
|
+
|
|
126
|
+
if (!container) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
125
130
|
var activeItem = container.querySelector("." + prefix('item-focus'));
|
|
126
131
|
|
|
127
132
|
if (!activeItem) {
|
|
@@ -111,11 +111,9 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
111
111
|
}
|
|
112
112
|
}, [input, onFocus]);
|
|
113
113
|
var handleBlur = (0, _react.useCallback)(function (event) {
|
|
114
|
-
if (document.activeElement !== inputRef.current) {
|
|
115
|
-
var _inputRef$current2;
|
|
116
|
-
|
|
114
|
+
if (inputRef.current && document.activeElement !== inputRef.current) {
|
|
117
115
|
setActive(false);
|
|
118
|
-
|
|
116
|
+
inputRef.current.blur();
|
|
119
117
|
}
|
|
120
118
|
|
|
121
119
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SliderProps } from '../Slider';
|
|
3
3
|
export declare type Range = [number, number];
|
|
4
|
-
export declare type RangeSliderProps = SliderProps<Range
|
|
5
|
-
|
|
4
|
+
export declare type RangeSliderProps = SliderProps<Range> & {
|
|
5
|
+
/**
|
|
6
|
+
* Add constraint to validate before onChange is dispatched
|
|
7
|
+
*/
|
|
8
|
+
constraint?: (range: Range) => boolean;
|
|
9
|
+
};
|
|
10
|
+
declare const RangeSlider: React.ForwardRefExoticComponent<SliderProps<Range> & {
|
|
11
|
+
/**
|
|
12
|
+
* Add constraint to validate before onChange is dispatched
|
|
13
|
+
*/
|
|
14
|
+
constraint?: ((range: Range) => boolean) | undefined;
|
|
15
|
+
} & React.RefAttributes<unknown>>;
|
|
6
16
|
export default RangeSlider;
|
|
@@ -45,6 +45,7 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
45
45
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
46
46
|
barClassName = props.barClassName,
|
|
47
47
|
className = props.className,
|
|
48
|
+
constraint = props.constraint,
|
|
48
49
|
_props$defaultValue = props.defaultValue,
|
|
49
50
|
defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,
|
|
50
51
|
graduated = props.graduated,
|
|
@@ -71,7 +72,7 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
71
72
|
renderMark = props.renderMark,
|
|
72
73
|
onChange = props.onChange,
|
|
73
74
|
onChangeCommitted = props.onChangeCommitted,
|
|
74
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["aria-label", "aria-labelledby", "aria-valuetext", "as", "barClassName", "className", "defaultValue", "graduated", "progress", "vertical", "disabled", "classPrefix", "min", "max", "step", "value", "handleClassName", "handleStyle", "handleTitle", "tooltip", "getAriaValueText", "renderTooltip", "renderMark", "onChange", "onChangeCommitted"]);
|
|
75
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["aria-label", "aria-labelledby", "aria-valuetext", "as", "barClassName", "className", "constraint", "defaultValue", "graduated", "progress", "vertical", "disabled", "classPrefix", "min", "max", "step", "value", "handleClassName", "handleStyle", "handleTitle", "tooltip", "getAriaValueText", "renderTooltip", "renderMark", "onChange", "onChangeCommitted"]);
|
|
75
76
|
var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle
|
|
76
77
|
|
|
77
78
|
var handleIndexs = (0, _react.useRef)([0, 1]);
|
|
@@ -180,14 +181,27 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
180
181
|
|
|
181
182
|
return nextValue;
|
|
182
183
|
}, [getRangeValue, getValidValue]);
|
|
184
|
+
/**
|
|
185
|
+
* Whether a range is valid against given constraint (if any)
|
|
186
|
+
* Should check before every `setValue` calls
|
|
187
|
+
*/
|
|
188
|
+
|
|
189
|
+
var isRangeMatchingConstraint = (0, _react.useCallback)(function (range) {
|
|
190
|
+
// If no constraint is defined, any range is valid
|
|
191
|
+
if (!constraint) return true;
|
|
192
|
+
return constraint(range);
|
|
193
|
+
}, [constraint]);
|
|
183
194
|
/**
|
|
184
195
|
* Callback function that is fired when the mousemove is triggered
|
|
185
196
|
*/
|
|
186
197
|
|
|
187
198
|
var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {
|
|
188
199
|
var nextValue = getNextValue(event, dataset);
|
|
189
|
-
|
|
190
|
-
|
|
200
|
+
|
|
201
|
+
if (isRangeMatchingConstraint(nextValue)) {
|
|
202
|
+
setValue(nextValue);
|
|
203
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
204
|
+
}
|
|
191
205
|
});
|
|
192
206
|
/**
|
|
193
207
|
* Callback function that is fired when the mouseup is triggered
|
|
@@ -195,9 +209,12 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
195
209
|
|
|
196
210
|
var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {
|
|
197
211
|
var nextValue = getNextValue(event, dataset);
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
212
|
+
|
|
213
|
+
if (isRangeMatchingConstraint(nextValue)) {
|
|
214
|
+
setValue(nextValue);
|
|
215
|
+
onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);
|
|
216
|
+
}
|
|
217
|
+
}, [getNextValue, onChangeCommitted, isRangeMatchingConstraint, setValue]);
|
|
201
218
|
var handleKeyDown = (0, _react.useCallback)(function (event) {
|
|
202
219
|
var _event$target;
|
|
203
220
|
|
|
@@ -240,9 +257,12 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
240
257
|
|
|
241
258
|
|
|
242
259
|
event.preventDefault();
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
260
|
+
|
|
261
|
+
if (isRangeMatchingConstraint(nextValue)) {
|
|
262
|
+
setValue(nextValue);
|
|
263
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
264
|
+
}
|
|
265
|
+
}, [max, min, onChange, rtl, isRangeMatchingConstraint, setValue, step, value]);
|
|
246
266
|
var handleClick = (0, _react.useCallback)(function (event) {
|
|
247
267
|
if (disabled) {
|
|
248
268
|
return;
|
|
@@ -259,9 +279,12 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
259
279
|
}
|
|
260
280
|
|
|
261
281
|
var nextValue = getValidValue([start, end].sort());
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
282
|
+
|
|
283
|
+
if (isRangeMatchingConstraint(nextValue)) {
|
|
284
|
+
setValue(nextValue);
|
|
285
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
286
|
+
}
|
|
287
|
+
}, [disabled, getValidValue, getValueByPosition, isRangeMatchingConstraint, onChange, setValue, value]);
|
|
265
288
|
var handleProps = (0, _react.useMemo)(function () {
|
|
266
289
|
return [{
|
|
267
290
|
value: value[0],
|
|
@@ -4,7 +4,7 @@ import { UploaderLocale } from '../locales';
|
|
|
4
4
|
import { WithAsProps } from '../@types/common';
|
|
5
5
|
export interface UploadFileItemProps extends WithAsProps {
|
|
6
6
|
file: FileType;
|
|
7
|
-
listType
|
|
7
|
+
listType?: 'text' | 'picture-text' | 'picture';
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
className?: string;
|
|
10
10
|
maxPreviewFileSize?: number;
|
|
@@ -297,7 +297,7 @@ UploadFileItem.displayName = 'UploadFileItem';
|
|
|
297
297
|
UploadFileItem.propTypes = {
|
|
298
298
|
locale: _propTypes.default.any,
|
|
299
299
|
file: _propTypes.default.object.isRequired,
|
|
300
|
-
listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture'])
|
|
300
|
+
listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']),
|
|
301
301
|
disabled: _propTypes.default.bool,
|
|
302
302
|
className: _propTypes.default.string,
|
|
303
303
|
maxPreviewFileSize: _propTypes.default.number,
|
package/cjs/Uploader/Uploader.js
CHANGED
|
@@ -100,6 +100,9 @@ var useFileList = function useFileList(defaultFileList) {
|
|
|
100
100
|
(_fileListUpdateCallba = fileListUpdateCallback.current) === null || _fileListUpdateCallba === void 0 ? void 0 : _fileListUpdateCallba.call(fileListUpdateCallback, fileList);
|
|
101
101
|
fileListUpdateCallback.current = null;
|
|
102
102
|
}, [fileList]);
|
|
103
|
+
(0, _utils.useWillUnmount)(function () {
|
|
104
|
+
fileListUpdateCallback.current = null;
|
|
105
|
+
});
|
|
103
106
|
var dispatchCallback = (0, _react.useCallback)(function (action, callback) {
|
|
104
107
|
dispatch(action);
|
|
105
108
|
fileListUpdateCallback.current = callback;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import PropTypes
|
|
2
|
-
declare
|
|
3
|
-
[K in keyof T]: T[K] extends Validator<infer V> ? V : never;
|
|
4
|
-
};
|
|
5
|
-
export declare function tupleType<T extends readonly Validator<any>[]>(...types: T): Requireable<ExtractValue<T>>;
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
export declare function tupleType<T>(...typeCheckers: any[]): PropTypes.Requireable<T>;
|
|
6
3
|
export declare const refType: PropTypes.Requireable<any>;
|
|
7
|
-
export {};
|
|
@@ -8,71 +8,19 @@ exports.refType = void 0;
|
|
|
8
8
|
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
|
|
11
|
-
var ANONYMOUS = '';
|
|
12
|
-
|
|
13
|
-
function createChainableTypeChecker(validate) {
|
|
14
|
-
function checkType(isRequired, props, propName, componentName, location, propFullName) {
|
|
15
|
-
componentName = componentName || ANONYMOUS;
|
|
16
|
-
propFullName = propFullName || propName;
|
|
17
|
-
|
|
18
|
-
if (props[propName] == null) {
|
|
19
|
-
if (isRequired) {
|
|
20
|
-
if (props[propName] === null) {
|
|
21
|
-
return new Error('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return new Error('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return null;
|
|
28
|
-
} else {
|
|
29
|
-
return validate(props, propName, componentName, location, propFullName);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var chainedCheckType = Object.assign(checkType.bind(null, false), {
|
|
34
|
-
isRequired: checkType.bind(null, true)
|
|
35
|
-
});
|
|
36
|
-
return chainedCheckType;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
11
|
function tupleType() {
|
|
40
|
-
for (var _len = arguments.length,
|
|
41
|
-
|
|
12
|
+
for (var _len = arguments.length, typeCheckers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
13
|
+
typeCheckers[_key] = arguments[_key];
|
|
42
14
|
}
|
|
43
15
|
|
|
44
|
-
return
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
if (!location) {
|
|
48
|
-
location = 'prop';
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (!propFullName) {
|
|
52
|
-
propFullName = propName;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (!Array.isArray(value)) {
|
|
56
|
-
return new Error("Invalid " + location + " `" + propFullName + "` supplied to `" + componentName + "`, expected " + types.length + "-element array");
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (value.length === 0) {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (value.length !== types.length) {
|
|
64
|
-
return new Error("Invalid " + location + " `" + propFullName + "` supplied to `" + componentName + "`, expected " + types.length + "-element array, got array of length " + value.length);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
for (var i = 0; i < value.length; ++i) {
|
|
68
|
-
var error = types[i](value, String(i), componentName, 'element', propFullName + "[" + i + "]");
|
|
16
|
+
return _propTypes.default.arrayOf(function (value, index) {
|
|
17
|
+
var _typeCheckers$index;
|
|
69
18
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
19
|
+
for (var _len2 = arguments.length, rest = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
20
|
+
rest[_key2 - 2] = arguments[_key2];
|
|
73
21
|
}
|
|
74
22
|
|
|
75
|
-
return
|
|
23
|
+
return (_typeCheckers$index = typeCheckers[index]).call.apply(_typeCheckers$index, [_propTypes.default, value, index].concat(rest));
|
|
76
24
|
});
|
|
77
25
|
}
|
|
78
26
|
|