rsuite 5.0.0-beta.5 → 5.0.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 (194) hide show
  1. package/Animation/styles/index.less +16 -16
  2. package/Animation/styles/mixin.less +2 -2
  3. package/Button/styles/index.less +36 -1
  4. package/Button/styles/mixin.less +7 -1
  5. package/CHANGELOG.md +47 -4
  6. package/Calendar/styles/index.less +7 -1
  7. package/Checkbox/styles/index.less +18 -2
  8. package/DatePicker/styles/index.less +6 -2
  9. package/Drawer/styles/index.less +11 -2
  10. package/Drawer/styles/mixin.less +2 -2
  11. package/Dropdown/styles/index.less +4 -0
  12. package/Form/styles/mixin.less +6 -0
  13. package/InputGroup/styles/index.less +4 -0
  14. package/Message/styles/index.less +16 -0
  15. package/Modal/styles/index.less +3 -2
  16. package/Nav/styles/index.less +18 -2
  17. package/Navbar/styles/index.less +68 -34
  18. package/Notification/styles/index.less +9 -3
  19. package/Pagination/styles/index.less +12 -1
  20. package/Pagination/styles/mixin.less +7 -0
  21. package/Picker/styles/index.less +25 -3
  22. package/Picker/styles/mixin.less +7 -2
  23. package/Popover/styles/index.less +23 -30
  24. package/Popover/styles/mixins.less +72 -0
  25. package/README.md +4 -4
  26. package/Radio/styles/index.less +16 -0
  27. package/RadioGroup/styles/index.less +4 -0
  28. package/Rate/styles/index.less +13 -2
  29. package/Ripple/styles/index.less +8 -4
  30. package/Sidenav/styles/index.less +160 -47
  31. package/Table/styles/index.less +8 -0
  32. package/TagInput/package.json +7 -0
  33. package/TagInput/styles/index.less +13 -0
  34. package/Toggle/styles/index.less +29 -19
  35. package/Tooltip/styles/index.less +32 -38
  36. package/Tooltip/styles/mixins.less +72 -0
  37. package/Uploader/styles/index.less +11 -1
  38. package/cjs/@types/common.d.ts +2 -0
  39. package/cjs/Animation/Bounce.js +10 -4
  40. package/cjs/Animation/Collapse.d.ts +1 -48
  41. package/cjs/Animation/Collapse.js +60 -106
  42. package/cjs/Animation/Fade.js +10 -5
  43. package/cjs/Animation/Slide.js +8 -4
  44. package/cjs/Carousel/Carousel.d.ts +7 -0
  45. package/cjs/Carousel/Carousel.js +24 -11
  46. package/cjs/CheckTree/index.js +14 -5
  47. package/cjs/CheckTreePicker/CheckTreePicker.js +9 -5
  48. package/cjs/DatePicker/DatePicker.d.ts +5 -1
  49. package/cjs/DatePicker/DatePicker.js +2 -13
  50. package/cjs/DateRangePicker/Calendar.d.ts +2 -1
  51. package/cjs/DateRangePicker/Calendar.js +4 -3
  52. package/cjs/DateRangePicker/DateRangePicker.d.ts +1 -1
  53. package/cjs/DateRangePicker/DateRangePicker.js +58 -43
  54. package/cjs/DateRangePicker/utils.d.ts +1 -1
  55. package/cjs/DateRangePicker/utils.js +9 -5
  56. package/cjs/Dropdown/Dropdown.js +31 -18
  57. package/cjs/Dropdown/DropdownContext.d.ts +4 -1
  58. package/cjs/Dropdown/DropdownItem.js +31 -4
  59. package/cjs/Dropdown/DropdownState.d.ts +37 -0
  60. package/cjs/Dropdown/DropdownState.js +66 -0
  61. package/cjs/Dropdown/DropdownToggle.js +3 -6
  62. package/cjs/InputNumber/InputNumber.js +11 -10
  63. package/cjs/InputPicker/InputPicker.d.ts +16 -3
  64. package/cjs/InputPicker/InputPicker.js +85 -44
  65. package/cjs/List/ListItem.d.ts +1 -1
  66. package/cjs/Menu/MenuItem.js +1 -1
  67. package/cjs/MultiCascader/MultiCascader.js +4 -3
  68. package/cjs/Nav/NavItem.js +11 -63
  69. package/cjs/Navbar/NavbarItem.d.ts +19 -0
  70. package/cjs/Navbar/NavbarItem.js +93 -0
  71. package/cjs/Pagination/Pagination.js +1 -1
  72. package/cjs/Picker/PickerToggle.js +2 -2
  73. package/cjs/Picker/utils.d.ts +1 -1
  74. package/cjs/Picker/utils.js +26 -22
  75. package/cjs/Progress/ProgressCircle.js +15 -15
  76. package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
  77. package/cjs/Sidenav/SidenavDropdown.js +6 -1
  78. package/cjs/Sidenav/SidenavItem.js +46 -12
  79. package/cjs/Slider/Slider.js +2 -1
  80. package/cjs/TagInput/index.d.ts +13 -0
  81. package/cjs/TagInput/index.js +58 -0
  82. package/cjs/TagPicker/index.d.ts +10 -2
  83. package/cjs/TagPicker/index.js +25 -6
  84. package/cjs/Tree/Tree.d.ts +0 -2
  85. package/cjs/Tree/Tree.js +13 -4
  86. package/cjs/Tree/TreeContext.d.ts +7 -0
  87. package/cjs/Tree/TreeContext.js +13 -0
  88. package/cjs/TreePicker/TreeNode.js +10 -3
  89. package/cjs/TreePicker/TreePicker.js +22 -10
  90. package/cjs/Uploader/UploadFileItem.d.ts +5 -0
  91. package/cjs/Uploader/UploadFileItem.js +4 -3
  92. package/cjs/Uploader/Uploader.d.ts +8 -3
  93. package/cjs/Uploader/Uploader.js +12 -6
  94. package/cjs/index.d.ts +2 -0
  95. package/cjs/index.js +5 -1
  96. package/cjs/utils/ajaxUpload.d.ts +5 -1
  97. package/cjs/utils/ajaxUpload.js +24 -13
  98. package/cjs/utils/constants.d.ts +1 -0
  99. package/cjs/utils/constants.js +1 -0
  100. package/cjs/utils/dateUtils.d.ts +1 -0
  101. package/cjs/utils/dateUtils.js +5 -1
  102. package/cjs/utils/useInternalId.d.ts +4 -0
  103. package/cjs/utils/useInternalId.js +24 -0
  104. package/cjs/utils/useUniqueId.d.ts +1 -1
  105. package/cjs/utils/useUniqueId.js +1 -1
  106. package/dist/rsuite-rtl.css +1614 -221
  107. package/dist/rsuite-rtl.min.css +1 -1
  108. package/dist/rsuite-rtl.min.css.map +1 -1
  109. package/dist/rsuite.css +1618 -221
  110. package/dist/rsuite.js +288 -288
  111. package/dist/rsuite.min.css +1 -1
  112. package/dist/rsuite.min.css.map +1 -1
  113. package/dist/rsuite.min.js +1 -1
  114. package/dist/rsuite.min.js.map +1 -1
  115. package/esm/@types/common.d.ts +2 -0
  116. package/esm/Animation/Bounce.js +8 -4
  117. package/esm/Animation/Collapse.d.ts +1 -48
  118. package/esm/Animation/Collapse.js +59 -104
  119. package/esm/Animation/Fade.js +8 -4
  120. package/esm/Animation/Slide.js +6 -3
  121. package/esm/Carousel/Carousel.d.ts +7 -0
  122. package/esm/Carousel/Carousel.js +25 -12
  123. package/esm/CheckTree/index.js +11 -5
  124. package/esm/CheckTreePicker/CheckTreePicker.js +8 -6
  125. package/esm/DatePicker/DatePicker.d.ts +5 -1
  126. package/esm/DatePicker/DatePicker.js +2 -13
  127. package/esm/DateRangePicker/Calendar.d.ts +2 -1
  128. package/esm/DateRangePicker/Calendar.js +4 -3
  129. package/esm/DateRangePicker/DateRangePicker.d.ts +1 -1
  130. package/esm/DateRangePicker/DateRangePicker.js +27 -12
  131. package/esm/DateRangePicker/utils.d.ts +1 -1
  132. package/esm/DateRangePicker/utils.js +7 -3
  133. package/esm/Dropdown/Dropdown.js +30 -19
  134. package/esm/Dropdown/DropdownContext.d.ts +4 -1
  135. package/esm/Dropdown/DropdownItem.js +30 -6
  136. package/esm/Dropdown/DropdownState.d.ts +37 -0
  137. package/esm/Dropdown/DropdownState.js +55 -0
  138. package/esm/Dropdown/DropdownToggle.js +3 -6
  139. package/esm/InputNumber/InputNumber.js +11 -10
  140. package/esm/InputPicker/InputPicker.d.ts +16 -3
  141. package/esm/InputPicker/InputPicker.js +84 -45
  142. package/esm/List/ListItem.d.ts +1 -1
  143. package/esm/Menu/MenuItem.js +1 -1
  144. package/esm/MultiCascader/MultiCascader.js +4 -3
  145. package/esm/Nav/NavItem.js +12 -61
  146. package/esm/Navbar/NavbarItem.d.ts +19 -0
  147. package/esm/Navbar/NavbarItem.js +73 -0
  148. package/esm/Pagination/Pagination.js +1 -1
  149. package/esm/Picker/PickerToggle.js +2 -2
  150. package/esm/Picker/utils.d.ts +1 -1
  151. package/esm/Picker/utils.js +26 -22
  152. package/esm/Progress/ProgressCircle.js +15 -15
  153. package/esm/SelectPicker/SelectPicker.d.ts +1 -3
  154. package/esm/Sidenav/SidenavDropdown.js +5 -1
  155. package/esm/Sidenav/SidenavItem.js +47 -13
  156. package/esm/Slider/Slider.js +2 -1
  157. package/esm/TagInput/index.d.ts +13 -0
  158. package/esm/TagInput/index.js +44 -0
  159. package/esm/TagPicker/index.d.ts +10 -2
  160. package/esm/TagPicker/index.js +23 -6
  161. package/esm/Tree/Tree.d.ts +0 -2
  162. package/esm/Tree/Tree.js +10 -4
  163. package/esm/Tree/TreeContext.d.ts +7 -0
  164. package/esm/Tree/TreeContext.js +3 -0
  165. package/esm/TreePicker/TreeNode.js +10 -4
  166. package/esm/TreePicker/TreePicker.js +23 -12
  167. package/esm/Uploader/UploadFileItem.d.ts +5 -0
  168. package/esm/Uploader/UploadFileItem.js +2 -3
  169. package/esm/Uploader/Uploader.d.ts +8 -3
  170. package/esm/Uploader/Uploader.js +12 -6
  171. package/esm/index.d.ts +2 -0
  172. package/esm/index.js +1 -0
  173. package/esm/utils/ajaxUpload.d.ts +5 -1
  174. package/esm/utils/ajaxUpload.js +24 -13
  175. package/esm/utils/constants.d.ts +1 -0
  176. package/esm/utils/constants.js +1 -0
  177. package/esm/utils/dateUtils.d.ts +1 -0
  178. package/esm/utils/dateUtils.js +1 -0
  179. package/esm/utils/useInternalId.d.ts +4 -0
  180. package/esm/utils/useInternalId.js +16 -0
  181. package/esm/utils/useUniqueId.d.ts +1 -1
  182. package/esm/utils/useUniqueId.js +1 -1
  183. package/package.json +4 -9
  184. package/styles/color-modes/dark.less +28 -5
  185. package/styles/color-modes/high-contrast.less +317 -0
  186. package/styles/color-modes/light.less +24 -1
  187. package/styles/color-modes.less +5 -0
  188. package/styles/colors/high-contrast.less +105 -0
  189. package/styles/index.less +1 -0
  190. package/styles/mixins/color-modes.less +6 -0
  191. package/styles/mixins/listbox.less +13 -1
  192. package/styles/mixins/menu.less +7 -0
  193. package/styles/mixins/utilities.less +9 -1
  194. package/styles/variables.less +11 -0
