rsuite 5.48.0 → 5.49.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 +22 -0
- package/Cascader/styles/index.less +1 -0
- package/DatePicker/styles/index.less +18 -11
- package/DateRangeInput/package.json +7 -0
- package/DateRangePicker/styles/index.less +10 -0
- package/InputGroup/styles/index.less +1 -0
- package/Picker/styles/index.less +20 -0
- package/README.md +34 -24
- package/Sidenav/styles/index.less +2 -0
- package/cjs/Calendar/CalendarContainer.d.ts +2 -0
- package/cjs/Calendar/CalendarContainer.js +11 -4
- package/cjs/Calendar/CalendarHeader.js +2 -0
- package/cjs/Calendar/MonthDropdown.js +7 -2
- package/cjs/Calendar/MonthDropdownItem.js +2 -2
- package/cjs/Calendar/Table.js +6 -1
- package/cjs/Calendar/TimeDropdown.js +17 -10
- package/cjs/Calendar/types.d.ts +1 -0
- package/cjs/CustomProvider/CustomProvider.d.ts +13 -0
- package/cjs/CustomProvider/CustomProvider.js +2 -2
- package/cjs/DateInput/DateField.d.ts +9 -31
- package/cjs/DateInput/DateField.js +61 -12
- package/cjs/DateInput/DateInput.d.ts +7 -2
- package/cjs/DateInput/DateInput.js +74 -92
- package/cjs/DateInput/index.d.ts +4 -0
- package/cjs/DateInput/index.js +19 -1
- package/cjs/DateInput/useDateInputState.d.ts +7 -31
- package/cjs/DateInput/useDateInputState.js +39 -15
- package/cjs/DateInput/useIsFocused.d.ts +7 -0
- package/cjs/DateInput/useIsFocused.js +28 -0
- package/cjs/DateInput/useKeyboardInputEvent.d.ts +10 -0
- package/cjs/DateInput/useKeyboardInputEvent.js +44 -0
- package/cjs/DateInput/utils.d.ts +23 -1
- package/cjs/DateInput/utils.js +155 -51
- package/cjs/DatePicker/DatePicker.d.ts +20 -7
- package/cjs/DatePicker/DatePicker.js +215 -245
- package/cjs/DatePicker/PickerIndicator.d.ts +10 -0
- package/cjs/DatePicker/PickerIndicator.js +48 -0
- package/cjs/DatePicker/PickerLabel.d.ts +9 -0
- package/cjs/DatePicker/PickerLabel.js +23 -0
- package/cjs/DatePicker/Toolbar.js +3 -21
- package/cjs/DatePicker/utils.d.ts +5 -1
- package/cjs/DatePicker/utils.js +17 -1
- package/cjs/DateRangeInput/DateRangeInput.d.ts +29 -0
- package/cjs/DateRangeInput/DateRangeInput.js +244 -0
- package/cjs/DateRangeInput/index.d.ts +3 -0
- package/cjs/DateRangeInput/index.js +9 -0
- package/cjs/DateRangeInput/utils.d.ts +61 -0
- package/cjs/DateRangeInput/utils.js +146 -0
- package/cjs/DateRangePicker/DateRangePicker.js +12 -2
- package/cjs/FormControl/FormControl.js +2 -1
- package/cjs/Input/Input.d.ts +11 -0
- package/cjs/Input/Input.js +11 -8
- package/cjs/MultiCascader/MultiCascader.js +3 -1
- package/cjs/Overlay/OverlayTrigger.d.ts +3 -0
- package/cjs/Overlay/OverlayTrigger.js +5 -0
- package/cjs/Picker/PickerToggle.js +2 -1
- package/cjs/Picker/usePickerRef.d.ts +17 -0
- package/cjs/Picker/usePickerRef.js +82 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +3 -1
- package/cjs/locales/index.d.ts +2 -2
- package/cjs/useMediaQuery/useMediaQuery.js +2 -2
- package/cjs/utils/index.d.ts +2 -0
- package/cjs/utils/index.js +8 -2
- package/cjs/utils/useCustom.js +1 -1
- package/cjs/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/cjs/utils/useIsomorphicLayoutEffect.js +9 -0
- package/dist/rsuite-no-reset-rtl.css +51 -141
- 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 +51 -141
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +51 -9
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +51 -9
- package/dist/rsuite.js +4804 -250
- 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/CalendarContainer.d.ts +2 -0
- package/esm/Calendar/CalendarContainer.js +12 -5
- package/esm/Calendar/CalendarHeader.js +2 -0
- package/esm/Calendar/MonthDropdown.js +7 -2
- package/esm/Calendar/MonthDropdownItem.js +2 -2
- package/esm/Calendar/Table.js +6 -1
- package/esm/Calendar/TimeDropdown.js +17 -10
- package/esm/Calendar/types.d.ts +1 -0
- package/esm/CustomProvider/CustomProvider.d.ts +13 -0
- package/esm/CustomProvider/CustomProvider.js +3 -3
- package/esm/DateInput/DateField.d.ts +9 -31
- package/esm/DateInput/DateField.js +61 -12
- package/esm/DateInput/DateInput.d.ts +7 -2
- package/esm/DateInput/DateInput.js +77 -95
- package/esm/DateInput/index.d.ts +4 -0
- package/esm/DateInput/index.js +4 -0
- package/esm/DateInput/useDateInputState.d.ts +7 -31
- package/esm/DateInput/useDateInputState.js +41 -18
- package/esm/DateInput/useIsFocused.d.ts +7 -0
- package/esm/DateInput/useIsFocused.js +22 -0
- package/esm/DateInput/useKeyboardInputEvent.d.ts +10 -0
- package/esm/DateInput/useKeyboardInputEvent.js +38 -0
- package/esm/DateInput/utils.d.ts +23 -1
- package/esm/DateInput/utils.js +150 -51
- package/esm/DatePicker/DatePicker.d.ts +20 -7
- package/esm/DatePicker/DatePicker.js +218 -248
- package/esm/DatePicker/PickerIndicator.d.ts +10 -0
- package/esm/DatePicker/PickerIndicator.js +42 -0
- package/esm/DatePicker/PickerLabel.d.ts +9 -0
- package/esm/DatePicker/PickerLabel.js +17 -0
- package/esm/DatePicker/Toolbar.js +3 -21
- package/esm/DatePicker/utils.d.ts +5 -1
- package/esm/DatePicker/utils.js +16 -1
- package/esm/DateRangeInput/DateRangeInput.d.ts +29 -0
- package/esm/DateRangeInput/DateRangeInput.js +237 -0
- package/esm/DateRangeInput/index.d.ts +3 -0
- package/esm/DateRangeInput/index.js +3 -0
- package/esm/DateRangeInput/utils.d.ts +61 -0
- package/esm/DateRangeInput/utils.js +137 -0
- package/esm/DateRangePicker/DateRangePicker.js +12 -2
- package/esm/FormControl/FormControl.js +2 -1
- package/esm/Input/Input.d.ts +11 -0
- package/esm/Input/Input.js +12 -9
- package/esm/MultiCascader/MultiCascader.js +4 -2
- package/esm/Overlay/OverlayTrigger.d.ts +3 -0
- package/esm/Overlay/OverlayTrigger.js +5 -0
- package/esm/Picker/PickerToggle.js +2 -1
- package/esm/Picker/usePickerRef.d.ts +17 -0
- package/esm/Picker/usePickerRef.js +77 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/index.d.ts +2 -2
- package/esm/useMediaQuery/useMediaQuery.js +2 -2
- package/esm/utils/index.d.ts +2 -0
- package/esm/utils/index.js +3 -1
- package/esm/utils/useCustom.js +2 -2
- package/esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/esm/utils/useIsomorphicLayoutEffect.js +4 -0
- package/package.json +1 -1
- package/styles/color-modes/dark.less +1 -0
- package/styles/color-modes/high-contrast.less +1 -0
- package/styles/color-modes/light.less +1 -0
- package/styles/normalize.less +230 -231
|
@@ -575,6 +575,14 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
575
575
|
var panelClasses = prefix('daterange-panel', {
|
|
576
576
|
'daterange-panel-show-one-calendar': showOneCalendar
|
|
577
577
|
});
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Set a min-width (528px) when there are two calendars
|
|
581
|
+
* @see https://github.com/rsuite/rsuite/issues/3522
|
|
582
|
+
*/
|
|
583
|
+
var panelStyles = {
|
|
584
|
+
minWidth: showOneCalendar ? 'auto' : 528
|
|
585
|
+
};
|
|
578
586
|
var styles = _extends({}, menuStyle, {
|
|
579
587
|
left: left,
|
|
580
588
|
top: top
|
|
@@ -611,7 +619,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
611
619
|
target: triggerRef,
|
|
612
620
|
style: styles
|
|
613
621
|
}, /*#__PURE__*/React.createElement("div", {
|
|
614
|
-
className: panelClasses
|
|
622
|
+
className: panelClasses,
|
|
623
|
+
style: panelStyles
|
|
615
624
|
}, /*#__PURE__*/React.createElement(Stack, {
|
|
616
625
|
alignItems: "flex-start"
|
|
617
626
|
}, sideRanges.length > 0 && /*#__PURE__*/React.createElement(PredefinedRanges, {
|
|
@@ -626,7 +635,8 @@ var DateRangePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
626
635
|
}), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
627
636
|
className: prefix('daterange-content')
|
|
628
637
|
}, /*#__PURE__*/React.createElement("div", {
|
|
629
|
-
className: prefix('daterange-header')
|
|
638
|
+
className: prefix('daterange-header'),
|
|
639
|
+
"data-testid": "daterange-header"
|
|
630
640
|
}, getDisplayString(selectedDates)), /*#__PURE__*/React.createElement("div", {
|
|
631
641
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
632
642
|
}, /*#__PURE__*/React.createElement(DateRangePickerContext.Provider, {
|
|
@@ -137,7 +137,8 @@ var FormControl = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
137
137
|
var accepterProps = (_accepterProps = {}, _accepterProps[valueKey] = val === undefined ? defaultValue : val, _accepterProps);
|
|
138
138
|
return /*#__PURE__*/React.createElement(Component, {
|
|
139
139
|
className: classes,
|
|
140
|
-
ref: ref
|
|
140
|
+
ref: ref,
|
|
141
|
+
"data-testid": "form-control-wrapper"
|
|
141
142
|
}, /*#__PURE__*/React.createElement(AccepterComponent, _extends({
|
|
142
143
|
id: controlId,
|
|
143
144
|
"aria-labelledby": controlId ? controlId + "-control-label" : null,
|
package/esm/Input/Input.d.ts
CHANGED
|
@@ -13,12 +13,23 @@ export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<
|
|
|
13
13
|
size?: TypeAttributes.Size;
|
|
14
14
|
/** Ref of input element */
|
|
15
15
|
inputRef?: React.Ref<any>;
|
|
16
|
+
/**
|
|
17
|
+
* The htmlSize attribute defines the width of the <input> element.
|
|
18
|
+
*
|
|
19
|
+
* @see MDN https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size
|
|
20
|
+
* @version 5.49.0
|
|
21
|
+
*/
|
|
22
|
+
htmlSize?: number;
|
|
23
|
+
/**
|
|
24
|
+
* The callback function in which value is changed.
|
|
25
|
+
*/
|
|
16
26
|
onChange?: PrependParameters<React.ChangeEventHandler<HTMLInputElement>, [value: string]>;
|
|
17
27
|
/** Called on press enter */
|
|
18
28
|
onPressEnter?: React.KeyboardEventHandler<HTMLInputElement>;
|
|
19
29
|
}
|
|
20
30
|
/**
|
|
21
31
|
* The `<Input>` component is used to get user input in a text field.
|
|
32
|
+
*
|
|
22
33
|
* @see https://rsuitejs.com/components/input
|
|
23
34
|
*/
|
|
24
35
|
declare const Input: RsRefForwardingComponent<'input', InputProps>;
|
package/esm/Input/Input.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
import React, {
|
|
4
|
+
import React, { useContext } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { FormGroupContext } from '../FormGroup/FormGroup';
|
|
7
7
|
import { InputGroupContext } from '../InputGroup/InputGroup';
|
|
@@ -9,6 +9,7 @@ import Plaintext from '../Plaintext';
|
|
|
9
9
|
import { createChainedFunction, TypeChecker, mergeRefs, useClassNames, KEY_VALUES } from '../utils';
|
|
10
10
|
/**
|
|
11
11
|
* The `<Input>` component is used to get user input in a text field.
|
|
12
|
+
*
|
|
12
13
|
* @see https://rsuitejs.com/components/input
|
|
13
14
|
*/
|
|
14
15
|
var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
@@ -25,6 +26,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
25
26
|
inputRef = props.inputRef,
|
|
26
27
|
id = props.id,
|
|
27
28
|
size = props.size,
|
|
29
|
+
htmlSize = props.htmlSize,
|
|
28
30
|
plaintext = props.plaintext,
|
|
29
31
|
readOnly = props.readOnly,
|
|
30
32
|
onPressEnter = props.onPressEnter,
|
|
@@ -32,17 +34,17 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
32
34
|
onBlur = props.onBlur,
|
|
33
35
|
onKeyDown = props.onKeyDown,
|
|
34
36
|
onChange = props.onChange,
|
|
35
|
-
rest = _objectWithoutPropertiesLoose(props, ["className", "classPrefix", "as", "type", "disabled", "value", "defaultValue", "inputRef", "id", "size", "plaintext", "readOnly", "onPressEnter", "onFocus", "onBlur", "onKeyDown", "onChange"]);
|
|
36
|
-
var handleKeyDown =
|
|
37
|
+
rest = _objectWithoutPropertiesLoose(props, ["className", "classPrefix", "as", "type", "disabled", "value", "defaultValue", "inputRef", "id", "size", "htmlSize", "plaintext", "readOnly", "onPressEnter", "onFocus", "onBlur", "onKeyDown", "onChange"]);
|
|
38
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
37
39
|
if (event.key === KEY_VALUES.ENTER) {
|
|
38
40
|
onPressEnter === null || onPressEnter === void 0 ? void 0 : onPressEnter(event);
|
|
39
41
|
}
|
|
40
42
|
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
41
|
-
}
|
|
42
|
-
var handleChange =
|
|
43
|
+
};
|
|
44
|
+
var handleChange = function handleChange(event) {
|
|
43
45
|
var _event$target;
|
|
44
46
|
onChange === null || onChange === void 0 ? void 0 : onChange((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value, event);
|
|
45
|
-
}
|
|
47
|
+
};
|
|
46
48
|
var _useClassNames = useClassNames(classPrefix),
|
|
47
49
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
48
50
|
merge = _useClassNames.merge;
|
|
@@ -60,9 +62,9 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
60
62
|
localeKey: "unfilled"
|
|
61
63
|
}, typeof value === 'undefined' ? defaultValue : value);
|
|
62
64
|
}
|
|
63
|
-
var
|
|
65
|
+
var inputable = !disabled && !readOnly;
|
|
64
66
|
var eventProps = {};
|
|
65
|
-
if (
|
|
67
|
+
if (inputable) {
|
|
66
68
|
eventProps.onChange = handleChange;
|
|
67
69
|
eventProps.onKeyDown = handleKeyDown;
|
|
68
70
|
eventProps.onFocus = createChainedFunction(onFocus, inputGroupContext === null || inputGroupContext === void 0 ? void 0 : inputGroupContext.onFocus);
|
|
@@ -76,7 +78,8 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
76
78
|
value: value,
|
|
77
79
|
defaultValue: defaultValue,
|
|
78
80
|
disabled: disabled,
|
|
79
|
-
readOnly: readOnly
|
|
81
|
+
readOnly: readOnly,
|
|
82
|
+
size: htmlSize
|
|
80
83
|
}));
|
|
81
84
|
});
|
|
82
85
|
Input.displayName = 'Input';
|
|
@@ -12,7 +12,7 @@ import Checkbox from '../Checkbox';
|
|
|
12
12
|
import { useCascadeValue, useColumnData, useFlattenData, isSomeChildChecked } from './utils';
|
|
13
13
|
import { getNodeParents, findNodeOfTree } from '../utils/treeUtils';
|
|
14
14
|
import { getColumnsAndPaths } from '../Cascader/utils';
|
|
15
|
-
import { createChainedFunction, mergeRefs, getSafeRegExpString, useClassNames, useCustom, useUpdateEffect } from '../utils';
|
|
15
|
+
import { createChainedFunction, mergeRefs, getSafeRegExpString, useClassNames, useCustom, useUpdateEffect, useControlled } from '../utils';
|
|
16
16
|
import { PickerToggle, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, usePickerClassName, usePublicMethods, useToggleKeyDownEvent, useFocusItemValue, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
|
|
17
17
|
var emptyArray = [];
|
|
18
18
|
|
|
@@ -90,10 +90,12 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
90
90
|
var _useFlattenData = useFlattenData(data, itemKeys),
|
|
91
91
|
flattenData = _useFlattenData.flattenData,
|
|
92
92
|
addFlattenData = _useFlattenData.addFlattenData;
|
|
93
|
+
var _useControlled = useControlled(valueProp, defaultValue),
|
|
94
|
+
controlledValue = _useControlled[0];
|
|
93
95
|
var _useCascadeValue = useCascadeValue(_extends({}, itemKeys, {
|
|
94
96
|
uncheckableItemValues: uncheckableItemValues,
|
|
95
97
|
cascade: cascade,
|
|
96
|
-
value:
|
|
98
|
+
value: controlledValue
|
|
97
99
|
}), flattenData),
|
|
98
100
|
value = _useCascadeValue.value,
|
|
99
101
|
setValue = _useCascadeValue.setValue,
|
|
@@ -77,6 +77,9 @@ export interface OverlayTriggerHandle {
|
|
|
77
77
|
updatePosition: () => void;
|
|
78
78
|
open: (delay?: number) => void;
|
|
79
79
|
close: (delay?: number) => void;
|
|
80
|
+
getState: () => {
|
|
81
|
+
open?: boolean;
|
|
82
|
+
};
|
|
80
83
|
}
|
|
81
84
|
/**
|
|
82
85
|
* OverlayTrigger is used to display floating elements on another component.
|
|
@@ -165,6 +165,11 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
165
165
|
var _overlayRef$current;
|
|
166
166
|
return (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.child;
|
|
167
167
|
},
|
|
168
|
+
getState: function getState() {
|
|
169
|
+
return {
|
|
170
|
+
open: open
|
|
171
|
+
};
|
|
172
|
+
},
|
|
168
173
|
open: handleOpen,
|
|
169
174
|
close: function close(delay) {
|
|
170
175
|
return handleClose(delay, function () {
|
|
@@ -212,7 +212,8 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
212
212
|
'read-only': !inputFocused
|
|
213
213
|
}),
|
|
214
214
|
placeholder: inputPlaceholder,
|
|
215
|
-
render: renderInput
|
|
215
|
+
render: renderInput,
|
|
216
|
+
"data-testid": "picker-toggle-input"
|
|
216
217
|
}), children ? /*#__PURE__*/React.createElement("span", {
|
|
217
218
|
className: prefix(hasValue ? 'value' : 'placeholder'),
|
|
218
219
|
"aria-placeholder": typeof children === 'string' ? children : undefined
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { OverlayTriggerHandle } from './PickerToggleTrigger';
|
|
3
|
+
import type { ListHandle } from '../Windowing';
|
|
4
|
+
export interface PickerDependentParameters {
|
|
5
|
+
inline?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A hook of the exposed method of Picker
|
|
9
|
+
*/
|
|
10
|
+
declare function usePickerRef(ref: any, parmas?: PickerDependentParameters): {
|
|
11
|
+
trigger: import("react").RefObject<OverlayTriggerHandle>;
|
|
12
|
+
root: import("react").RefObject<HTMLElement>;
|
|
13
|
+
overlay: import("react").RefObject<HTMLElement>;
|
|
14
|
+
target: import("react").RefObject<HTMLElement>;
|
|
15
|
+
list: import("react").RefObject<ListHandle>;
|
|
16
|
+
};
|
|
17
|
+
export default usePickerRef;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback, useImperativeHandle, useRef } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* A hook of the exposed method of Picker
|
|
5
|
+
*/
|
|
6
|
+
function usePickerRef(ref, parmas) {
|
|
7
|
+
var trigger = useRef(null);
|
|
8
|
+
var root = useRef(null);
|
|
9
|
+
var target = useRef(null);
|
|
10
|
+
var overlay = useRef(null);
|
|
11
|
+
var list = useRef(null);
|
|
12
|
+
var _ref = parmas || {},
|
|
13
|
+
inline = _ref.inline;
|
|
14
|
+
var handleOpen = useCallback(function () {
|
|
15
|
+
var _trigger$current;
|
|
16
|
+
trigger === null || trigger === void 0 ? void 0 : (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.open();
|
|
17
|
+
}, [trigger]);
|
|
18
|
+
var handleClose = useCallback(function () {
|
|
19
|
+
var _trigger$current2;
|
|
20
|
+
trigger === null || trigger === void 0 ? void 0 : (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
|
|
21
|
+
}, [trigger]);
|
|
22
|
+
var handleUpdatePosition = useCallback(function () {
|
|
23
|
+
var _trigger$current3;
|
|
24
|
+
trigger === null || trigger === void 0 ? void 0 : (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : _trigger$current3.updatePosition();
|
|
25
|
+
}, [trigger]);
|
|
26
|
+
useImperativeHandle(ref, function () {
|
|
27
|
+
// Tree and CheckTree
|
|
28
|
+
if (inline) {
|
|
29
|
+
return {
|
|
30
|
+
get root() {
|
|
31
|
+
var _trigger$current$root, _trigger$current4;
|
|
32
|
+
return root !== null && root !== void 0 && root.current ? root === null || root === void 0 ? void 0 : root.current : (_trigger$current$root = trigger === null || trigger === void 0 ? void 0 : (_trigger$current4 = trigger.current) === null || _trigger$current4 === void 0 ? void 0 : _trigger$current4.root) !== null && _trigger$current$root !== void 0 ? _trigger$current$root : null;
|
|
33
|
+
},
|
|
34
|
+
get list() {
|
|
35
|
+
if (!(list !== null && list !== void 0 && list.current)) {
|
|
36
|
+
throw new Error('The list is not found, please set `virtualized` for the component.');
|
|
37
|
+
}
|
|
38
|
+
return list === null || list === void 0 ? void 0 : list.current;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
get root() {
|
|
44
|
+
var _ref2, _trigger$current5;
|
|
45
|
+
return (_ref2 = (root === null || root === void 0 ? void 0 : root.current) || (trigger === null || trigger === void 0 ? void 0 : (_trigger$current5 = trigger.current) === null || _trigger$current5 === void 0 ? void 0 : _trigger$current5.root)) !== null && _ref2 !== void 0 ? _ref2 : null;
|
|
46
|
+
},
|
|
47
|
+
get overlay() {
|
|
48
|
+
var _overlay$current;
|
|
49
|
+
if (!(overlay !== null && overlay !== void 0 && overlay.current)) {
|
|
50
|
+
throw new Error('The overlay is not found. Please confirm whether the picker is open.');
|
|
51
|
+
}
|
|
52
|
+
return (_overlay$current = overlay === null || overlay === void 0 ? void 0 : overlay.current) !== null && _overlay$current !== void 0 ? _overlay$current : null;
|
|
53
|
+
},
|
|
54
|
+
get target() {
|
|
55
|
+
var _target$current;
|
|
56
|
+
return (_target$current = target === null || target === void 0 ? void 0 : target.current) !== null && _target$current !== void 0 ? _target$current : null;
|
|
57
|
+
},
|
|
58
|
+
get list() {
|
|
59
|
+
if (!(list !== null && list !== void 0 && list.current)) {
|
|
60
|
+
throw new Error("\n The list is not found.\n 1.Please set virtualized for the component.\n 2.Please confirm whether the picker is open.\n ");
|
|
61
|
+
}
|
|
62
|
+
return list === null || list === void 0 ? void 0 : list.current;
|
|
63
|
+
},
|
|
64
|
+
updatePosition: handleUpdatePosition,
|
|
65
|
+
open: handleOpen,
|
|
66
|
+
close: handleClose
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
trigger: trigger,
|
|
71
|
+
root: root,
|
|
72
|
+
overlay: overlay,
|
|
73
|
+
target: target,
|
|
74
|
+
list: list
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export default usePickerRef;
|
package/esm/index.d.ts
CHANGED
|
@@ -94,6 +94,8 @@ export { default as DateInput } from './DateInput';
|
|
|
94
94
|
export type { DateInputProps } from './DateInput';
|
|
95
95
|
export { default as DatePicker } from './DatePicker';
|
|
96
96
|
export type { DatePickerProps } from './DatePicker';
|
|
97
|
+
export { default as DateRangeInput } from './DateRangeInput';
|
|
98
|
+
export type { DateRangeInputProps } from './DateRangeInput';
|
|
97
99
|
export { default as DateRangePicker } from './DateRangePicker';
|
|
98
100
|
export type { DateRangePickerProps } from './DateRangePicker';
|
|
99
101
|
export { default as AutoComplete } from './AutoComplete';
|
package/esm/index.js
CHANGED
|
@@ -50,6 +50,7 @@ export { default as Cascader } from './Cascader';
|
|
|
50
50
|
export { default as MultiCascader } from './MultiCascader';
|
|
51
51
|
export { default as DateInput } from './DateInput';
|
|
52
52
|
export { default as DatePicker } from './DatePicker';
|
|
53
|
+
export { default as DateRangeInput } from './DateRangeInput';
|
|
53
54
|
export { default as DateRangePicker } from './DateRangePicker';
|
|
54
55
|
export { default as AutoComplete } from './AutoComplete';
|
|
55
56
|
export { default as Uploader } from './Uploader';
|
package/esm/locales/index.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ export declare type CalendarLocale = PickKeys<typeof defaultLocale.Calendar>;
|
|
|
31
31
|
export declare type PlaintextLocale = PickKeys<typeof defaultLocale.Plaintext>;
|
|
32
32
|
export declare type PaginationLocale = PickKeys<typeof defaultLocale.Pagination>;
|
|
33
33
|
export declare type TableLocale = CommonLocale;
|
|
34
|
-
export declare type DatePickerLocale = PickKeys<typeof defaultLocale.DatePicker
|
|
35
|
-
export declare type DateRangePickerLocale = PickKeys<typeof defaultLocale.DateRangePicker
|
|
34
|
+
export declare type DatePickerLocale = PickKeys<typeof defaultLocale.DatePicker> & CommonLocale;
|
|
35
|
+
export declare type DateRangePickerLocale = PickKeys<typeof defaultLocale.DateRangePicker> & CommonLocale;
|
|
36
36
|
export declare type PickerLocale = typeof defaultLocale.Picker & CommonLocale;
|
|
37
37
|
export declare type InputPickerLocale = PickerLocale & typeof defaultLocale.InputPicker;
|
|
38
38
|
export declare type UploaderLocale = PickKeys<typeof defaultLocale.Uploader> & CommonLocale;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import React, { useEffect, useState, useCallback, useRef } from 'react';
|
|
4
4
|
import canUseDOM from 'dom-lib/canUseDOM';
|
|
5
|
+
import pick from 'lodash/pick';
|
|
5
6
|
export var mediaQuerySizeMap = {
|
|
6
7
|
xs: '(max-width: 575px)',
|
|
7
8
|
sm: '(min-width: 576px)',
|
|
@@ -33,7 +34,7 @@ export function useMediaQueryLegacy(query) {
|
|
|
33
34
|
});
|
|
34
35
|
var _useState = useState(function () {
|
|
35
36
|
return mediaQueries.map(function (query) {
|
|
36
|
-
return matchMedia(query);
|
|
37
|
+
return pick(matchMedia(query), ['matches', 'media']);
|
|
37
38
|
});
|
|
38
39
|
}),
|
|
39
40
|
mediaQueryArray = _useState[0],
|
|
@@ -59,7 +60,6 @@ export function useMediaQueryLegacy(query) {
|
|
|
59
60
|
query.removeEventListener('change', handleChange);
|
|
60
61
|
});
|
|
61
62
|
};
|
|
62
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
63
|
}, [mediaQueries]);
|
|
64
64
|
return mediaQueryArray.map(function (query) {
|
|
65
65
|
return query.matches;
|
package/esm/utils/index.d.ts
CHANGED
|
@@ -42,3 +42,5 @@ export { default as useWillUnmount } from './useWillUnmount';
|
|
|
42
42
|
export { default as useUpdateEffect } from './useUpdateEffect';
|
|
43
43
|
export { default as useIsMounted } from './useIsMounted';
|
|
44
44
|
export { default as useMount } from './useMount';
|
|
45
|
+
export { default as useUniqueId } from './useUniqueId';
|
|
46
|
+
export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
package/esm/utils/index.js
CHANGED
|
@@ -45,4 +45,6 @@ export { default as useUpdatedRef } from './useUpdatedRef';
|
|
|
45
45
|
export { default as useWillUnmount } from './useWillUnmount';
|
|
46
46
|
export { default as useUpdateEffect } from './useUpdateEffect';
|
|
47
47
|
export { default as useIsMounted } from './useIsMounted';
|
|
48
|
-
export { default as useMount } from './useMount';
|
|
48
|
+
export { default as useMount } from './useMount';
|
|
49
|
+
export { default as useUniqueId } from './useUniqueId';
|
|
50
|
+
export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
package/esm/utils/useCustom.js
CHANGED
|
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import { useContext, useCallback } from 'react';
|
|
4
4
|
import defaultLocale from '../locales/default';
|
|
5
5
|
import { CustomContext } from '../CustomProvider/CustomProvider';
|
|
6
|
-
import { format, parse } from '../utils/dateUtils';
|
|
6
|
+
import { format, parse, isValid } from '../utils/dateUtils';
|
|
7
7
|
var mergeObject = function mergeObject(list) {
|
|
8
8
|
return list.reduce(function (a, b) {
|
|
9
9
|
a = _extends({}, a, b);
|
|
@@ -39,7 +39,7 @@ function useCustom(keys, overrideLocale) {
|
|
|
39
39
|
}
|
|
40
40
|
var defaultFormatDate = useCallback(function (date, formatStr) {
|
|
41
41
|
var _locale$Calendar;
|
|
42
|
-
return format(date, formatStr, {
|
|
42
|
+
return format(isValid(date) ? date : new Date(), formatStr, {
|
|
43
43
|
locale: locale === null || locale === void 0 ? void 0 : (_locale$Calendar = locale.Calendar) === null || _locale$Calendar === void 0 ? void 0 : _locale$Calendar.dateLocale
|
|
44
44
|
});
|
|
45
45
|
}, [(_locale$Calendar2 = locale.Calendar) === null || _locale$Calendar2 === void 0 ? void 0 : _locale$Calendar2.dateLocale]);
|
package/package.json
CHANGED
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
--rs-color-focus-ring: 0 0 0 3px rgb(from var(--rs-gray-500) r g b / 25%);
|
|
80
80
|
--rs-state-focus-shadow: 0 0 0 3px rgb(from var(--rs-gray-500) r g b / 25%);
|
|
81
81
|
--rs-state-focus-outline: 3px solid rgb(from var(--rs-gray-500) r g b / 25%);
|
|
82
|
+
--rs-state-error-outline: 3px solid rgb(from var(--rs-color-red) r g b / 25%);
|
|
82
83
|
--rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
|
|
83
84
|
|
|
84
85
|
// Button
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
--rs-state-focus-shadow: 0 0 0 3px var(--rs-gray-900), 0 0 0 5px var(--rs-gray-0);
|
|
81
81
|
--rs-state-focus-shadow-slim: 0 0 0 2px var(--rs-gray-0);
|
|
82
82
|
--rs-state-focus-outline: 3px solid rgb(from var(--rs-primary-500) r g b / 25%);
|
|
83
|
+
--rs-state-error-outline: 3px solid rgb(from var(--rs-color-red) r g b / 25%);
|
|
83
84
|
--rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
|
|
84
85
|
|
|
85
86
|
// Button
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
--rs-color-focus-ring: rgb(from var(--rs-primary-500) r g b / 25%);
|
|
87
87
|
--rs-state-focus-shadow: 0 0 0 3px rgb(from var(--rs-primary-500) r g b / 25%);
|
|
88
88
|
--rs-state-focus-outline: 3px solid rgb(from var(--rs-primary-500) r g b / 25%);
|
|
89
|
+
--rs-state-error-outline: 3px solid rgb(from var(--rs-color-red) r g b / 25%);
|
|
89
90
|
--rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
|
|
90
91
|
|
|
91
92
|
// Button
|