rsuite 5.66.0 → 5.68.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 (115) hide show
  1. package/AutoComplete/styles/index.css +0 -1
  2. package/Button/styles/index.css +0 -1
  3. package/Button/styles/index.less +0 -1
  4. package/CHANGELOG.md +34 -0
  5. package/Calendar/styles/index.css +0 -1
  6. package/Cascader/styles/index.css +0 -1
  7. package/CheckPicker/styles/index.css +0 -1
  8. package/CheckTree/styles/index.css +0 -1
  9. package/CheckTreePicker/styles/index.css +0 -1
  10. package/DatePicker/styles/index.css +0 -1
  11. package/DateRangePicker/styles/index.css +0 -1
  12. package/Dropdown/styles/index.css +0 -1
  13. package/IconButton/styles/index.css +0 -1
  14. package/InputGroup/styles/index.css +0 -1
  15. package/InputNumber/styles/index.css +0 -1
  16. package/InputPicker/styles/index.css +0 -1
  17. package/MultiCascadeTree/styles/index.css +0 -1
  18. package/MultiCascader/styles/index.css +0 -1
  19. package/Nav/styles/index.css +68 -1
  20. package/Nav/styles/index.less +37 -0
  21. package/NavItem/package.json +3 -3
  22. package/Navbar/styles/index.css +0 -1
  23. package/Pagination/styles/index.css +0 -1
  24. package/SelectPicker/styles/index.css +0 -1
  25. package/Tabs/styles/index.css +68 -4
  26. package/Tabs/styles/index.less +0 -4
  27. package/TagInput/styles/index.css +0 -1
  28. package/TagPicker/styles/index.css +0 -1
  29. package/Uploader/styles/index.css +0 -1
  30. package/cjs/DateInput/DateInput.js +18 -2
  31. package/cjs/DateInput/hooks/useDateInputState.d.ts +1 -0
  32. package/cjs/DateInput/hooks/useDateInputState.js +10 -9
  33. package/cjs/DateInput/hooks/useKeyboardInputEvent.js +5 -0
  34. package/cjs/DateRangeInput/DateRangeInput.js +24 -2
  35. package/cjs/Form/Form.js +4 -10
  36. package/cjs/Form/FormContext.d.ts +2 -4
  37. package/cjs/Form/hooks/useFormValidate.d.ts +2 -2
  38. package/cjs/Form/hooks/useFormValidate.js +99 -35
  39. package/cjs/FormControl/FormControl.js +6 -22
  40. package/cjs/Nav/AdaptiveNavItem.d.ts +9 -0
  41. package/cjs/Nav/AdaptiveNavItem.js +89 -0
  42. package/cjs/Nav/Nav.d.ts +28 -9
  43. package/cjs/Nav/Nav.js +4 -74
  44. package/cjs/Nav/NavContext.d.ts +2 -2
  45. package/cjs/Nav/NavItem.d.ts +1 -1
  46. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  47. package/cjs/Sidenav/Sidenav.d.ts +3 -3
  48. package/cjs/Stack/Stack.js +6 -1
  49. package/cjs/Tabs/Tabs.d.ts +20 -17
  50. package/cjs/Tabs/Tabs.js +5 -1
  51. package/cjs/Uploader/Uploader.d.ts +2 -2
  52. package/cjs/Uploader/Uploader.js +11 -9
  53. package/cjs/internals/Overlay/OverlayTrigger.d.ts +2 -2
  54. package/cjs/internals/Overlay/OverlayTrigger.js +17 -8
  55. package/cjs/internals/utils/BrowserDetection.js +6 -0
  56. package/cjs/internals/utils/ReactChildren.d.ts +6 -0
  57. package/cjs/internals/utils/ReactChildren.js +1 -0
  58. package/cjs/locales/ca_ES.d.ts +120 -0
  59. package/cjs/locales/ca_ES.js +87 -0
  60. package/cjs/locales/index.d.ts +1 -0
  61. package/cjs/locales/index.js +3 -1
  62. package/dist/rsuite-no-reset-rtl.css +65 -4
  63. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  64. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  65. package/dist/rsuite-no-reset.css +65 -4
  66. package/dist/rsuite-no-reset.min.css +1 -1
  67. package/dist/rsuite-no-reset.min.css.map +1 -1
  68. package/dist/rsuite-rtl.css +65 -4
  69. package/dist/rsuite-rtl.min.css +1 -1
  70. package/dist/rsuite-rtl.min.css.map +1 -1
  71. package/dist/rsuite.css +65 -4
  72. package/dist/rsuite.js +25 -14
  73. package/dist/rsuite.js.map +1 -1
  74. package/dist/rsuite.min.css +1 -1
  75. package/dist/rsuite.min.css.map +1 -1
  76. package/dist/rsuite.min.js +1 -1
  77. package/dist/rsuite.min.js.map +1 -1
  78. package/esm/DateInput/DateInput.js +18 -2
  79. package/esm/DateInput/hooks/useDateInputState.d.ts +1 -0
  80. package/esm/DateInput/hooks/useDateInputState.js +11 -10
  81. package/esm/DateInput/hooks/useKeyboardInputEvent.js +5 -0
  82. package/esm/DateRangeInput/DateRangeInput.js +24 -2
  83. package/esm/Form/Form.js +4 -10
  84. package/esm/Form/FormContext.d.ts +2 -4
  85. package/esm/Form/hooks/useFormValidate.d.ts +2 -2
  86. package/esm/Form/hooks/useFormValidate.js +98 -34
  87. package/esm/FormControl/FormControl.js +6 -22
  88. package/esm/Nav/AdaptiveNavItem.d.ts +9 -0
  89. package/esm/Nav/AdaptiveNavItem.js +83 -0
  90. package/esm/Nav/Nav.d.ts +28 -9
  91. package/esm/Nav/Nav.js +6 -76
  92. package/esm/Nav/NavContext.d.ts +2 -2
  93. package/esm/Nav/NavItem.d.ts +1 -1
  94. package/esm/Navbar/NavbarItem.d.ts +1 -1
  95. package/esm/Sidenav/Sidenav.d.ts +3 -3
  96. package/esm/Stack/Stack.js +6 -1
  97. package/esm/Tabs/Tabs.d.ts +20 -17
  98. package/esm/Tabs/Tabs.js +6 -1
  99. package/esm/Uploader/Uploader.d.ts +2 -2
  100. package/esm/Uploader/Uploader.js +11 -9
  101. package/esm/internals/Overlay/OverlayTrigger.d.ts +2 -2
  102. package/esm/internals/Overlay/OverlayTrigger.js +18 -9
  103. package/esm/internals/utils/BrowserDetection.js +6 -0
  104. package/esm/internals/utils/ReactChildren.d.ts +6 -0
  105. package/esm/internals/utils/ReactChildren.js +1 -1
  106. package/esm/locales/ca_ES.d.ts +120 -0
  107. package/esm/locales/ca_ES.js +82 -0
  108. package/esm/locales/index.d.ts +1 -0
  109. package/esm/locales/index.js +1 -0
  110. package/locales/ca_ES/package.json +7 -0
  111. package/package.json +1 -1
  112. package/styles/color-modes/dark.less +7 -0
  113. package/styles/color-modes/high-contrast.less +7 -0
  114. package/styles/color-modes/light.less +8 -0
  115. package/styles/plugins/palette.js +34 -6