@@ -0,0 +1,317 @@
1
+ @import '../colors/high-contrast';
2
+
3
+ // see https://rsuitejs.com/design/dark
4
+ & {
5
+ @import (multiple) 'common';
6
+
7
+ // Reset
8
+ --rs-body: @B900;
9
+
10
+ // Misc
11
+ --rs-text-link: @H500;
12
+ --rs-text-link-hover: @H400;
13
+ --rs-text-link-active: @H300;
14
+ --rs-text-primary: @B050;
15
+ --rs-text-secondary: @B200;
16
+ --rs-text-tertiary: @B300;
17
+ --rs-text-heading: @B000;
18
+ --rs-text-inverse: @B800;
19
+ --rs-text-heading-inverse: @B900;
20
+ --rs-text-active: @H500;
21
+ --rs-text-disabled: @B500;
22
+ --rs-border-primary: @B100;
23
+ --rs-border-secondary: @B700;
24
+ --rs-bg-card: @B800;
25
+ --rs-bg-overlay: @B800;
26
+ --rs-bg-well: @B900;
27
+ --rs-bg-active: @H500;
28
+ --rs-bg-backdrop: fade(@B900, 80%);
29
+ --rs-state-hover-bg: @B600;
30
+ --rs-state-focus-shadow: 0 0 0 3px @B900, 0 0 0 5px @B000;
31
+ --rs-state-focus-shadow-slim: 0 0 0 2px @B000;
32
+ --rs-state-focus-outline: 3px solid fade(@H500, 25%);
33
+ --rs-shadow-overlay: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
34
+
35
+ // Button
36
+ --rs-btn-default-bg: transparent;
37
+ --rs-btn-default-text: @H500;
38
+ --rs-btn-default-border: 1px solid @H500;
39
+ --rs-btn-default-hover-bg: transparent;
40
+ --rs-btn-default-hover-text: @H400;
41
+ --rs-btn-default-active-bg: transparent;
42
+ --rs-btn-default-active-text: @H200;
43
+ --rs-btn-default-disabled-bg: transparent;
44
+ --rs-btn-default-disabled-text: @H500;
45
+ --rs-btn-primary-bg: @H500;
46
+ --rs-btn-primary-text: @B900;
47
+ --rs-btn-primary-hover-bg: @H400;
48
+ --rs-btn-primary-active-bg: @H200;
49
+ --rs-btn-subtle-text: @H500;
50
+ --rs-btn-subtle-hover-bg: transparent;
51
+ --rs-btn-subtle-hover-text: @H400;
52
+ --rs-btn-subtle-active-bg: transparent;
53
+ --rs-btn-subtle-active-text: @H200;
54
+ --rs-btn-subtle-disabled-text: @B500;
55
+ --rs-btn-ghost-border: @H500;
56
+ --rs-btn-ghost-text: @H500;
57
+ --rs-btn-ghost-hover-border: @H400;
58
+ --rs-btn-ghost-hover-text: @H400;
59
+ --rs-btn-ghost-active-border: @H200;
60
+ --rs-btn-ghost-active-text: @H200;
61
+ --rs-btn-link-text: @H500;
62
+ --rs-btn-link-hover-text: @H400;
63
+ --rs-btn-link-active-text: @H200;
64
+
65
+ // Icon Button
66
+ --rs-iconbtn-addon: transparent;
67
+ --rs-iconbtn-activated-addon: transparent;
68
+ --rs-iconbtn-pressed-addon: transparent;
69
+ --rs-iconbtn-primary-addon: @H400;
70
+ --rs-iconbtn-primary-activated-addon: @H300;
71
+ --rs-iconbtn-primary-pressed-addon: @H100;
72
+
73
+ // Divider
74
+ --rs-divider-border: @B600;
75
+
76
+ // Loader
77
+ --rs-loader-ring: fade(@B050, 30);
78
+ --rs-loader-rotor: @B000;
79
+ --rs-loader-backdrop: fade(@B900, 83%);
80
+ --rs-loader-ring-inverse: fade(@B050, 80);
81
+ --rs-loader-rotor-inverse: @B500;
82
+ --rs-loader-backdrop-inverse: fade(@B000, 90);
83
+
84
+ // Message
85
+ --rs-message-success-header: #fff;
86
+ --rs-message-success-text: #fff;
87
+ --rs-message-success-icon: #fff;
88
+ --rs-message-success-bg: @green-900;
89
+ --rs-message-success-border: @green-300;
90
+ --rs-message-info-header: #fff;
91
+ --rs-message-info-text: #fff;
92
+ --rs-message-info-icon: #fff;
93
+ --rs-message-info-bg: @blue-900;
94
+ --rs-message-info-border: @blue-500;
95
+ --rs-message-warning-header: #fff;
96
+ --rs-message-warning-text: #fff;
97
+ --rs-message-warning-icon: #fff;
98
+ --rs-message-warning-bg: @yellow-900;
99
+ --rs-message-warning-border: @yellow-500;
100
+ --rs-message-error-header: #fff;
101
+ --rs-message-error-text: #fff;
102
+ --rs-message-error-icon: #fff;
103
+ --rs-message-error-bg: @red-900;
104
+ --rs-message-error-border: @red-300;
105
+
106
+ // Tooltip
107
+ --rs-tooltip-bg: @B800;
108
+ --rs-tooltip-text: @B000;
109
+
110
+ // Progress
111
+ --rs-progress-bg: @B700;
112
+ --rs-progress-bar: @H500;
113
+ --rs-progress-bar-success: @green;
114
+ --rs-progress-bar-fail: @red;
115
+
116
+ // Placeholder
117
+ --rs-placeholder: @B600;
118
+ --rs-placeholder-active: lighten(@B600, 5%);
119
+
120
+ // Dropdown
121
+ --rs-dropdown-divider: @B600;
122
+ --rs-dropdown-item-bg-hover: @B600;
123
+ --rs-dropdown-item-bg-active: fade(@H900, 20);
124
+ --rs-dropdown-item-text-active: @H500;
125
+ --rs-dropdown-header-text: @B500;
126
+ --rs-dropdown-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2), 0 4px 4px 3px rgba(0, 0, 0, 0.24);
127
+
128
+ // ARIA menu
129
+ --rs-menuitem-active-bg: transparent;
130
+ --rs-menuitem-active-text: @H500;
131
+
132
+ // Steps
133
+ --rs-steps-border: @B200;
134
+ --rs-steps-state-finish: @H500;
135
+ --rs-steps-border-state-finish: @H500;
136
+ --rs-steps-state-wait: @B200;
137
+ --rs-steps-state-process: @H700;
138
+ --rs-steps-state-error: @red;
139
+ --rs-steps-border-state-error: @red;
140
+ --rs-steps-icon-state-process: @H500;
141
+ --rs-steps-icon-state-error: @red;
142
+
143
+ // Navs
144
+ --rs-navs-text: @B200;
145
+ --rs-navs-text-hover: @H500;
146
+ --rs-navs-bg-hover: transparent;
147
+ --rs-navs-text-active: @H500;
148
+ --rs-navs-bg-active: @B400;
149
+ --rs-navs-tab-border: @B600;
150
+ --rs-navs-subtle-border: @B600;
151
+ --rs-navs-selected: @H500;
152
+
153
+ // Navbar
154
+ --rs-navbar-default-bg: @B800;
155
+ --rs-navbar-default-text: @B050;
156
+ --rs-navbar-default-selected-text: @H500;
157
+ --rs-navbar-default-hover-bg: transparent;
158
+ --rs-navbar-default-hover-text: @H500;
159
+ --rs-navbar-inverse-bg: @B800;
160
+ --rs-navbar-inverse-text: @B050;
161
+ --rs-navbar-inverse-selected-bg: transparent;
162
+ --rs-navbar-inverse-selected-text: @H500;
163
+ --rs-navbar-inverse-hover-bg: transparent;
164
+ --rs-navbar-subtle-bg: @B800;
165
+ --rs-navbar-subtle-text: @B050;
166
+ --rs-navbar-subtle-selected-text: @H500;
167
+ --rs-navbar-subtle-hover-bg: transparent;
168
+ --rs-navbar-subtle-hover-text: @H500;
169
+
170
+ // Sidenav
171
+ --rs-sidenav-default-bg: @B800;
172
+ --rs-sidenav-default-text: @B050;
173
+ --rs-sidenav-default-selected-text: @H500;
174
+ --rs-sidenav-default-hover-bg: transparent;
175
+ --rs-sidenav-default-hover-text: @H500;
176
+ --rs-sidenav-inverse-bg: @B800;
177
+ --rs-sidenav-inverse-text: @B050;
178
+ --rs-sidenav-inverse-selected-bg: transparent;
179
+ --rs-sidenav-inverse-selected-text: @H500;
180
+ --rs-sidenav-inverse-hover-bg: transparent;
181
+ --rs-sidenav-subtle-bg: @B800;
182
+ --rs-sidenav-subtle-text: @B050;
183
+ --rs-sidenav-subtle-selected-text: @H500;
184
+ --rs-sidenav-subtle-hover-bg: transparent;
185
+ --rs-sidenav-subtle-hover-text: @H500;
186
+
187
+ // Input
188
+ --rs-input-bg: @B800;
189
+ --rs-input-focus-border: @H500;
190
+ --rs-input-disabled-bg: @B700;
191
+
192
+ // ARIA Listboxes
193
+ --rs-listbox-option-hover-bg: transparent;
194
+ --rs-listbox-option-hover-text: @H500;
195
+ --rs-listbox-option-selected-text: @H500;
196
+ --rs-listbox-option-selected-bg: transparent;
197
+ --rs-listbox-option-disabled-text: @B500;
198
+ --rs-listbox-option-disabled-selected-text: @H200;
199
+
200
+ // Checkbox
201
+ --rs-checkbox-icon: @B800;
202
+ --rs-checkbox-border: @B100;
203
+ --rs-checkbox-checked-bg: @H500;
204
+ --rs-checkbox-disabled-bg: @B500;
205
+
206
+ // Radio
207
+ --rs-radio-marker: @B800;
208
+ --rs-radio-border: @B100;
209
+ --rs-radio-checked-bg: @H500;
210
+ --rs-radio-disabled-bg: @B500;
211
+
212
+ // Rate
213
+ --rs-rate-symbol: @B100;
214
+ --rs-rate-symbol-checked: @H500;
215
+
216
+ // Toggle
217
+ --rs-toggle-bg: @B800;
218
+ --rs-toggle-thumb: @B100;
219
+ --rs-toggle-hover-bg: @B800;
220
+ --rs-toggle-disabled-bg: @B800;
221
+ --rs-toggle-disabled-thumb: @B300;
222
+ --rs-toggle-checked-bg: @H500;
223
+ --rs-toggle-checked-thumb: @B800;
224
+ --rs-toggle-checked-hover-bg: @H400;
225
+ --rs-toggle-checked-disabled-bg: @H900;
226
+ --rs-toggle-checked-disabled-thumb: @B800;
227
+
228
+ // Slider
229
+ --rs-slider-bar: @B600;
230
+ --rs-slider-hover-bar: @B600;
231
+ --rs-slider-thumb-border: @H500;
232
+ --rs-slider-thumb-bg: @B700;
233
+ --rs-slider-thumb-hover-shadow: 0 0 0 8px fade(@H500, 25);
234
+ --rs-slider-progress: @H500;
235
+
236
+ // Uploader
237
+ --rs-uploader-item-bg: @B300;
238
+ --rs-uploader-item-hover-bg: @B800;
239
+ --rs-uploader-item-hover-text: @H500;
240
+ --rs-uploader-overlay-bg: fade(@B600, 80);
241
+ --rs-uploader-dnd-bg: @B700;
242
+ --rs-uploader-dnd-border: @B200;
243
+ --rs-uploader-dnd-hover-border: @H500;
244
+
245
+ // Avatar
246
+ --rs-avatar-bg: @B400;
247
+ --rs-avatar-text: @B000;
248
+
249
+ // Badge
250
+ --rs-badge-bg: @red-500;
251
+ --rs-badge-text: @B000;
252
+
253
+ // Tag
254
+ --rs-tag-bg: @B600;
255
+ --rs-tag-close: @red;
256
+
257
+ // Carousel
258
+ --rs-carousel-bg: @B600;
259
+ --rs-carousel-indicator: fade(@B000, 40);
260
+ --rs-carousel-indicator-hover: @B000;
261
+ --rs-carousel-indicator-active: @H500;
262
+
263
+ // Panel
264
+ --rs-panel-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
265
+
266
+ // Pagination
267
+ --rs-pagination-item-text: @B050;
268
+ --rs-pagination-item-current-text: @H500;
269
+
270
+ // List
271
+ --rs-list-bg: transparent;
272
+ --rs-list-border: @B700;
273
+ --rs-list-hover-bg: @B600;
274
+ --rs-list-placeholder-bg: fade(@H900, 20%);
275
+ --rs-list-placeholder-border: @H500;
276
+
277
+ // Timeline
278
+ --rs-timeline-indicator-bg: @B500;
279
+ --rs-timeline-indicator-active-bg: @H500;
280
+
281
+ // Table
282
+ --rs-table-shadow: rgba(9, 9, 9, 0.99);
283
+ --rs-table-sort: @H500;
284
+ --rs-table-resize: @H500;
285
+ --rs-table-scrollbar-track: @B700;
286
+ --rs-table-scrollbar-thumb: @B200;
287
+ --rs-table-scrollbar-thumb-active: @B100;
288
+ --rs-table-scrollbar-vertical-track: @B700;
289
+
290
+ // Drawer
291
+ --rs-drawer-bg: @B700;
292
+ --rs-drawer-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
293
+
294
+ // Modal
295
+ --rs-modal-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
296
+ --rs-modal-border: 1px solid @B100;
297
+
298
+ // Form
299
+ --rs-form-errormessage-text: #fff;
300
+ --rs-form-errormessage-bg: @red-500;
301
+ --rs-form-errormessage-border: @red-500;
302
+
303
+ // Picker
304
+ --rs-picker-value: @H500;
305
+ --rs-picker-count-bg: @H500;
306
+ --rs-picker-count-text: @B900;
307
+
308
+ // Calendar
309
+ --rs-calendar-today-bg: @H500;
310
+ --rs-calendar-today-text: @B900;
311
+ --rs-calendar-range-bg: fade(@H900, 50%);
312
+ --rs-calendar-time-unit-bg: @B900;
313
+ --rs-calendar-date-selected-text: @B900;
314
+
315
+ // Popover
316
+ --rs-popover-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
317
+ }
@@ -166,6 +166,22 @@
166
166
  --rs-navbar-subtle-hover-bg: @B050;
