rsuite 5.1.0 → 5.2.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.
Files changed (174) hide show
  1. package/Button/styles/index.less +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/README.md +0 -1
  4. package/Slider/styles/index.less +20 -14
  5. package/Toggle/styles/index.less +48 -27
  6. package/Toggle/styles/mixin.less +16 -14
  7. package/cjs/@types/common.d.ts +8 -2
  8. package/cjs/Affix/Affix.js +3 -3
  9. package/cjs/Animation/Collapse.js +9 -7
  10. package/cjs/Animation/Transition.js +4 -2
  11. package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
  12. package/cjs/AutoComplete/AutoComplete.js +7 -4
  13. package/cjs/Calendar/TimeDropdown.js +5 -3
  14. package/cjs/Cascader/Cascader.d.ts +1 -1
  15. package/cjs/Cascader/DropdownMenu.js +6 -5
  16. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  17. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  18. package/cjs/Checkbox/Checkbox.d.ts +3 -3
  19. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  20. package/cjs/DOMHelper/index.d.ts +12 -27
  21. package/cjs/DOMHelper/index.js +4 -3
  22. package/cjs/DOMHelper/isElement.d.ts +2 -0
  23. package/cjs/DOMHelper/isElement.js +11 -0
  24. package/cjs/DatePicker/DatePicker.d.ts +3 -3
  25. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  26. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
  27. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  28. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  29. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  30. package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
  31. package/cjs/Form/Form.d.ts +1 -1
  32. package/cjs/FormControl/FormControl.d.ts +9 -3
  33. package/cjs/Input/Input.d.ts +2 -1
  34. package/cjs/InputNumber/InputNumber.js +2 -2
  35. package/cjs/InputPicker/InputPicker.js +2 -2
  36. package/cjs/List/helper/useSortHelper.js +11 -6
  37. package/cjs/Menu/MenuItem.d.ts +1 -1
  38. package/cjs/Menu/Menubar.d.ts +1 -1
  39. package/cjs/Message/Message.js +13 -11
  40. package/cjs/Modal/Modal.js +5 -3
  41. package/cjs/Modal/utils.js +7 -5
  42. package/cjs/Notification/Notification.js +6 -3
  43. package/cjs/Overlay/Modal.js +14 -11
  44. package/cjs/Overlay/ModalManager.js +19 -7
  45. package/cjs/Overlay/OverlayTrigger.js +2 -2
  46. package/cjs/Overlay/Position.js +20 -13
  47. package/cjs/Overlay/positionUtils.js +16 -8
  48. package/cjs/Panel/Panel.d.ts +1 -1
  49. package/cjs/Picker/DropdownMenu.js +10 -6
  50. package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
  51. package/cjs/Picker/PickerOverlay.js +5 -3
  52. package/cjs/Picker/PickerToggle.d.ts +6 -0
  53. package/cjs/Picker/PickerToggle.js +9 -3
  54. package/cjs/Picker/SearchBar.d.ts +1 -1
  55. package/cjs/Picker/utils.d.ts +2 -2
  56. package/cjs/Radio/Radio.d.ts +1 -1
  57. package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
  58. package/cjs/RangeSlider/RangeSlider.js +9 -5
  59. package/cjs/Rate/Character.js +2 -2
  60. package/cjs/Ripple/Ripple.js +6 -7
  61. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  62. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  63. package/cjs/Slider/Graduated.js +1 -1
  64. package/cjs/Slider/Handle.js +10 -5
  65. package/cjs/Slider/ProgressBar.js +1 -1
  66. package/cjs/Slider/Slider.js +9 -5
  67. package/cjs/Toggle/Toggle.d.ts +3 -6
  68. package/cjs/Toggle/Toggle.js +32 -27
  69. package/cjs/Tree/Tree.d.ts +3 -3
  70. package/cjs/TreePicker/TreeNode.d.ts +1 -1
  71. package/cjs/TreePicker/TreeNode.js +2 -2
  72. package/cjs/TreePicker/TreePicker.d.ts +1 -1
  73. package/cjs/Uploader/Uploader.d.ts +4 -4
  74. package/cjs/locales/fa_IR.js +8 -8
  75. package/cjs/utils/BrowserDetection.js +1 -1
  76. package/cjs/utils/index.d.ts +1 -0
  77. package/cjs/utils/index.js +7 -2
  78. package/cjs/utils/scrollTopAnimation.js +5 -5
  79. package/cjs/utils/treeUtils.d.ts +2 -2
  80. package/cjs/utils/useEventListener.js +4 -2
  81. package/cjs/utils/useIsMounted.d.ts +2 -0
  82. package/cjs/utils/useIsMounted.js +22 -0
  83. package/cjs/utils/usePortal.js +2 -2
  84. package/cjs/utils/useRootClose.js +10 -10
  85. package/dist/rsuite-rtl.css +146 -116
  86. package/dist/rsuite-rtl.min.css +1 -1
  87. package/dist/rsuite-rtl.min.css.map +1 -1
  88. package/dist/rsuite.css +146 -116
  89. package/dist/rsuite.js +720 -511
  90. package/dist/rsuite.js.map +1 -1
  91. package/dist/rsuite.min.css +1 -1
  92. package/dist/rsuite.min.css.map +1 -1
  93. package/dist/rsuite.min.js +1 -1
  94. package/dist/rsuite.min.js.map +1 -1
  95. package/esm/@types/common.d.ts +8 -2
  96. package/esm/Affix/Affix.js +1 -1
  97. package/esm/Animation/Collapse.js +2 -1
  98. package/esm/Animation/Transition.js +3 -2
  99. package/esm/AutoComplete/AutoComplete.d.ts +2 -2
  100. package/esm/AutoComplete/AutoComplete.js +8 -5
  101. package/esm/Calendar/TimeDropdown.js +2 -1
  102. package/esm/Cascader/Cascader.d.ts +1 -1
  103. package/esm/Cascader/DropdownMenu.js +4 -3
  104. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  105. package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  106. package/esm/Checkbox/Checkbox.d.ts +3 -3
  107. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  108. package/esm/DOMHelper/index.d.ts +12 -27
  109. package/esm/DOMHelper/index.js +2 -3
  110. package/esm/DOMHelper/isElement.d.ts +2 -0
  111. package/esm/DOMHelper/isElement.js +5 -0
  112. package/esm/DatePicker/DatePicker.d.ts +3 -3
  113. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  114. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
  115. package/esm/Disclosure/Disclosure.d.ts +1 -1
  116. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  117. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  118. package/esm/Dropdown/DropdownMenu.d.ts +2 -2
  119. package/esm/Form/Form.d.ts +1 -1
  120. package/esm/FormControl/FormControl.d.ts +9 -3
  121. package/esm/Input/Input.d.ts +2 -1
  122. package/esm/InputNumber/InputNumber.js +2 -2
  123. package/esm/InputPicker/InputPicker.js +1 -1
  124. package/esm/List/helper/useSortHelper.js +8 -4
  125. package/esm/Menu/MenuItem.d.ts +1 -1
  126. package/esm/Menu/Menubar.d.ts +1 -1
  127. package/esm/Message/Message.js +15 -13
  128. package/esm/Modal/Modal.js +3 -2
  129. package/esm/Modal/utils.js +6 -5
  130. package/esm/Notification/Notification.js +7 -4
  131. package/esm/Overlay/Modal.js +11 -8
  132. package/esm/Overlay/ModalManager.js +6 -1
  133. package/esm/Overlay/OverlayTrigger.js +1 -1
  134. package/esm/Overlay/Position.js +14 -8
  135. package/esm/Overlay/positionUtils.js +5 -1
  136. package/esm/Panel/Panel.d.ts +1 -1
  137. package/esm/Picker/DropdownMenu.js +3 -1
  138. package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
  139. package/esm/Picker/PickerOverlay.js +2 -1
  140. package/esm/Picker/PickerToggle.d.ts +6 -0
  141. package/esm/Picker/PickerToggle.js +8 -3
  142. package/esm/Picker/SearchBar.d.ts +1 -1
  143. package/esm/Picker/utils.d.ts +2 -2
  144. package/esm/Radio/Radio.d.ts +1 -1
  145. package/esm/RadioGroup/RadioGroup.d.ts +1 -1
  146. package/esm/RangeSlider/RangeSlider.js +4 -2
  147. package/esm/Rate/Character.js +2 -2
  148. package/esm/Ripple/Ripple.js +4 -3
  149. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  150. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  151. package/esm/Slider/Graduated.js +1 -1
  152. package/esm/Slider/Handle.js +5 -2
  153. package/esm/Slider/ProgressBar.js +1 -1
  154. package/esm/Slider/Slider.js +4 -2
  155. package/esm/Toggle/Toggle.d.ts +3 -6
  156. package/esm/Toggle/Toggle.js +34 -29
  157. package/esm/Tree/Tree.d.ts +3 -3
  158. package/esm/TreePicker/TreeNode.d.ts +1 -1
  159. package/esm/TreePicker/TreeNode.js +1 -1
  160. package/esm/TreePicker/TreePicker.d.ts +1 -1
  161. package/esm/Uploader/Uploader.d.ts +4 -4
  162. package/esm/locales/fa_IR.js +8 -8
  163. package/esm/utils/BrowserDetection.js +1 -1
  164. package/esm/utils/index.d.ts +1 -0
  165. package/esm/utils/index.js +2 -1
  166. package/esm/utils/scrollTopAnimation.js +2 -2
  167. package/esm/utils/treeUtils.d.ts +2 -2
  168. package/esm/utils/useEventListener.js +1 -1
  169. package/esm/utils/useIsMounted.d.ts +2 -0
  170. package/esm/utils/useIsMounted.js +16 -0
  171. package/esm/utils/usePortal.js +2 -2
  172. package/esm/utils/useRootClose.js +8 -6
  173. package/package.json +4 -4
  174. package/styles/plugins/palette.js +10 -1
