rsuite 5.68.1 → 5.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/Calendar/styles/index.css +1 -1
- package/Calendar/styles/index.less +1 -1
- package/DatePicker/styles/index.css +1 -1
- package/DateRangePicker/styles/index.css +1 -1
- package/README.md +2 -2
- package/Table/styles/index.css +1 -1
- package/Table/styles/index.less +1 -1
- package/cjs/Calendar/Calendar.d.ts +7 -2
- package/cjs/Calendar/Calendar.js +1 -1
- package/cjs/Calendar/CalendarContainer.d.ts +5 -0
- package/cjs/Calendar/CalendarContainer.js +15 -44
- package/cjs/Calendar/CalendarContext.d.ts +126 -2
- package/cjs/Calendar/CalendarContext.js +11 -3
- package/cjs/Calendar/CalendarHeader.js +3 -20
- package/cjs/Calendar/MonthDropdown.js +39 -29
- package/cjs/Calendar/TimeDropdown.js +0 -14
- package/cjs/Calendar/index.d.ts +1 -2
- package/cjs/CascadeTree/CascadeTree.js +3 -1
- package/cjs/CascadeTree/SearchView.d.ts +1 -0
- package/cjs/CascadeTree/SearchView.js +3 -2
- package/cjs/CascadeTree/types.d.ts +5 -1
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/Cascader.js +1 -0
- package/cjs/CustomProvider/CustomProvider.d.ts +13 -16
- package/cjs/DateInput/hooks/useDateInputState.d.ts +0 -2
- package/cjs/DateInput/hooks/useDateInputState.js +4 -1
- package/cjs/DatePicker/DatePicker.d.ts +6 -1
- package/cjs/DatePicker/DatePicker.js +10 -8
- package/cjs/DateRangePicker/Calendar.d.ts +3 -3
- package/cjs/DateRangePicker/Calendar.js +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +15 -3
- package/cjs/DateRangePicker/DateRangePicker.js +30 -25
- package/cjs/InputNumber/InputNumber.d.ts +9 -0
- package/cjs/InputNumber/InputNumber.js +28 -8
- package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +1 -1
- package/cjs/MultiCascadeTree/MultiCascadeTree.js +4 -1
- package/cjs/MultiCascadeTree/SearchView.d.ts +1 -0
- package/cjs/MultiCascadeTree/SearchView.js +3 -2
- package/cjs/MultiCascadeTree/types.d.ts +5 -1
- package/cjs/MultiCascader/MultiCascader.d.ts +1 -1
- package/cjs/MultiCascader/MultiCascader.js +3 -0
- package/cjs/TreePicker/TreePicker.js +1 -0
- package/cjs/internals/Windowing/List.d.ts +13 -3
- package/cjs/internals/Windowing/index.d.ts +1 -1
- package/cjs/internals/hooks/useCustom.js +25 -12
- package/cjs/internals/hooks/useEventCallback.js +8 -1
- package/cjs/useMediaQuery/useMediaQuery.js +12 -6
- package/dist/rsuite-no-reset-rtl.css +2 -2
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +2 -2
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +2 -2
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +2 -2
- package/dist/rsuite.js +84 -73
- package/dist/rsuite.js.map +1 -1
- 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/Calendar.d.ts +7 -2
- package/esm/Calendar/Calendar.js +1 -1
- package/esm/Calendar/CalendarContainer.d.ts +5 -0
- package/esm/Calendar/CalendarContainer.js +15 -44
- package/esm/Calendar/CalendarContext.d.ts +126 -2
- package/esm/Calendar/CalendarContext.js +12 -3
- package/esm/Calendar/CalendarHeader.js +3 -20
- package/esm/Calendar/MonthDropdown.js +39 -29
- package/esm/Calendar/TimeDropdown.js +0 -14
- package/esm/Calendar/index.d.ts +1 -2
- package/esm/CascadeTree/CascadeTree.js +3 -1
- package/esm/CascadeTree/SearchView.d.ts +1 -0
- package/esm/CascadeTree/SearchView.js +3 -2
- package/esm/CascadeTree/types.d.ts +5 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/Cascader.js +1 -0
- package/esm/CustomProvider/CustomProvider.d.ts +13 -16
- package/esm/DateInput/hooks/useDateInputState.d.ts +0 -2
- package/esm/DateInput/hooks/useDateInputState.js +5 -2
- package/esm/DatePicker/DatePicker.d.ts +6 -1
- package/esm/DatePicker/DatePicker.js +10 -8
- package/esm/DateRangePicker/Calendar.d.ts +3 -3
- package/esm/DateRangePicker/Calendar.js +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +15 -3
- package/esm/DateRangePicker/DateRangePicker.js +19 -14
- package/esm/InputNumber/InputNumber.d.ts +9 -0
- package/esm/InputNumber/InputNumber.js +29 -9
- package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +1 -1
- package/esm/MultiCascadeTree/MultiCascadeTree.js +4 -1
- package/esm/MultiCascadeTree/SearchView.d.ts +1 -0
- package/esm/MultiCascadeTree/SearchView.js +3 -2
- package/esm/MultiCascadeTree/types.d.ts +5 -1
- package/esm/MultiCascader/MultiCascader.d.ts +1 -1
- package/esm/MultiCascader/MultiCascader.js +3 -0
- package/esm/TreePicker/TreePicker.js +1 -0
- package/esm/internals/Windowing/List.d.ts +13 -3
- package/esm/internals/Windowing/index.d.ts +1 -1
- package/esm/internals/hooks/useCustom.js +25 -12
- package/esm/internals/hooks/useEventCallback.js +8 -2
- package/esm/useMediaQuery/useMediaQuery.js +13 -7
- package/package.json +2 -2
- package/cjs/Calendar/types.d.ts +0 -28
- package/cjs/Calendar/types.js +0 -4
- package/esm/Calendar/types.d.ts +0 -28
- package/esm/Calendar/types.js +0 -2
package/cjs/Calendar/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Calendar from './Calendar';
|
|
2
2
|
import CalendarContainer from './CalendarContainer';
|
|
3
3
|
import { CalendarState } from './useCalendarState';
|
|
4
|
-
import CalendarContext from './CalendarContext';
|
|
5
|
-
import { CalendarContextValue } from './types';
|
|
4
|
+
import CalendarContext, { CalendarContextValue } from './CalendarContext';
|
|
6
5
|
export { CalendarContainer, CalendarContext, CalendarState };
|
|
7
6
|
export type { CalendarContextValue };
|
|
8
7
|
export type { CalendarProps } from './Calendar';
|
|
@@ -13,7 +13,7 @@ var _hooks = require("../internals/hooks");
|
|
|
13
13
|
var _TreeView = _interopRequireDefault(require("./TreeView"));
|
|
14
14
|
var _SearchView = _interopRequireDefault(require("./SearchView"));
|
|
15
15
|
var _hooks2 = require("./hooks");
|
|
16
|
-
var _excluded = ["as", "data", "defaultValue", "className", "classPrefix", "childrenKey", "valueKey", "labelKey", "value", "disabledItemValues", "columnWidth", "columnHeight", "searchable", "renderTreeNode", "renderColumn", "onSelect", "onSearch", "onChange", "getChildren"];
|
|
16
|
+
var _excluded = ["as", "data", "defaultValue", "className", "classPrefix", "childrenKey", "valueKey", "labelKey", "locale", "value", "disabledItemValues", "columnWidth", "columnHeight", "searchable", "renderTreeNode", "renderColumn", "onSelect", "onSearch", "onChange", "getChildren"];
|
|
17
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
19
|
/**
|
|
@@ -36,6 +36,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
36
36
|
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
37
37
|
_props$labelKey = props.labelKey,
|
|
38
38
|
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
39
|
+
locale = props.locale,
|
|
39
40
|
valueProp = props.value,
|
|
40
41
|
_props$disabledItemVa = props.disabledItemValues,
|
|
41
42
|
disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
|
|
@@ -152,6 +153,7 @@ var CascadeTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
152
153
|
searchKeyword: searchKeyword,
|
|
153
154
|
valueKey: valueKey,
|
|
154
155
|
labelKey: labelKey,
|
|
156
|
+
locale: locale,
|
|
155
157
|
parentMap: parentMap,
|
|
156
158
|
disabledItemValues: disabledItemValues,
|
|
157
159
|
onSelect: handleSearchRowSelect,
|
|
@@ -8,6 +8,7 @@ interface SearchViewProps<T> extends WithAsProps {
|
|
|
8
8
|
data: ItemDataType<T>[];
|
|
9
9
|
focusItemValue?: T | null;
|
|
10
10
|
disabledItemValues: any[];
|
|
11
|
+
locale?: Record<string, string>;
|
|
11
12
|
renderSearchItem?: (label: React.ReactNode, items: ItemDataType<T>[]) => React.ReactNode;
|
|
12
13
|
onSelect: (item: ItemDataType<T>, items: ItemDataType<T>[], event: React.MouseEvent) => void;
|
|
13
14
|
onSearch: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
@@ -11,7 +11,7 @@ var _hooks = require("../internals/hooks");
|
|
|
11
11
|
var _utils = require("../internals/Tree/utils");
|
|
12
12
|
var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
|
|
13
13
|
var _Highlight = _interopRequireDefault(require("../Highlight"));
|
|
14
|
-
var _excluded = ["as", "classPrefix", "className", "searchKeyword", "labelKey", "valueKey", "parentMap", "data", "focusItemValue", "disabledItemValues", "inputRef", "renderSearchItem", "onSearch", "onSelect"];
|
|
14
|
+
var _excluded = ["as", "classPrefix", "className", "searchKeyword", "labelKey", "locale", "valueKey", "parentMap", "data", "focusItemValue", "disabledItemValues", "inputRef", "renderSearchItem", "onSearch", "onSelect"];
|
|
15
15
|
function SearchView(props) {
|
|
16
16
|
var _props$as = props.as,
|
|
17
17
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -20,6 +20,7 @@ function SearchView(props) {
|
|
|
20
20
|
className = props.className,
|
|
21
21
|
searchKeyword = props.searchKeyword,
|
|
22
22
|
labelKey = props.labelKey,
|
|
23
|
+
overrideLocale = props.locale,
|
|
23
24
|
valueKey = props.valueKey,
|
|
24
25
|
parentMap = props.parentMap,
|
|
25
26
|
data = props.data,
|
|
@@ -36,7 +37,7 @@ function SearchView(props) {
|
|
|
36
37
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
37
38
|
rootPrefix = _useClassNames.rootPrefix;
|
|
38
39
|
var classes = merge(className, withClassPrefix());
|
|
39
|
-
var _useCustom = (0, _hooks.useCustom)('Picker'),
|
|
40
|
+
var _useCustom = (0, _hooks.useCustom)('Picker', overrideLocale),
|
|
40
41
|
locale = _useCustom.locale;
|
|
41
42
|
var renderSearchRow = function renderSearchRow(item, key) {
|
|
42
43
|
var items = (0, _utils.getPathTowardsItem)(item, function (item) {
|
|
@@ -10,7 +10,7 @@ export interface CascadeColumn<T> {
|
|
|
10
10
|
parentItem?: ItemDataType<T>;
|
|
11
11
|
layer?: number;
|
|
12
12
|
}
|
|
13
|
-
export interface CascadeTreeProps<T, V = T> extends WithAsProps, DataProps<ItemDataType<T>> {
|
|
13
|
+
export interface CascadeTreeProps<T, V = T, L = any> extends WithAsProps, DataProps<ItemDataType<T>> {
|
|
14
14
|
/**
|
|
15
15
|
* Initial value
|
|
16
16
|
*/
|
|
@@ -35,6 +35,10 @@ export interface CascadeTreeProps<T, V = T> extends WithAsProps, DataProps<ItemD
|
|
|
35
35
|
* Whether dispaly search input box
|
|
36
36
|
*/
|
|
37
37
|
searchable?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* A collection of localized strings.
|
|
40
|
+
*/
|
|
41
|
+
locale?: Partial<L>;
|
|
38
42
|
/**
|
|
39
43
|
* Custom render columns
|
|
40
44
|
*/
|
|
@@ -3,7 +3,7 @@ import type { CascadeTreeProps } from '../CascadeTree/types';
|
|
|
3
3
|
import { PickerLocale } from '../locales';
|
|
4
4
|
import { PickerHandle, PickerToggleProps } from '../internals/Picker';
|
|
5
5
|
import { ItemDataType, DataItemValue, FormControlPickerProps } from '../internals/types';
|
|
6
|
-
export interface CascaderProps<T = DataItemValue> extends FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, CascadeTreeProps<T>, Pick<PickerToggleProps, 'label' | 'caretAs' | 'loading'> {
|
|
6
|
+
export interface CascaderProps<T = DataItemValue> extends FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, CascadeTreeProps<T, T, PickerLocale>, Pick<PickerToggleProps, 'label' | 'caretAs' | 'loading'> {
|
|
7
7
|
/**
|
|
8
8
|
* The panel is displayed directly when the component is initialized
|
|
9
9
|
* @deprecated Use CascadeTree instead
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -335,6 +335,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
335
335
|
searchKeyword: searchKeyword,
|
|
336
336
|
valueKey: valueKey,
|
|
337
337
|
labelKey: labelKey,
|
|
338
|
+
locale: locale,
|
|
338
339
|
parentMap: parentMap,
|
|
339
340
|
disabledItemValues: disabledItemValues,
|
|
340
341
|
focusItemValue: focusItemValue,
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { Locale as DateFnsLocale } from 'date-fns';
|
|
2
3
|
import { Locale } from '../locales';
|
|
3
4
|
import { ToastContainerInstance } from '../toaster/ToastContainer';
|
|
5
|
+
export interface FormatDateOptions {
|
|
6
|
+
locale?: DateFnsLocale;
|
|
7
|
+
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
8
|
+
firstWeekContainsDate?: number;
|
|
9
|
+
useAdditionalWeekYearTokens?: boolean;
|
|
10
|
+
useAdditionalDayOfYearTokens?: boolean;
|
|
11
|
+
}
|
|
4
12
|
export interface CustomValue<T = Locale> {
|
|
5
13
|
/** Language configuration */
|
|
6
14
|
locale: T;
|
|
@@ -19,7 +27,7 @@ export interface CustomValue<T = Locale> {
|
|
|
19
27
|
* }
|
|
20
28
|
*
|
|
21
29
|
* */
|
|
22
|
-
formatDate: (date: Date | number, format: string) => string;
|
|
30
|
+
formatDate: (date: Date | number, format: string, options?: FormatDateOptions) => string;
|
|
23
31
|
/**
|
|
24
32
|
* Return the date parsed from string using the given format string.
|
|
25
33
|
*
|
|
@@ -33,7 +41,7 @@ export interface CustomValue<T = Locale> {
|
|
|
33
41
|
* }
|
|
34
42
|
*
|
|
35
43
|
* */
|
|
36
|
-
parseDate: (dateString: string, formatString: string) => Date;
|
|
44
|
+
parseDate: (dateString: string, formatString: string, referenceDate?: Date | number, options?: FormatDateOptions) => Date;
|
|
37
45
|
/**
|
|
38
46
|
* A Map of toast containers
|
|
39
47
|
*/
|
|
@@ -60,6 +68,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
60
68
|
} | undefined;
|
|
61
69
|
Plaintext?: {
|
|
62
70
|
unfilled: string;
|
|
71
|
+
/** Support right-to-left */
|
|
63
72
|
notSelected: string;
|
|
64
73
|
notUploaded: string;
|
|
65
74
|
} | undefined;
|
|
@@ -67,19 +76,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
67
76
|
more: string;
|
|
68
77
|
prev: string;
|
|
69
78
|
next: string;
|
|
70
|
-
first: string;
|
|
71
|
-
* Return the date parsed from string using the given format string.
|
|
72
|
-
*
|
|
73
|
-
* Example:
|
|
74
|
-
*
|
|
75
|
-
* import parse from 'date-fns/parse';
|
|
76
|
-
* import eo from 'date-fns/locale/eo'
|
|
77
|
-
*
|
|
78
|
-
* function parseDate(date, formatStr) {
|
|
79
|
-
* return parse(date, formatStr, new Date(), { locale: eo });
|
|
80
|
-
* }
|
|
81
|
-
*
|
|
82
|
-
* */
|
|
79
|
+
first: string;
|
|
83
80
|
last: string;
|
|
84
81
|
limit: string;
|
|
85
82
|
total: string;
|
|
@@ -152,7 +149,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
|
|
|
152
149
|
} | undefined;
|
|
153
150
|
Uploader?: {
|
|
154
151
|
inited: string;
|
|
155
|
-
progress: string;
|
|
152
|
+
progress: string;
|
|
156
153
|
error: string;
|
|
157
154
|
complete: string;
|
|
158
155
|
emptyFile: string;
|
|
@@ -8,12 +8,15 @@ exports.useDateInputState = useDateInputState;
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _startCase = _interopRequireDefault(require("lodash/startCase"));
|
|
10
10
|
var _date = require("../../internals/utils/date");
|
|
11
|
+
var _hooks = require("../../internals/hooks");
|
|
11
12
|
var _DateField = require("../DateField");
|
|
12
13
|
function useDateInputState(_ref) {
|
|
13
14
|
var formatStr = _ref.formatStr,
|
|
14
15
|
locale = _ref.locale,
|
|
15
16
|
date = _ref.date,
|
|
16
17
|
isControlledDate = _ref.isControlledDate;
|
|
18
|
+
var _useCustom = (0, _hooks.useCustom)(),
|
|
19
|
+
formatDate = _useCustom.formatDate;
|
|
17
20
|
var _useDateField = (0, _DateField.useDateField)(formatStr, locale.localize, date),
|
|
18
21
|
dateField = _useDateField.dateField,
|
|
19
22
|
dispatch = _useDateField.dispatch,
|
|
@@ -94,7 +97,7 @@ function useDateInputState(_ref) {
|
|
|
94
97
|
};
|
|
95
98
|
var toControlledDateString = function toControlledDateString() {
|
|
96
99
|
if (date && (0, _date.isValid)(date)) {
|
|
97
|
-
return (
|
|
100
|
+
return formatDate(date, formatStr, {
|
|
98
101
|
locale: locale
|
|
99
102
|
});
|
|
100
103
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RangeType } from './Toolbar';
|
|
3
|
-
import { DatePickerLocale } from '../locales';
|
|
4
3
|
import type { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../internals/types';
|
|
4
|
+
import type { DatePickerLocale } from '../locales';
|
|
5
5
|
import type { DeprecatedProps } from './types';
|
|
6
|
+
import type { MonthDropdownProps } from '../Calendar/CalendarContext';
|
|
6
7
|
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null>, DeprecatedProps {
|
|
7
8
|
/**
|
|
8
9
|
* Custom caret component
|
|
@@ -77,6 +78,10 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
77
78
|
* Meridian format for 12-hour time
|
|
78
79
|
*/
|
|
79
80
|
showMeridian?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* The props for the Month Dropdown component.
|
|
83
|
+
*/
|
|
84
|
+
monthDropdownProps?: MonthDropdownProps;
|
|
80
85
|
/**
|
|
81
86
|
* Whether a date on the calendar view should be disabled
|
|
82
87
|
*
|
|
@@ -15,23 +15,23 @@ var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"))
|
|
|
15
15
|
var _ClockO = _interopRequireDefault(require("@rsuite/icons/legacy/ClockO"));
|
|
16
16
|
var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer"));
|
|
17
17
|
var _useCalendarDate2 = _interopRequireDefault(require("../Calendar/useCalendarDate"));
|
|
18
|
-
var _MonthDropdown = require("../Calendar/MonthDropdown");
|
|
19
18
|
var _Toolbar = _interopRequireDefault(require("./Toolbar"));
|
|
20
19
|
var _Stack = _interopRequireDefault(require("../Stack"));
|
|
21
20
|
var _PredefinedRanges = _interopRequireDefault(require("./PredefinedRanges"));
|
|
21
|
+
var _DateInput = _interopRequireDefault(require("../DateInput"));
|
|
22
|
+
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
23
|
+
var _useMonthView2 = _interopRequireDefault(require("./hooks/useMonthView"));
|
|
24
|
+
var _useFocus2 = _interopRequireDefault(require("./hooks/useFocus"));
|
|
25
|
+
var _useCustomizedInput2 = _interopRequireDefault(require("./hooks/useCustomizedInput"));
|
|
26
|
+
var _MonthDropdown = require("../Calendar/MonthDropdown");
|
|
22
27
|
var _utils = require("../internals/utils");
|
|
23
28
|
var _hooks = require("../internals/hooks");
|
|
24
29
|
var _date = require("../internals/utils/date");
|
|
25
30
|
var _Picker = require("../internals/Picker");
|
|
26
31
|
var _OverlayTrigger = require("../internals/Overlay/OverlayTrigger");
|
|
27
|
-
var _DateInput = _interopRequireDefault(require("../DateInput"));
|
|
28
|
-
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
29
32
|
var _utils2 = require("./utils");
|
|
30
|
-
var _useMonthView2 = _interopRequireDefault(require("./hooks/useMonthView"));
|
|
31
|
-
var _useFocus2 = _interopRequireDefault(require("./hooks/useFocus"));
|
|
32
|
-
var _useCustomizedInput2 = _interopRequireDefault(require("./hooks/useCustomizedInput"));
|
|
33
33
|
var _templateObject, _templateObject2;
|
|
34
|
-
var _excluded = ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "
|
|
34
|
+
var _excluded = ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "caretAs", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "monthDropdownProps", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEnter", "onExit", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"];
|
|
35
35
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
36
36
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
37
37
|
/**
|
|
@@ -49,6 +49,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
49
49
|
calendarDefaultDate = props.calendarDefaultDate,
|
|
50
50
|
_props$cleanable = props.cleanable,
|
|
51
51
|
cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
|
|
52
|
+
caretAsProp = props.caretAs,
|
|
52
53
|
_props$editable = props.editable,
|
|
53
54
|
editable = _props$editable === void 0 ? true : _props$editable,
|
|
54
55
|
defaultValue = props.defaultValue,
|
|
@@ -82,7 +83,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
82
83
|
showWeekNumbers = props.showWeekNumbers,
|
|
83
84
|
style = props.style,
|
|
84
85
|
size = props.size,
|
|
85
|
-
|
|
86
|
+
monthDropdownProps = props.monthDropdownProps,
|
|
86
87
|
shouldDisableDate = props.shouldDisableDate,
|
|
87
88
|
shouldDisableHour = props.shouldDisableHour,
|
|
88
89
|
shouldDisableMinute = props.shouldDisableMinute,
|
|
@@ -420,6 +421,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
420
421
|
isoWeek: isoWeek,
|
|
421
422
|
weekStart: weekStart,
|
|
422
423
|
calendarDate: calendarDate,
|
|
424
|
+
monthDropdownProps: monthDropdownProps,
|
|
423
425
|
renderCellOnPicker: renderCell,
|
|
424
426
|
onMoveForward: handleMoveForward,
|
|
425
427
|
onMoveBackward: handleMoveBackward,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DATERANGE_DISABLED_TARGET } from '../internals/constants';
|
|
3
2
|
import { CalendarProps as CalendarCoreProps } from '../Calendar/CalendarContainer';
|
|
3
|
+
import { DATERANGE_DISABLED_TARGET } from '../internals/constants';
|
|
4
4
|
import { DateRange } from './types';
|
|
5
5
|
import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
|
|
6
6
|
import { DatePickerLocale } from '../locales';
|
|
@@ -16,13 +16,13 @@ export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, Omit
|
|
|
16
16
|
limitEndYear?: number;
|
|
17
17
|
limitStartYear?: number;
|
|
18
18
|
locale?: DatePickerLocale;
|
|
19
|
+
showWeekNumbers?: boolean;
|
|
20
|
+
value?: [] | [Date] | [Date, Date];
|
|
19
21
|
onChangeCalendarMonth?: (index: number, date: Date) => void;
|
|
20
22
|
onChangeCalendarTime?: (index: number, date: Date) => void;
|
|
21
23
|
onToggleMeridian: (index: number, event: React.MouseEvent) => void;
|
|
22
24
|
onSelect?: (index: number, date: Date, event: React.SyntheticEvent) => void;
|
|
23
25
|
onMouseMove?: (date: Date) => void;
|
|
24
|
-
showWeekNumbers?: boolean;
|
|
25
|
-
value?: [] | [Date] | [Date, Date];
|
|
26
26
|
}
|
|
27
27
|
declare const Calendar: RsRefForwardingComponent<'div', CalendarProps>;
|
|
28
28
|
export default Calendar;
|
|
@@ -7,10 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer"));
|
|
10
11
|
var _date = require("../internals/utils/date");
|
|
11
12
|
var _constants = require("../internals/constants");
|
|
12
13
|
var _hooks = require("../internals/hooks");
|
|
13
|
-
var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer"));
|
|
14
14
|
var _excluded = ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "limitStartYear", "onChangeCalendarMonth", "onChangeCalendarTime", "onToggleMeridian", "onSelect", "value"];
|
|
15
15
|
var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
16
16
|
var _props$as = props.as,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { FormControlBaseProps, PickerBaseProps } from '../internals/types';
|
|
3
|
-
import { DateRangePickerLocale } from '../locales';
|
|
4
2
|
import { PickerComponent } from '../internals/Picker';
|
|
5
|
-
import { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
3
|
+
import type { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
4
|
+
import type { FormControlBaseProps, PickerBaseProps } from '../internals/types';
|
|
5
|
+
import type { DateRangePickerLocale } from '../locales';
|
|
6
|
+
import type { MonthDropdownProps } from '../Calendar/CalendarContext';
|
|
6
7
|
export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLocale>, FormControlBaseProps<DateRange | null> {
|
|
7
8
|
/**
|
|
8
9
|
* Custom caret component
|
|
@@ -85,6 +86,17 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
85
86
|
* @default ' ~ '
|
|
86
87
|
*/
|
|
87
88
|
character?: string;
|
|
89
|
+
/**
|
|
90
|
+
* The props for the Month Dropdown component.
|
|
91
|
+
*/
|
|
92
|
+
monthDropdownProps?: MonthDropdownProps;
|
|
93
|
+
/**
|
|
94
|
+
* If the user selects a date on the right calendar first, it will automatically switch to the left calendar.
|
|
95
|
+
* Always keep the date on the left calendar as the start date.
|
|
96
|
+
* @default false
|
|
97
|
+
* @version 5.69.0
|
|
98
|
+
*/
|
|
99
|
+
calendarSnapping?: boolean;
|
|
88
100
|
/**
|
|
89
101
|
* Disabled date
|
|
90
102
|
* @deprecated Use {@link shouldDisableDate} instead
|
|
@@ -17,22 +17,22 @@ var _ClockO = _interopRequireDefault(require("@rsuite/icons/legacy/ClockO"));
|
|
|
17
17
|
var _Toolbar = _interopRequireDefault(require("../DatePicker/Toolbar"));
|
|
18
18
|
var _PredefinedRanges = _interopRequireDefault(require("../DatePicker/PredefinedRanges"));
|
|
19
19
|
var _Stack = _interopRequireDefault(require("../Stack"));
|
|
20
|
-
var _constants = require("../internals/constants");
|
|
21
|
-
var _Picker = require("../internals/Picker");
|
|
22
|
-
var _hooks = require("../internals/hooks");
|
|
23
|
-
var _utils = require("../internals/utils");
|
|
24
|
-
var _date = require("../internals/utils/date");
|
|
25
|
-
var _Calendar2 = _interopRequireDefault(require("./Calendar"));
|
|
26
|
-
var _utils2 = require("./utils");
|
|
27
|
-
var _propTypes2 = require("../internals/propTypes");
|
|
28
20
|
var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
|
|
29
21
|
var _DateRangeInput = _interopRequireDefault(require("../DateRangeInput"));
|
|
30
22
|
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
31
23
|
var _Header = _interopRequireDefault(require("./Header"));
|
|
32
24
|
var _useDateDisabled = _interopRequireDefault(require("./hooks/useDateDisabled"));
|
|
33
25
|
var _useCustomizedInput2 = _interopRequireDefault(require("../DatePicker/hooks/useCustomizedInput"));
|
|
26
|
+
var _Calendar2 = _interopRequireDefault(require("./Calendar"));
|
|
27
|
+
var _utils = require("./utils");
|
|
28
|
+
var _propTypes2 = require("../internals/propTypes");
|
|
29
|
+
var _constants = require("../internals/constants");
|
|
30
|
+
var _Picker = require("../internals/Picker");
|
|
31
|
+
var _hooks = require("../internals/hooks");
|
|
32
|
+
var _utils2 = require("../internals/utils");
|
|
33
|
+
var _date = require("../internals/utils/date");
|
|
34
34
|
var _templateObject, _templateObject2;
|
|
35
|
-
var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showHeader", "style", "size", "caretAs", "value", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
|
|
35
|
+
var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
|
|
36
36
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
37
37
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
38
38
|
/**
|
|
@@ -55,6 +55,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
55
55
|
cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
|
|
56
56
|
_props$character = props.character,
|
|
57
57
|
character = _props$character === void 0 ? ' ~ ' : _props$character,
|
|
58
|
+
calendarSnapping = props.calendarSnapping,
|
|
58
59
|
defaultCalendarValue = props.defaultCalendarValue,
|
|
59
60
|
defaultValue = props.defaultValue,
|
|
60
61
|
plaintext = props.plaintext,
|
|
@@ -94,6 +95,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
94
95
|
size = props.size,
|
|
95
96
|
caretAsProp = props.caretAs,
|
|
96
97
|
valueProp = props.value,
|
|
98
|
+
monthDropdownProps = props.monthDropdownProps,
|
|
97
99
|
onChange = props.onChange,
|
|
98
100
|
onClean = props.onClean,
|
|
99
101
|
onEnter = props.onEnter,
|
|
@@ -155,7 +157,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
155
157
|
setHoverDateRange = _useState3[1];
|
|
156
158
|
|
|
157
159
|
// The displayed calendar panel is rendered based on this value.
|
|
158
|
-
var _useState4 = (0, _react.useState)((0,
|
|
160
|
+
var _useState4 = (0, _react.useState)((0, _utils.getSafeCalendarDate)({
|
|
159
161
|
value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
160
162
|
})),
|
|
161
163
|
calendarDate = _useState4[0],
|
|
@@ -210,7 +212,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
210
212
|
// Make the calendar render the value of defaultCalendarValue after clearing the value.
|
|
211
213
|
nextValue = defaultCalendarValue;
|
|
212
214
|
}
|
|
213
|
-
var nextCalendarDate = (0,
|
|
215
|
+
var nextCalendarDate = (0, _utils.getSafeCalendarDate)({
|
|
214
216
|
value: nextValue,
|
|
215
217
|
calendarKey: calendarKey,
|
|
216
218
|
// When only the month is displayed and only one calendar is displayed,
|
|
@@ -235,7 +237,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
235
237
|
endDate = value[1];
|
|
236
238
|
strings = "" + formatDate(startDate, formatStr) + character + formatDate(endDate, formatStr);
|
|
237
239
|
}
|
|
238
|
-
return (0,
|
|
240
|
+
return (0, _utils2.getStringLength)(strings) + padding;
|
|
239
241
|
};
|
|
240
242
|
|
|
241
243
|
/**
|
|
@@ -245,14 +247,14 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
245
247
|
function getHoverRangeFunc() {
|
|
246
248
|
if (hoverRange === 'week') {
|
|
247
249
|
return function (date) {
|
|
248
|
-
return (0,
|
|
250
|
+
return (0, _utils.getWeekHoverRange)(date, {
|
|
249
251
|
isoWeek: isoWeek,
|
|
250
252
|
weekStart: weekStart,
|
|
251
253
|
locale: locale === null || locale === void 0 ? void 0 : locale.dateLocale
|
|
252
254
|
});
|
|
253
255
|
};
|
|
254
256
|
} else if (hoverRange === 'month') {
|
|
255
|
-
return
|
|
257
|
+
return _utils.getMonthHoverRange;
|
|
256
258
|
}
|
|
257
259
|
return hoverRange;
|
|
258
260
|
}
|
|
@@ -277,7 +279,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
277
279
|
// If nextValue is null, it means that the user is erasing the selected dates.
|
|
278
280
|
setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
|
|
279
281
|
setValue(nextValue);
|
|
280
|
-
if (!(0,
|
|
282
|
+
if (!(0, _utils.isSameRange)(nextValue, value, formatStr)) {
|
|
281
283
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
282
284
|
}
|
|
283
285
|
|
|
@@ -375,11 +377,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
375
377
|
setActiveCalendarKey('start');
|
|
376
378
|
}
|
|
377
379
|
setSelectedDates(nextSelectDates);
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
380
|
+
if (!(0, _date.isSameMonth)(calendarDate[index], date) || calendarSnapping) {
|
|
381
|
+
setCalendarDateRange({
|
|
382
|
+
dateRange: nextSelectDates,
|
|
383
|
+
calendarKey: calendarKey,
|
|
384
|
+
eventName: 'changeDate'
|
|
385
|
+
});
|
|
386
|
+
}
|
|
383
387
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
384
388
|
setSelectedIdle(!isSelectedIdle);
|
|
385
389
|
});
|
|
@@ -448,7 +452,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
448
452
|
nextCalendarDate = [startDate, (0, _date.isSameMonth)(startDate, endData) ? (0, _date.addMonths)(endData, calendarGap) : endData];
|
|
449
453
|
} else {
|
|
450
454
|
// Reset the date on the calendar to the default date
|
|
451
|
-
nextCalendarDate = (0,
|
|
455
|
+
nextCalendarDate = (0, _utils.getSafeCalendarDate)({
|
|
452
456
|
value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
|
|
453
457
|
});
|
|
454
458
|
}
|
|
@@ -625,6 +629,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
625
629
|
showWeekNumbers: showWeekNumbers,
|
|
626
630
|
format: formatStr,
|
|
627
631
|
value: selectedDates,
|
|
632
|
+
monthDropdownProps: monthDropdownProps,
|
|
628
633
|
hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
|
|
629
634
|
disabledDate: disableCalendarDate,
|
|
630
635
|
onSelect: handleSelectDate,
|
|
@@ -657,7 +662,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
657
662
|
"aria-labelledby": label ? id + "-label" : undefined,
|
|
658
663
|
tabIndex: -1,
|
|
659
664
|
className: classes,
|
|
660
|
-
ref: (0,
|
|
665
|
+
ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
|
|
661
666
|
target: trigger,
|
|
662
667
|
style: styles
|
|
663
668
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -744,7 +749,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
744
749
|
}
|
|
745
750
|
return false;
|
|
746
751
|
};
|
|
747
|
-
var _partitionHTMLProps = (0,
|
|
752
|
+
var _partitionHTMLProps = (0, _utils2.partitionHTMLProps)(restProps, {
|
|
748
753
|
htmlProps: [],
|
|
749
754
|
includeAria: true
|
|
750
755
|
}),
|
|
@@ -770,8 +775,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
770
775
|
ref: trigger,
|
|
771
776
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
772
777
|
placement: placement,
|
|
773
|
-
onEnter: (0,
|
|
774
|
-
onExit: (0,
|
|
778
|
+
onEnter: (0, _utils2.createChainedFunction)(events.onActive, handleEnter, onEnter),
|
|
779
|
+
onExit: (0, _utils2.createChainedFunction)(events.onInactive, onExit),
|
|
775
780
|
speaker: renderCalendarOverlay
|
|
776
781
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
777
782
|
ref: root,
|
|
@@ -9,6 +9,15 @@ export interface InputNumberProps<T = number | string | null> extends Omit<React
|
|
|
9
9
|
* An input can show that it is disabled
|
|
10
10
|
*/
|
|
11
11
|
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* Decimal separator
|
|
15
|
+
* https://en.wikipedia.org/wiki/Decimal_separator
|
|
16
|
+
*
|
|
17
|
+
* @default '.'
|
|
18
|
+
* @version 5.69.0
|
|
19
|
+
*/
|
|
20
|
+
decimalSeparator?: string;
|
|
12
21
|
/**
|
|
13
22
|
* Format the value of the input
|
|
14
23
|
*/
|
|
@@ -20,7 +20,7 @@ var _hooks = require("../internals/hooks");
|
|
|
20
20
|
var _constants = require("../internals/constants");
|
|
21
21
|
var _utils = require("../internals/utils");
|
|
22
22
|
var _propTypes2 = require("../internals/propTypes");
|
|
23
|
-
var _excluded = ["as", "className", "classPrefix", "disabled", "formatter", "readOnly", "plaintext", "value", "defaultValue", "size", "prefix", "postfix", "step", "buttonAppearance", "min", "max", "scrollable", "onChange", "onWheel", "onBlur", "onFocus"];
|
|
23
|
+
var _excluded = ["as", "className", "classPrefix", "disabled", "decimalSeparator", "formatter", "readOnly", "plaintext", "value", "defaultValue", "size", "prefix", "postfix", "step", "buttonAppearance", "min", "max", "scrollable", "onChange", "onWheel", "onBlur", "onFocus"];
|
|
24
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
26
|
/**
|
|
@@ -89,6 +89,7 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
89
89
|
_props$classPrefix = props.classPrefix,
|
|
90
90
|
classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,
|
|
91
91
|
disabled = props.disabled,
|
|
92
|
+
decimalSeparator = props.decimalSeparator,
|
|
92
93
|
formatter = props.formatter,
|
|
93
94
|
readOnly = props.readOnly,
|
|
94
95
|
plaintext = props.plaintext,
|
|
@@ -208,14 +209,30 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
208
209
|
onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);
|
|
209
210
|
});
|
|
210
211
|
var handleChange = (0, _hooks.useEventCallback)(function (value, event) {
|
|
211
|
-
|
|
212
|
+
var separator = decimalSeparator || '.';
|
|
213
|
+
var escapedSeparator = separator.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
214
|
+
var regex = new RegExp("^-?(?:\\d+)?(" + escapedSeparator + ")?\\d*$");
|
|
215
|
+
if (!regex.test(value) && value !== '') {
|
|
212
216
|
return;
|
|
213
217
|
}
|
|
214
218
|
handleChangeValue(value, event);
|
|
215
219
|
});
|
|
220
|
+
var replaceDecimalSeparator = (0, _react.useCallback)(function (value) {
|
|
221
|
+
if (decimalSeparator && value) {
|
|
222
|
+
return value.toString().replace('.', decimalSeparator);
|
|
223
|
+
}
|
|
224
|
+
return value;
|
|
225
|
+
}, [decimalSeparator]);
|
|
226
|
+
var restoreDecimalSeparator = (0, _react.useCallback)(function (value) {
|
|
227
|
+
if (decimalSeparator && value) {
|
|
228
|
+
return value.replace(decimalSeparator, '.');
|
|
229
|
+
}
|
|
230
|
+
return value;
|
|
231
|
+
}, [decimalSeparator]);
|
|
216
232
|
var handleBlur = (0, _hooks.useEventCallback)(function (event) {
|
|
217
233
|
var _event$target;
|
|
218
|
-
var
|
|
234
|
+
var value = restoreDecimalSeparator((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);
|
|
235
|
+
var targetValue = Number.parseFloat(value);
|
|
219
236
|
handleChangeValue(getSafeValue(targetValue), event);
|
|
220
237
|
setIsFocused(false);
|
|
221
238
|
});
|
|
@@ -231,22 +248,25 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
231
248
|
(_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();
|
|
232
249
|
};
|
|
233
250
|
}, [handleWheel, scrollable]);
|
|
234
|
-
var
|
|
251
|
+
var inputValue = (0, _react.useMemo)(function () {
|
|
235
252
|
if ((0, _isNil.default)(value)) {
|
|
236
253
|
return '';
|
|
237
254
|
}
|
|
238
255
|
if (isFocused) {
|
|
239
|
-
return value;
|
|
256
|
+
return replaceDecimalSeparator(value);
|
|
240
257
|
}
|
|
241
|
-
|
|
242
|
-
|
|
258
|
+
if (formatter) {
|
|
259
|
+
return formatter(value);
|
|
260
|
+
}
|
|
261
|
+
return replaceDecimalSeparator(value);
|
|
262
|
+
}, [formatter, isFocused, replaceDecimalSeparator, value]);
|
|
243
263
|
var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {
|
|
244
264
|
ref: plaintext ? ref : undefined,
|
|
245
265
|
inputRef: inputRef,
|
|
246
266
|
autoComplete: "off",
|
|
247
267
|
inputMode: "numeric",
|
|
248
268
|
step: step,
|
|
249
|
-
value:
|
|
269
|
+
value: inputValue,
|
|
250
270
|
disabled: disabled,
|
|
251
271
|
readOnly: readOnly,
|
|
252
272
|
plaintext: plaintext,
|