rsuite 5.6.0 → 5.6.1
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 +9 -0
- package/README.md +3 -1
- package/cjs/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/DatePicker/DatePicker.js +4 -3
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +4 -3
- package/cjs/IconButton/IconButton.d.ts +5 -2
- package/cjs/IconButton/IconButton.js +2 -2
- package/cjs/IconButton/test/IconButton.test.d.ts +1 -0
- package/cjs/IconButton/test/IconButton.test.js +24 -0
- package/cjs/Picker/index.d.ts +2 -1
- package/cjs/toaster/toaster.d.ts +1 -1
- package/cjs/toaster/toaster.js +9 -3
- package/cjs/utils/useTimeout.d.ts +2 -2
- package/cjs/utils/useTimeout.js +17 -8
- package/dist/rsuite.js +5 -5
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/DatePicker/DatePicker.d.ts +2 -1
- package/esm/DatePicker/DatePicker.js +4 -3
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +4 -3
- package/esm/IconButton/IconButton.d.ts +5 -2
- package/esm/IconButton/IconButton.js +1 -1
- package/esm/IconButton/test/IconButton.test.d.ts +1 -0
- package/esm/IconButton/test/IconButton.test.js +18 -0
- package/esm/Picker/index.d.ts +2 -1
- package/esm/toaster/toaster.d.ts +1 -1
- package/esm/toaster/toaster.js +9 -3
- package/esm/utils/useTimeout.d.ts +2 -2
- package/esm/utils/useTimeout.js +17 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## [5.6.1](https://github.com/rsuite/rsuite/compare/v5.6.0...v5.6.1) (2022-02-17)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **caretAs:** fix DatePicker and DateRangePicker cannot replace caret ([#2360](https://github.com/rsuite/rsuite/issues/2360)) ([1e619b2](https://github.com/rsuite/rsuite/commit/1e619b2ef7abc58a93f6d6d4fc78ffea07761c81))
|
|
6
|
+
- **IconButton:** infer addtional props from as prop ([#2343](https://github.com/rsuite/rsuite/issues/2343)) ([3b6c25c](https://github.com/rsuite/rsuite/commit/3b6c25c103ed33a86baa47b8c757462da7ae8c4c))
|
|
7
|
+
- **Toaster:** code breaks when toaster is in a useEffect ([#2353](https://github.com/rsuite/rsuite/issues/2353)) ([d083fe2](https://github.com/rsuite/rsuite/commit/d083fe27013659cbc45196b7ead9ff5863404fb8)), closes [#2336](https://github.com/rsuite/rsuite/issues/2336)
|
|
8
|
+
- **useTimeout:** fix callback not being called after timeout ([#2349](https://github.com/rsuite/rsuite/issues/2349)) ([e82a12a](https://github.com/rsuite/rsuite/commit/e82a12aa2929cf66e7a3c6d70008c5bedb4ab128))
|
|
9
|
+
|
|
1
10
|
# [5.6.0](https://github.com/rsuite/rsuite/compare/v5.5.2...v5.6.0) (2022-02-10)
|
|
2
11
|
|
|
3
12
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -130,9 +130,11 @@ If you like React Suite, you can show your support by either
|
|
|
130
130
|
This project exists thanks to all the people who contribute.
|
|
131
131
|
|
|
132
132
|
<a href="https://github.com/rsuite/rsuite/graphs/contributors" target="_blank">
|
|
133
|
-
<img src="https://
|
|
133
|
+
<img src="https://contrib.rocks/image?repo=rsuite/rsuite" />
|
|
134
134
|
</a>
|
|
135
135
|
|
|
136
|
+
[![opencollective-now][opencollective-svg]][opencollective-home]
|
|
137
|
+
|
|
136
138
|
## License
|
|
137
139
|
|
|
138
140
|
React Suite is [MIT licensed][license]. Copyright (c) 2016-present, HYPERS.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RangeType } from './Toolbar';
|
|
3
3
|
import { DatePickerLocale } from '../locales';
|
|
4
|
+
import { PickerToggleProps } from '../Picker';
|
|
4
5
|
import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
|
|
5
6
|
export type { RangeType } from './Toolbar';
|
|
6
|
-
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null> {
|
|
7
|
+
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null>, Pick<PickerToggleProps, 'caretAs' | 'readOnly' | 'plaintext'> {
|
|
7
8
|
/** Configure shortcut options */
|
|
8
9
|
ranges?: RangeType<Date>[];
|
|
9
10
|
/** Calendar panel default presentation date and time */
|
|
@@ -68,6 +68,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
68
68
|
showWeekNumbers = props.showWeekNumbers,
|
|
69
69
|
style = props.style,
|
|
70
70
|
toggleAs = props.toggleAs,
|
|
71
|
+
caretAsProp = props.caretAs,
|
|
71
72
|
disabledDateProp = props.disabledDate,
|
|
72
73
|
renderValue = props.renderValue,
|
|
73
74
|
onChange = props.onChange,
|
|
@@ -83,7 +84,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
83
84
|
onSelect = props.onSelect,
|
|
84
85
|
onToggleMonthDropdown = props.onToggleMonthDropdown,
|
|
85
86
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
86
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
|
|
87
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
|
|
87
88
|
|
|
88
89
|
var _useCustom = (0, _utils.useCustom)('DatePicker', overrideLocale),
|
|
89
90
|
locale = _useCustom.locale,
|
|
@@ -445,8 +446,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
445
446
|
return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);
|
|
446
447
|
}, [formatStr, formatDate, placeholder, renderValue, value]);
|
|
447
448
|
var caretAs = (0, _react.useMemo)(function () {
|
|
448
|
-
return _utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default;
|
|
449
|
-
}, [formatStr]);
|
|
449
|
+
return caretAsProp || (_utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default);
|
|
450
|
+
}, [caretAsProp, formatStr]);
|
|
450
451
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
451
452
|
trigger: "active",
|
|
452
453
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FormControlBaseProps, PickerBaseProps } from '../@types/common';
|
|
3
|
-
import { PickerComponent } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
5
|
-
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<DateRange | null> {
|
|
5
|
+
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<DateRange | null>, Pick<PickerToggleProps, 'caretAs' | 'readOnly' | 'plaintext'> {
|
|
6
6
|
/** Configure shortcut options */
|
|
7
7
|
ranges?: RangeType[];
|
|
8
8
|
/** Format date */
|
|
@@ -82,6 +82,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
82
82
|
showMeridian = props.showMeridian,
|
|
83
83
|
style = props.style,
|
|
84
84
|
toggleAs = props.toggleAs,
|
|
85
|
+
caretAs = props.caretAs,
|
|
85
86
|
valueProp = props.value,
|
|
86
87
|
onChange = props.onChange,
|
|
87
88
|
onClean = props.onClean,
|
|
@@ -92,7 +93,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
92
93
|
onOk = props.onOk,
|
|
93
94
|
onOpen = props.onOpen,
|
|
94
95
|
onSelect = props.onSelect,
|
|
95
|
-
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", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect"]);
|
|
96
|
+
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"]);
|
|
96
97
|
|
|
97
98
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
98
99
|
merge = _useClassNames.merge,
|
|
@@ -632,8 +633,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
632
633
|
hasValue: hasValue,
|
|
633
634
|
active: isPickerToggleActive,
|
|
634
635
|
placement: placement,
|
|
635
|
-
|
|
636
|
-
|
|
636
|
+
disabled: disabled,
|
|
637
|
+
caretAs: caretAs || _Calendar.default
|
|
637
638
|
}), getDisplayString(value))));
|
|
638
639
|
});
|
|
639
640
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ButtonProps } from '../Button';
|
|
3
2
|
import { IconProps } from '@rsuite/icons/lib/Icon';
|
|
3
|
+
import { RsRefForwardingComponent } from '../@types/common';
|
|
4
|
+
import Button, { ButtonProps } from '../Button';
|
|
4
5
|
export interface IconButtonProps extends ButtonProps {
|
|
5
6
|
/** Set the icon */
|
|
6
7
|
icon?: React.ReactElement<IconProps>;
|
|
@@ -9,5 +10,7 @@ export interface IconButtonProps extends ButtonProps {
|
|
|
9
10
|
/** The placement of icon */
|
|
10
11
|
placement?: 'left' | 'right';
|
|
11
12
|
}
|
|
12
|
-
declare const IconButton:
|
|
13
|
+
declare const IconButton: RsRefForwardingComponent<typeof Button, IconButtonProps & {
|
|
14
|
+
ref?: React.Ref<HTMLElement>;
|
|
15
|
+
}>;
|
|
13
16
|
export default IconButton;
|
|
@@ -13,10 +13,10 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
|
|
16
|
-
var _Button = _interopRequireDefault(require("../Button"));
|
|
17
|
-
|
|
18
16
|
var _utils = require("../utils");
|
|
19
17
|
|
|
18
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
|
19
|
+
|
|
20
20
|
var IconButton = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
21
21
|
var icon = props.icon,
|
|
22
22
|
_props$placement = props.placement,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _IconButton = _interopRequireDefault(require("../IconButton"));
|
|
8
|
+
|
|
9
|
+
var Link = function Link(_ref) {
|
|
10
|
+
var to = _ref.to;
|
|
11
|
+
return /*#__PURE__*/_react.default.createElement("a", {
|
|
12
|
+
href: to
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
var ref = /*#__PURE__*/_react.default.createRef(); // Infer `as` component props
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/*#__PURE__*/
|
|
20
|
+
_react.default.createElement(_IconButton.default, {
|
|
21
|
+
ref: ref,
|
|
22
|
+
as: Link,
|
|
23
|
+
to: "/home"
|
|
24
|
+
});
|
package/cjs/Picker/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { pickTriggerPropKeys, omitTriggerPropKeys, OverlayTriggerInstance, PositionChildProps } from './PickerToggleTrigger';
|
|
2
|
+
import { PickerToggleProps } from './PickerToggle';
|
|
2
3
|
import { PickerInstance, PickerComponent } from './types';
|
|
3
4
|
export { default as DropdownMenu } from './DropdownMenu';
|
|
4
5
|
export { default as DropdownMenuCheckItem } from './DropdownMenuCheckItem';
|
|
@@ -10,6 +11,6 @@ export { default as PickerToggleTrigger } from './PickerToggleTrigger';
|
|
|
10
11
|
export { default as SearchBar } from './SearchBar';
|
|
11
12
|
export { default as SelectedElement } from './SelectedElement';
|
|
12
13
|
export { pickTriggerPropKeys, omitTriggerPropKeys };
|
|
13
|
-
export type { OverlayTriggerInstance, PositionChildProps, PickerInstance, PickerComponent };
|
|
14
|
+
export type { OverlayTriggerInstance, PositionChildProps, PickerInstance, PickerComponent, PickerToggleProps };
|
|
14
15
|
export * from './utils';
|
|
15
16
|
export * from './propTypes';
|
package/cjs/toaster/toaster.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface Toaster {
|
|
|
8
8
|
* @param message
|
|
9
9
|
* @param options
|
|
10
10
|
*/
|
|
11
|
-
push(message: React.ReactNode, options?: ToastContainerProps): string;
|
|
11
|
+
push(message: React.ReactNode, options?: ToastContainerProps): string | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Remove a message by key
|
|
14
14
|
* @param key
|
package/cjs/toaster/toaster.js
CHANGED
|
@@ -41,6 +41,8 @@ var toaster = function toaster(message) {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
toaster.push = function (message, options) {
|
|
44
|
+
var _container$current;
|
|
45
|
+
|
|
44
46
|
if (options === void 0) {
|
|
45
47
|
options = {};
|
|
46
48
|
}
|
|
@@ -53,18 +55,22 @@ toaster.push = function (message, options) {
|
|
|
53
55
|
container = createContainer((_options$placement = options.placement) !== null && _options$placement !== void 0 ? _options$placement : '', options);
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
return container.current.push(message);
|
|
58
|
+
return (_container$current = container.current) === null || _container$current === void 0 ? void 0 : _container$current.push(message);
|
|
57
59
|
};
|
|
58
60
|
|
|
59
61
|
toaster.remove = function (key) {
|
|
60
62
|
containers.forEach(function (c) {
|
|
61
|
-
|
|
63
|
+
var _c$current;
|
|
64
|
+
|
|
65
|
+
return (_c$current = c.current) === null || _c$current === void 0 ? void 0 : _c$current.remove(key);
|
|
62
66
|
});
|
|
63
67
|
};
|
|
64
68
|
|
|
65
69
|
toaster.clear = function () {
|
|
66
70
|
containers.forEach(function (c) {
|
|
67
|
-
|
|
71
|
+
var _c$current2;
|
|
72
|
+
|
|
73
|
+
return (_c$current2 = c.current) === null || _c$current2 === void 0 ? void 0 : _c$current2.clear();
|
|
68
74
|
});
|
|
69
75
|
};
|
|
70
76
|
|
|
@@ -6,7 +6,7 @@ export interface UseTimeoutFnReturn {
|
|
|
6
6
|
* A timer hook
|
|
7
7
|
* @param fn Timer callback function
|
|
8
8
|
* @param ms Milliseconds of the timer
|
|
9
|
-
* @param
|
|
9
|
+
* @param enabled Whether to open the timer
|
|
10
10
|
*/
|
|
11
|
-
declare function useTimeout(fn: (() => void) | undefined, ms?: number,
|
|
11
|
+
declare function useTimeout(fn: (() => void) | undefined, ms?: number, enabled?: boolean): UseTimeoutFnReturn;
|
|
12
12
|
export default useTimeout;
|
package/cjs/utils/useTimeout.js
CHANGED
|
@@ -9,32 +9,41 @@ var _react = require("react");
|
|
|
9
9
|
* A timer hook
|
|
10
10
|
* @param fn Timer callback function
|
|
11
11
|
* @param ms Milliseconds of the timer
|
|
12
|
-
* @param
|
|
12
|
+
* @param enabled Whether to open the timer
|
|
13
13
|
*/
|
|
14
|
-
function useTimeout(fn, ms,
|
|
14
|
+
function useTimeout(fn, ms, enabled) {
|
|
15
15
|
if (ms === void 0) {
|
|
16
16
|
ms = 0;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
if (
|
|
20
|
-
|
|
19
|
+
if (enabled === void 0) {
|
|
20
|
+
enabled = true;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
var timeout = (0, _react.useRef)();
|
|
24
|
+
var callback = (0, _react.useRef)(fn);
|
|
24
25
|
var clear = (0, _react.useCallback)(function () {
|
|
25
26
|
timeout.current && clearTimeout(timeout.current);
|
|
26
27
|
}, []);
|
|
27
28
|
var set = (0, _react.useCallback)(function () {
|
|
28
|
-
|
|
29
|
+
timeout.current && clearTimeout(timeout.current);
|
|
30
|
+
|
|
31
|
+
if (enabled) {
|
|
29
32
|
timeout.current = setTimeout(function () {
|
|
30
|
-
|
|
33
|
+
var _callback$current;
|
|
34
|
+
|
|
35
|
+
(_callback$current = callback.current) === null || _callback$current === void 0 ? void 0 : _callback$current.call(callback);
|
|
31
36
|
}, ms);
|
|
32
37
|
}
|
|
33
|
-
}, [ms,
|
|
38
|
+
}, [ms, enabled]); // update ref when function changes
|
|
39
|
+
|
|
40
|
+
(0, _react.useEffect)(function () {
|
|
41
|
+
callback.current = fn;
|
|
42
|
+
}, [fn]);
|
|
34
43
|
(0, _react.useEffect)(function () {
|
|
35
44
|
set();
|
|
36
45
|
return clear;
|
|
37
|
-
}, [
|
|
46
|
+
}, [ms, enabled, set, clear]);
|
|
38
47
|
return {
|
|
39
48
|
clear: clear,
|
|
40
49
|
reset: set
|