rsuite 5.4.4 → 5.6.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 +48 -0
- package/Carousel/styles/index.less +1 -0
- package/CheckTreePicker/styles/index.less +51 -50
- package/Modal/styles/mixin.less +1 -0
- package/Picker/styles/mixin.less +3 -2
- package/README.md +1 -1
- package/Sidenav/styles/index.less +54 -59
- package/TreePicker/styles/index.less +3 -3
- package/cjs/Affix/Affix.js +1 -0
- package/cjs/Calendar/TimeDropdown.js +7 -4
- package/cjs/Carousel/Carousel.d.ts +5 -1
- package/cjs/Carousel/Carousel.js +22 -16
- package/cjs/Cascader/Cascader.js +2 -2
- package/cjs/Cascader/DropdownMenu.js +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +17 -12
- package/cjs/CheckTreePicker/utils.d.ts +3 -3
- package/cjs/CheckTreePicker/utils.js +2 -2
- package/cjs/DOMHelper/index.d.ts +4 -4
- package/cjs/DatePicker/DatePicker.js +15 -9
- package/cjs/DateRangePicker/Calendar.js +2 -16
- package/cjs/DateRangePicker/DateRangePicker.js +1 -1
- package/cjs/Dropdown/Dropdown.d.ts +5 -0
- package/cjs/Dropdown/test/Dropdown.test.d.ts +1 -0
- package/cjs/Dropdown/test/Dropdown.test.js +30 -0
- package/cjs/InputNumber/InputNumber.d.ts +1 -1
- package/cjs/InputNumber/InputNumber.js +36 -6
- package/cjs/InputNumber/test/InputNumber.test.d.ts +1 -0
- package/cjs/InputNumber/test/InputNumber.test.js +14 -0
- package/cjs/InputPicker/InputAutosize.js +3 -1
- package/cjs/InputPicker/InputPicker.js +6 -2
- package/cjs/List/ListItem.js +13 -11
- package/cjs/Menu/MenuItem.js +14 -11
- package/cjs/MultiCascader/MultiCascader.js +1 -0
- package/cjs/Picker/PickerOverlay.js +4 -1
- package/cjs/RangeSlider/RangeSlider.d.ts +12 -2
- package/cjs/RangeSlider/RangeSlider.js +35 -12
- package/cjs/Ripple/Ripple.js +17 -9
- package/cjs/TreePicker/TreePicker.js +15 -11
- package/cjs/Uploader/UploadTrigger.js +3 -1
- package/cjs/Uploader/Uploader.js +3 -1
- package/cjs/utils/treeUtils.d.ts +3 -3
- package/cjs/utils/treeUtils.js +4 -3
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +5 -2
- package/dist/rsuite-rtl.css +114 -123
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +114 -123
- package/dist/rsuite.js +372 -53
- 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/Affix/Affix.js +1 -0
- package/esm/Calendar/TimeDropdown.js +7 -4
- package/esm/Carousel/Carousel.d.ts +5 -1
- package/esm/Carousel/Carousel.js +23 -17
- package/esm/Cascader/Cascader.js +2 -2
- package/esm/Cascader/DropdownMenu.js +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +17 -12
- package/esm/CheckTreePicker/utils.d.ts +3 -3
- package/esm/CheckTreePicker/utils.js +2 -2
- package/esm/DOMHelper/index.d.ts +4 -4
- package/esm/DatePicker/DatePicker.js +15 -9
- package/esm/DateRangePicker/Calendar.js +2 -16
- package/esm/DateRangePicker/DateRangePicker.js +1 -1
- package/esm/Dropdown/Dropdown.d.ts +5 -0
- package/esm/Dropdown/test/Dropdown.test.d.ts +1 -0
- package/esm/Dropdown/test/Dropdown.test.js +22 -0
- package/esm/InputNumber/InputNumber.d.ts +1 -1
- package/esm/InputNumber/InputNumber.js +38 -7
- package/esm/InputNumber/test/InputNumber.test.d.ts +1 -0
- package/esm/InputNumber/test/InputNumber.test.js +7 -0
- package/esm/InputPicker/InputAutosize.js +3 -1
- package/esm/InputPicker/InputPicker.js +6 -2
- package/esm/List/ListItem.js +13 -11
- package/esm/Menu/MenuItem.js +14 -11
- package/esm/MultiCascader/MultiCascader.js +1 -0
- package/esm/Picker/PickerOverlay.js +4 -1
- package/esm/RangeSlider/RangeSlider.d.ts +12 -2
- package/esm/RangeSlider/RangeSlider.js +35 -12
- package/esm/Ripple/Ripple.js +17 -9
- package/esm/TreePicker/TreePicker.js +15 -11
- package/esm/Uploader/UploadTrigger.js +3 -1
- package/esm/Uploader/Uploader.js +3 -1
- package/esm/utils/treeUtils.d.ts +3 -3
- package/esm/utils/treeUtils.js +6 -3
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +5 -2
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
+
# [5.6.0](https://github.com/rsuite/rsuite/compare/v5.5.2...v5.6.0) (2022-02-10)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **DatePicker:** fixed oneTap to work in month view ([#2342](https://github.com/rsuite/rsuite/issues/2342)) ([d5368cd](https://github.com/rsuite/rsuite/commit/d5368cdfb2a6386bfb509a6316520e450f35f2b4))
|
|
6
|
+
- handle some null value branch ([#2323](https://github.com/rsuite/rsuite/issues/2323)) ([3ffd1d9](https://github.com/rsuite/rsuite/commit/3ffd1d966d5fd7f0a4f42bb8b08bf0cb65955fef))
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **Carousel:** Expose active index ([#2338](https://github.com/rsuite/rsuite/issues/2338)) ([beac483](https://github.com/rsuite/rsuite/commit/beac48395c9fc7c30efb3f49f81e8969cd3ee71d))
|
|
11
|
+
|
|
12
|
+
## [5.5.2](https://github.com/rsuite/rsuite/compare/v5.5.1...v5.5.2) (2022-01-27)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- **Cascader:** add parent node in serach result while parentSelectable ([#2313](https://github.com/rsuite/rsuite/issues/2313)) ([e677bb6](https://github.com/rsuite/rsuite/commit/e677bb6b75d0cc26dafedc8e5326d413969c2867))
|
|
17
|
+
|
|
18
|
+
## [5.5.1](https://github.com/rsuite/rsuite/compare/v5.5.0...v5.5.1) (2022-01-21)
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- **Carousel:** add a flex-wrap property on toolbar buttons ([#2302](https://github.com/rsuite/rsuite/issues/2302)) ([a9a9113](https://github.com/rsuite/rsuite/commit/a9a911378c4aaeba43233dd3acdc05913a9bf6ae))
|
|
23
|
+
- **CheckTreePicker:** fix CheckTreePicker label style ([#2304](https://github.com/rsuite/rsuite/issues/2304)) ([07eb5ac](https://github.com/rsuite/rsuite/commit/07eb5acd4e8283529619ad2b4d6003b0c4f8614d))
|
|
24
|
+
- **DateRangePicker:** fix month not selectable on calendar ([#2312](https://github.com/rsuite/rsuite/issues/2312)) ([5199845](https://github.com/rsuite/rsuite/commit/5199845ee435e923c807da5e0813f4ba06a86798))
|
|
25
|
+
- **Sidenav:** hide focus ring when interacting with mouse ([#2311](https://github.com/rsuite/rsuite/issues/2311)) ([9413bc9](https://github.com/rsuite/rsuite/commit/9413bc9a48fb8a3f915cc811b3392ba4e65b0b70))
|
|
26
|
+
|
|
27
|
+
### Performance Improvements
|
|
28
|
+
|
|
29
|
+
- Responsive for small screen ([#2293](https://github.com/rsuite/rsuite/issues/2293)) ([cadc42e](https://github.com/rsuite/rsuite/commit/cadc42e39baee174ff7d5577ea933cb471ef5bd0))
|
|
30
|
+
|
|
31
|
+
# [5.5.0](https://github.com/rsuite/rsuite/compare/v5.4.4...v5.5.0) (2022-01-13)
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
- **Dropdown:** infer toggleAs component props ([#2299](https://github.com/rsuite/rsuite/issues/2299)) ([84611cc](https://github.com/rsuite/rsuite/commit/84611cc6f88e1d9cd712bc3f08be559d0a146ba0))
|
|
36
|
+
- **InputNumber:** inherit html input attributes ([#2298](https://github.com/rsuite/rsuite/issues/2298)) ([d7622ee](https://github.com/rsuite/rsuite/commit/d7622eed72b36ed15e91f606027d2e540391bdc7))
|
|
37
|
+
- **MultiCascader:** fix not rendering the count of selected values ([#2289](https://github.com/rsuite/rsuite/issues/2289)) ([324e90c](https://github.com/rsuite/rsuite/commit/324e90c8499adf58cb25083fd5c99fe98eb9ecba))
|
|
38
|
+
- **Tree:** fix dragNode has cyclic object ([#2281](https://github.com/rsuite/rsuite/issues/2281)) ([26cbaf2](https://github.com/rsuite/rsuite/commit/26cbaf2fd92ab562174e19cf55388c01fe22143a)), closes [#2268](https://github.com/rsuite/rsuite/issues/2268)
|
|
39
|
+
|
|
40
|
+
### Features
|
|
41
|
+
|
|
42
|
+
- **InputNumber:** support keyboard interaction ([#2294](https://github.com/rsuite/rsuite/issues/2294)) ([46993e2](https://github.com/rsuite/rsuite/commit/46993e235ca3d3ee8b6faa16a5fa11a8ed544e3b))
|
|
43
|
+
- **RangeSlider:** add `constraint` prop ([#2291](https://github.com/rsuite/rsuite/issues/2291)) ([a2d38a8](https://github.com/rsuite/rsuite/commit/a2d38a8efe4f85c28ce1f4ee79a89eda1e1cf7b0))
|
|
44
|
+
|
|
45
|
+
### Performance Improvements
|
|
46
|
+
|
|
47
|
+
- **styles:** simplify compound selectors over 4 levels ([#2282](https://github.com/rsuite/rsuite/issues/2282)) ([304e8da](https://github.com/rsuite/rsuite/commit/304e8da0c2057d148bbad36674aba33382439949))
|
|
48
|
+
|
|
1
49
|
## [5.4.4](https://github.com/rsuite/rsuite/compare/v5.4.3...v5.4.4) (2022-01-06)
|
|
2
50
|
|
|
3
51
|
### Bug Fixes
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@import '../../styles/common';
|
|
2
|
-
@import '../../Picker/styles/
|
|
2
|
+
@import '../../Picker/styles/index';
|
|
3
3
|
@import '../../TreePicker/styles/mixin';
|
|
4
|
+
@import '../../Checkbox/styles/index';
|
|
4
5
|
|
|
5
6
|
// **Check Tree Picker
|
|
6
7
|
// **----------------------
|
|
@@ -23,38 +24,16 @@
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.rs-check-tree-node {
|
|
29
|
-
position: relative;
|
|
30
|
-
font-size: @picker-tree-node-font-size;
|
|
31
|
-
line-height: @picker-tree-node-line-height;
|
|
32
|
-
|
|
33
|
-
&-label {
|
|
34
|
-
.rs-check-item {
|
|
35
|
-
display: inline-block;
|
|
36
|
-
|
|
37
|
-
.rs-picker-menu & {
|
|
38
|
-
display: block;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
27
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.rs-check-item.rs-checkbox-checked .rs-checkbox-checker > label {
|
|
47
|
-
.picker-item-active();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.rs-check-item .rs-checkbox-checker > label {
|
|
28
|
+
.rs-check-item .rs-checkbox-checker {
|
|
29
|
+
> label {
|
|
51
30
|
text-align: left;
|
|
52
31
|
position: relative;
|
|
53
32
|
margin: 0;
|
|
54
33
|
//padding-left: 16px;
|
|
55
34
|
padding: @picker-tree-node-padding-vertical @picker-tree-node-padding-horizontal;
|
|
56
|
-
//text gap + checkbox space
|
|
57
|
-
padding-left:
|
|
35
|
+
//text gap + checkbox space + label gap
|
|
36
|
+
padding-left: 50px; // 10px + 36px + 4px
|
|
58
37
|
|
|
59
38
|
&::before {
|
|
60
39
|
content: '';
|
|
@@ -65,39 +44,61 @@
|
|
|
65
44
|
|
|
66
45
|
height: 100%;
|
|
67
46
|
top: 0;
|
|
68
|
-
margin-left: -
|
|
47
|
+
margin-left: -52px; // 10px + 36px + 6px
|
|
69
48
|
}
|
|
49
|
+
}
|
|
70
50
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
51
|
+
.rs-checkbox-wrapper {
|
|
52
|
+
left: (@checkbox-sense-width + 10px);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
74
56
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
57
|
+
// Only has the first level
|
|
58
|
+
.rs-check-tree-without-children .rs-check-item .rs-checkbox-checker {
|
|
59
|
+
> label {
|
|
60
|
+
padding-left: 32px; //text gap + checkbox space
|
|
78
61
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
62
|
+
&::before {
|
|
63
|
+
width: 28px;
|
|
64
|
+
margin-left: -34px;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
83
67
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
68
|
+
.rs-checkbox-wrapper {
|
|
69
|
+
left: 0;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.rs-check-tree-node {
|
|
74
|
+
position: relative;
|
|
75
|
+
font-size: @picker-tree-node-font-size;
|
|
76
|
+
line-height: @picker-tree-node-line-height;
|
|
77
|
+
|
|
78
|
+
.rs-check-item {
|
|
79
|
+
display: inline-block;
|
|
80
|
+
|
|
81
|
+
.rs-picker-menu & {
|
|
82
|
+
display: block;
|
|
88
83
|
}
|
|
89
84
|
}
|
|
90
85
|
|
|
86
|
+
&:focus .rs-check-item .rs-checkbox-checker > label {
|
|
87
|
+
.picker-item-hover();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.rs-check-item.rs-checkbox-checked .rs-checkbox-checker > label {
|
|
91
|
+
.picker-item-active();
|
|
92
|
+
}
|
|
93
|
+
|
|
91
94
|
// Uncheckable state
|
|
92
|
-
&-all-uncheckable > .rs-check-
|
|
93
|
-
|
|
94
|
-
padding-left: 22px; // 10px + 12px
|
|
95
|
+
&-all-uncheckable > .rs-check-item .rs-checkbox-checker > label {
|
|
96
|
+
padding-left: 22px; // 10px + 12px
|
|
95
97
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
98
|
+
&::before {
|
|
99
|
+
width: 14px;
|
|
100
|
+
margin-left: 0;
|
|
101
|
+
left: 0;
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
}
|
package/Modal/styles/mixin.less
CHANGED
package/Picker/styles/mixin.less
CHANGED
|
@@ -265,7 +265,8 @@
|
|
|
265
265
|
line-height: @line-height;
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
-
.
|
|
268
|
+
// FIXME Bad design. Should not set search input styles in a mixin that is used in picker buttons.
|
|
269
|
+
.rs-picker-tag & ~ .rs-picker-tag-wrapper {
|
|
269
270
|
padding-bottom: @padding-vertical - 3px;
|
|
270
271
|
|
|
271
272
|
.rs-tag {
|
|
@@ -278,7 +279,7 @@
|
|
|
278
279
|
font-size: @font-size;
|
|
279
280
|
}
|
|
280
281
|
|
|
281
|
-
|
|
282
|
+
input {
|
|
282
283
|
height: @line-height * @font-size - 2px;
|
|
283
284
|
}
|
|
284
285
|
}
|
package/README.md
CHANGED
|
@@ -147,7 +147,7 @@ React Suite is [MIT licensed][license]. Copyright (c) 2016-present, HYPERS.
|
|
|
147
147
|
[rsuite-design]: https://rsuitejs.com/design/default
|
|
148
148
|
[live-preview-on-codesandbox]: https://codesandbox.io/s/rsuite-template-5vq6zo2z5l
|
|
149
149
|
[rsuite-doc-guide]: https://rsuitejs.com/en/guide/introduction
|
|
150
|
-
[rsuite-doc-guide-themes]: https://rsuitejs.com/en/guide/
|
|
150
|
+
[rsuite-doc-guide-themes]: https://rsuitejs.com/en/guide/customization
|
|
151
151
|
[rsuite-doc-guide-intl]: https://rsuitejs.com/en/guide/intl
|
|
152
152
|
[rsuite-doc-guide-rtl]: https://rsuitejs.com/en/guide/rtl
|
|
153
153
|
[rsuite-components-overview]: https://rsuitejs.com/en/components/overview
|
|
@@ -37,34 +37,59 @@
|
|
|
37
37
|
margin: 0 !important;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
// <Dropdown> within <Sidenav>
|
|
41
|
+
> .rs-dropdown {
|
|
42
|
+
// Submenu toggle
|
|
43
|
+
.rs-dropdown-item-toggle {
|
|
44
|
+
display: block;
|
|
45
|
+
width: 100%;
|
|
46
|
+
text-align: start;
|
|
47
|
+
background: none;
|
|
48
|
+
padding-right: (@sidenav-padding-horizontal + @sidenav-dropdown-toggle-caret-width);
|
|
49
|
+
position: relative;
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
text-align: start;
|
|
51
|
-
background: none;
|
|
51
|
+
.rs-sidenav-collapse-in & {
|
|
52
|
+
padding-left: @sidenav-level2-retract;
|
|
53
|
+
}
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
&:focus {
|
|
56
|
+
outline: 0;
|
|
57
|
+
}
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
&:focus-visible {
|
|
60
|
+
.focus-ring(inset);
|
|
59
61
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
.high-contrast-mode({
|
|
63
|
+
.focus-ring(slim-inset);
|
|
64
|
+
});
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
z-index: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Submenu toggle icon
|
|
70
|
+
&-icon {
|
|
71
|
+
position: absolute;
|
|
72
|
+
right: @sidenav-padding-horizontal;
|
|
73
|
+
top: @sidenav-children-padding-vertical;
|
|
74
|
+
width: auto;
|
|
75
|
+
height: @sidenav-dropdown-toggle-caret-width;
|
|
76
|
+
transform: rotate(90deg);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Expanded submenu toggle icon
|
|
81
|
+
.rs-dropdown-item-expand .rs-dropdown-item-toggle-icon {
|
|
82
|
+
transform: rotate(270deg);
|
|
65
83
|
}
|
|
66
84
|
}
|
|
67
85
|
|
|
86
|
+
.high-contrast-mode({
|
|
87
|
+
.rs-dropdown-toggle,
|
|
88
|
+
.rs-dropdown-menu {
|
|
89
|
+
border: none;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
|
|
68
93
|
.rs-sidenav-item:focus-visible {
|
|
69
94
|
.focus-ring(inset);
|
|
70
95
|
|
|
@@ -112,7 +137,7 @@
|
|
|
112
137
|
|
|
113
138
|
// Sidenav is usually placed by the left/right edge of the page
|
|
114
139
|
// thus use an inset focus ring to prevent overflow clipping
|
|
115
|
-
&:focus {
|
|
140
|
+
&:focus-visible {
|
|
116
141
|
.focus-ring(inset);
|
|
117
142
|
}
|
|
118
143
|
|
|
@@ -225,32 +250,17 @@
|
|
|
225
250
|
transform: rotate(180deg);
|
|
226
251
|
}
|
|
227
252
|
|
|
228
|
-
.rs-dropdown-item.rs-dropdown-item-expand
|
|
229
|
-
> .rs-dropdown-item-toggle
|
|
230
|
-
> .rs-dropdown-item-toggle-icon {
|
|
231
|
-
transform: rotate(270deg);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
253
|
// Dropdown menu
|
|
235
|
-
|
|
254
|
+
.rs-dropdown-menu {
|
|
236
255
|
.reset-sidenav-dropdown-menu();
|
|
256
|
+
}
|
|
237
257
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
> .rs-dropdown-menu-toggle {
|
|
243
|
-
display: block;
|
|
244
|
-
padding-right: (@sidenav-padding-horizontal + @sidenav-dropdown-toggle-caret-width);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
> .rs-dropdown-menu {
|
|
248
|
-
.reset-sidenav-dropdown-menu();
|
|
249
|
-
}
|
|
258
|
+
// Submenu
|
|
259
|
+
.rs-dropdown-item-submenu {
|
|
260
|
+
padding: 0;
|
|
250
261
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
262
|
+
&:hover {
|
|
263
|
+
background-color: transparent;
|
|
254
264
|
}
|
|
255
265
|
}
|
|
256
266
|
}
|
|
@@ -283,21 +293,6 @@
|
|
|
283
293
|
// @warn Here we can only use absolute positioning because of the limitations of using <Dropdown/> component.
|
|
284
294
|
|
|
285
295
|
.rs-dropdown-item-submenu {
|
|
286
|
-
> .rs-dropdown-item-toggle {
|
|
287
|
-
padding-left: @sidenav-level2-retract;
|
|
288
|
-
padding-right: (@sidenav-padding-horizontal + @sidenav-dropdown-toggle-caret-width);
|
|
289
|
-
position: relative;
|
|
290
|
-
|
|
291
|
-
> .rs-dropdown-item-toggle-icon {
|
|
292
|
-
position: absolute;
|
|
293
|
-
right: @sidenav-padding-horizontal;
|
|
294
|
-
top: @sidenav-children-padding-vertical;
|
|
295
|
-
width: auto;
|
|
296
|
-
height: @sidenav-dropdown-toggle-caret-width;
|
|
297
|
-
transform: rotate(90deg);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
296
|
> .rs-dropdown-item-menu-icon {
|
|
302
297
|
padding-top: @sidenav-children-padding-vertical;
|
|
303
298
|
padding-bottom: @sidenav-children-padding-vertical;
|
|
@@ -342,7 +337,7 @@
|
|
|
342
337
|
// supplement padding
|
|
343
338
|
padding-left: @sidenav-default-width;
|
|
344
339
|
|
|
345
|
-
&:focus {
|
|
340
|
+
&:focus-visible {
|
|
346
341
|
.focus-ring();
|
|
347
342
|
|
|
348
343
|
.high-contrast-mode({
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
text-align: left;
|
|
35
35
|
margin: 0 0 4px 0;
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
&-label {
|
|
38
38
|
position: relative;
|
|
39
39
|
margin: 0;
|
|
40
40
|
//text gap
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
font-size: @picker-tree-node-font-size;
|
|
45
45
|
line-height: @picker-tree-node-line-height;
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
&-content {
|
|
48
48
|
padding: @custom-picker-tree-node-padding-vertical @picker-tree-node-padding-horizontal
|
|
49
49
|
@custom-picker-tree-node-padding-vertical @picker-tree-arrow-down-gap;
|
|
50
50
|
display: inline-block;
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
&-active &-label-content {
|
|
63
63
|
.picker-item-active();
|
|
64
64
|
|
|
65
65
|
color: var(--rs-text-link);
|
package/cjs/Affix/Affix.js
CHANGED
|
@@ -28,6 +28,7 @@ function useOffset(mountRef) {
|
|
|
28
28
|
setOffset = _useState[1];
|
|
29
29
|
|
|
30
30
|
var updateOffset = (0, _react.useCallback)(function () {
|
|
31
|
+
// FIXME upgrade dom-lib
|
|
31
32
|
setOffset((0, _getOffset.default)(mountRef.current));
|
|
32
33
|
}, [mountRef]); // Update after the element size changes
|
|
33
34
|
|
|
@@ -101,10 +101,11 @@ var scrollTo = function scrollTo(time, row) {
|
|
|
101
101
|
var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
|
|
102
102
|
|
|
103
103
|
if (node && container) {
|
|
104
|
-
var
|
|
105
|
-
top = _ref2.top;
|
|
104
|
+
var position = (0, _getPosition.default)(node, container);
|
|
106
105
|
|
|
107
|
-
|
|
106
|
+
if (position) {
|
|
107
|
+
(0, _utils.scrollTopAnimation)(container, position.top, (0, _scrollTop.default)(container) !== 0);
|
|
108
|
+
}
|
|
108
109
|
}
|
|
109
110
|
});
|
|
110
111
|
};
|
|
@@ -134,7 +135,9 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
134
135
|
showMeridian: showMeridian
|
|
135
136
|
}); // The currently selected time scrolls to the visible range.
|
|
136
137
|
|
|
137
|
-
show &&
|
|
138
|
+
if (show && rowRef.current) {
|
|
139
|
+
scrollTo(time, rowRef.current);
|
|
140
|
+
}
|
|
138
141
|
}, [date, format, show, showMeridian]);
|
|
139
142
|
|
|
140
143
|
var handleClick = function handleClick(type, d, event) {
|
|
@@ -9,7 +9,11 @@ export interface CarouselProps extends WithAsProps {
|
|
|
9
9
|
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
10
10
|
/** Button shape */
|
|
11
11
|
shape?: 'dot' | 'bar';
|
|
12
|
-
/**
|
|
12
|
+
/** Active element index */
|
|
13
|
+
activeIndex?: number;
|
|
14
|
+
/** Defaul initial index */
|
|
15
|
+
defaultActiveIndex?: number;
|
|
16
|
+
/** Callback fired when the active item manually changes */
|
|
13
17
|
onSelect?: (index: number, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
14
18
|
/** Callback fired when a slide transition starts */
|
|
15
19
|
onSlideStart?: (index: number, event?: React.ChangeEvent<HTMLInputElement>) => void;
|
package/cjs/Carousel/Carousel.js
CHANGED
|
@@ -35,10 +35,13 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
35
35
|
autoplay = props.autoplay,
|
|
36
36
|
_props$autoplayInterv = props.autoplayInterval,
|
|
37
37
|
autoplayInterval = _props$autoplayInterv === void 0 ? 4000 : _props$autoplayInterv,
|
|
38
|
+
activeIndexProp = props.activeIndex,
|
|
39
|
+
_props$defaultActiveI = props.defaultActiveIndex,
|
|
40
|
+
defaultActiveIndex = _props$defaultActiveI === void 0 ? 0 : _props$defaultActiveI,
|
|
38
41
|
onSelect = props.onSelect,
|
|
39
42
|
onSlideStart = props.onSlideStart,
|
|
40
43
|
onSlideEnd = props.onSlideEnd,
|
|
41
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "children", "classPrefix", "className", "placement", "shape", "autoplay", "autoplayInterval", "onSelect", "onSlideStart", "onSlideEnd"]);
|
|
44
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "children", "classPrefix", "className", "placement", "shape", "autoplay", "autoplayInterval", "activeIndex", "defaultActiveIndex", "onSelect", "onSlideStart", "onSlideEnd"]);
|
|
42
45
|
|
|
43
46
|
var _useCustom = (0, _utils.useCustom)('Carousel'),
|
|
44
47
|
rtl = _useCustom.rtl;
|
|
@@ -54,17 +57,24 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
54
57
|
var vertical = placement === 'left' || placement === 'right';
|
|
55
58
|
var lengthKey = vertical ? 'height' : 'width';
|
|
56
59
|
|
|
60
|
+
var _useControlled = (0, _utils.useControlled)(activeIndexProp, defaultActiveIndex),
|
|
61
|
+
activeIndex = _useControlled[0],
|
|
62
|
+
setActiveIndex = _useControlled[1];
|
|
63
|
+
|
|
57
64
|
var _useState = (0, _react.useState)(0),
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
lastIndex = _useState[0],
|
|
66
|
+
setLastIndex = _useState[1];
|
|
60
67
|
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
setLastIndex = _useState2[1];
|
|
68
|
+
var rootRef = (0, _react.useRef)(null); // Set a timer for automatic playback.
|
|
69
|
+
// `autoplay` needs to be cast to boolean type to avoid undefined parameters.
|
|
64
70
|
|
|
65
|
-
var
|
|
71
|
+
var _useTimeout = (0, _utils.useTimeout)(function () {
|
|
72
|
+
return handleSlide();
|
|
73
|
+
}, autoplayInterval, !!autoplay && count > 1),
|
|
74
|
+
clear = _useTimeout.clear,
|
|
75
|
+
reset = _useTimeout.reset;
|
|
66
76
|
|
|
67
|
-
var handleSlide = function
|
|
77
|
+
var handleSlide = (0, _react.useCallback)(function (nextActiveIndex, event) {
|
|
68
78
|
if (!rootRef.current) {
|
|
69
79
|
return;
|
|
70
80
|
}
|
|
@@ -77,7 +87,7 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
77
87
|
onSlideStart === null || onSlideStart === void 0 ? void 0 : onSlideStart(nextIndex, event);
|
|
78
88
|
setLastIndex(nextActiveIndex == null ? activeIndex : nextIndex);
|
|
79
89
|
reset();
|
|
80
|
-
};
|
|
90
|
+
}, [activeIndex, count, setActiveIndex, clear, onSlideStart, reset]);
|
|
81
91
|
|
|
82
92
|
var handleChange = function handleChange(event) {
|
|
83
93
|
var activeIndex = +event.target.value;
|
|
@@ -87,13 +97,7 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
87
97
|
|
|
88
98
|
var handleTransitionEnd = (0, _react.useCallback)(function (event) {
|
|
89
99
|
onSlideEnd === null || onSlideEnd === void 0 ? void 0 : onSlideEnd(activeIndex, event);
|
|
90
|
-
}, [activeIndex, onSlideEnd]);
|
|
91
|
-
// `autoplay` needs to be cast to boolean type to avoid undefined parameters.
|
|
92
|
-
|
|
93
|
-
var _useTimeout = (0, _utils.useTimeout)(handleSlide, autoplayInterval, !!autoplay && count > 1),
|
|
94
|
-
clear = _useTimeout.clear,
|
|
95
|
-
reset = _useTimeout.reset;
|
|
96
|
-
|
|
100
|
+
}, [activeIndex, onSlideEnd]);
|
|
97
101
|
var uniqueId = (0, _react.useMemo)(function () {
|
|
98
102
|
return (0, _utils.guid)();
|
|
99
103
|
}, []);
|
|
@@ -165,6 +169,8 @@ Carousel.propTypes = {
|
|
|
165
169
|
as: _propTypes.default.elementType,
|
|
166
170
|
className: _propTypes.default.string,
|
|
167
171
|
classPrefix: _propTypes.default.string,
|
|
172
|
+
activeIndex: _propTypes.default.number,
|
|
173
|
+
defaultActiveIndex: _propTypes.default.number,
|
|
168
174
|
autoplay: _propTypes.default.bool,
|
|
169
175
|
autoplayInterval: _propTypes.default.number,
|
|
170
176
|
placement: _propTypes.default.oneOf(['top', 'bottom', 'left', 'right']),
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -163,7 +163,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
163
163
|
var getSearchResult = (0, _react.useCallback)(function (keyword) {
|
|
164
164
|
var items = [];
|
|
165
165
|
var result = flattenData.filter(function (item) {
|
|
166
|
-
if (item[childrenKey]) {
|
|
166
|
+
if (!parentSelectable && item[childrenKey]) {
|
|
167
167
|
return false;
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -179,7 +179,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
return items;
|
|
182
|
-
}, [childrenKey, flattenData, someKeyword]); // Used to hover the focuse item when trigger `onKeydown`
|
|
182
|
+
}, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`
|
|
183
183
|
|
|
184
184
|
var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
|
|
185
185
|
rtl: rtl,
|
|
@@ -87,7 +87,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
87
87
|
if (activeItem) {
|
|
88
88
|
var position = (0, _getPosition.default)(activeItem, column); // Let the active option scroll into view.
|
|
89
89
|
|
|
90
|
-
(0, _scrollTop.default)(column, position.top);
|
|
90
|
+
(0, _scrollTop.default)(column, position === null || position === void 0 ? void 0 : position.top);
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
}, [prefix]);
|
|
@@ -79,17 +79,20 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
79
79
|
controlledValue = props.value,
|
|
80
80
|
_props$defaultValue = props.defaultValue,
|
|
81
81
|
defaultValue = _props$defaultValue === void 0 ? emptyArray : _props$defaultValue,
|
|
82
|
-
|
|
82
|
+
_props$defaultExpandA = props.defaultExpandAll,
|
|
83
|
+
defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
83
84
|
_props$disabledItemVa = props.disabledItemValues,
|
|
84
85
|
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
85
86
|
controlledExpandItemValues = props.expandItemValues,
|
|
86
|
-
|
|
87
|
+
_props$defaultExpandI = props.defaultExpandItemValues,
|
|
88
|
+
defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,
|
|
87
89
|
_props$height = props.height,
|
|
88
90
|
height = _props$height === void 0 ? 360 : _props$height,
|
|
89
91
|
menuStyle = props.menuStyle,
|
|
90
92
|
_props$searchable = props.searchable,
|
|
91
93
|
searchable = _props$searchable === void 0 ? true : _props$searchable,
|
|
92
|
-
virtualized = props.virtualized,
|
|
94
|
+
_props$virtualized = props.virtualized,
|
|
95
|
+
virtualized = _props$virtualized === void 0 ? false : _props$virtualized,
|
|
93
96
|
className = props.className,
|
|
94
97
|
_props$classPrefix = props.classPrefix,
|
|
95
98
|
classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
|
|
@@ -271,15 +274,17 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
271
274
|
};
|
|
272
275
|
|
|
273
276
|
var focusActiveNode = (0, _react.useCallback)(function () {
|
|
274
|
-
(
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
277
|
+
if (listRef.current) {
|
|
278
|
+
(0, _treeUtils.focusToActiveTreeNode)({
|
|
279
|
+
list: listRef.current,
|
|
280
|
+
valueKey: valueKey,
|
|
281
|
+
selector: "." + checkTreePrefix('node-active'),
|
|
282
|
+
activeNode: activeNode,
|
|
283
|
+
virtualized: virtualized,
|
|
284
|
+
container: treeViewRef.current,
|
|
285
|
+
formattedNodes: getFormattedNodes()
|
|
286
|
+
});
|
|
287
|
+
}
|
|
283
288
|
}, [checkTreePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);
|
|
284
289
|
(0, _react.useEffect)(function () {
|
|
285
290
|
setValue((0, _utils2.getCheckTreePickerDefaultValue)(value, uncheckableItemValues));
|
|
@@ -36,9 +36,9 @@ export declare function isEveryFirstLevelNodeUncheckable(nodes: TreeNodesType, u
|
|
|
36
36
|
* get node uncheckable state
|
|
37
37
|
* @param {*} node
|
|
38
38
|
*/
|
|
39
|
-
export declare function isNodeUncheckable(node: any, props:
|
|
40
|
-
export declare function getFormattedTree(data: any[], nodes: TreeNodesType, props:
|
|
41
|
-
export declare function getDisabledState(nodes: TreeNodesType, node: TreeNodeType, props:
|
|
39
|
+
export declare function isNodeUncheckable(node: any, props: Required<Pick<CheckTreePickerProps, 'uncheckableItemValues' | 'valueKey'>>): boolean;
|
|
40
|
+
export declare function getFormattedTree(data: any[], nodes: TreeNodesType, props: Required<Pick<CheckTreePickerProps, 'childrenKey' | 'cascade'>>): any[];
|
|
41
|
+
export declare function getDisabledState(nodes: TreeNodesType, node: TreeNodeType, props: Required<Pick<CheckTreePickerProps, 'disabledItemValues' | 'valueKey'>>): boolean;
|
|
42
42
|
export declare function getCheckTreePickerDefaultValue(value: any[], uncheckableItemValues: any[]): any[];
|
|
43
43
|
export declare function getSelectedItems(nodes: TreeNodesType, value: (string | number)[], valueKey: string): TreeNodeType[];
|
|
44
44
|
export declare function getNodeCheckState({ nodes, node, cascade, childrenKey }: any): CheckStateType;
|
|
@@ -136,7 +136,7 @@ function getFormattedTree(data, nodes, props) {
|
|
|
136
136
|
var curNode = nodes[node.refKey];
|
|
137
137
|
|
|
138
138
|
if (curNode) {
|
|
139
|
-
var _node;
|
|
139
|
+
var _node$childrenKey;
|
|
140
140
|
|
|
141
141
|
var checkState = !(0, _isUndefined2.default)(cascade) ? getNodeCheckState({
|
|
142
142
|
node: curNode,
|
|
@@ -150,7 +150,7 @@ function getFormattedTree(data, nodes, props) {
|
|
|
150
150
|
formatted.parent = curNode.parent;
|
|
151
151
|
formatted.checkState = checkState;
|
|
152
152
|
|
|
153
|
-
if (((_node = node[childrenKey]) === null || _node === void 0 ? void 0 : _node.length) > 0) {
|
|
153
|
+
if (((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) > 0) {
|
|
154
154
|
formatted[childrenKey] = getFormattedTree(formatted[childrenKey], nodes, props);
|
|
155
155
|
}
|
|
156
156
|
}
|