@@ -1325,7 +1325,6 @@ textarea.rs-input-sm {
1325
1325
  border-left: var(--rs-btn-default-border, none);
1326
1326
  }
1327
1327
  .rs-btn-block {
1328
- display: block;
1329
1328
  width: 100%;
1330
1329
  }
1331
1330
  .rs-btn-block + .rs-btn-block {
@@ -1123,7 +1123,6 @@
1123
1123
  border-left: var(--rs-btn-default-border, none);
1124
1124
  }
1125
1125
  .rs-btn-block {
1126
- display: block;
1127
1126
  width: 100%;
1128
1127
  }
1129
1128
  .rs-btn-block + .rs-btn-block {
@@ -263,7 +263,6 @@ each(@spectrum, .(@color) {
263
263
  // --------------------------------------------------
264
264
 
265
265
  .rs-btn-block {
266
- display: block;
267
266
  width: 100%;
268
267
 
269
268
  // Vertically space out multiple block buttons
package/CHANGELOG.md CHANGED
@@ -1,3 +1,37 @@
1
+ # [5.68.0](https://github.com/rsuite/rsuite/compare/v5.67.0...v5.68.0) (2024-07-26)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **DateInput,DateRangeInput:** fix the date in the text box cannot be copied ([#3888](https://github.com/rsuite/rsuite/issues/3888)) ([1d95107](https://github.com/rsuite/rsuite/commit/1d95107d96ebe5bacb73c3fee8427efc59b1f673))
7
+ * **Form:** fix `proxy` function in `schema-typed` not work in form ([#3863](https://github.com/rsuite/rsuite/issues/3863)) ([63c0e3a](https://github.com/rsuite/rsuite/commit/63c0e3a07a17eeb1158c75b49fb8fc3a65199e16))
8
+ * **Stack:** fix the compatibility of spacing in Linux Firefox ([#3889](https://github.com/rsuite/rsuite/issues/3889)) ([44ed16f](https://github.com/rsuite/rsuite/commit/44ed16f7f1f41c7beda063a86588cbe9c52c6496))
9
+ * **Whisper:** fix Whisper children not support string and other basic types ([#3893](https://github.com/rsuite/rsuite/issues/3893)) ([70fb61d](https://github.com/rsuite/rsuite/commit/70fb61da619ce0a94129eb6f02972b4ce16c5016))
10
+
11
+
12
+ ### Features
13
+
14
+ * **Nav,Tabs:** add `pills` value to the appearance property ([#3890](https://github.com/rsuite/rsuite/issues/3890)) ([eae279f](https://github.com/rsuite/rsuite/commit/eae279fa5ede8c6ce2c3676585f1cc85c9644b8e))
15
+
16
+
17
+
18
+ # [5.67.0](https://github.com/rsuite/rsuite/compare/v5.66.0...v5.67.0) (2024-07-19)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **Button:** fix the misalignment of icons and text in block buttons ([#3880](https://github.com/rsuite/rsuite/issues/3880)) ([aa4f02b](https://github.com/rsuite/rsuite/commit/aa4f02bd434f0753c85b8584e034a57a1050b7f6))
24
+ * **NavItem:** fix NavItem cannot be used in Navbar and Sidenav ([#3882](https://github.com/rsuite/rsuite/issues/3882)) ([be6b2b1](https://github.com/rsuite/rsuite/commit/be6b2b165459afd27f06cf387df0fde73d210e94))
25
+ * **Stack:** fix StackItem cannot be rendered correctly in server-side rendering ([#3884](https://github.com/rsuite/rsuite/issues/3884)) ([a552e35](https://github.com/rsuite/rsuite/commit/a552e357f1fd8a3043012f7de08b9369100d6fee))
26
+
27
+
28
+ ### Features
29
+
30
+ * **locales:** add support for Catalan ([#3878](https://github.com/rsuite/rsuite/issues/3878)) ([c0bae4d](https://github.com/rsuite/rsuite/commit/c0bae4d2fb244ef270869ef7338c10d71165a3ef))
31
+ * **Uploader:** add `event` parameter to `onChange` callback ([#3881](https://github.com/rsuite/rsuite/issues/3881)) ([a1c1667](https://github.com/rsuite/rsuite/commit/a1c1667e9180e278ba9e7212743f662b086be1e6))
32
+
33
+
34
+
1
35
  # [5.66.0](https://github.com/rsuite/rsuite/compare/v5.65.1...v5.66.0) (2024-07-12)
2
36
 
3
37
 
@@ -1194,7 +1194,6 @@
1194
1194
  border-left: var(--rs-btn-default-border, none);
1195
1195
  }
1196
1196
  .rs-btn-block {
1197
- display: block;
1198
1197
  width: 100%;
1199
1198
  }
1200
1199
  .rs-btn-block + .rs-btn-block {
@@ -1411,7 +1411,6 @@
1411
1411
  border-left: var(--rs-btn-default-border, none);
1412
1412
  }
1413
1413
  .rs-btn-block {
1414
- display: block;
1415
1414
  width: 100%;
1416
1415
  }
1417
1416
  .rs-btn-block + .rs-btn-block {
@@ -1514,7 +1514,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
1514
1514
  border-left: var(--rs-btn-default-border, none);
1515
1515
  }
1516
1516
  .rs-btn-block {
1517
- display: block;
1518
1517
  width: 100%;
1519
1518
  }
1520
1519
  .rs-btn-block + .rs-btn-block {
@@ -1232,7 +1232,6 @@
1232
1232
  border-left: var(--rs-btn-default-border, none);
1233
1233
  }
1234
1234
  .rs-btn-block {
1235
- display: block;
1236
1235
  width: 100%;
1237
1236
  }
1238
1237
  .rs-btn-block + .rs-btn-block {
@@ -1232,7 +1232,6 @@
1232
1232
  border-left: var(--rs-btn-default-border, none);
1233
1233
  }
1234
1234
  .rs-btn-block {
1235
- display: block;
1236
1235
  width: 100%;
1237
1236
  }
1238
1237
  .rs-btn-block + .rs-btn-block {
@@ -1365,7 +1365,6 @@ textarea.rs-input-sm {
1365
1365
  border-left: var(--rs-btn-default-border, none);
1366
1366
  }
1367
1367
  .rs-btn-block {
1368
- display: block;
1369
1368
  width: 100%;
1370
1369
  }
1371
1370
  .rs-btn-block + .rs-btn-block {
@@ -1251,7 +1251,6 @@
1251
1251
  border-left: var(--rs-btn-default-border, none);
1252
1252
  }
1253
1253
  .rs-btn-block {
1254
- display: block;
1255
1254
  width: 100%;
1256
1255
  }
1257
1256
  .rs-btn-block + .rs-btn-block {
@@ -1168,7 +1168,6 @@
1168
1168
  border-left: var(--rs-btn-default-border, none);
1169
1169
  }
1170
1170
  .rs-btn-block {
1171
- display: block;
1172
1171
  width: 100%;
1173
1172
  }
1174
1173
  .rs-btn-block + .rs-btn-block {
@@ -1210,7 +1210,6 @@
1210
1210
  border-left: var(--rs-btn-default-border, none);
1211
1211
  }
1212
1212
  .rs-btn-block {
1213
- display: block;
1214
1213
  width: 100%;
1215
1214
  }
1216
1215
  .rs-btn-block + .rs-btn-block {
@@ -1144,7 +1144,6 @@
1144
1144
  border-left: var(--rs-btn-default-border, none);
1145
1145
  }
1146
1146
  .rs-btn-block {
1147
- display: block;
1148
1147
  width: 100%;
1149
1148
  }
1150
1149
  .rs-btn-block + .rs-btn-block {
@@ -1261,7 +1261,6 @@ textarea.rs-input-sm {
1261
1261
  border-left: var(--rs-btn-default-border, none);
1262
1262
  }
1263
1263
  .rs-btn-block {
1264
- display: block;
1265
1264
  width: 100%;
1266
1265
  }
1267
1266
  .rs-btn-block + .rs-btn-block {
@@ -1433,7 +1433,6 @@ textarea.rs-input-sm {
1433
1433
  border-left: var(--rs-btn-default-border, none);
1434
1434
  }
1435
1435
  .rs-btn-block {
1436
- display: block;
1437
1436
  width: 100%;
1438
1437
  }
1439
1438
  .rs-btn-block + .rs-btn-block {
@@ -1423,7 +1423,6 @@
1423
1423
  border-left: var(--rs-btn-default-border, none);
1424
1424
  }
1425
1425
  .rs-btn-block {
1426
- display: block;
1427
1426
  width: 100%;
1428
1427
  }
1429
1428
  .rs-btn-block + .rs-btn-block {
@@ -1722,7 +1722,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
1722
1722
  border-left: var(--rs-btn-default-border, none);
1723
1723
  }
1724
1724
  .rs-btn-block {
1725
- display: block;
1726
1725
  width: 100%;
1727
1726
  }
1728
1727
  .rs-btn-block + .rs-btn-block {
@@ -70,6 +70,7 @@
70
70
  --rs-violet-800: #470c99;
71
71
  --rs-violet-900: #390085;
72
72
  --rs-text-primary: var(--rs-gray-800);
73
+ --rs-text-secondary: var(--rs-gray-600);
73
74
  --rs-text-disabled: var(--rs-gray-600);
74
75
  --rs-border-primary: var(--rs-gray-200);
75
76
  --rs-bg-card: var(--rs-gray-0);
@@ -119,6 +120,12 @@
119
120
  --rs-navs-tab-border: var(--rs-gray-300);
120
121
  --rs-navs-subtle-border: var(--rs-gray-50);
121
122
  --rs-navs-selected: var(--rs-primary-700);
123
+ --rs-navs-pills-bg: var(--rs-gray-100);
124
+ --rs-navs-pills-item-color: var(--rs-text-secondary);
125
+ --rs-navs-pills-item-active-bg: var(--rs-gray-0);
126
+ --rs-navs-pills-item-active-color: var(--rs-gray-900);
127
+ --rs-navs-pills-item-disabled-color: var(--rs-gray-400);
128
+ --rs-navs-pills-item-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
122
129
  }
123
130
  @supports not (color: rgb(from white r g b)) {
124
131
  :root,
@@ -200,6 +207,7 @@
200
207
  --rs-violet-800: #470c99;
201
208
  --rs-violet-900: #390085;
202
209
  --rs-text-primary: var(--rs-gray-50);
210
+ --rs-text-secondary: var(--rs-gray-200);
203
211
  --rs-text-disabled: var(--rs-gray-400);
204
212
  --rs-border-primary: var(--rs-gray-600);
205
213
  --rs-bg-card: var(--rs-gray-800);
@@ -249,6 +257,11 @@
249
257
  --rs-navs-tab-border: var(--rs-gray-600);
250
258
  --rs-navs-subtle-border: var(--rs-gray-600);
251
259
  --rs-navs-selected: var(--rs-primary-500);
260
+ --rs-navs-pills-bg: var(--rs-gray-700);
261
+ --rs-navs-pills-item-color: var(--rs-text-secondary);
262
+ --rs-navs-pills-item-active-bg: var(--rs-gray-600);
263
+ --rs-navs-pills-item-active-color: var(--rs-gray-0);
264
+ --rs-navs-pills-item-disabled-color: var(--rs-gray-400);
252
265
  }
253
266
  @supports not (color: rgb(from white r g b)) {
254
267
  .rs-theme-dark {
@@ -329,6 +342,7 @@
329
342
  --rs-violet-800: #470c99;
330
343
  --rs-violet-900: #390085;
331
344
  --rs-text-primary: var(--rs-gray-50);
345
+ --rs-text-secondary: var(--rs-gray-200);
332
346
  --rs-text-disabled: var(--rs-gray-400);
333
347
  --rs-border-primary: var(--rs-gray-100);
334
348
  --rs-bg-card: var(--rs-gray-800);
@@ -381,6 +395,11 @@
381
395
  --rs-navs-tab-border: var(--rs-gray-600);
382
396
  --rs-navs-subtle-border: var(--rs-gray-600);
383
397
  --rs-navs-selected: var(--rs-primary-500);
398
+ --rs-navs-pills-bg: var(--rs-gray-700);
399
+ --rs-navs-pills-item-color: var(--rs-text-secondary);
400
+ --rs-navs-pills-item-active-bg: var(--rs-gray-600);
401
+ --rs-navs-pills-item-active-color: var(--rs-primary-500);
402
+ --rs-navs-pills-item-disabled-color: var(--rs-gray-400);
384
403
  }
385
404
  @supports not (color: rgb(from white r g b)) {
386
405
  .rs-theme-high-contrast {
@@ -1192,7 +1211,6 @@
1192
1211
  border-left: var(--rs-btn-default-border, none);
1193
1212
  }
1194
1213
  .rs-btn-block {
1195
- display: block;
1196
1214
  width: 100%;
1197
1215
  }
1198
1216
  .rs-btn-block + .rs-btn-block {
@@ -1665,6 +1683,7 @@
1665
1683
  cursor: pointer;
1666
1684
  color: #343434;
1667
1685
  color: var(--rs-navs-text);
1686
+ background: transparent;
1668
1687
  -webkit-transition: color 0.15s ease-out, background-color 0.15s ease-out;
1669
1688
  transition: color 0.15s ease-out, background-color 0.15s ease-out;
1670
1689
  overflow: hidden;
@@ -1750,6 +1769,9 @@
1750
1769
  -webkit-box-align: center;
1751
1770
  -ms-flex-align: center;
1752
1771
  align-items: center;
1772
+ -webkit-box-pack: center;
1773
+ -ms-flex-pack: center;
1774
+ justify-content: center;
1753
1775
  vertical-align: top;
1754
1776
  }
1755
1777
  .rs-nav-horizontal .rs-nav-bar {
@@ -1890,6 +1912,51 @@
1890
1912
  right: auto;
1891
1913
  left: 0;
1892
1914
  }
1915
+ .rs-nav-pills {
1916
+ display: -webkit-inline-box;
1917
+ display: -ms-inline-flexbox;
1918
+ display: inline-flex;
1919
+ background-color: #f2f2f5;
1920
+ background-color: var(--rs-navs-pills-bg);
1921
+ border-radius: 6px;
1922
+ padding: 4px;
1923
+ width: -webkit-max-content;
1924
+ width: -moz-max-content;
1925
+ width: max-content;
1926
+ }
1927
+ .rs-nav-pills .rs-nav-item {
1928
+ border-radius: 6px;
1929
+ position: relative;
1930
+ padding: 4px 12px;
1931
+ color: #717273;
1932
+ color: var(--rs-navs-pills-item-color);
1933
+ }
1934
+ .rs-nav-pills .rs-nav-item-active {
1935
+ background-color: #fff;
1936
+ background-color: var(--rs-navs-pills-item-active-bg);
1937
+ color: #121212;
1938
+ color: var(--rs-navs-pills-item-active-color);
1939
+ -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
1940
+ -webkit-box-shadow: var(--rs-navs-pills-item-shadow);
1941
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
1942
+ box-shadow: var(--rs-navs-pills-item-shadow);
1943
+ }
1944
+ .rs-nav-pills .rs-nav-item-disabled {
1945
+ color: #b6b7b8;
1946
+ color: var(--rs-navs-pills-item-disabled-color);
1947
+ }
1948
+ .rs-nav-pills.rs-nav-vertical {
1949
+ -webkit-box-orient: vertical;
1950
+ -webkit-box-direction: normal;
1951
+ -ms-flex-direction: column;
1952
+ flex-direction: column;
1953
+ }
1954
+ .rs-nav-pills.rs-nav-vertical .rs-nav-item {
1955
+ padding: 6px 12px;
1956
+ -webkit-box-pack: center;
1957
+ -ms-flex-pack: center;
1958
+ justify-content: center;
1959
+ }
1893
1960
  .rs-nav-justified {
1894
1961
  display: -webkit-box;
1895
1962
  display: -ms-flexbox;
@@ -32,6 +32,7 @@
32
32
  padding: 8px 12px;
33
33
  cursor: pointer;
34
34
  color: var(--rs-navs-text);
35
+ background: transparent;
35
36
  transition: @nav-item-transition;
36
37
  .ellipsis-basic();
37
38
  .safari-border-radius-overflow-hidden();
@@ -101,6 +102,7 @@
101
102
  > .rs-nav-item {
102
103
  display: inline-flex;
103
104
  align-items: center;
105
+ justify-content: center;
104
106
  vertical-align: top;
105
107
  }
106
108
 
@@ -300,6 +302,41 @@
300
302
  }
301
303
  }
302
304
 
305
+ // Pills Nav
306
+ .rs-nav-pills {
307
+ display: inline-flex;
308
+ background-color: var(--rs-navs-pills-bg);
309
+ border-radius: 6px;
310
+ padding: 4px;
311
+ width: max-content;
312
+
313
+ .rs-nav-item {
314
+ border-radius: 6px;
315
+ position: relative;
316
+ padding: 4px 12px;
317
+ color: var(--rs-navs-pills-item-color);
318
+
319
+ &-active {
320
+ background-color: var(--rs-navs-pills-item-active-bg);
321
+ color: var(--rs-navs-pills-item-active-color);
322
+ box-shadow: var(--rs-navs-pills-item-shadow);
323
+ }
324
+
325
+ &-disabled {
326
+ color: var(--rs-navs-pills-item-disabled-color);
327
+ }
328
+ }
329
+
330
+ &.rs-nav-vertical {
331
+ flex-direction: column;
332
+
333
+ .rs-nav-item {
334
+ padding: 6px 12px;
335
+ justify-content: center;
336
+ }
337
+ }
338
+ }
339
+
303
340
  // Justified
304
341
  .rs-nav-justified {
305
342
  display: flex;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rsuite/NavItem",
3
3
  "private": true,
4
- "main": "../cjs/Nav/NavItem.js",
5
- "module": "../esm/Nav/NavItem.js",
6
- "types": "../esm/Nav/NavItem.d.ts"
4
+ "main": "../cjs/Nav/AdaptiveNavItem.js",
5
+ "module": "../esm/Nav/AdaptiveNavItem.js",
6
+ "types": "../esm/Nav/AdaptiveNavItem.d.ts"
7
7
  }
@@ -1211,7 +1211,6 @@
1211
1211
  border-left: var(--rs-btn-default-border, none);
1212
1212
  }
1213
1213
  .rs-btn-block {
1214
- display: block;
1215
1214
  width: 100%;
1216
1215
  }
1217
1216
  .rs-btn-block + .rs-btn-block {
@@ -1232,7 +1232,6 @@
1232
1232
  border-left: var(--rs-btn-default-border, none);
1233
1233
  }
1234
1234
  .rs-btn-block {
1235
- display: block;
1236
1235
  width: 100%;
1237
1236
  }
1238
1237
  .rs-btn-block + .rs-btn-block {
@@ -1227,7 +1227,6 @@
1227
1227
  border-left: var(--rs-btn-default-border, none);
1228
1228
  }
1229
1229
  .rs-btn-block {
1230
- display: block;
1231
1230
  width: 100%;
1232
1231
  }
1233
1232
  .rs-btn-block + .rs-btn-block {
@@ -70,6 +70,7 @@
70
70
  --rs-violet-800: #470c99;
71
71
  --rs-violet-900: #390085;
72
72
  --rs-text-primary: var(--rs-gray-800);
73
+ --rs-text-secondary: var(--rs-gray-600);
73
74
  --rs-text-disabled: var(--rs-gray-600);
74
75
  --rs-border-primary: var(--rs-gray-200);
75
76
  --rs-bg-card: var(--rs-gray-0);
@@ -119,6 +120,12 @@
119
120
  --rs-navs-tab-border: var(--rs-gray-300);
120
121
  --rs-navs-subtle-border: var(--rs-gray-50);
121
122
  --rs-navs-selected: var(--rs-primary-700);
123
+ --rs-navs-pills-bg: var(--rs-gray-100);
124
+ --rs-navs-pills-item-color: var(--rs-text-secondary);
125
+ --rs-navs-pills-item-active-bg: var(--rs-gray-0);
126
+ --rs-navs-pills-item-active-color: var(--rs-gray-900);
127
+ --rs-navs-pills-item-disabled-color: var(--rs-gray-400);
128
+ --rs-navs-pills-item-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
122
129
  }
123
130
  @supports not (color: rgb(from white r g b)) {
124
131
  :root,
@@ -200,6 +207,7 @@
200
207
  --rs-violet-800: #470c99;
201
208
  --rs-violet-900: #390085;
202
209
  --rs-text-primary: var(--rs-gray-50);
210
+ --rs-text-secondary: var(--rs-gray-200);
203
211
  --rs-text-disabled: var(--rs-gray-400);
204
212
  --rs-border-primary: var(--rs-gray-600);
205
213
  --rs-bg-card: var(--rs-gray-800);
@@ -249,6 +257,11 @@
249
257
  --rs-navs-tab-border: var(--rs-gray-600);
250
258
  --rs-navs-subtle-border: var(--rs-gray-600);
251
259
  --rs-navs-selected: var(--rs-primary-500);
260
+ --rs-navs-pills-bg: var(--rs-gray-700);
261
+ --rs-navs-pills-item-color: var(--rs-text-secondary);
262
+ --rs-navs-pills-item-active-bg: var(--rs-gray-600);
263
+ --rs-navs-pills-item-active-color: var(--rs-gray-0);
264
+ --rs-navs-pills-item-disabled-color: var(--rs-gray-400);
252
265
  }
253
266
  @supports not (color: rgb(from white r g b)) {
254
267
  .rs-theme-dark {
@@ -329,6 +342,7 @@
329
342
  --rs-violet-800: #470c99;
330
343
  --rs-violet-900: #390085;
331
344
  --rs-text-primary: var(--rs-gray-50);
345
+ --rs-text-secondary: var(--rs-gray-200);
332
346
  --rs-text-disabled: var(--rs-gray-400);
333
347
  --rs-border-primary: var(--rs-gray-100);
334
348
  --rs-bg-card: var(--rs-gray-800);
@@ -381,6 +395,11 @@
381
395
  --rs-navs-tab-border: var(--rs-gray-600);
382
396
  --rs-navs-subtle-border: var(--rs-gray-600);
383
397
  --rs-navs-selected: var(--rs-primary-500);
398
+ --rs-navs-pills-bg: var(--rs-gray-700);
399
+ --rs-navs-pills-item-color: var(--rs-text-secondary);
400
+ --rs-navs-pills-item-active-bg: var(--rs-gray-600);
401
+ --rs-navs-pills-item-active-color: var(--rs-primary-500);
402
+ --rs-navs-pills-item-disabled-color: var(--rs-gray-400);
384
403
  }
385
404
  @supports not (color: rgb(from white r g b)) {
386
405
  .rs-theme-high-contrast {
@@ -1192,7 +1211,6 @@
1192
1211
  border-left: var(--rs-btn-default-border, none);
1193
1212
  }
1194
1213
  .rs-btn-block {
1195
- display: block;
1196
1214
  width: 100%;
1197
1215
  }
1198
1216
  .rs-btn-block + .rs-btn-block {
@@ -1665,6 +1683,7 @@
1665
1683
  cursor: pointer;
1666
1684
  color: #343434;
1667
1685
  color: var(--rs-navs-text);
1686
+ background: transparent;
1668
1687
  -webkit-transition: color 0.15s ease-out, background-color 0.15s ease-out;
1669
1688
  transition: color 0.15s ease-out, background-color 0.15s ease-out;
1670
1689
  overflow: hidden;
@@ -1750,6 +1769,9 @@
1750
1769
  -webkit-box-align: center;
1751
1770
  -ms-flex-align: center;
1752
1771
  align-items: center;
1772
+ -webkit-box-pack: center;
1773
+ -ms-flex-pack: center;
1774
+ justify-content: center;
1753
1775
  vertical-align: top;
1754
1776
  }
1755
1777
  .rs-nav-horizontal .rs-nav-bar {
@@ -1890,6 +1912,51 @@
1890
1912
  right: auto;
1891
1913
  left: 0;
1892
1914
  }
1915
+ .rs-nav-pills {
1916
+ display: -webkit-inline-box;
1917
+ display: -ms-inline-flexbox;
1918
+ display: inline-flex;
1919
+ background-color: #f2f2f5;
1920
+ background-color: var(--rs-navs-pills-bg);
1921
+ border-radius: 6px;
1922
+ padding: 4px;
1923
+ width: -webkit-max-content;
1924
+ width: -moz-max-content;
1925
+ width: max-content;
1926
+ }
1927
+ .rs-nav-pills .rs-nav-item {
1928
+ border-radius: 6px;
1929
+ position: relative;
1930
+ padding: 4px 12px;
1931
+ color: #717273;
1932
+ color: var(--rs-navs-pills-item-color);
1933
+ }
1934
+ .rs-nav-pills .rs-nav-item-active {
1935
+ background-color: #fff;
1936
+ background-color: var(--rs-navs-pills-item-active-bg);
1937
+ color: #121212;
1938
+ color: var(--rs-navs-pills-item-active-color);
1939
+ -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
1940
+ -webkit-box-shadow: var(--rs-navs-pills-item-shadow);
1941
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
1942
+ box-shadow: var(--rs-navs-pills-item-shadow);
1943
+ }
1944
+ .rs-nav-pills .rs-nav-item-disabled {
1945
+ color: #b6b7b8;
1946
+ color: var(--rs-navs-pills-item-disabled-color);
1947
+ }
1948
+ .rs-nav-pills.rs-nav-vertical {
1949
+ -webkit-box-orient: vertical;
1950
+ -webkit-box-direction: normal;
1951
+ -ms-flex-direction: column;
1952
+ flex-direction: column;
1953
+ }
1954
+ .rs-nav-pills.rs-nav-vertical .rs-nav-item {
1955
+ padding: 6px 12px;
1956
+ -webkit-box-pack: center;
1957
+ -ms-flex-pack: center;
1958
+ justify-content: center;
1959
+ }
1893
1960
  .rs-nav-justified {
1894
1961
  display: -webkit-box;
1895
1962
  display: -ms-flexbox;
@@ -1932,9 +1999,6 @@
1932
1999
  -ms-flex: 1;
1933
2000
  flex: 1;
1934
2001
  }
1935
- .rs-tabs .rs-nav-item {
1936
- background: none;
1937
- }
1938
2002
  .rs-tabs .rs-nav-vertical {
1939
2003
  display: -webkit-box;
1940
2004
  display: -ms-flexbox;
@@ -17,10 +17,6 @@
17
17
  }
18
18
  }
19
19
 
20
- .rs-nav-item {
21
- background: none;
22
- }
23
-
24
20
  .rs-nav-vertical {
25
21
  display: flex;
26
22
  flex-direction: column;
@@ -1752,7 +1752,6 @@ textarea.rs-input-sm {
1752
1752
  border-left: var(--rs-btn-default-border, none);
1753
1753
  }
1754
1754
  .rs-btn-block {
1755
- display: block;
1756
1755
  width: 100%;
1757
1756
  }
1758
1757
  .rs-btn-block + .rs-btn-block {
@@ -1752,7 +1752,6 @@ textarea.rs-input-sm {
1752
1752
  border-left: var(--rs-btn-default-border, none);
1753
1753
  }
1754
1754
  .rs-btn-block {
1755
- display: block;
1756
1755
  width: 100%;
1757
1756
  }
1758
1757
  .rs-btn-block + .rs-btn-block {
@@ -1163,7 +1163,6 @@
1163
1163
  border-left: var(--rs-btn-default-border, none);
1164
1164
  }
1165
1165
  .rs-btn-block {
1166
- display: block;
1167
1166
  width: 100%;
1168
1167
  }
1169
1168
  .rs-btn-block + .rs-btn-block {
@@ -11,13 +11,14 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _Input = _interopRequireDefault(require("../Input"));
12
12
  var _hooks = require("../internals/hooks");
13
13
  var _utils = require("../internals/utils");
14
+ var _date = require("../internals/utils/date");
14
15
  var _utils2 = require("./utils");
15
16
  var _useDateInputState2 = _interopRequireDefault(require("./hooks/useDateInputState"));
16
17
  var _useKeyboardInputEvent = _interopRequireDefault(require("./hooks/useKeyboardInputEvent"));
17
18
  var _useIsFocused2 = _interopRequireDefault(require("./hooks/useIsFocused"));
18
19
  var _useFieldCursor2 = _interopRequireDefault(require("./hooks/useFieldCursor"));
19
20
  var _useSelectedState2 = _interopRequireDefault(require("./hooks/useSelectedState"));
20
- var _excluded = ["format", "value", "defaultValue", "placeholder", "onChange", "onKeyDown", "onBlur", "onFocus"];
21
+ var _excluded = ["format", "value", "defaultValue", "placeholder", "onChange", "onKeyDown", "onBlur", "onFocus", "onPaste"];
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
24
  /**
@@ -35,13 +36,15 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
35
36
  onKeyDown = props.onKeyDown,
36
37
  onBlur = props.onBlur,
37
38
  onFocus = props.onFocus,
39
+ onPaste = props.onPaste,
38
40
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
39
41
  var inputRef = (0, _react.useRef)();
40
42
  var _useSelectedState = (0, _useSelectedState2.default)(),
41
43
  selectedState = _useSelectedState.selectedState,
42
44
  setSelectedState = _useSelectedState.setSelectedState;
43
45
  var _useCustom = (0, _hooks.useCustom)('Calendar'),
44
- locale = _useCustom.locale;
46
+ locale = _useCustom.locale,
47
+ parseDate = _useCustom.parseDate;
45
48
  var dateLocale = locale.dateLocale;
46
49
  var _useControlled = (0, _hooks.useControlled)(valueProp, defaultValue),
47
50
  value = _useControlled[0],
@@ -56,6 +59,7 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
56
59
  dateField = _useDateInputState.dateField,
57
60
  setDateOffset = _useDateInputState.setDateOffset,
58
61
  setDateField = _useDateInputState.setDateField,
62
+ setNewDate = _useDateInputState.setNewDate,
59
63
  getDateField = _useDateInputState.getDateField,
60
64
  toDateString = _useDateInputState.toDateString,
61
65
  isEmptyValue = _useDateInputState.isEmptyValue;
@@ -169,6 +173,17 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
169
173
  reset();
170
174
  }
171
175
  });
176
+ var handlePaste = (0, _hooks.useEventCallback)(function (event) {
177
+ var _event$clipboardData;
178
+ event.preventDefault();
179
+ var pasteText = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text');
180
+ var nextDate = parseDate(pasteText, formatStr);
181
+ if ((0, _date.isValid)(nextDate)) {
182
+ handleChange(nextDate, event);
183
+ setNewDate(nextDate);
184
+ }
185
+ onPaste === null || onPaste === void 0 ? void 0 : onPaste(event);
186
+ });
172
187
  var onKeyboardInput = (0, _useKeyboardInputEvent.default)({
173
188
  onSegmentChange: onSegmentChange,
174
189
  onSegmentValueChange: onSegmentValueChange,
@@ -196,6 +211,7 @@ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
196
211
  ref: (0, _utils.mergeRefs)(inputRef, ref),
197
212
  onKeyDown: onKeyboardInput,
198
213
  onClick: handleClick,
214
+ onPaste: handlePaste,
199
215
  value: renderedValue,
200
216
  placeholder: placeholder || formatStr
201
217
  }, focusEventProps, rest));