167
167
  --rs-navbar-subtle-hover-text: @B800;
168
168
 
169
+ // Sidenav
170
+ --rs-sidenav-default-bg: @B050;
171
+ --rs-sidenav-default-text: @B800;
172
+ --rs-sidenav-default-selected-text: @H700;
173
+ --rs-sidenav-default-hover-bg: @B200;
174
+ --rs-sidenav-default-hover-text: @B800;
175
+ --rs-sidenav-inverse-bg: @H500;
176
+ --rs-sidenav-inverse-text: #fff;
177
+ --rs-sidenav-inverse-selected-bg: @H700;
178
+ --rs-sidenav-inverse-hover-bg: @H600;
179
+ --rs-sidenav-subtle-bg: #fff;
180
+ --rs-sidenav-subtle-text: @B600;
181
+ --rs-sidenav-subtle-selected-text: @H700;
182
+ --rs-sidenav-subtle-hover-bg: @B050;
183
+ --rs-sidenav-subtle-hover-text: @B800;
184
+
169
185
  // Input
170
186
  --rs-input-bg: @B000;
171
187
  --rs-input-focus-border: @H500;
@@ -191,6 +207,10 @@
191
207
  --rs-radio-checked-bg: @H500;
192
208
  --rs-radio-disabled-bg: @B050;