@@ -23,7 +23,7 @@
23
23
  text-decoration: none;
24
24
  color: var(--rs-btn-default-text);
25
25
  background-color: var(--rs-btn-default-bg);
26
- border-radius: 6px;
26
+ border-radius: @border-radius;
27
27
 
28
28
  .high-contrast-mode({
29
29
  transition: none;
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ # [5.2.0](https://github.com/rsuite/rsuite/compare/v5.1.0...v5.2.0) (2021-11-05)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **Button:** Add button radius variable ([#2106](https://github.com/rsuite/rsuite/issues/2106)) ([63a61c4](https://github.com/rsuite/rsuite/commit/63a61c4eede3b22c91eef126b72fc1afb280a18e))
6
+ - **less:** palette function accepts rgb color ([#2107](https://github.com/rsuite/rsuite/issues/2107)) ([92c2dc5](https://github.com/rsuite/rsuite/commit/92c2dc5cf9273a26de189cee6e79b57740e17b49))
7
+ - can't perform a React state update on an unmounted component ([#2105](https://github.com/rsuite/rsuite/issues/2105)) ([44439af](https://github.com/rsuite/rsuite/commit/44439afdfdf481887a78fbd86f527e29eafb1a78))
8
+ - **dts:** remove redundant generics on SyntheticEvent ([#2099](https://github.com/rsuite/rsuite/issues/2099)) ([30ccd68](https://github.com/rsuite/rsuite/commit/30ccd685fb09092fb1fa693929cdba5d26967f96))
9
+ - **fa_IR:** trim long text of days to shorter ones ([#2076](https://github.com/rsuite/rsuite/issues/2076)) ([a893b82](https://github.com/rsuite/rsuite/commit/a893b82b835f9268a0053ede64565c96e6110095))
10
+ - **FormControl:** infer additional props from accepter ([#2084](https://github.com/rsuite/rsuite/issues/2084)) ([5d39fed](https://github.com/rsuite/rsuite/commit/5d39fed6e56418e85367df9dd5aeb7b49774380b))
11
+ - **Input:** correct value argument type for onChange callback ([#2087](https://github.com/rsuite/rsuite/issues/2087)) ([7a4ff02](https://github.com/rsuite/rsuite/commit/7a4ff02e1e01b40f2e2bffea105181500848d2c9))
12
+ - **Slider,RangeSlider:** reverse marks order in vertical orientation ([#2080](https://github.com/rsuite/rsuite/issues/2080)) ([07fdd09](https://github.com/rsuite/rsuite/commit/07fdd09bb504ea7e876e6e6b4da439a725f716a9))
13
+
1
14
  # [5.1.0](https://github.com/rsuite/rsuite/compare/v5.0.3...v5.1.0) (2021-10-29)
2
15
 
3
16
  ### Bug Fixes
package/README.md CHANGED
@@ -183,7 +183,6 @@ React Suite is [MIT licensed][license]. Copyright (c) 2016-present, HYPERS.
183
183
  [npm-home]: https://www.npmjs.com/package/rsuite
184
184
  [actions-svg]: https://github.com/rsuite/rsuite/workflows/Node.js%20CI/badge.svg?branch=master
185
185
  [actions-home]: https://github.com/rsuite/rsuite/actions?query=branch%3Amaster+workflow%3A%22Node.js+CI%22
186
- [coverage-home]: https://coveralls.io/github/rsuite/rsuite?branch=master
187
186
  [discord-svg]: https://img.shields.io/badge/Discord-Join%20chat%20%E2%86%92-738bd7.svg
188
187
  [discord-invite]: https://discord.gg/R8mnjwh
189
188
  [rsuite-design]: https://rsuitejs.com/design/default
@@ -83,9 +83,13 @@
83
83
  }
84
84
  }
85
85
 
86
- .rs-slider-vertical &::before {
87
- left: ((@slider-handle-diameter - @slider-bar-side-length)/2);
88
- margin-top: (-@slider-handle-diameter / 2);
86
+ .rs-slider-vertical & {
87
+ top: unset;
88
+
89
+ &::before {
90
+ left: ((@slider-handle-diameter - @slider-bar-side-length)/2);
91
+ margin-top: (-@slider-handle-diameter / 2);
92
+ }
89
93
  }
90
94
  }
91
95
 
@@ -127,12 +131,12 @@
127
131
  .rs-slider-graduator {
128
132
  width: 100%;
129
133
 
130
- ul,
134
+ ol,
131
135
  li {
132
136
  list-style: none;
133
137
  }
134
138
 
135
- > ul {
139
+ > ol {
136
140
  display: flex;
137
141
  padding-left: 0;
138
142
  width: 100%;
@@ -157,7 +161,8 @@
157
161
 
158
162
  // Vertical styles
159
163
  .rs-slider-vertical & {
160
- top: -4px;
164
+ top: unset;
165
+ bottom: -4px;
161
166
  margin-left: -1px;
162
167
  }
163
168
  }
@@ -168,8 +173,8 @@
168
173
  // Vertical styles
169
174
  .rs-slider-vertical & {
170
175
  left: 0;
171
- top: auto;
172
- bottom: -4px;
176
+ bottom: unset;
177
+ top: -4px;
173
178
  }
174
179
  }
175
180
 
@@ -188,10 +193,10 @@
188
193
  display: block;
189
194
  height: 100%;
190
195
 
191
- > ul {
196
+ > ol {
192
197
  width: @slider-bar-side-length;
193
198
  display: flex;
194
- flex-direction: column;
199
+ flex-direction: column-reverse;
195
200
  height: 100%;
196
201
  padding: 0;
197
202
 
@@ -212,7 +217,7 @@
212
217
 
213
218
  .rs-slider-vertical & {
214
219
  width: @slider-bar-side-length;
215
- border-radius: (@slider-bar-side-length / 2) (@slider-bar-side-length / 2) 0 0;
220
+ border-radius: 0 0 (@slider-bar-side-length / 2) (@slider-bar-side-length / 2);
216
221
  }
217
222
  }
218
223
 
@@ -222,7 +227,8 @@
222
227
 
223
228
  // Reset all setting
224
229
  .rs-slider-mark {
225
- top: -8px;
230
+ top: unset;
231
+ bottom: -8px;
226
232
  left: (@slider-bar-side-length + @slider-mark-margin-top);
227
233
 
228
234
  &-content {
@@ -231,7 +237,7 @@
231
237
  }
232
238
 
233
239
  .rs-slider-mark-last {
234
- top: auto;
235
- bottom: -8px;
240
+ bottom: unset;
241
+ top: -8px;
236
242
  }
237
243
  }
@@ -8,10 +8,23 @@
8
8
 
9
9
  // The switch trail
10
10
  // todo: Consider renaming as .rs-toggle
11
- .rs-btn-toggle {
11
+ .rs-toggle {
12
+ position: relative;
13
+
12
14
  // Default size is middle.
13
- .btn-toggle(md);
15
+ .toggle(md);
16
+ }
14
17
 
18
+ .rs-toggle-input {
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ right: 0;
23
+ bottom: 0;
24
+ opacity: 0;
25
+ }
26
+
27
+ .rs-toggle-presentation {
15
28
  position: relative;
16
29
  display: inline-block;
17
30
  box-sizing: border-box;
@@ -27,25 +40,19 @@
27
40
  box-shadow: inset 0 0 0 1px var(--rs-toggle-thumb);
28
41
  });
29
42
 
43
+ .rs-toggle-input:focus-visible + & {
44
+ .focus-ring();
45
+
46
+ .high-contrast-mode({
47
+ box-shadow: inset 0 0 0 1px var(--rs-toggle-thumb), var(--rs-state-focus-shadow);;
48
+ });
49
+ }
50
+
30
51
  &:hover {
31
52
  background-color: var(--rs-toggle-hover-bg);
32
53
  }
33
54
 
34
55
  // The switch thumb
35
- &-loader {
36
- position: absolute;
37
- transition: left @toggle-transition, margin-left @toggle-transition, width @toggle-transition;
38
-
39
- .rs-loader-spin {
40
- &::before {
41
- border-color: var(--rs-toggle-loader-ring);
42
- }
43
- &::after {
44
- border-top-color: var(--rs-toggle-loader-rotor);
45
- }
46
- }
47
- }
48
-
49
56
  &::after {
50
57
  content: '';
51
58
  cursor: pointer;
@@ -59,7 +66,7 @@
59
66
  }
60
67
 
61
68
  // disabled state
62
- &&-disabled {
69
+ .rs-toggle-disabled & {
63
70
  background-color: var(--rs-toggle-disabled-bg);
64
71
  color: var(--rs-toggle-disabled-thumb);
65
72
  box-shadow: inset 0 0 0 1px var(--rs-toggle-disabled-thumb);
@@ -67,7 +74,7 @@
67
74
  }
68
75
 
69
76
  // checked state
70
- &&-checked {
77
+ .rs-toggle-checked & {
71
78
  background-color: var(--rs-toggle-checked-bg);
72
79
  color: var(--rs-toggle-checked-thumb);
73
80
  box-shadow: none;
@@ -77,12 +84,12 @@
77
84
  }
78
85
  }
79
86
 
80
- &&-disabled&-checked {
87
+ .rs-toggle-disabled.rs-toggle-checked & {
81
88
  background-color: var(--rs-toggle-checked-disabled-bg);
82
89
  color: var(--rs-toggle-checked-disabled-thumb);
83
90
  }
84
91
 
85
- &&-loading {
92
+ .rs-toggle-loading & {
86
93
  &::after {
87
94
  display: none;
88
95
  }
@@ -90,7 +97,7 @@
90
97
  }
91
98
 
92
99
  // Label text inside the switch
93
- .rs-btn-toggle-inner {
100
+ .rs-toggle-inner {
94
101
  display: block;
95
102
  transition: margin @toggle-transition;
96
103
 
@@ -99,17 +106,31 @@
99
106
  });
100
107
  }
101
108
 
109
+ .rs-toggle-loader {
110
+ position: absolute;
111
+ transition: left @toggle-transition, margin-left @toggle-transition, width @toggle-transition;
112
+
113
+ .rs-loader-spin {
114
+ &::before {
115
+ border-color: var(--rs-toggle-loader-ring);
116
+ }
117
+ &::after {
118
+ border-top-color: var(--rs-toggle-loader-rotor);
119
+ }
120
+ }
121
+ }
122
+
102
123
  // small
103
- .rs-btn-toggle-sm {
104
- .btn-toggle(sm);
124
+ .rs-toggle-sm {
125
+ .toggle(sm);
105
126
  }
106
127
 
107
128
  // middle
108
- .rs-btn-toggle-md {
109
- .btn-toggle(md);
129
+ .rs-toggle-md {
130
+ .toggle(md);
110
131
  }
111
132
 
112
133
  // large
113
- .rs-btn-toggle-lg {
114
- .btn-toggle(lg);
134
+ .rs-toggle-lg {
135
+ .toggle(lg);
115
136
  }
@@ -1,18 +1,20 @@
1
1
  .toggle-size-variant(@toogle-height,@min-width,@toggle-handle-gap,@toggle-inner-margin,@toggle-inner-font-size) {
2
2
  @handle-diameter: (@toogle-height - @toggle-handle-gap*2);
3
3
 
4
- height: @toogle-height;
5
- min-width: @min-width;
6
- border-radius: (@toogle-height / 2);
7
-
8
- &-loader {
4
+ .rs-toggle-loader {
9
5
  width: @handle-diameter;
10
6
  height: @handle-diameter;
11
7
  left: @toggle-handle-gap;
12
8
  top: @toggle-handle-gap;
13
9
  }
14
10
 
15
- &::after {
11
+ .rs-toggle-presentation {
12
+ height: @toogle-height;
13
+ min-width: @min-width;
14
+ border-radius: (@toogle-height / 2);
15
+ }
16
+
17
+ .rs-toggle-presentation::after {
16
18
  width: @handle-diameter;
17
19
  height: @handle-diameter;
18
20
  left: @toggle-handle-gap;
@@ -20,11 +22,11 @@
20
22
  border-radius: (@handle-diameter / 2);
21
23
  }
22
24
 
23
- &:active::after {
25
+ .rs-toggle-presentation:active::after {
24
26
  width: (@handle-diameter * @toggle-active-scale);
25
27
  }
26
28
 
27
- .rs-btn-toggle-inner {
29
+ .rs-toggle-inner {
28
30
  margin-left: @toogle-height;
29
31
  margin-right: @toggle-inner-margin;
30
32
  height: @toogle-height;
@@ -36,7 +38,7 @@
36
38
  }
37
39
  }
38
40
 
39
- &.rs-btn-toggle-checked {
41
+ &.rs-toggle-checked .rs-toggle-presentation {
40
42
  &::after {
41
43
  left: 100%;
42
44
  margin-left: -(@handle-diameter + @toggle-handle-gap);
@@ -46,20 +48,20 @@
46
48
  margin-left: -(@handle-diameter * @toggle-active-scale + @toggle-handle-gap);
47
49
  }
48
50
 
49
- .rs-btn-toggle-inner {
51
+ .rs-toggle-inner {
50
52
  margin-right: @toogle-height;
51
53
  margin-left: @toggle-inner-margin;
52
54
  }
53
55
  }
54
56
 
55
- &.rs-btn-toggle-checked &-loader {
57
+ &.rs-toggle-checked .rs-toggle-loader {
56
58
  left: 100%;
57
59
  margin-left: -(@handle-diameter + @toggle-handle-gap);
58
60
  }
59
61
  }
60
62
 
61
63
  // Small
62
- .btn-toggle(sm) {
64
+ .toggle(sm) {
63
65
  .toggle-size-variant(
64
66
  @toggle-sm-height,
65
67
  @toggle-sm-min-width,
@@ -70,7 +72,7 @@
70
72
  }
71
73
 
72
74
  // Middle
73
- .btn-toggle(md) {
75
+ .toggle(md) {
74
76
  .toggle-size-variant(
75
77
  @toggle-md-height,
76
78
  @toggle-md-min-width,
@@ -81,7 +83,7 @@
81
83
  }
82
84
 
83
85
  // Large
84
- .btn-toggle(lg) {
86
+ .toggle(lg) {
85
87
  .toggle-size-variant(
86
88
  @toggle-lg-height,
87
89
  @toggle-lg-min-width,
@@ -80,12 +80,18 @@ export interface PickerBaseProps<LocaleType = any> extends WithAsProps, Animatio
80
80
  /** Custom render extra footer */
81
81
  renderExtraFooter?: () => React.ReactNode;
82
82
  }
83
- export interface FormControlBaseProps<ValueType = any> {
83
+ export interface FormControlBaseProps<ValueType = React.InputHTMLAttributes<HTMLInputElement>['value']> {
84
+ /** Name of the form field */
85
+ name?: string;
84
86
  /** Initial value */
85
87
  defaultValue?: ValueType;
86
88
  /** Current value of the component. Creates a controlled component */
87
89
  value?: ValueType;
88
- /** Called after the value has been changed */
90
+ /**
91
+ * Called after the value has been changed
92
+ * todo Override event as React.ChangeEvent in components where onChange is delegated
93
+ * to an underlying <input> element
94
+ */
89
95
  onChange?: (value: ValueType, event: React.SyntheticEvent) => void;
90
96
  /** Set the component to be disabled and cannot be entered */
91
97
  disabled?: boolean;
@@ -15,7 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _domLib = require("dom-lib");
18
+ var _getOffset = _interopRequireDefault(require("dom-lib/getOffset"));
19
19
 
20
20
  var _utils = require("../utils");
21
21
 
@@ -28,7 +28,7 @@ function useOffset(mountRef) {
28
28
  setOffset = _useState[1];
29
29
 
30
30
  var updateOffset = (0, _react.useCallback)(function () {
31
- setOffset((0, _domLib.getOffset)(mountRef.current));
31
+ setOffset((0, _getOffset.default)(mountRef.current));
32
32
  }, [mountRef]); // Update after the element size changes
33
33
 
34
34
  (0, _utils.useElementResize)(function () {
@@ -51,7 +51,7 @@ function useContainerOffset(container) {
51
51
 
52
52
  (0, _react.useEffect)(function () {
53
53
  var node = typeof container === 'function' ? container() : container;
54
- setOffset(node ? (0, _domLib.getOffset)(node) : null);
54
+ setOffset(node ? (0, _getOffset.default)(node) : null);
55
55
  }, [container]);
56
56
  return offset;
57
57
  }
@@ -15,7 +15,9 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _domLib = require("dom-lib");
18
+ var _getStyle = _interopRequireDefault(require("dom-lib/getStyle"));
19
+
20
+ var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
19
21
 
20
22
  var _get = _interopRequireDefault(require("lodash/get"));
21
23
 
@@ -45,7 +47,7 @@ var MARGINS = {
45
47
  function defaultGetDimensionValue(dimension, elem) {
46
48
  var value = (0, _get.default)(elem, "offset" + (0, _capitalize.default)(dimension));
47
49
  var margins = MARGINS[dimension];
48
- return value + parseInt((0, _domLib.getStyle)(elem, margins[0]), 10) + parseInt((0, _domLib.getStyle)(elem, margins[1]), 10);
50
+ return value + parseInt((0, _getStyle.default)(elem, margins[0]), 10) + parseInt((0, _getStyle.default)(elem, margins[1]), 10);
49
51
  }
50
52
 
51
53
  function getScrollDimensionValue(elem, dimension) {
@@ -78,21 +80,21 @@ var Collapse = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
78
80
 
79
81
  var dimension = typeof dimensionProp === 'function' ? dimensionProp() : dimensionProp;
80
82
  var handleEnter = (0, _react.useCallback)(function (elem) {
81
- (0, _domLib.addStyle)(elem, dimension, 0);
83
+ (0, _addStyle.default)(elem, dimension, 0);
82
84
  }, [dimension]);
83
85
  var handleEntering = (0, _react.useCallback)(function (elem) {
84
- (0, _domLib.addStyle)(elem, dimension, getScrollDimensionValue(elem, dimension));
86
+ (0, _addStyle.default)(elem, dimension, getScrollDimensionValue(elem, dimension));
85
87
  }, [dimension]);
86
88
  var handleEntered = (0, _react.useCallback)(function (elem) {
87
- (0, _domLib.addStyle)(elem, dimension, 'auto');
89
+ (0, _addStyle.default)(elem, dimension, 'auto');
88
90
  }, [dimension]);
89
91
  var handleExit = (0, _react.useCallback)(function (elem) {
90
92
  var value = getDimensionValue ? getDimensionValue(dimension, elem) : 0;
91
- (0, _domLib.addStyle)(elem, dimension, value + "px");
93
+ (0, _addStyle.default)(elem, dimension, value + "px");
92
94
  }, [dimension, getDimensionValue]);
93
95
  var handleExiting = (0, _react.useCallback)(function (elem) {
94
96
  triggerBrowserReflow(elem);
95
- (0, _domLib.addStyle)(elem, dimension, 0);
97
+ (0, _addStyle.default)(elem, dimension, 0);
96
98
  }, [dimension]);
97
99
  return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({}, rest, {
98
100
  ref: ref,
@@ -15,7 +15,9 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _domLib = require("dom-lib");
18
+ var _getTransitionEnd = _interopRequireDefault(require("dom-lib/getTransitionEnd"));
19
+
20
+ var _on = _interopRequireDefault(require("dom-lib/on"));
19
21
 
20
22
  var _classnames = _interopRequireDefault(require("classnames"));
21
23
 
@@ -156,7 +158,7 @@ var Transition = /*#__PURE__*/function (_React$Component) {
156
158
  var _this$props = this.props,
157
159
  timeout = _this$props.timeout,
158
160
  animation = _this$props.animation;
159
- this.animationEventListener = (0, _domLib.on)(node, animation ? (0, _utils2.getAnimationEnd)() : (0, _domLib.transition)().end, this.nextCallback);
161
+ this.animationEventListener = (0, _on.default)(node, animation ? (0, _utils2.getAnimationEnd)() : (0, _getTransitionEnd.default)(), this.nextCallback);
160
162
 
161
163
  if (timeout !== null) {
162
164
  setTimeout(this.nextCallback, timeout);
@@ -18,9 +18,9 @@ export interface AutoCompleteProps<T = ValueType> extends WithAsProps, FormContr
18
18
  /** Called when a option is selected */
19
19
  onSelect?: (value: any, item: ItemDataType, event: React.SyntheticEvent) => void;
20
20
  /** Called on focus */
21
- onFocus?: (event: React.SyntheticEvent<HTMLElement>) => void;
21
+ onFocus?: React.FocusEventHandler;
22
22
  /** Called on blur */
23
- onBlur?: (event: React.SyntheticEvent<HTMLElement>) => void;
23
+ onBlur?: React.FocusEventHandler;
24
24
  /** Called on menu focus */
25
25
  onMenuFocus?: (focusItemValue: any, event: React.KeyboardEvent) => void;
26
26
  /** The callback triggered by keyboard events. */
@@ -74,7 +74,8 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
74
74
 
75
75
  var items = (datalist === null || datalist === void 0 ? void 0 : datalist.filter((0, _utils3.shouldDisplay)(filterBy, value))) || [];
76
76
  var hasItems = items.length > 0;
77
- var overlayRef = (0, _react.useRef)(null); // Used to hover the focuse item when trigger `onKeydown`
77
+ var overlayRef = (0, _react.useRef)(null);
78
+ var isMounted = (0, _utils.useIsMounted)(); // Used to hover the focuse item when trigger `onKeydown`
78
79
 
79
80
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
80
81
  data: datalist,
@@ -134,9 +135,11 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
134
135
  };
135
136
 
136
137
  var handleClose = (0, _react.useCallback)(function () {
137
- setFocus(false);
138
- onClose === null || onClose === void 0 ? void 0 : onClose();
139
- }, [onClose]);
138
+ if (isMounted()) {
139
+ setFocus(false);
140
+ onClose === null || onClose === void 0 ? void 0 : onClose();
141
+ }
142
+ }, [isMounted, onClose]);
140
143
  var handleOpen = (0, _react.useCallback)(function () {
141
144
  setFocus(true);
142
145
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
@@ -17,7 +17,9 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
 
20
- var _domLib = require("dom-lib");
20
+ var _getPosition2 = _interopRequireDefault(require("dom-lib/getPosition"));
21
+
22
+ var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
21
23
 
22
24
  var _partial = _interopRequireDefault(require("lodash/partial"));
23
25
 
@@ -99,10 +101,10 @@ var scrollTo = function scrollTo(time, row) {
99
101
  var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
100
102
 
101
103
  if (node && container) {
102
- var _getPosition = (0, _domLib.getPosition)(node, container),
104
+ var _getPosition = (0, _getPosition2.default)(node, container),
103
105
  top = _getPosition.top;
104
106
 
105
- (0, _utils.scrollTopAnimation)(container, top, (0, _domLib.scrollTop)(container) !== 0);
107
+ (0, _utils.scrollTopAnimation)(container, top, (0, _scrollTop.default)(container) !== 0);
106
108
  }
107
109
  });
108
110
  };
@@ -25,7 +25,7 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T,
25
25
  /** Called when clean */
26
26
  onClean?: (event: React.SyntheticEvent) => void;
27
27
  /** Called when searching */
28
- onSearch?: (searchKeyword: string, event: React.SyntheticEvent<HTMLElement>) => void;
28
+ onSearch?: (searchKeyword: string, event: React.SyntheticEvent) => void;
29
29
  /** Asynchronously load the children of the tree node. */
30
30
  getChildren?: (node: ItemDataType) => ItemDataType[] | Promise<ItemDataType[]>;
31
31
  }
@@ -17,8 +17,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
19
19
 
20
- var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
21
-
22
20
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
23
21
 
24
22
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
@@ -31,6 +29,10 @@ var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"
31
29
 
32
30
  var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
33
31
 
32
+ var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
33
+
34
+ var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
35
+
34
36
  var emptyArray = [];
35
37
 
36
38
  var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -83,10 +85,9 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
83
85
  }
84
86
 
85
87
  if (activeItem) {
86
- var position = _DOMHelper.default.getPosition(activeItem, column); // Let the active option scroll into view.
87
-
88
+ var position = (0, _getPosition.default)(activeItem, column); // Let the active option scroll into view.
88
89
 
89
- _DOMHelper.default.scrollTop(column, position.top);
90
+ (0, _scrollTop.default)(column, position.top);
90
91
  }
91
92
  });
92
93
  }, [prefix]);
@@ -20,7 +20,7 @@ export interface CheckTreeNodeProps extends WithAsProps {
20
20
  uncheckable?: boolean;
21
21
  allUncheckable?: boolean;
22
22
  onExpand?: (nodeData: any) => void;
23
- onSelect?: (nodeData: any, event: React.SyntheticEvent<any>) => void;
23
+ onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
24
24
  onRenderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
25
25
  onRenderTreeNode?: (nodeData: any) => React.ReactNode;
26
26
  }
@@ -14,7 +14,7 @@ export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, It
14
14
  /** Custom render selected items */
15
15
  renderValue?: (value: any[], selectedItems: any[], selectedElement: React.ReactNode) => React.ReactNode;
16
16
  /** Called when scrolling */
17
- onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;
17
+ onScroll?: (event: React.SyntheticEvent) => void;
18
18
  }
19
19
  declare const CheckTreePicker: PickerComponent<CheckTreePickerProps>;
20
20
  export default CheckTreePicker;
@@ -31,11 +31,11 @@ export interface CheckboxProps<V = ValueType> extends WithAsProps {
31
31
  /** Used for the name of the form */
32
32
  name?: string;
33
33
  /** Called when the user attempts to change the checked state. */
34
- onChange?: (value: V, checked: boolean, event: React.SyntheticEvent<HTMLInputElement>) => void;
34
+ onChange?: (value: V, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
35
35
  /** Called when the checkbox or label is clicked. */
36
- onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
36
+ onClick?: (event: React.SyntheticEvent) => void;
37
37
  /** Called when the checkbox is clicked. */
38
- onCheckboxClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
38
+ onCheckboxClick?: (event: React.SyntheticEvent) => void;
39
39
  }
40
40
  declare const Checkbox: RsRefForwardingComponent<'div', CheckboxProps>;
41
41
  export default Checkbox;
@@ -8,6 +8,6 @@ export interface CheckboxGroupContextValue {
8
8
  disabled?: boolean;
9
9
  readOnly?: boolean;
10
10
  plaintext?: boolean;
11
- onChange?: (value: any, checked: boolean, event: React.SyntheticEvent<HTMLInputElement>) => void;
11
+ onChange?: (value: any, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
12
12
  }
13
13
  export declare const CheckboxGroupContext: React.Context<CheckboxGroupContextValue>;