rsuite 6.0.1 → 6.1.1

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 (278) hide show
  1. package/Accordion/styles/index.scss +3 -0
  2. package/Animation/styles/_animation.scss +95 -0
  3. package/Animation/styles/_bounce.scss +36 -0
  4. package/Animation/styles/_collapse.scss +23 -0
  5. package/Animation/styles/_fade.scss +10 -0
  6. package/Animation/styles/_mixin.scss +15 -0
  7. package/Animation/styles/_slide.scss +34 -0
  8. package/Animation/styles/_variables.scss +4 -0
  9. package/Animation/styles/index.scss +8 -0
  10. package/AutoComplete/styles/index.scss +43 -0
  11. package/Avatar/styles/index.scss +48 -0
  12. package/AvatarGroup/styles/index.scss +27 -0
  13. package/Badge/styles/_variables.scss +48 -0
  14. package/Badge/styles/index.scss +111 -0
  15. package/Box/styles/index.scss +1 -0
  16. package/Breadcrumb/styles/index.scss +50 -0
  17. package/Button/styles/_mixin.scss +83 -0
  18. package/Button/styles/_variables.scss +38 -0
  19. package/Button/styles/index.scss +374 -0
  20. package/ButtonGroup/styles/index.scss +96 -0
  21. package/ButtonToolbar/styles/index.scss +9 -0
  22. package/CHANGELOG.md +31 -0
  23. package/Calendar/styles/_variables.scss +16 -0
  24. package/Calendar/styles/index.scss +673 -0
  25. package/Card/styles/index.scss +63 -0
  26. package/CardGroup/styles/index.scss +10 -0
  27. package/Carousel/styles/index.scss +204 -0
  28. package/CascadeTree/styles/_search.scss +39 -0
  29. package/CascadeTree/styles/index.scss +83 -0
  30. package/Cascader/styles/index.scss +5 -0
  31. package/Center/styles/index.scss +11 -0
  32. package/CheckPicker/styles/index.scss +23 -0
  33. package/CheckTree/styles/_variables.scss +5 -0
  34. package/CheckTree/styles/index.scss +121 -0
  35. package/CheckTreePicker/styles/index.scss +20 -0
  36. package/Checkbox/styles/_mixin.scss +5 -0
  37. package/Checkbox/styles/_variables.scss +4 -0
  38. package/Checkbox/styles/index.scss +158 -0
  39. package/CheckboxGroup/styles/index.scss +14 -0
  40. package/Col/styles/index.scss +2 -0
  41. package/Container/stories/styles.scss +23 -0
  42. package/Container/styles/index.scss +16 -0
  43. package/Content/styles/index.scss +6 -0
  44. package/DateInput/styles/index.scss +1 -0
  45. package/DatePicker/styles/_mixin.scss +10 -0
  46. package/DatePicker/styles/index.scss +171 -0
  47. package/DateRangeInput/styles/index.scss +1 -0
  48. package/DateRangePicker/styles/index.scss +151 -0
  49. package/Divider/styles/index.scss +85 -0
  50. package/Drawer/styles/_mixin.scss +23 -0
  51. package/Drawer/styles/_variables.scss +18 -0
  52. package/Drawer/styles/index.scss +244 -0
  53. package/Dropdown/styles/_mixin.scss +4 -0
  54. package/Dropdown/styles/_variables.scss +12 -0
  55. package/Dropdown/styles/index.scss +334 -0
  56. package/FlexboxGrid/styles/index.scss +82 -0
  57. package/Footer/styles/index.scss +5 -0
  58. package/Form/styles/index.scss +3 -0
  59. package/FormControl/styles/_variables.scss +4 -0
  60. package/FormControl/styles/index.scss +82 -0
  61. package/FormControlLabel/styles/index.scss +7 -0
  62. package/FormErrorMessage/styles/_animation.scss +43 -0
  63. package/FormErrorMessage/styles/_variables.scss +7 -0
  64. package/FormErrorMessage/styles/index.scss +146 -0
  65. package/FormGroup/styles/index.scss +75 -0
  66. package/FormHelpText/styles/index.scss +21 -0
  67. package/FormStack/styles/index.scss +15 -0
  68. package/Grid/styles/_columns.scss +23 -0
  69. package/Grid/styles/_mixin.scss +110 -0
  70. package/Grid/styles/_row.scss +44 -0
  71. package/Grid/styles/_variables.scss +6 -0
  72. package/Grid/styles/index.scss +115 -0
  73. package/Header/styles/index.scss +5 -0
  74. package/Heading/styles/_variables.scss +19 -0
  75. package/Heading/styles/index.scss +42 -0
  76. package/HeadingGroup/styles/index.scss +5 -0
  77. package/Highlight/styles/index.scss +9 -0
  78. package/IconButton/styles/index.scss +90 -0
  79. package/Image/styles/index.scss +36 -0
  80. package/InlineEdit/styles/index.scss +51 -0
  81. package/Input/styles/_mixin.scss +39 -0
  82. package/Input/styles/_variables.scss +27 -0
  83. package/Input/styles/index.scss +23 -0
  84. package/InputGroup/styles/index.scss +264 -0
  85. package/InputNumber/styles/index.scss +1 -0
  86. package/InputPicker/styles/_mixin.scss +7 -0
  87. package/InputPicker/styles/index.scss +64 -0
  88. package/Kbd/styles/_mixin.scss +24 -0
  89. package/Kbd/styles/_variables.scss +13 -0
  90. package/Kbd/styles/index.scss +21 -0
  91. package/Link/styles/index.scss +41 -0
  92. package/List/styles/index.scss +111 -0
  93. package/Loader/styles/_mixin.scss +37 -0
  94. package/Loader/styles/_variables.scss +19 -0
  95. package/Loader/styles/index.scss +120 -0
  96. package/Menu/styles/index.scss +109 -0
  97. package/Message/styles/index.scss +189 -0
  98. package/Modal/styles/_animation.scss +15 -0
  99. package/Modal/styles/_variables.scss +16 -0
  100. package/Modal/styles/index.scss +186 -0
  101. package/MultiCascadeTree/styles/index.scss +35 -0
  102. package/MultiCascader/styles/index.scss +3 -0
  103. package/Nav/styles/index.scss +383 -0
  104. package/Navbar/styles/index.scss +253 -0
  105. package/Notification/styles/index.scss +116 -0
  106. package/NumberInput/styles/_mixin.scss +11 -0
  107. package/NumberInput/styles/index.scss +78 -0
  108. package/Pagination/styles/_pagination-group.scss +52 -0
  109. package/Pagination/styles/index.scss +77 -0
  110. package/Panel/styles/index.scss +122 -0
  111. package/PanelGroup/styles/index.scss +34 -0
  112. package/PasswordInput/styles/index.scss +3 -0
  113. package/PasswordStrengthMeter/styles/index.scss +41 -0
  114. package/PinInput/styles/index.scss +93 -0
  115. package/Placeholder/styles/_mixin.scss +9 -0
  116. package/Placeholder/styles/index.scss +155 -0
  117. package/Popover/styles/index.scss +224 -0
  118. package/Popover/styles/mixins.scss +54 -0
  119. package/Progress/styles/_animation.scss +69 -0
  120. package/Progress/styles/_mixins.scss +6 -0
  121. package/Progress/styles/_progress-line.scss +343 -0
  122. package/Progress/styles/index.scss +3 -0
  123. package/ProgressCircle/styles/index.scss +2 -0
  124. package/ProgressCircle/styles/progress-circle.scss +49 -0
  125. package/Radio/styles/_mixin.scss +5 -0
  126. package/Radio/styles/_variables.scss +5 -0
  127. package/Radio/styles/index.scss +147 -0
  128. package/RadioGroup/styles/_variables.scss +10 -0
  129. package/RadioGroup/styles/index.scss +83 -0
  130. package/RadioTile/styles/index.scss +80 -0
  131. package/RadioTileGroup/styles/index.scss +1 -0
  132. package/RangeSlider/styles/index.scss +4 -0
  133. package/Rate/styles/index.scss +141 -0
  134. package/Row/styles/index.scss +2 -0
  135. package/SegmentedControl/styles/_mixin.scss +7 -0
  136. package/SegmentedControl/styles/_variables.scss +43 -0
  137. package/SegmentedControl/styles/index.scss +147 -0
  138. package/SelectPicker/styles/index.scss +44 -0
  139. package/Sidebar/styles/index.scss +17 -0
  140. package/Sidenav/styles/index.scss +635 -0
  141. package/Sidenav/styles/mixin.scss +23 -0
  142. package/Slider/styles/index.scss +298 -0
  143. package/Stack/styles/_variables.scss +11 -0
  144. package/Stack/styles/index.scss +79 -0
  145. package/Stat/styles/index.scss +126 -0
  146. package/StatGroup/styles/index.scss +10 -0
  147. package/Steps/styles/index.scss +222 -0
  148. package/Table/styles/index.scss +473 -0
  149. package/Table/styles/mixin.scss +8 -0
  150. package/Tabs/styles/index.scss +24 -0
  151. package/Tag/styles/_variables.scss +13 -0
  152. package/Tag/styles/index.scss +62 -0
  153. package/TagGroup/styles/index.scss +14 -0
  154. package/TagInput/styles/index.scss +5 -0
  155. package/TagPicker/styles/index.scss +141 -0
  156. package/Text/styles/index.scss +142 -0
  157. package/Text/styles/variables.scss +9 -0
  158. package/Textarea/styles/index.scss +9 -0
  159. package/TimePicker/styles/index.scss +1 -0
  160. package/TimeRangePicker/styles/index.scss +1 -0
  161. package/Timeline/stories/styles.scss +29 -0
  162. package/Timeline/styles/_mixin.scss +13 -0
  163. package/Timeline/styles/index.scss +187 -0
  164. package/Toggle/styles/index.scss +284 -0
  165. package/Tooltip/styles/index.scss +160 -0
  166. package/Tooltip/styles/mixins.scss +56 -0
  167. package/Tree/styles/_indent-line.scss +8 -0
  168. package/Tree/styles/_toggle.scss +32 -0
  169. package/Tree/styles/_variables.scss +8 -0
  170. package/Tree/styles/index.scss +184 -0
  171. package/TreePicker/styles/index.scss +16 -0
  172. package/Uploader/styles/_mixin.scss +11 -0
  173. package/Uploader/styles/index.scss +491 -0
  174. package/VisuallyHidden/styles/index.scss +11 -0
  175. package/cjs/Breadcrumb/BreadcrumbItem.js +12 -7
  176. package/cjs/CheckTree/CheckTree.js +3 -0
  177. package/cjs/CheckTree/CheckTreeView.js +7 -3
  178. package/cjs/CheckTree/hooks/useTreeCheckState.d.ts +1 -0
  179. package/cjs/CheckTree/hooks/useTreeCheckState.js +54 -3
  180. package/cjs/CheckTree/utils.d.ts +9 -2
  181. package/cjs/CheckTree/utils.js +70 -11
  182. package/cjs/CheckTreePicker/CheckTreePicker.js +1 -0
  183. package/cjs/Checkbox/Checkbox.js +2 -1
  184. package/cjs/Checkbox/hooks/useIndeterminateCheckbox.d.ts +19 -0
  185. package/cjs/Checkbox/hooks/useIndeterminateCheckbox.js +32 -0
  186. package/cjs/DateInput/DateInput.js +24 -0
  187. package/cjs/DateInput/hooks/useKeyboardInputEvent.d.ts +2 -1
  188. package/cjs/DateInput/hooks/useKeyboardInputEvent.js +14 -0
  189. package/cjs/DateRangeInput/DateRangeInput.js +24 -0
  190. package/cjs/DateRangePicker/DateRangePicker.js +6 -0
  191. package/cjs/Form/Form.js +5 -1
  192. package/cjs/Rate/Rate.d.ts +8 -0
  193. package/cjs/Rate/Rate.js +3 -1
  194. package/cjs/Tree/hooks/useFlattenTree.d.ts +4 -0
  195. package/cjs/Tree/hooks/useFlattenTree.js +22 -1
  196. package/cjs/Tree/hooks/useFocusTree.js +19 -1
  197. package/cjs/Tree/hooks/useVirtualizedTreeData.d.ts +1 -0
  198. package/cjs/Tree/hooks/useVirtualizedTreeData.js +5 -2
  199. package/cjs/Tree/utils/focusableTree.d.ts +8 -0
  200. package/cjs/Tree/utils/focusableTree.js +40 -2
  201. package/cjs/Tree/utils/index.d.ts +1 -1
  202. package/cjs/Tree/utils/index.js +3 -1
  203. package/cjs/internals/Picker/utils.d.ts +2 -0
  204. package/cjs/internals/Picker/utils.js +13 -1
  205. package/cjs/internals/StyledBox/StyledBox.d.ts +1 -1
  206. package/cjs/internals/StyledBox/StyledBox.js +2 -2
  207. package/dist/rsuite.js +52 -74
  208. package/dist/rsuite.js.map +1 -1
  209. package/dist/rsuite.min.js +1 -1
  210. package/dist/rsuite.min.js.LICENSE.txt +0 -20
  211. package/dist/rsuite.min.js.map +1 -1
  212. package/esm/Breadcrumb/BreadcrumbItem.js +10 -5
  213. package/esm/CheckTree/CheckTree.js +3 -0
  214. package/esm/CheckTree/CheckTreeView.js +7 -3
  215. package/esm/CheckTree/hooks/useTreeCheckState.d.ts +1 -0
  216. package/esm/CheckTree/hooks/useTreeCheckState.js +55 -4
  217. package/esm/CheckTree/utils.d.ts +9 -2
  218. package/esm/CheckTree/utils.js +71 -12
  219. package/esm/CheckTreePicker/CheckTreePicker.js +1 -0
  220. package/esm/Checkbox/Checkbox.js +3 -2
  221. package/esm/Checkbox/hooks/useIndeterminateCheckbox.d.ts +19 -0
  222. package/esm/Checkbox/hooks/useIndeterminateCheckbox.js +29 -0
  223. package/esm/DateInput/DateInput.js +24 -0
  224. package/esm/DateInput/hooks/useKeyboardInputEvent.d.ts +2 -1
  225. package/esm/DateInput/hooks/useKeyboardInputEvent.js +14 -0
  226. package/esm/DateRangeInput/DateRangeInput.js +24 -0
  227. package/esm/DateRangePicker/DateRangePicker.js +6 -0
  228. package/esm/Form/Form.js +5 -1
  229. package/esm/Rate/Rate.d.ts +8 -0
  230. package/esm/Rate/Rate.js +3 -1
  231. package/esm/Tree/hooks/useFlattenTree.d.ts +4 -0
  232. package/esm/Tree/hooks/useFlattenTree.js +22 -1
  233. package/esm/Tree/hooks/useFocusTree.js +20 -2
  234. package/esm/Tree/hooks/useVirtualizedTreeData.d.ts +1 -0
  235. package/esm/Tree/hooks/useVirtualizedTreeData.js +5 -2
  236. package/esm/Tree/utils/focusableTree.d.ts +8 -0
  237. package/esm/Tree/utils/focusableTree.js +36 -0
  238. package/esm/Tree/utils/index.d.ts +1 -1
  239. package/esm/Tree/utils/index.js +1 -1
  240. package/esm/internals/Picker/utils.d.ts +2 -0
  241. package/esm/internals/Picker/utils.js +13 -1
  242. package/esm/internals/StyledBox/StyledBox.d.ts +1 -1
  243. package/esm/internals/StyledBox/StyledBox.js +2 -2
  244. package/internals/Box/styles/index.scss +31 -0
  245. package/internals/Burger/styles/index.scss +72 -0
  246. package/internals/CloseButton/styles/index.scss +14 -0
  247. package/internals/Picker/styles/_mixin.scss +219 -0
  248. package/internals/Picker/styles/_variables.scss +9 -0
  249. package/internals/Picker/styles/index.scss +476 -0
  250. package/internals/Ripple/styles/_mixins.scss +10 -0
  251. package/internals/Ripple/styles/index.scss +40 -0
  252. package/internals/ScrollView/styles/index.scss +77 -0
  253. package/internals/SearchBox/styles/index.scss +7 -0
  254. package/package.json +4 -4
  255. package/styles/_base.scss +37 -0
  256. package/styles/_css-reset.scss +345 -0
  257. package/styles/_themes.scss +132 -0
  258. package/styles/_variables.scss +48 -0
  259. package/styles/color-modes/_dark.scss +458 -0
  260. package/styles/color-modes/_high-contrast.scss +469 -0
  261. package/styles/color-modes/_light.scss +475 -0
  262. package/styles/colors/_colors-base.scss +39 -0
  263. package/styles/colors/_dark.scss +114 -0
  264. package/styles/colors/_high-contrast.scss +114 -0
  265. package/styles/colors/_light.scss +115 -0
  266. package/styles/colors/_palette.scss +413 -0
  267. package/styles/components.scss +114 -0
  268. package/styles/index.scss +2 -0
  269. package/styles/mixins/_color-modes.scss +20 -0
  270. package/styles/mixins/_combobox.scss +6 -0
  271. package/styles/mixins/_hacks.scss +33 -0
  272. package/styles/mixins/_input.scss +30 -0
  273. package/styles/mixins/_listbox.scss +70 -0
  274. package/styles/mixins/_menu.scss +12 -0
  275. package/styles/mixins/_utilities.scss +130 -0
  276. package/toaster/styles/animation.scss +54 -0
  277. package/toaster/styles/index.scss +109 -0
  278. package/useToaster/styles/index.scss +1 -0