193
209
 
210
+ // Rate
211
+ --rs-rate-symbol: @B600;
212
+ --rs-rate-symbol-checked: @yellow-500;
213
+
194
214
  // Toggle
195
215
  --rs-toggle-bg: @B300;
196
216
  --rs-toggle-thumb: #fff;
@@ -198,6 +218,7 @@
198
218
  --rs-toggle-disabled-bg: @B050;
199
219
  --rs-toggle-disabled-thumb: #fff;
200
220
  --rs-toggle-checked-bg: @H500;
221
+ --rs-toggle-checked-thumb: #fff;
201
222
  --rs-toggle-checked-hover-bg: @H600;
202
223
  --rs-toggle-checked-disabled-bg: @H100;
203
224
  --rs-toggle-checked-disabled-thumb: #fff;
@@ -272,13 +293,15 @@
272
293
 
273
294
  // Picker
274
295
  --rs-picker-value: @H700;
275
- --rs-picker-count: @H500;
296
+ --rs-picker-count-bg: @H500;
297
+ --rs-picker-count-text: #fff;
276
298
 
277
299
  // Calendar
278
300
  --rs-calendar-today-bg: @H500;
279
301
  --rs-calendar-today-text: #fff;
280
302
  --rs-calendar-range-bg: fade(@H100, 50%);
