rsuite 5.48.1 → 5.50.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 +27 -0
- package/Cascader/styles/index.less +5 -4
- package/DatePicker/styles/index.less +18 -11
- package/DateRangeInput/package.json +7 -0
- package/DateRangePicker/styles/index.less +20 -0
- package/Dropdown/styles/index.less +5 -4
- package/Dropdown/styles/mixin.less +0 -11
- package/InputGroup/styles/index.less +1 -0
- package/Picker/styles/index.less +51 -24
- package/Picker/styles/mixin.less +17 -13
- package/README.md +34 -24
- package/Sidenav/styles/index.less +2 -0
- package/TagInput/styles/index.less +1 -1
- package/cjs/AutoComplete/AutoComplete.js +25 -26
- package/cjs/Calendar/Calendar.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.d.ts +7 -1
- 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/Cascader/Cascader.js +46 -48
- package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.js +33 -36
- package/cjs/CheckTreePicker/CheckTreePicker.js +61 -64
- 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 +25 -8
- package/cjs/DatePicker/DatePicker.js +208 -241
- package/cjs/DatePicker/Toolbar.js +5 -22
- 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/Calendar.js +24 -23
- package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/cjs/DateRangePicker/DateRangePicker.js +251 -203
- package/cjs/DateRangePicker/types.d.ts +11 -3
- package/cjs/DateRangePicker/utils.d.ts +2 -1
- package/cjs/DateRangePicker/utils.js +7 -5
- package/cjs/FormControl/FormControl.d.ts +11 -1
- package/cjs/FormControl/FormControl.js +6 -5
- package/cjs/Input/Input.d.ts +11 -0
- package/cjs/Input/Input.js +11 -8
- package/cjs/InputPicker/InputPicker.js +62 -63
- package/cjs/MultiCascader/MultiCascader.js +40 -42
- package/cjs/Overlay/OverlayTrigger.d.ts +3 -0
- package/cjs/Overlay/OverlayTrigger.js +5 -0
- package/cjs/Picker/PickerIndicator.d.ts +10 -0
- package/cjs/Picker/PickerIndicator.js +49 -0
- package/cjs/Picker/PickerLabel.d.ts +9 -0
- package/cjs/Picker/PickerLabel.js +23 -0
- package/cjs/Picker/PickerToggle.d.ts +17 -22
- package/cjs/Picker/PickerToggle.js +52 -177
- package/cjs/Picker/index.d.ts +3 -0
- package/cjs/Picker/index.js +10 -1
- package/cjs/Picker/usePickerRef.d.ts +19 -0
- package/cjs/Picker/usePickerRef.js +88 -0
- package/cjs/Picker/utils.d.ts +5 -9
- package/cjs/Picker/utils.js +22 -89
- package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
- package/cjs/SelectPicker/SelectPicker.js +39 -42
- package/cjs/TreePicker/TreePicker.js +72 -75
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +3 -1
- package/cjs/locales/index.d.ts +2 -2
- package/cjs/utils/constants.d.ts +2 -1
- package/cjs/utils/constants.js +1 -0
- package/cjs/utils/dateUtils.d.ts +0 -1
- package/cjs/utils/dateUtils.js +0 -6
- package/cjs/utils/getStringLength.d.ts +2 -0
- package/cjs/utils/getStringLength.js +18 -0
- package/cjs/utils/index.d.ts +3 -0
- package/cjs/utils/index.js +11 -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 +140 -207
- 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 +140 -207
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +140 -75
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +140 -75
- package/dist/rsuite.js +4833 -258
- 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/AutoComplete/AutoComplete.js +28 -29
- package/esm/Calendar/Calendar.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.d.ts +7 -1
- 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/Cascader/Cascader.js +49 -51
- package/esm/CheckPicker/CheckPicker.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.js +36 -39
- package/esm/CheckTreePicker/CheckTreePicker.js +64 -67
- 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 +25 -8
- package/esm/DatePicker/DatePicker.js +211 -244
- package/esm/DatePicker/Toolbar.js +5 -22
- 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/Calendar.js +25 -23
- package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/esm/DateRangePicker/DateRangePicker.js +253 -205
- package/esm/DateRangePicker/types.d.ts +11 -3
- package/esm/DateRangePicker/utils.d.ts +2 -1
- package/esm/DateRangePicker/utils.js +7 -5
- package/esm/FormControl/FormControl.d.ts +11 -1
- package/esm/FormControl/FormControl.js +4 -3
- package/esm/Input/Input.d.ts +11 -0
- package/esm/Input/Input.js +12 -9
- package/esm/InputPicker/InputPicker.js +64 -65
- package/esm/MultiCascader/MultiCascader.js +43 -45
- package/esm/Overlay/OverlayTrigger.d.ts +3 -0
- package/esm/Overlay/OverlayTrigger.js +5 -0
- package/esm/Picker/PickerIndicator.d.ts +10 -0
- package/esm/Picker/PickerIndicator.js +43 -0
- package/esm/Picker/PickerLabel.d.ts +9 -0
- package/esm/Picker/PickerLabel.js +17 -0
- package/esm/Picker/PickerToggle.d.ts +17 -22
- package/esm/Picker/PickerToggle.js +54 -179
- package/esm/Picker/index.d.ts +3 -0
- package/esm/Picker/index.js +3 -0
- package/esm/Picker/usePickerRef.d.ts +19 -0
- package/esm/Picker/usePickerRef.js +82 -0
- package/esm/Picker/utils.d.ts +5 -9
- package/esm/Picker/utils.js +24 -90
- package/esm/SelectPicker/SelectPicker.d.ts +2 -2
- package/esm/SelectPicker/SelectPicker.js +42 -45
- package/esm/TreePicker/TreePicker.js +75 -78
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/index.d.ts +2 -2
- package/esm/utils/constants.d.ts +2 -1
- package/esm/utils/constants.js +1 -0
- package/esm/utils/dateUtils.d.ts +0 -1
- package/esm/utils/dateUtils.js +0 -5
- package/esm/utils/getStringLength.d.ts +2 -0
- package/esm/utils/getStringLength.js +13 -0
- package/esm/utils/index.d.ts +3 -0
- package/esm/utils/index.js +4 -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/mixins/combobox.less +10 -0
- package/styles/normalize.less +230 -231
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
# [5.50.0](https://github.com/rsuite/rsuite/compare/v5.49.0...v5.50.0) (2024-01-12)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- typo in Next.js guide ([#3555](https://github.com/rsuite/rsuite/issues/3555)) ([77d60cf](https://github.com/rsuite/rsuite/commit/77d60cfeb27e3e52b4003d72114e5164b275a3d2))
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **cra:** supports using CRA to install javascript template ([#3538](https://github.com/rsuite/rsuite/issues/3538)) ([1b697f4](https://github.com/rsuite/rsuite/commit/1b697f4a4f61a7943351c5ca0f46a484c9ea1ac6))
|
|
10
|
+
- **cra:** supports using CRA to install typescript template ([#3540](https://github.com/rsuite/rsuite/issues/3540)) ([bbe3609](https://github.com/rsuite/rsuite/commit/bbe3609d4492e9186e32309f6c6ee6101d5eb83c))
|
|
11
|
+
- **DateRangePicker:** supports date selection by using keyboard ([#3554](https://github.com/rsuite/rsuite/issues/3554)) ([2c8d197](https://github.com/rsuite/rsuite/commit/2c8d1974e018903b3a1b874566b31c751d207493))
|
|
12
|
+
- **FormControl:** added support for `name` setting path of object ([#3511](https://github.com/rsuite/rsuite/issues/3511)) ([03d5396](https://github.com/rsuite/rsuite/commit/03d5396b8a23d88907be9d1864776d61a0a3b963))
|
|
13
|
+
|
|
14
|
+
# [5.49.0](https://github.com/rsuite/rsuite/compare/v5.48.1...v5.49.0) (2023-12-29)
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
- **CSS Reset:** fix `rsuite-no-reset.css` overrides the default styles of the app ([#3527](https://github.com/rsuite/rsuite/issues/3527)) ([dff5804](https://github.com/rsuite/rsuite/commit/dff5804f81c00dfe4f4bb02eac92e070fabcc4f8))
|
|
19
|
+
- **CustomProvider:** fix the flicker when initializing in Dark mode ([#3528](https://github.com/rsuite/rsuite/issues/3528)) ([2bd67fd](https://github.com/rsuite/rsuite/commit/2bd67fd60ddaec9a5925d22e7cee126425b6ad78))
|
|
20
|
+
- **DateRangePicker:** fix layout misalignment due to missing min-width ([#3523](https://github.com/rsuite/rsuite/issues/3523)) ([464af79](https://github.com/rsuite/rsuite/commit/464af7964fe5fb8e434c7113084e6597726f3db6))
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
- **DatePicker:** supports date selection by using keyboard ([#3515](https://github.com/rsuite/rsuite/issues/3515)) ([bc56cb3](https://github.com/rsuite/rsuite/commit/bc56cb33fb15854a0d3f6c3c3bb6ee3b4036aef5))
|
|
25
|
+
- **DateRangeInput:** add support for DateRangeInput ([#3525](https://github.com/rsuite/rsuite/issues/3525)) ([074245a](https://github.com/rsuite/rsuite/commit/074245a2f5f18028426d896584690d1738606d1c))
|
|
26
|
+
- **Input:** add support for htmlSize prop ([#3526](https://github.com/rsuite/rsuite/issues/3526)) ([62de8ca](https://github.com/rsuite/rsuite/commit/62de8ca14eb2aaf8dde904b3667035cb3f060c23))
|
|
27
|
+
|
|
1
28
|
## [5.48.1](https://github.com/rsuite/rsuite/compare/v5.48.0...v5.48.1) (2023-12-22)
|
|
2
29
|
|
|
3
30
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@import '../../styles/common';
|
|
2
|
-
@import '../../
|
|
3
|
-
@import '../../styles/mixins/listbox';
|
|
1
|
+
@import '../../styles/common.less';
|
|
2
|
+
@import '../../styles/mixins/combobox.less';
|
|
3
|
+
@import '../../styles/mixins/listbox.less';
|
|
4
4
|
|
|
5
5
|
// Cascader
|
|
6
6
|
// ----------------------
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
margin: 0;
|
|
81
81
|
padding: 0;
|
|
82
82
|
list-style: none;
|
|
83
|
+
font-size: @font-size-base;
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
|
|
@@ -122,5 +123,5 @@
|
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
.rs-picker-cascader-menu-caret {
|
|
125
|
-
.
|
|
126
|
+
.combobox-indicator-icon();
|
|
126
127
|
}
|
|
@@ -8,17 +8,6 @@
|
|
|
8
8
|
// DatePicker Picker
|
|
9
9
|
// ----------------------
|
|
10
10
|
|
|
11
|
-
// Change the <caret/> & <clean/> vertical position make it align middle.
|
|
12
|
-
.rs-picker-date,
|
|
13
|
-
.rs-picker-daterange {
|
|
14
|
-
&.rs-picker-default {
|
|
15
|
-
.rs-picker-toggle-caret,
|
|
16
|
-
.rs-picker-toggle-clean {
|
|
17
|
-
top: @padding-y - @picker-default-toggle-border-width;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
11
|
// Toolbar
|
|
23
12
|
.rs-picker-toolbar {
|
|
24
13
|
padding: @calendar-picker-padding;
|
|
@@ -34,6 +23,24 @@
|
|
|
34
23
|
height: 286px;
|
|
35
24
|
}
|
|
36
25
|
}
|
|
26
|
+
|
|
27
|
+
.rs-input-group-addon {
|
|
28
|
+
color: var(--rs-text-secondary);
|
|
29
|
+
|
|
30
|
+
.rs-btn-close {
|
|
31
|
+
padding: 0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.rs-picker-subtle {
|
|
36
|
+
.rs-input-group {
|
|
37
|
+
border-color: transparent;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
> .rs-input-group.rs-input-group-inside .rs-input {
|
|
42
|
+
padding-right: 0;
|
|
43
|
+
}
|
|
37
44
|
}
|
|
38
45
|
|
|
39
46
|
// Predefined Ranges
|
|
@@ -4,6 +4,26 @@
|
|
|
4
4
|
@import '../../DatePicker/styles/index';
|
|
5
5
|
@import '../../Calendar/styles/index';
|
|
6
6
|
|
|
7
|
+
.rs-picker-daterange {
|
|
8
|
+
.rs-input-group-addon {
|
|
9
|
+
color: var(--rs-text-secondary);
|
|
10
|
+
|
|
11
|
+
.rs-btn-close {
|
|
12
|
+
padding: 0;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&.rs-picker-subtle {
|
|
17
|
+
.rs-input-group {
|
|
18
|
+
border-color: transparent;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
> .rs-input-group.rs-input-group-inside .rs-input {
|
|
23
|
+
padding-right: 0;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
7
27
|
// Date range Picker
|
|
8
28
|
// ----------------------
|
|
9
29
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
@import '../../styles/common';
|
|
2
|
-
@import '../../styles/mixins/menu';
|
|
3
|
-
@import '
|
|
1
|
+
@import '../../styles/common.less';
|
|
2
|
+
@import '../../styles/mixins/menu.less';
|
|
3
|
+
@import '../../styles/mixins/combobox.less';
|
|
4
|
+
@import 'mixin.less';
|
|
4
5
|
@import '../../Button/styles/index.less';
|
|
5
6
|
|
|
6
7
|
//
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
// --------------------------------------------------
|
|
9
10
|
|
|
10
11
|
.rs-dropdown-toggle-caret {
|
|
11
|
-
.
|
|
12
|
+
.combobox-indicator-icon();
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
// The dropdown wrapper (div)
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
.dropdown-toggle-caret-common(@right:@padding-x) {
|
|
2
|
-
display: flex;
|
|
3
|
-
align-items: center;
|
|
4
|
-
margin-left: 2px;
|
|
5
|
-
position: absolute;
|
|
6
|
-
top: @padding-y;
|
|
7
|
-
right: @right;
|
|
8
|
-
height: @line-height-computed;
|
|
9
|
-
font-size: 12px;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
1
|
.dropdown-toggle-caret-size(@vertical,@horizontal,@caret-size) {
|
|
13
2
|
padding-right: @horizontal+ @dropdown-caret-width+ @dropdown-caret-padding !important;
|
|
14
3
|
|
package/Picker/styles/index.less
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
@import '../../styles/common';
|
|
2
|
-
@import '../../styles/mixins/listbox';
|
|
3
|
-
@import
|
|
4
|
-
@import '../../
|
|
5
|
-
@import 'mixin';
|
|
1
|
+
@import '../../styles/common.less';
|
|
2
|
+
@import '../../styles/mixins/listbox.less';
|
|
3
|
+
@import '../../styles/mixins/combobox.less';
|
|
4
|
+
@import (reference) '../../Button/styles/index.less';
|
|
5
|
+
@import '../../Form/styles/mixin.less';
|
|
6
|
+
@import 'mixin.less';
|
|
6
7
|
|
|
7
8
|
//
|
|
8
9
|
// Pickers
|
|
@@ -80,6 +81,26 @@
|
|
|
80
81
|
&.rs-picker-focused {
|
|
81
82
|
box-shadow: var(--rs-state-focus-shadow);
|
|
82
83
|
}
|
|
84
|
+
|
|
85
|
+
&-label.rs-input-group-addon {
|
|
86
|
+
color: var(--rs-text-primary);
|
|
87
|
+
padding-right: 4px !important;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&-loader {
|
|
91
|
+
width: 14px;
|
|
92
|
+
height: 14px;
|
|
93
|
+
display: flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&-error > .rs-input-group {
|
|
98
|
+
border-color: var(--rs-state-error) !important;
|
|
99
|
+
|
|
100
|
+
&:focus-within {
|
|
101
|
+
outline: var(--rs-state-error-outline) !important;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
83
104
|
}
|
|
84
105
|
|
|
85
106
|
.rs-picker-toggle {
|
|
@@ -232,31 +253,37 @@
|
|
|
232
253
|
}
|
|
233
254
|
}
|
|
234
255
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
.
|
|
256
|
+
.rs-picker-toggle-indicator {
|
|
257
|
+
// Picker clear button
|
|
258
|
+
.rs-picker-clean {
|
|
259
|
+
.combobox-indicator-icon(@picker-toggle-clean-right);
|
|
238
260
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
261
|
+
background: inherit;
|
|
262
|
+
color: var(--rs-text-secondary);
|
|
263
|
+
transition: 0.2s color linear;
|
|
264
|
+
cursor: pointer;
|
|
243
265
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
266
|
+
&.rs-btn-close {
|
|
267
|
+
padding: 4px 0;
|
|
268
|
+
}
|
|
247
269
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
270
|
+
.rs-@{date-picker-prefix} &,
|
|
271
|
+
.rs-@{date-range-picker-prefix} & {
|
|
272
|
+
right: (@picker-toggle-clean-right + @picker-item-content-padding-vertical);
|
|
273
|
+
}
|
|
251
274
|
}
|
|
252
|
-
}
|
|
253
275
|
|
|
254
|
-
// Picker toggle caret
|
|
255
|
-
.rs-picker-
|
|
256
|
-
|
|
257
|
-
|
|
276
|
+
// Picker toggle caret
|
|
277
|
+
.rs-picker-caret-icon {
|
|
278
|
+
// Extend Dropdown toggle caret style
|
|
279
|
+
.combobox-indicator-icon();
|
|
258
280
|
|
|
259
|
-
|
|
281
|
+
color: var(--rs-text-secondary);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.rs-picker-loader {
|
|
285
|
+
.combobox-indicator-icon();
|
|
286
|
+
}
|
|
260
287
|
}
|
|
261
288
|
|
|
262
289
|
// Picker Menu
|
package/Picker/styles/mixin.less
CHANGED
|
@@ -103,13 +103,15 @@
|
|
|
103
103
|
padding-right: (@padding-horizontal + @dropdown-caret-width + @dropdown-caret-padding);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
.rs-picker-toggle-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
.rs-picker-toggle-indicator {
|
|
107
|
+
.rs-picker-caret-icon,
|
|
108
|
+
.rs-picker-clean {
|
|
109
|
+
top: @padding-vertical;
|
|
110
|
+
right: @padding-horizontal;
|
|
111
|
+
|
|
112
|
+
.rs-picker-default & {
|
|
113
|
+
top: @padding-vertical - @picker-default-toggle-border-width;
|
|
114
|
+
}
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
}
|
|
@@ -144,13 +146,15 @@
|
|
|
144
146
|
|
|
145
147
|
padding-right: (@padding-horizontal + @calendar-caret-width + @dropdown-caret-padding);
|
|
146
148
|
|
|
147
|
-
.rs-picker-toggle-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
.rs-picker-toggle-indicator {
|
|
150
|
+
.rs-picker-clean,
|
|
151
|
+
.rs-picker-caret-icon {
|
|
152
|
+
top: @top;
|
|
153
|
+
right: @padding-horizontal;
|
|
151
154
|
|
|
152
|
-
|
|
153
|
-
|
|
155
|
+
.rs-picker-subtle & {
|
|
156
|
+
top: @top - @picker-default-toggle-border-width;
|
|
157
|
+
}
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
}
|
package/README.md
CHANGED
|
@@ -8,11 +8,13 @@ English | [中文版][readm-cn]
|
|
|
8
8
|
|
|
9
9
|
[![npm][npm-svg]][npm-home]
|
|
10
10
|
[![GitHub Actions][actions-svg]][actions-home]
|
|
11
|
-
[![
|
|
11
|
+
[![npm bundle size][npm-bundle-size-img]][npm-bundle-size]
|
|
12
|
+
[![rsuite.min.js][rsuite-min-js-img]][rsuite-min-js]
|
|
13
|
+
[![codecov][codecov-img]][codecov]
|
|
12
14
|
[![Discord][discord-svg]][discord-invite]
|
|
13
15
|
[![Gitter][gitter-svg]][gitter]
|
|
14
16
|
[![Gitter][gitter-cn-svg]][gitter-cn]
|
|
15
|
-
[![Gitpod ready-to-code]
|
|
17
|
+
[![Gitpod ready-to-code][gitpod-img]][gitpod]
|
|
16
18
|
|
|
17
19
|
React Suite is a set of react component libraries for enterprise system products. It is a well-thought-out and developer-friendly UI framework.
|
|
18
20
|
|
|
@@ -94,8 +96,8 @@ You can go through [full documentation][rsuite-doc-guide] or start with followin
|
|
|
94
96
|
- [Use in Electron][demo-electron]
|
|
95
97
|
- [Use in Flow][demo-flow-app]
|
|
96
98
|
- [Use in TypeScript][demo-typescript-app]
|
|
97
|
-
- [Use in Next.js][demo-nextjs]
|
|
98
|
-
- [Use in Next.js
|
|
99
|
+
- [Use in Next.js (App)][demo-nextjs-app]
|
|
100
|
+
- [Use in Next.js (Pages)][demo-nextjs-pages]
|
|
99
101
|
- [Use in UmiJS][demo-umi-app]
|
|
100
102
|
- [Use in Snowpack][demo-snowpack]
|
|
101
103
|
- [Use in Vite][demo-vite]
|
|
@@ -145,11 +147,15 @@ This project exists thanks to all the people who contribute.
|
|
|
145
147
|
|
|
146
148
|
React Suite is [MIT licensed][license]. Copyright (c) 2016-present, HYPERS.
|
|
147
149
|
|
|
148
|
-
[readm-cn]: https://github.com/rsuite/rsuite/blob/
|
|
150
|
+
[readm-cn]: https://github.com/rsuite/rsuite/blob/main/README_zh.md
|
|
149
151
|
[npm-svg]: https://img.shields.io/npm/v/rsuite
|
|
150
152
|
[npm-home]: https://www.npmjs.com/package/rsuite
|
|
151
|
-
[
|
|
152
|
-
[
|
|
153
|
+
[npm-bundle-size-img]: https://badgen.net/bundlephobia/minzip/rsuite?icon=npm
|
|
154
|
+
[npm-bundle-size]: https://bundlephobia.com/package/rsuite
|
|
155
|
+
[rsuite-min-js-img]: https://img.badgesize.io/https:/unpkg.com/rsuite/dist/rsuite.min.js?label=rsuite.min.js&compression=gzip
|
|
156
|
+
[rsuite-min-js]: https://unpkg.com/browse/rsuite/dist/rsuite.min.js
|
|
157
|
+
[actions-svg]: https://github.com/rsuite/rsuite/workflows/Node.js%20CI/badge.svg?branch=main
|
|
158
|
+
[actions-home]: https://github.com/rsuite/rsuite/actions?query=branch%3Amain+workflow%3A%22Node.js+CI%22
|
|
153
159
|
[discord-svg]: https://img.shields.io/badge/Discord-Join%20chat%20%E2%86%92-738bd7.svg
|
|
154
160
|
[discord-invite]: https://discord.gg/R8mnjwh
|
|
155
161
|
[rsuite-design]: https://rsuitejs.com/design/default
|
|
@@ -160,30 +166,34 @@ React Suite is [MIT licensed][license]. Copyright (c) 2016-present, HYPERS.
|
|
|
160
166
|
[rsuite-doc-guide-rtl]: https://rsuitejs.com/en/guide/rtl
|
|
161
167
|
[rsuite-components-overview]: https://rsuitejs.com/en/components/overview
|
|
162
168
|
[release-notes]: https://github.com/rsuite/rsuite/releases
|
|
163
|
-
[contributing]: https://github.com/rsuite/rsuite/blob/
|
|
169
|
+
[contributing]: https://github.com/rsuite/rsuite/blob/main/CONTRIBUTING.md
|
|
164
170
|
[prettierrc]: https://github.com/rsuite/rsuite/wiki/.prettierrc
|
|
165
171
|
[issues-11]: https://github.com/rsuite/rsuite/issues/11
|
|
166
172
|
[opencollective-svg]: https://opencollective.com/rsuite/tiers/backer.svg?avatarHeight=36
|
|
167
173
|
[opencollective-home]: https://opencollective.com/rsuite
|
|
168
|
-
[license]: https://github.com/rsuite/rsuite/blob/
|
|
174
|
+
[license]: https://github.com/rsuite/rsuite/blob/main/LICENSE
|
|
169
175
|
[rsuite-sample]: https://sample.rsuitejs.com/
|
|
170
176
|
[gitter]: https://gitter.im/rsuite/rsuite?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
|
|
171
177
|
[gitter-svg]: https://img.shields.io/gitter/room/rsuite/rsuite?label=chat-english
|
|
172
178
|
[gitter-cn]: https://gitter.im/rsuite/rsuite-CN?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
|
|
173
179
|
[gitter-cn-svg]: https://img.shields.io/gitter/room/rsuite/rsuite?label=chat-chinese
|
|
174
180
|
[demo-admin]: https://github.com/rsuite/rsuite-management-system
|
|
175
|
-
[demo-modular-import]: https://github.com/rsuite/rsuite/tree/
|
|
176
|
-
[demo-cdn]: https://github.com/rsuite/rsuite/tree/
|
|
177
|
-
[demo-create-react-app]: https://github.com/rsuite/rsuite/tree/
|
|
178
|
-
[demo-electron]: https://github.com/rsuite/rsuite/tree/
|
|
179
|
-
[demo-intl-app]: https://github.com/rsuite/rsuite/tree/
|
|
180
|
-
[demo-multiple-themes]: https://github.com/rsuite/rsuite/tree/
|
|
181
|
-
[demo-flow-app]: https://github.com/rsuite/rsuite/tree/
|
|
182
|
-
[demo-typescript-app]: https://github.com/rsuite/rsuite/tree/
|
|
183
|
-
[demo-nextjs]: https://github.com/rsuite/rsuite/tree/
|
|
184
|
-
[demo-
|
|
185
|
-
[demo-
|
|
186
|
-
[demo-
|
|
187
|
-
[demo-
|
|
188
|
-
[demo-snowpack]: https://github.com/rsuite/rsuite/tree/
|
|
189
|
-
[demo-vite]: https://github.com/rsuite/rsuite/tree/
|
|
181
|
+
[demo-modular-import]: https://github.com/rsuite/rsuite/tree/main/examples/with-babel-preset-rsuite
|
|
182
|
+
[demo-cdn]: https://github.com/rsuite/rsuite/tree/main/examples/cdn
|
|
183
|
+
[demo-create-react-app]: https://github.com/rsuite/rsuite/tree/main/examples/create-react-app
|
|
184
|
+
[demo-electron]: https://github.com/rsuite/rsuite/tree/main/examples/with-electron
|
|
185
|
+
[demo-intl-app]: https://github.com/rsuite/rsuite/tree/main/examples/custom-i18n
|
|
186
|
+
[demo-multiple-themes]: https://github.com/rsuite/rsuite/tree/main/examples/custom-multiple-themes
|
|
187
|
+
[demo-flow-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-flow
|
|
188
|
+
[demo-typescript-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-typescript
|
|
189
|
+
[demo-nextjs-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-nextjs-app
|
|
190
|
+
[demo-nextjs-pages]: https://github.com/rsuite/rsuite/tree/main/examples/with-nextjs-pages
|
|
191
|
+
[demo-umi-app]: https://github.com/rsuite/rsuite/tree/main/examples/with-umi
|
|
192
|
+
[demo-rtlcss]: https://github.com/rsuite/rsuite/tree/main/examples/with-rtlcss
|
|
193
|
+
[demo-postcss-rtl]: https://github.com/rsuite/rsuite/tree/main/examples/with-postcss-rtl
|
|
194
|
+
[demo-snowpack]: https://github.com/rsuite/rsuite/tree/main/examples/with-snowpack
|
|
195
|
+
[demo-vite]: https://github.com/rsuite/rsuite/tree/main/examples/with-vite
|
|
196
|
+
[codecov]: https://codecov.io/gh/rsuite/rsuite
|
|
197
|
+
[codecov-img]: https://codecov.io/gh/rsuite/rsuite/branch/main/graph/badge.svg?token=HGeKd0BD3t
|
|
198
|
+
[gitpod]: https://gitpod.io/#https://github.com/rsuite/rsuite
|
|
199
|
+
[gitpod-img]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
background: none;
|
|
50
50
|
padding-right: (@sidenav-padding-horizontal + @sidenav-dropdown-toggle-caret-width);
|
|
51
51
|
position: relative;
|
|
52
|
+
border-width: 0;
|
|
52
53
|
|
|
53
54
|
.rs-sidenav-collapse-in & {
|
|
54
55
|
padding-left: @sidenav-level2-retract;
|
|
@@ -178,6 +179,7 @@
|
|
|
178
179
|
display: block;
|
|
179
180
|
outline: 0;
|
|
180
181
|
overflow: hidden;
|
|
182
|
+
text-decoration: none;
|
|
181
183
|
|
|
182
184
|
&:hover,
|
|
183
185
|
&:focus {
|
|
@@ -69,7 +69,10 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
69
69
|
setFocus = _useState[1];
|
|
70
70
|
var items = (datalist === null || datalist === void 0 ? void 0 : datalist.filter((0, _utils3.shouldDisplay)(filterBy, value))) || [];
|
|
71
71
|
var hasItems = items.length > 0;
|
|
72
|
-
var
|
|
72
|
+
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
73
|
+
trigger = _usePickerRef.trigger,
|
|
74
|
+
overlay = _usePickerRef.overlay,
|
|
75
|
+
root = _usePickerRef.root;
|
|
73
76
|
var isMounted = (0, _utils.useIsMounted)();
|
|
74
77
|
|
|
75
78
|
// Used to hover the focuse item when trigger `onKeydown`
|
|
@@ -77,14 +80,14 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
77
80
|
data: datalist,
|
|
78
81
|
callback: onMenuFocus,
|
|
79
82
|
target: function target() {
|
|
80
|
-
return
|
|
83
|
+
return overlay.current;
|
|
81
84
|
}
|
|
82
85
|
}),
|
|
83
86
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
84
87
|
setFocusItemValue = _useFocusItemValue.setFocusItemValue,
|
|
85
88
|
handleKeyDown = _useFocusItemValue.onKeyDown;
|
|
86
89
|
var handleKeyDownEvent = function handleKeyDownEvent(event) {
|
|
87
|
-
if (!
|
|
90
|
+
if (!overlay.current) {
|
|
88
91
|
return;
|
|
89
92
|
}
|
|
90
93
|
(0, _Picker.onMenuKeyDown)(event, {
|
|
@@ -109,29 +112,29 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
109
112
|
}
|
|
110
113
|
handleClose();
|
|
111
114
|
};
|
|
112
|
-
var handleSelect = (0,
|
|
115
|
+
var handleSelect = (0, _utils.useEventCallback)(function (item, event) {
|
|
113
116
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(item.value, item, event);
|
|
114
|
-
}
|
|
115
|
-
var handleChangeValue = (0,
|
|
117
|
+
});
|
|
118
|
+
var handleChangeValue = (0, _utils.useEventCallback)(function (value, event) {
|
|
116
119
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
117
|
-
}
|
|
120
|
+
});
|
|
118
121
|
var handleChange = function handleChange(value, event) {
|
|
119
122
|
setFocusItemValue('');
|
|
120
123
|
setValue(value);
|
|
121
124
|
setFocus(true);
|
|
122
125
|
handleChangeValue(value, event);
|
|
123
126
|
};
|
|
124
|
-
var handleClose = (0,
|
|
127
|
+
var handleClose = (0, _utils.useEventCallback)(function () {
|
|
125
128
|
if (isMounted()) {
|
|
126
129
|
setFocus(false);
|
|
127
130
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
128
131
|
}
|
|
129
|
-
}
|
|
130
|
-
var handleOpen = (0,
|
|
132
|
+
});
|
|
133
|
+
var handleOpen = (0, _utils.useEventCallback)(function () {
|
|
131
134
|
setFocus(true);
|
|
132
135
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
133
|
-
}
|
|
134
|
-
var handleItemSelect = (0,
|
|
136
|
+
});
|
|
137
|
+
var handleItemSelect = (0, _utils.useEventCallback)(function (nextItemValue, item, event) {
|
|
135
138
|
setValue(nextItemValue);
|
|
136
139
|
setFocusItemValue(nextItemValue);
|
|
137
140
|
handleSelect(item, event);
|
|
@@ -139,29 +142,24 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
139
142
|
handleChangeValue(nextItemValue, event);
|
|
140
143
|
}
|
|
141
144
|
handleClose();
|
|
142
|
-
}
|
|
143
|
-
var handleInputFocus = (0,
|
|
145
|
+
});
|
|
146
|
+
var handleInputFocus = (0, _utils.useEventCallback)(function (event) {
|
|
144
147
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
145
148
|
handleOpen();
|
|
146
|
-
}
|
|
147
|
-
var handleInputBlur = (0,
|
|
149
|
+
});
|
|
150
|
+
var handleInputBlur = (0, _utils.useEventCallback)(function (event) {
|
|
148
151
|
setTimeout(handleClose, 300);
|
|
149
152
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
150
|
-
}
|
|
153
|
+
});
|
|
151
154
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
152
155
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
153
156
|
merge = _useClassNames.merge;
|
|
154
157
|
var classes = merge(className, withClassPrefix({
|
|
155
158
|
disabled: disabled
|
|
156
159
|
}));
|
|
157
|
-
var triggerRef = (0, _react.useRef)(null);
|
|
158
160
|
var _partitionHTMLProps = (0, _utils.partitionHTMLProps)((0, _omit.default)(rest, _Picker.pickTriggerPropKeys)),
|
|
159
161
|
htmlInputProps = _partitionHTMLProps[0],
|
|
160
162
|
restProps = _partitionHTMLProps[1];
|
|
161
|
-
(0, _Picker.usePublicMethods)(ref, {
|
|
162
|
-
triggerRef: triggerRef,
|
|
163
|
-
overlayRef: overlayRef
|
|
164
|
-
});
|
|
165
163
|
var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
|
|
166
164
|
var left = positionProps.left,
|
|
167
165
|
top = positionProps.top,
|
|
@@ -182,11 +180,11 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
182
180
|
className: menuClassName
|
|
183
181
|
});
|
|
184
182
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
185
|
-
ref: (0, _utils.mergeRefs)(
|
|
183
|
+
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
186
184
|
style: styles,
|
|
187
185
|
className: className,
|
|
188
186
|
onKeyDown: handleKeyDownEvent,
|
|
189
|
-
target:
|
|
187
|
+
target: trigger,
|
|
190
188
|
autoWidth: menuAutoWidth
|
|
191
189
|
}, renderMenu ? renderMenu(menu) : menu);
|
|
192
190
|
};
|
|
@@ -197,7 +195,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
197
195
|
}, typeof value === 'undefined' ? defaultValue : value);
|
|
198
196
|
}
|
|
199
197
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
200
|
-
ref:
|
|
198
|
+
ref: trigger,
|
|
201
199
|
placement: placement,
|
|
202
200
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
203
201
|
trigger: ['click', 'focus'],
|
|
@@ -205,7 +203,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
205
203
|
speaker: renderDropdownMenu
|
|
206
204
|
}, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
207
205
|
className: classes,
|
|
208
|
-
style: style
|
|
206
|
+
style: style,
|
|
207
|
+
ref: root
|
|
209
208
|
}, restProps), /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {
|
|
210
209
|
id: id,
|
|
211
210
|
disabled: disabled,
|
|
@@ -7,7 +7,11 @@ export interface CalendarProps extends WithAsProps {
|
|
|
7
7
|
value?: Date;
|
|
8
8
|
/** Default value */
|
|
9
9
|
defaultValue?: Date;
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day
|
|
12
|
+
*
|
|
13
|
+
* @see https://en.wikipedia.org/wiki/ISO_week_date
|
|
14
|
+
*/
|
|
11
15
|
isoWeek?: boolean;
|
|
12
16
|
/** Display a compact calendar */
|
|
13
17
|
compact?: boolean;
|
|
@@ -6,6 +6,8 @@ import { CalendarState } from './useCalendarState';
|
|
|
6
6
|
export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivElement>, 'onSelect' | 'onChange' | 'onMouseMove'>, CalendarHeaderProps {
|
|
7
7
|
/** The panel render based on date range */
|
|
8
8
|
dateRange?: Date[];
|
|
9
|
+
/** The Id of the target element that triggers the opening of the calendar */
|
|
10
|
+
targetId?: string;
|
|
9
11
|
/** Date displayed on the current page */
|
|
10
12
|
calendarDate: Date;
|
|
11
13
|
/** Whether to show week numbers */
|
|
@@ -30,7 +32,11 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
|
|
|
30
32
|
hideSeconds?: (second: number, date: Date) => boolean;
|
|
31
33
|
/** The value that mouse hover on in range selection */
|
|
32
34
|
hoverRangeValue?: [Date, Date];
|
|
33
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day
|
|
37
|
+
*
|
|
38
|
+
* @see https://en.wikipedia.org/wiki/ISO_week_date
|
|
39
|
+
*/
|
|
34
40
|
isoWeek?: boolean;
|
|
35
41
|
/** Limit showing how many years in the future */
|
|
36
42
|
limitEndYear?: number;
|