@@ -0,0 +1,253 @@
1
+ @use '../../internals/Box/styles/index' as box;
2
+ @use '../../Dropdown/styles/index' as dropdown;
3
+ @use '../../internals/Ripple/styles/index' as ripple;
4
+ @use '../../styles/mixins/utilities' as utils;
5
+ @use '../../styles/mixins/color-modes' as color-modes;
6
+ @use '../../styles/mixins/menu' as menu;
7
+
8
+ // NavBar
9
+ // --------------------------------------------------
10
+
11
+ .rs-navbar {
12
+ --rs-navbar-padding-y: calc(var(--rs-spacing) * 2.5);
13
+ --rs-navbar-padding-x: calc(var(--rs-spacing) * 4);
14
+ --rs-navbar-gap: calc(var(--rs-spacing) * 4);
15
+ --rs-navbar-icon-font-size: var(--rs-font-size-md);
16
+ --rs-navbar-caret-font-size: var(--rs-font-size-md);
17
+ --rs-navbar-item-padding-y: 8px;
18
+ --rs-navbar-item-padding-x: 12px;
19
+
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ padding-inline: var(--rs-navbar-padding-x);
24
+ padding-block: var(--rs-navbar-padding-y);
25
+ gap: var(--rs-navbar-gap);
26
+
27
+ .rs-input,
28
+ .rs-input-group {
29
+ width: auto;
30
+ }
31
+ }
32
+
33
+ .rs-navbar-content {
34
+ display: flex;
35
+ align-items: center;
36
+ gap: var(--rs-navbar-gap);
37
+ }
38
+
39
+ .rs-navbar-brand {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: calc(var(--rs-spacing) * 1.5);
43
+ }
44
+
45
+ // Common
46
+ .rs-navbar-nav {
47
+ display: flex;
48
+
49
+ &.rs-nav-vertical {
50
+ flex-direction: column;
51
+ }
52
+
53
+ &:focus {
54
+ .rs-navbar-item:focus-visible,
55
+ .rs-navbar-item.rs-navbar-item-focus,
56
+ .rs-dropdown .rs-dropdown-toggle:focus-visible,
57
+ .rs-dropdown.rs-dropdown-focus .rs-dropdown-toggle {
58
+ z-index: 1;
59
+
60
+ @include utils.focus-ring;
61
+
62
+ @include color-modes.high-contrast-mode {
63
+ @include utils.focus-ring-slim-inset;
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ // Nav item content
70
+ .rs-navbar-item {
71
+ // Reset padding
72
+ padding-inline: var(--rs-navbar-item-padding-x);
73
+ padding-block: var(--rs-navbar-item-padding-y);
74
+ border-radius: var(--rs-radius-md);
75
+ color: inherit;
76
+ background-color: transparent;
77
+ position: relative;
78
+ overflow: hidden;
79
+ display: flex;
80
+ align-items: center;
81
+
82
+ &-icon {
83
+ font-size: var(--rs-navbar-icon-font-size);
84
+ margin-inline-end: 5px;
85
+ }
86
+
87
+ &-caret {
88
+ font-size: var(--rs-navbar-caret-font-size);
89
+ margin-inline-start: 6px;
90
+ }
91
+
92
+ &[data-disabled='true'] {
93
+ opacity: 0.5;
94
+ pointer-events: none;
95
+ }
96
+ }
97
+
98
+ // Focus style
99
+ .rs-navbar-brand,
100
+ .rs-navbar-item,
101
+ .rs-navbar-nav > .rs-dropdown-item {
102
+ &,
103
+ &:hover,
104
+ &:focus,
105
+ &:active {
106
+ text-decoration: none;
107
+ }
108
+
109
+ &:focus-visible {
110
+ // Navbar is usually placed by the top edge of the page
111
+ // thus use an inset focus ring to prevent overflow clipping
112
+ @include utils.focus-ring-inset;
113
+
114
+ @include color-modes.high-contrast-mode {
115
+ @include utils.focus-ring-slim-inset;
116
+ }
117
+
118
+ & {
119
+ z-index: 2;
120
+ }
121
+ }
122
+ }
123
+
124
+ .rs-navbar-item,
125
+ .rs-navbar-nav > .rs-dropdown {
126
+ margin: 0 !important;
127
+ }
128
+
129
+ .rs-navbar-item[data-active='true'] {
130
+ @include color-modes.high-contrast-mode {
131
+ text-decoration: underline;
132
+ }
133
+ }
134
+
135
+ // Dropdown
136
+ .rs-navbar-nav > .rs-dropdown .rs-dropdown-toggle {
137
+ @extend .rs-navbar-item;
138
+
139
+ &:focus,
140
+ &:focus-visible {
141
+ @include utils.focus-ring-inset;
142
+
143
+ @include color-modes.high-contrast-mode {
144
+ @include utils.focus-ring-slim-inset;
145
+ }
146
+
147
+ & {
148
+ z-index: 2;
149
+ }
150
+ }
151
+
152
+ padding-inline-end: calc(var(--rs-navbar-item-padding-x) + 20px);
153
+
154
+ @include color-modes.high-contrast-mode {
155
+ border: none;
156
+
157
+ &:focus-visible {
158
+ @include utils.focus-ring-slim-inset;
159
+ }
160
+ }
161
+
162
+ .rs-dropdown-toggle-caret {
163
+ top: var(--rs-navbar-item-padding-y);
164
+ inset-inline-end: var(--rs-navbar-item-padding-x);
165
+ }
166
+ }
167
+
168
+ .rs-navbar .rs-dropdown-item {
169
+ &:hover {
170
+ @include menu.menuitem-active;
171
+ }
172
+ }
173
+
174
+ // Default Navbar
175
+ .rs-navbar[data-appearance='default'] {
176
+ background-color: var(--rs-navbar-default-bg);
177
+ color: var(--rs-navbar-default-text);
178
+
179
+ .rs-navbar-item:hover,
180
+ .rs-dropdown .rs-dropdown-toggle:hover {
181
+ background-color: var(--rs-navbar-default-hover-bg);
182
+ color: var(--rs-navbar-default-hover-text);
183
+ }
184
+
185
+ .rs-navbar-item[data-active='true'] {
186
+ color: var(--rs-navbar-default-selected-text);
187
+ }
188
+ }
189
+
190
+ // Inverse Navbar
191
+ .rs-navbar[data-appearance='inverse'] {
192
+ background-color: var(--rs-navbar-inverse-bg);
193
+ color: var(--rs-navbar-inverse-text);
194
+
195
+ .rs-navbar-item,
196
+ .rs-dropdown .rs-dropdown-toggle {
197
+ &:hover,
198
+ &:focus {
199
+ background-color: var(--rs-navbar-inverse-hover-bg);
200
+ color: var(--rs-navbar-inverse-hover-text);
201
+ }
202
+ }
203
+
204
+ // Active
205
+ .rs-navbar-item[data-active='true'] {
206
+ background-color: var(--rs-navbar-inverse-selected-bg);
207
+
208
+ @include color-modes.high-contrast-mode {
209
+ color: var(--rs-navbar-inverse-selected-text);
210
+ }
211
+ }
212
+
213
+ .rs-navbar-brand,
214
+ .rs-text {
215
+ color: var(--rs-navbar-inverse-text);
216
+ }
217
+ }
218
+
219
+ // Subtle Navbar
220
+ .rs-navbar[data-appearance='subtle'] {
221
+ background-color: transparent;
222
+ color: var(--rs-navbar-subtle-text);
223
+
224
+ .rs-navbar-item,
225
+ .rs-dropdown .rs-dropdown-toggle {
226
+ &:hover,
227
+ &:focus {
228
+ background-color: var(--rs-navbar-subtle-hover-bg);
229
+ color: var(--rs-navbar-subtle-hover-text);
230
+ }
231
+ }
232
+
233
+ // Active
234
+ .rs-navbar-item[data-active='true'] {
235
+ color: var(--rs-navbar-subtle-selected-text);
236
+ }
237
+ }
238
+
239
+ .rs-navbar-drawer {
240
+ --rs-drawer-body-padding: 16px;
241
+
242
+ .rs-drawer-body {
243
+ padding: var(--rs-drawer-body-padding);
244
+ }
245
+ }
246
+
247
+ .rs-mega-menu {
248
+ display: inline-flex;
249
+ gap: calc(var(--rs-spacing) * 1.5);
250
+ }
251
+ .rs-mega-menu-toggle-icon {
252
+ font-size: var(--rs-navbar-caret-font-size);
253
+ }
@@ -0,0 +1,116 @@
1
+ @use '../../internals/Box/styles/index' as box;
2
+ @use '../../styles/mixins/utilities' as utils;
3
+ @use '../../toaster/styles/animation';
4
+
5
+ //
6
+ // Notifications
7
+ // --------------------------------------------------
8
+
9
+ // Base styles
10
+ // -------------------------
11
+ .rs-notification {
12
+ --rs-notify-padding: 1.25rem;
13
+ --rs-notify-max-width: 400px;
14
+ --rs-notify-spacing: calc(var(--rs-spacing) * 2.5);
15
+ --rs-notify-border-radius: var(--rs-radius-md);
16
+ --rs-notify-box-shadow: var(--rs-shadow-md);
17
+ --rs-notify-title-font-size: var(--rs-font-size-md);
18
+ --rs-notify-line-height: var(--rs-text-line-height-md);
19
+ --rs-notify-icon-size: 24px;
20
+ --rs-notify-title-description-gap: 8px;
21
+
22
+ // Recovery mouse event.
23
+ pointer-events: auto;
24
+ animation-fill-mode: forwards;
25
+ position: relative;
26
+ flex: 0 0 auto;
27
+ display: inline-flex;
28
+ align-items: center;
29
+ gap: var(--rs-notify-spacing);
30
+
31
+ border-radius: var(--rs-notify-border-radius);
32
+ background: var(--rs-bg-overlay);
33
+ box-shadow: var(--rs-notify-box-shadow);
34
+ padding: var(--rs-notify-padding);
35
+ overflow: hidden;
36
+
37
+ &:has(.rs-notification-header) {
38
+ align-items: flex-start;
39
+ }
40
+
41
+ // Multiple notification should have spacing
42
+ // Hiding notification haven't spacing.
43
+ &:not(.rs-toast-fade-exited) ~ .rs-notification {
44
+ margin-top: var(--rs-notify-spacing);
45
+ }
46
+
47
+ @at-root .high-contrast-mode & {
48
+ border: 1px solid var(--rs-border-primary);
49
+ }
50
+
51
+ // Notification content
52
+ &-content {
53
+ max-width: var(--rs-notify-max-width);
54
+ flex: 1;
55
+ }
56
+
57
+ // Title
58
+ &-header {
59
+ @include utils.ellipsis;
60
+
61
+ color: var(--rs-text-heading);
62
+ font-size: var(--rs-notify-title-font-size);
63
+ line-height: var(--rs-notify-line-height);
64
+
65
+ > p {
66
+ margin: 0;
67
+ }
68
+ }
69
+
70
+ &-icon {
71
+ display: flex;
72
+ align-items: center;
73
+
74
+ .rs-icon {
75
+ font-size: var(--rs-notify-icon-size);
76
+ width: var(--rs-notify-icon-size);
77
+ line-height: 1;
78
+ color: var(--rs-notify-icon-color);
79
+
80
+ &::before {
81
+ vertical-align: middle;
82
+ }
83
+ }
84
+ }
85
+
86
+ // Description
87
+ &-description {
88
+ color: var(--rs-text-primary);
89
+ }
90
+
91
+ // Has header and description need to ajust distance
92
+ &-header + &-description {
93
+ margin-top: var(--rs-notify-title-description-gap);
94
+ }
95
+
96
+ &.rs-notification-hiding {
97
+ animation: notificationMoveOut 0.3s ease-in forwards;
98
+
99
+ & ~ .rs-notification {
100
+ margin-top: 0;
101
+ }
102
+ }
103
+
104
+ .rs-btn-close {
105
+ padding: 0;
106
+ }
107
+ }
108
+
109
+ // Types
110
+ $types: success, info, warning, error;
111
+
112
+ @each $type in $types {
113
+ .rs-notification-#{$type} {
114
+ --rs-notify-icon-color: var(--rs-state-#{$type});
115
+ }
116
+ }
@@ -0,0 +1,11 @@
1
+ @mixin input-touchspin($size) {
2
+ $size-name: 'input-height-#{$size}';
3
+ $height: ((var(--rs-#{$size-name}) - 2px) / 2);
4
+
5
+ height: $height;
6
+
7
+ > .rs-icon {
8
+ height: $height;
9
+ color: var(--rs-text-secondary);
10
+ }
11
+ }
@@ -0,0 +1,78 @@
1
+ @use 'sass:list';
2
+ @use '../../internals/Box/styles/index' as box;
3
+ @use '../../styles/colors/colors-base' as colors;
4
+ @use '../../Button/styles/index' as button;
5
+ @use '../../Input/styles/index' as input;
6
+ @use '../../InputGroup/styles/index' as input-group;
7
+ @use './mixin' as number-input-mixin;
8
+
9
+ .rs-number-input {
10
+ --rs-number-input-touchspin-font-size: var(--rs-font-size-xs);
11
+ --rs-number-input-touchspin-height-xs: calc(calc(var(--rs-input-height-xs) - 2px) / 2);
12
+ --rs-number-input-touchspin-height-sm: calc(calc(var(--rs-input-height-sm) - 2px) / 2);
13
+ --rs-number-input-touchspin-height-md: calc(calc(var(--rs-input-height-md) - 2px) / 2);
14
+ --rs-number-input-touchspin-height-lg: calc(calc(var(--rs-input-height-lg) - 2px) / 2);
15
+
16
+ &.rs-input-group {
17
+ width: auto;
18
+ }
19
+
20
+ $sizes: xs, sm, md, lg;
21
+
22
+ @each $size in $sizes {
23
+ $index: list.index($sizes, $size);
24
+ $offset: ($index - 1) * 2px;
25
+
26
+ &[data-size='#{$size}'] {
27
+ --rs-number-input-touchspin-height: var(--rs-number-input-touchspin-height-#{$size});
28
+ --rs-number-input-icon-height: calc(var(--rs-number-input-touchspin-height) - #{$offset});
29
+ }
30
+ }
31
+
32
+ &-btn-group-vertical {
33
+ border-left: 1px solid var(--rs-border-secondary);
34
+ position: relative;
35
+ width: 20px;
36
+ flex: 0 0 20px;
37
+ display: block;
38
+
39
+ & > .rs-btn {
40
+ display: block;
41
+ float: none;
42
+ width: 100%;
43
+ max-width: 100%;
44
+ position: relative;
45
+ border: none;
46
+ }
47
+ }
48
+
49
+ .rs-number-input-touchspin-up,
50
+ .rs-number-input-touchspin-down {
51
+ position: relative;
52
+ border-radius: var(--rs-radius-none);
53
+ padding: 0;
54
+ box-shadow: none !important;
55
+ height: var(--rs-number-input-touchspin-height);
56
+
57
+ > .rs-icon {
58
+ width: 100%;
59
+ font-size: var(--rs-number-input-touchspin-font-size);
60
+ color: var(--rs-text-secondary);
61
+ height: var(--rs-number-input-icon-height);
62
+ display: flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+ }
66
+ }
67
+
68
+ // Reset Input Number styling
69
+ // Reference https://stackoverflow.com/questions/26024771/styling-a-input-type-number#answer-40189766
70
+ input[type='number'] {
71
+ appearance: textfield;
72
+
73
+ &::-webkit-inner-spin-button {
74
+ /* stylelint-disable */
75
+ -webkit-appearance: none;
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,52 @@
1
+ @use '../../internals/Box/styles/index' as box;
2
+
3
+ .rs-pagination-group {
4
+ --rs-pagination-font-size-xs: var(--rs-font-size-xs);
5
+ --rs-pagination-font-size-sm: var(--rs-font-size-sm);
6
+ --rs-pagination-font-size-md: var(--rs-font-size-sm);
7
+ --rs-pagination-font-size-lg: var(--rs-font-size-md);
8
+ --rs-pagination-group-gap: calc(var(--rs-spacing) * 2.5);
9
+
10
+ display: flex;
11
+ align-items: center;
12
+ gap: var(--rs-pagination-group-gap);
13
+
14
+ &-total,
15
+ &-skip {
16
+ font-size: var(--rs-pagination-font-size-md);
17
+ }
18
+
19
+ $sizes: (xs, sm, md, lg);
20
+
21
+ @each $size in $sizes {
22
+ &[data-size='#{$size}'] {
23
+ .rs-pagination-group-total,
24
+ .rs-pagination-group-skip {
25
+ font-size: var(--rs-pagination-font-size-#{$size});
26
+ }
27
+ }
28
+ }
29
+
30
+ &-grow {
31
+ flex-grow: 1;
32
+ }
33
+
34
+ .rs-pagination {
35
+ vertical-align: middle;
36
+ }
37
+
38
+ &-limit {
39
+ position: relative;
40
+ }
41
+
42
+ &-skip {
43
+ vertical-align: middle;
44
+ display: inline-block;
45
+
46
+ .rs-input {
47
+ width: 46px;
48
+ margin: 0 5px;
49
+ display: inline-block;
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,77 @@
1
+ @use '../../internals/Box/styles/index' as box;
2
+ @use '../../Button/styles/index' as button;
3
+ @use '../../Button/styles/mixin' as button-mixin;
4
+ @use '../../Divider/styles/index' as divider;
5
+ @use '../../SelectPicker/styles/index' as select-picker;
6
+ @use './pagination-group';
7
+
8
+ //
9
+ // Pagination (multiple pages)
10
+ // --------------------------------------------------
11
+ .rs-pagination {
12
+ display: inline-block;
13
+ padding-inline-start: 0;
14
+ margin-bottom: 0;
15
+ // Pagination Sizes
16
+ // --------------------------------------------------
17
+
18
+ &[data-size='lg'] {
19
+ .rs-pagination-btn {
20
+ min-width: 42px;
21
+
22
+ .rs-pagination-symbol {
23
+ height: var(--rs-line-height-plus);
24
+ }
25
+ }
26
+ }
27
+
28
+ &[data-size='md'] {
29
+ .rs-pagination-btn {
30
+ min-width: 36px;
31
+ }
32
+ }
33
+
34
+ &[data-size='sm'] {
35
+ .rs-pagination-btn {
36
+ min-width: 30px;
37
+ }
38
+ }
39
+
40
+ &[data-size='xs'] {
41
+ .rs-pagination-btn {
42
+ min-width: 24px;
43
+ }
44
+ }
45
+ }
46
+
47
+ .rs-pagination-btn {
48
+ margin: 0 2px;
49
+ position: relative;
50
+ float: inline-start; // Collapse white-space
51
+ text-decoration: none;
52
+ cursor: pointer;
53
+ user-select: none;
54
+ display: flex;
55
+ justify-content: center;
56
+
57
+ .rs-pagination-symbol {
58
+ display: flex;
59
+ align-items: center;
60
+ height: var(--rs-line-height-base);
61
+
62
+ [dir='rtl'] & {
63
+ transform: rotate(180deg);
64
+ }
65
+ }
66
+
67
+ @at-root .high-contrast-mode & {
68
+ transition: none;
69
+ color: var(--rs-pagination-item-text);
70
+
71
+ &:hover,
72
+ &:focus-visible {
73
+ color: var(--rs-pagination-item-current-text);
74
+ text-decoration: underline;
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,122 @@
1
+ @use '../../internals/Box/styles/index' as box;
2
+ @use '../../Heading/styles/index' as heading;
3
+ @use '../../internals/ScrollView/styles/index' as scroll-view;
4
+ @use '../../Animation/styles/index' as animation;
5
+
6
+ //
7
+ // Panel
8
+ // --------------------------------------------------
9
+
10
+ .rs-panel {
11
+ --rs-panel-header-font-size: var(--rs-font-size-md);
12
+ --rs-panel-header-line-height: var(--rs-text-line-height-md);
13
+ --rs-panel-padding: 1.25rem;
14
+ --rs-panel-border-radius: var(--rs-radius-md);
15
+ --rs-panel-btn-font-size: var(--rs-font-size-md);
16
+ --rs-panel-btn-padding: 0.625rem;
17
+ --rs-panel-shadow: var(--rs-shadow-md);
18
+
19
+ border-radius: var(--rs-panel-border-radius);
20
+ overflow: hidden;
21
+
22
+ .rs-anim-collapse {
23
+ display: none;
24
+
25
+ &.rs-anim-in {
26
+ display: block;
27
+ }
28
+ }
29
+
30
+ &-bordered {
31
+ border: 1px solid var(--rs-border-primary);
32
+ }
33
+
34
+ &-shaded {
35
+ box-shadow: var(--rs-panel-shadow);
36
+ }
37
+
38
+ &-header,
39
+ &-body {
40
+ padding: var(--rs-panel-padding);
41
+ }
42
+
43
+ // When the width is set to full, reset the value of padding.
44
+ &-body-fill {
45
+ padding: 0 !important;
46
+ }
47
+
48
+ &-header {
49
+ color: var(--rs-text-heading);
50
+ font-size: var(--rs-panel-header-font-size);
51
+ line-height: var(--rs-panel-header-line-height);
52
+ font-weight: inherit;
53
+ }
54
+
55
+ &-btn {
56
+ width: 100%;
57
+ border: none;
58
+ background: none;
59
+ outline: transparent solid 2px;
60
+ display: flex;
61
+ align-items: center;
62
+ font-size: var(--rs-panel-btn-font-size);
63
+ padding: var(--rs-panel-btn-padding);
64
+ border-radius: var(--rs-panel-border-radius);
65
+
66
+ &:hover,
67
+ &:focus,
68
+ &:active {
69
+ background-color: var(--rs-btn-subtle-hover-bg);
70
+ color: var(--rs-btn-subtle-hover-text);
71
+ outline: transparent solid 2px;
72
+ }
73
+
74
+ &-icon {
75
+ transition: transform 0.2s ease 0s;
76
+ }
77
+
78
+ &[aria-expanded='true'] {
79
+ .rs-panel-btn-icon {
80
+ transform: rotate(180deg);
81
+ }
82
+ }
83
+
84
+ &[disabled] {
85
+ cursor: not-allowed;
86
+ color: var(--rs-text-disabled);
87
+ background-color: var(--rs-btn-subtle-disabled-bg);
88
+ }
89
+ }
90
+
91
+ &-title {
92
+ margin: 0;
93
+ flex: 1 1 0%;
94
+ text-align: start;
95
+
96
+ a {
97
+ color: inherit;
98
+
99
+ &:hover,
100
+ &:focus,
101
+ &:active {
102
+ text-decoration: none;
103
+ }
104
+ }
105
+ }
106
+
107
+ // Adjust the padding value when the head and body are combined.
108
+ &-header + &-body-collapse &-body,
109
+ &-header + &-body {
110
+ padding-top: 0;
111
+ }
112
+
113
+ // Collapsible panel header hover background
114
+ &-collapsible > &-header {
115
+ cursor: pointer;
116
+ transition:
117
+ background-color 0.3s linear,
118
+ border-radius 0.3s linear;
119
+ position: relative;
120
+ padding: calc(var(--rs-spacing) * 2.5);
121
+ }
122
+ }