281
303
  --rs-calendar-time-unit-bg: @B050;
304
+ --rs-calendar-date-selected-text: #fff;
282
305
 
283
306
  // Popover
284
307
  --rs-popover-shadow: 0 1px 8px rgba(0, 0, 0, 0.12);
@@ -10,3 +10,8 @@
10
10
  @import 'color-modes/dark';
11
11
  }
12
12
  }
13
+
14
+ // TODO consider adding flag for high-contrast theme
15
+ .rs-theme-high-contrast {
16
+ @import 'color-modes/high-contrast';
17
+ }
@@ -0,0 +1,105 @@
1
+ @plugin '../plugins/palette';
2
+
3
+ // Highlight levels
4
+ @H050: #fffef2;
5
+ @H100: #fffbc2;
6
+ @H200: #fffa91;
7
+ @H300: #fffa61;
8
+ @H400: #fffc30;
9
+ @H500: #ffff00;
10
+ @H600: #f1f500;
11
+ @H700: #d9e000;
12
+ @H800: #b8c200;
13
+ @H900: #8f9900;
14
+
15
+ // Gray levels
16
+ @B000: #fff;
17
+ @B050: #e9ebf0;
18
+ @B100: #cbced4;
19
+ @B200: #a4a9b3;
20
+ @B300: #858b94;
21
+ @B400: #6a6f76;
22
+ @B500: #5c6066;
23
+ @B600: #3c3f43;
24
+ @B700: #292d33;
25
+ @B800: #1a1d24;
26
+ @B900: #0f131a;
27
+
28
+ // Secondary palette
29
+
30
+ @red-50: palette(@red-high-contrast, 50);
31
+ @red-100: palette(@red-high-contrast, 100);
32
+ @red-200: palette(@red-high-contrast, 200);
33
+ @red-300: palette(@red-high-contrast, 300);
34
+ @red-400: palette(@red-high-contrast, 400);
35
+ @red-500: @red-high-contrast;
36
+ @red-600: palette(@red-high-contrast, 600);
37
+ @red-700: palette(@red-high-contrast, 700);
38
+ @red-800: palette(@red-high-contrast, 800);
39
+ @red-900: palette(@red-high-contrast, 900);
40
+
41
+ @orange-50: palette(@orange-high-contrast, 50);
42
+ @orange-100: palette(@orange-high-contrast, 100);
43
+ @orange-200: palette(@orange-high-contrast, 200);
44
+ @orange-300: palette(@orange-high-contrast, 300);
45
+ @orange-400: palette(@orange-high-contrast, 400);
46
+ @orange-500: @orange-high-contrast;
47
+ @orange-600: palette(@orange-high-contrast, 600);
48
+ @orange-700: palette(@orange-high-contrast, 700);
49
+ @orange-800: palette(@orange-high-contrast, 800);
50
+ @orange-900: palette(@orange-high-contrast, 900);
51
+
52
+ @yellow-50: palette(@yellow-high-contrast, 50);
53
+ @yellow-100: palette(@yellow-high-contrast, 100);
54
+ @yellow-200: palette(@yellow-high-contrast, 200);
55
+ @yellow-300: palette(@yellow-high-contrast, 300);
56
+ @yellow-400: palette(@yellow-high-contrast, 400);
57
+ @yellow-500: @yellow-high-contrast;
58
+ @yellow-600: palette(@yellow-high-contrast, 600);
59
+ @yellow-700: palette(@yellow-high-contrast, 700);
60
+ @yellow-800: palette(@yellow-high-contrast, 800);
61
+ @yellow-900: palette(@yellow-high-contrast, 900);
62
+
63
+ @green-50: palette(@green-high-contrast, 50);
64
+ @green-100: palette(@green-high-contrast, 100);
65
+ @green-200: palette(@green-high-contrast, 200);
66
+ @green-300: palette(@green-high-contrast, 300);
67
+ @green-400: palette(@green-high-contrast, 400);
68
+ @green-500: @green-high-contrast;
69
+ @green-600: palette(@green-high-contrast, 600);
70
+ @green-700: palette(@green-high-contrast, 700);
71
+ @green-800: palette(@green-high-contrast, 800);
72
+ @green-900: palette(@green-high-contrast, 900);
73
+
74
+ @cyan-50: palette(@cyan-high-contrast, 50);
75
+ @cyan-100: palette(@cyan-high-contrast, 100);
76
+ @cyan-200: palette(@cyan-high-contrast, 200);
77
+ @cyan-300: palette(@cyan-high-contrast, 300);
78
+ @cyan-400: palette(@cyan-high-contrast, 400);
79
+ @cyan-500: @cyan-high-contrast;
80
+ @cyan-600: palette(@cyan-high-contrast, 600);
81
+ @cyan-700: palette(@cyan-high-contrast, 700);
82
+ @cyan-800: palette(@cyan-high-contrast, 800);
83
+ @cyan-900: palette(@cyan-high-contrast, 900);
84
+
85
+ @blue-50: palette(@blue-high-contrast, 50);
86
+ @blue-100: palette(@blue-high-contrast, 100);
87
+ @blue-200: palette(@blue-high-contrast, 200);
88
+ @blue-300: palette(@blue-high-contrast, 300);
89
+ @blue-400: palette(@blue-high-contrast, 400);
90
+ @blue-500: @blue-high-contrast;
91
+ @blue-600: palette(@blue-high-contrast, 600);
92
+ @blue-700: palette(@blue-high-contrast, 700);
93
+ @blue-800: palette(@blue-high-contrast, 800);
94
+ @blue-900: palette(@blue-high-contrast, 900);
95
+
96
+ @violet-50: palette(@violet-high-contrast, 50);
97
+ @violet-100: palette(@violet-high-contrast, 100);
98
+ @violet-200: palette(@violet-high-contrast, 200);
99
+ @violet-300: palette(@violet-high-contrast, 300);
100
+ @violet-400: palette(@violet-high-contrast, 400);
101
+ @violet-500: @violet-high-contrast;
102
+ @violet-600: palette(@violet-high-contrast, 600);
103
+ @violet-700: palette(@violet-high-contrast, 700);
104
+ @violet-800: palette(@violet-high-contrast, 800);
105
+ @violet-900: palette(@violet-high-contrast, 900);
package/styles/index.less CHANGED
@@ -65,6 +65,7 @@
65
65
  @import '../Table/styles/index';
66
66
  @import '../Tag/styles/index';
67
67
  @import '../TagPicker/styles/index';
68
+ @import '../TagInput/styles/index';
68
69
  @import '../Timeline/styles/index';
69
70
  @import '../Toggle/styles/index';
70
71
  @import '../Tooltip/styles/index';
@@ -6,3 +6,9 @@
6
6
  }
7
7
  }
8
8
  }
9
+
10
+ .high-contrast-mode(@rules) {
11
+ .rs-theme-high-contrast & {
12
+ @rules();
13
+ }
14
+ }
@@ -19,6 +19,7 @@
19
19
  // .listbox-option-disabled();
20
20
  // }
21
21
  // }
22
+ @import 'color-modes';
22
23
 
23
24
  .listbox() {
24
25
  list-style: none;
@@ -50,15 +51,26 @@
50
51
  & when (@multiselectable = false) {
51
52
  color: var(--rs-listbox-option-hover-text);
52
53
  }
54
+
55
+ .high-contrast-mode({
56
+ .focus-ring(slim-inset);
57
+
58
+ color: var(--rs-listbox-option-hover-text);
59
+ text-decoration: underline;
60
+ });
53
61
  }
54
62
 
55
63
  .listbox-option-selected() {
56
64
  background-color: var(--rs-listbox-option-selected-bg);
57
65
  font-weight: bold;
58
66
  color: var(--rs-listbox-option-selected-text);
67
+
68
+ .high-contrast-mode({
69
+ text-decoration: underline;
70
+ });
59
71
  }
60
72
 
61
- .listbox-options-disabled {
73
+ .listbox-options-disabled() {
62
74
  color: var(--rs-listbox-option-disabled-text);
63
75
  background: none;
64
76
  cursor: not-allowed;
@@ -1,5 +1,12 @@
1
+ @import 'color-modes';
2
+
1
3
  // "-active" for `aria-activedescendant`
2
4
  .menuitem-active() {
3
5
  background-color: var(--rs-menuitem-active-bg);
4
6
  color: var(--rs-menuitem-active-text);
7
+
8
+ .high-contrast-mode({
9
+ text-decoration: underline;
10
+ box-shadow: inset 0 0 0 2px #fff;
11
+ });
5
12
  }
@@ -48,7 +48,7 @@
48
48
  .set-translate-transition(@translateX:0,@translateY:0) {
49
49
  transform: translate(0, 0);
50
50
 
51
- &.in {
51
+ &.rs-anim-in {
52
52
  transform: translate(@translateX, @translateY);
53
53
  }
54
54
  }
@@ -132,10 +132,18 @@
132
132
  box-shadow: var(--rs-state-focus-shadow);
133
133
  }
134
134
 
135
+ .focus-ring(slim) {
136
+ box-shadow: var(--rs-state-focus-shadow-slim);
137
+ }
138
+
135
139
  .focus-ring(inset) {
136
140
  box-shadow: inset var(--rs-state-focus-shadow);
137
141
  }
138
142
 
143
+ .focus-ring(slim-inset) {
144
+ box-shadow: inset var(--rs-state-focus-shadow-slim);
145
+ }
146
+
139
147
  .focus-ring(outline) {
140
148
  outline: var(--rs-state-focus-outline);
141
149
  }
@@ -85,6 +85,17 @@
85
85
  @blue-dark: #1499ef;
86
86
  @violet-dark: #673ab7;
87
87
 
88
+ // High-contrast mode
89
+ @primary-color-high-contrast: #ffff00;
90
+
91
+ @red-high-contrast: #bd1732;
92
+ @orange-high-contrast: @orange-dark;
93
+ @yellow-high-contrast: #ffc757;
94
+ @green-high-contrast: #0d822c;
95
+ @cyan-high-contrast: @cyan-dark;
96
+ @blue-high-contrast: #1499ef;
97
+ @violet-high-contrast: @violet-dark;
98
+
88
99
  // List for looping
89
100
  @spectrum: red, orange, yellow, green, cyan, blue, violet;
90
101