@nutui/nutui-react 3.0.0-beta.6 → 3.0.0-beta.8

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 (88) hide show
  1. package/README.md +39 -9
  2. package/dist/cjs/packages/address/style/style.css +56 -89
  3. package/dist/cjs/packages/animate/style/animate.scss +0 -3
  4. package/dist/cjs/packages/animate/style/style.css +0 -3
  5. package/dist/cjs/packages/animatingnumbers/style/style.css +1 -1
  6. package/dist/cjs/packages/backtop/backtop.d.ts +2 -2
  7. package/dist/cjs/packages/backtop/backtop.js +14 -21
  8. package/dist/cjs/packages/backtop/style/backtop.scss +8 -17
  9. package/dist/cjs/packages/backtop/style/style.css +8 -14
  10. package/dist/cjs/packages/badge/badge.d.ts +2 -12
  11. package/dist/cjs/packages/badge/badge.js +12 -23
  12. package/dist/cjs/packages/badge/index.d.ts +1 -1
  13. package/dist/cjs/packages/badge/style/badge.scss +61 -34
  14. package/dist/cjs/packages/badge/style/style.css +63 -40
  15. package/dist/cjs/packages/badge/types.d.ts +12 -0
  16. package/dist/cjs/packages/badge/types.js +4 -0
  17. package/dist/cjs/packages/cascader/style/style.css +49 -85
  18. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  19. package/dist/cjs/packages/countdown/style/countdown.scss +21 -2
  20. package/dist/cjs/packages/countdown/style/style.css +20 -2
  21. package/dist/cjs/packages/countup/style/countup.scss +1 -1
  22. package/dist/cjs/packages/countup/style/style.css +1 -1
  23. package/dist/cjs/packages/elevator/style/elevator.scss +7 -4
  24. package/dist/cjs/packages/elevator/style/style.css +7 -4
  25. package/dist/cjs/packages/hoverbutton/style/style.css +3 -3
  26. package/dist/cjs/packages/hoverbuttonitem/style/hoverbuttonitem.scss +3 -3
  27. package/dist/cjs/packages/hoverbuttonitem/style/style.css +3 -3
  28. package/dist/cjs/packages/inputnumber/style/inputnumber.scss +19 -16
  29. package/dist/cjs/packages/inputnumber/style/style.css +21 -19
  30. package/dist/cjs/packages/numberkeyboard/style/numberkeyboard.scss +10 -1
  31. package/dist/cjs/packages/numberkeyboard/style/style.css +12 -0
  32. package/dist/cjs/packages/popover/style/popover.scss +16 -11
  33. package/dist/cjs/packages/popover/style/style.css +14 -2
  34. package/dist/cjs/packages/tabbar/style/style.css +63 -40
  35. package/dist/cjs/packages/tabbaritem/style/style.css +63 -40
  36. package/dist/cjs/packages/tabs/style/style.css +49 -85
  37. package/dist/cjs/packages/tabs/style/tabs.scss +68 -106
  38. package/dist/cjs/packages/tour/style/style.css +14 -2
  39. package/dist/cjs/packages/video/video.d.ts +6 -2
  40. package/dist/cjs/packages/video/video.js +16 -2
  41. package/dist/es/packages/address/style/style.css +56 -89
  42. package/dist/es/packages/animate/style/animate.scss +0 -3
  43. package/dist/es/packages/animate/style/style.css +0 -3
  44. package/dist/es/packages/animatingnumbers/style/style.css +1 -1
  45. package/dist/es/packages/backtop/backtop.d.ts +2 -2
  46. package/dist/es/packages/backtop/backtop.js +15 -22
  47. package/dist/es/packages/backtop/style/backtop.scss +8 -17
  48. package/dist/es/packages/backtop/style/style.css +8 -14
  49. package/dist/es/packages/badge/badge.d.ts +2 -12
  50. package/dist/es/packages/badge/badge.js +12 -23
  51. package/dist/es/packages/badge/index.d.ts +1 -1
  52. package/dist/es/packages/badge/style/badge.scss +61 -34
  53. package/dist/es/packages/badge/style/style.css +63 -40
  54. package/dist/es/packages/badge/types.d.ts +12 -0
  55. package/dist/es/packages/badge/types.js +1 -0
  56. package/dist/es/packages/cascader/style/style.css +49 -85
  57. package/dist/es/packages/configprovider/types.d.ts +1 -1
  58. package/dist/es/packages/countdown/style/countdown.scss +21 -2
  59. package/dist/es/packages/countdown/style/style.css +20 -2
  60. package/dist/es/packages/countup/style/countup.scss +1 -1
  61. package/dist/es/packages/countup/style/style.css +1 -1
  62. package/dist/es/packages/elevator/style/elevator.scss +7 -4
  63. package/dist/es/packages/elevator/style/style.css +7 -4
  64. package/dist/es/packages/hoverbutton/style/style.css +3 -3
  65. package/dist/es/packages/hoverbuttonitem/style/hoverbuttonitem.scss +3 -3
  66. package/dist/es/packages/hoverbuttonitem/style/style.css +3 -3
  67. package/dist/es/packages/inputnumber/style/inputnumber.scss +19 -16
  68. package/dist/es/packages/inputnumber/style/style.css +21 -19
  69. package/dist/es/packages/numberkeyboard/numberkeyboard.d.ts +10 -50
  70. package/dist/es/packages/numberkeyboard/style/numberkeyboard.scss +10 -1
  71. package/dist/es/packages/numberkeyboard/style/style.css +12 -0
  72. package/dist/es/packages/popover/style/popover.scss +16 -11
  73. package/dist/es/packages/popover/style/style.css +14 -2
  74. package/dist/es/packages/tabbar/style/style.css +63 -40
  75. package/dist/es/packages/tabbaritem/style/style.css +63 -40
  76. package/dist/es/packages/tabpane/tabpane.d.ts +3 -15
  77. package/dist/es/packages/tabs/style/style.css +49 -85
  78. package/dist/es/packages/tabs/style/tabs.scss +68 -106
  79. package/dist/es/packages/tabs/tabs.d.ts +12 -60
  80. package/dist/es/packages/tour/style/style.css +14 -2
  81. package/dist/es/packages/video/video.d.ts +6 -2
  82. package/dist/es/packages/video/video.js +16 -2
  83. package/dist/nutui.react.umd.js +167 -185
  84. package/dist/style.css +1 -1
  85. package/dist/styles/theme-dark.scss +2 -0
  86. package/dist/styles/theme-default.scss +2 -0
  87. package/dist/styles/variables.scss +36 -29
  88. package/package.json +2 -2
@@ -21,12 +21,17 @@
21
21
  display: flex;
22
22
  }
23
23
 
24
+ .nut-tabs-horizontal {
25
+ flex-direction: column;
26
+ }
27
+
24
28
  .nut-tabs-titles {
25
29
  display: flex;
26
30
  box-sizing: border-box;
27
31
  height: var(--nutui-tabs-titles-height, 44px);
28
32
  user-select: none;
29
- overflow: hidden;
33
+ overflow-x: auto;
34
+ overflow-y: hidden;
30
35
  background: var(--nutui-tabs-titles-background-color, var(--nutui-color-background, #f5f6fa));
31
36
  scrollbar-width: none;
32
37
  }
@@ -37,7 +42,6 @@
37
42
  }
38
43
  .nut-tabs-titles .nut-tabs-list {
39
44
  width: 100%;
40
- height: auto;
41
45
  display: flex;
42
46
  flex-shrink: 0;
43
47
  }
@@ -53,10 +57,6 @@
53
57
  .nut-tabs-titles-right .nut-tabs-titles-item {
54
58
  padding: 0 22px;
55
59
  }
56
- .nut-tabs-titles-scrollable {
57
- overflow-x: auto;
58
- overflow-y: hidden;
59
- }
60
60
  .nut-tabs-titles-item {
61
61
  position: relative;
62
62
  display: flex;
@@ -72,11 +72,14 @@
72
72
  text-overflow: ellipsis;
73
73
  white-space: nowrap;
74
74
  }
75
+ .nut-tabs-titles-item .nut-icon {
76
+ color: var(--nutui-tabs-titles-item-color, var(--nutui-color-title, #1a1a1a));
77
+ }
75
78
  .nut-tabs-titles-item-left, .nut-tabs-titles-item-right {
76
79
  flex: none;
77
80
  }
78
81
  .nut-tabs-titles-item-text {
79
- text-align: center;
82
+ color: var(--nutui-tabs-titles-item-color, var(--nutui-color-title, #1a1a1a));
80
83
  }
81
84
  .nut-tabs-titles-item-smile, .nut-tabs-titles-item-line {
82
85
  position: absolute;
@@ -84,9 +87,9 @@
84
87
  width: 0;
85
88
  height: 0;
86
89
  content: " ";
87
- bottom: var(--nutui-tabs-line-bottom, 15%);
88
90
  left: 50%;
89
91
  transform: translate(-50%, 0);
92
+ bottom: var(--nutui-tabs-line-bottom, 15%);
90
93
  border-radius: var(--nutui-tabs-line-border-radius, 2px);
91
94
  opacity: var(--nutui-tabs-tab-line-opacity, 1);
92
95
  overflow: hidden;
@@ -99,9 +102,11 @@
99
102
  font-size: 20px;
100
103
  width: 100%;
101
104
  height: 100%;
102
- color: var(--nutui-color-primary, #ff0f23);
103
105
  }
104
- .nut-tabs-titles-item-active {
106
+ .nut-tabs-titles-item-active .nut-icon {
107
+ color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
108
+ }
109
+ .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
105
110
  color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
106
111
  font-weight: var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 600));
107
112
  }
@@ -117,10 +122,20 @@
117
122
  width: 40px;
118
123
  height: 20px;
119
124
  }
125
+ .nut-tabs-titles-item-active .nut-tabs-titles-item-smile .nut-icon {
126
+ color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
127
+ }
120
128
  .nut-tabs-titles-item-disabled {
121
129
  color: var(--nutui-color-text-disabled, #c2c4cc);
122
130
  }
123
- .nut-tabs-titles-simple .nut-tabs-titles-item-active {
131
+ .nut-tabs-titles-item-disabled .nut-icon {
132
+ color: var(--nutui-color-text-disabled, #c2c4cc);
133
+ }
134
+ .nut-tabs-titles-item-disabled .nut-tabs-titles-item-text {
135
+ color: var(--nutui-color-text-disabled, #c2c4cc);
136
+ }
137
+ .nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-tabs-titles-item-text,
138
+ .nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-icon {
124
139
  color: var(--nutui-color-title, #1a1a1a);
125
140
  font-size: var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-l, 16px));
126
141
  }
@@ -149,11 +164,10 @@
149
164
  }
150
165
  .nut-tabs-titles-button .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
151
166
  background: var(--nutui-color-default-light);
152
- color: var(--nutui-color-text, #505259);
167
+ color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
153
168
  border-radius: var(--nutui-tabs-button-border-radius, 50px);
154
169
  font-weight: var(--nutui-font-weight-bold, 600);
155
170
  background-color: var(--nutui-tabs-button-active-background-color, var(--nutui-color-primary-light-pressed, #ffebf1));
156
- color: var(--nutui-color-primary, #ff0f23);
157
171
  border: var(--nutui-tabs-button-active-border, 1px solid var(--nutui-color-primary, #ff0f23));
158
172
  }
159
173
  .nut-tabs-titles-divider {
@@ -178,68 +192,29 @@
178
192
  display: none;
179
193
  }
180
194
 
181
- [dir=rtl] .nut-tabs-titles-item-smile, [dir=rtl] .nut-tabs-titles-item-line,
182
- .nut-rtl .nut-tabs-titles-item-smile,
183
- .nut-rtl .nut-tabs-titles-item-line {
184
- left: auto;
185
- right: 50%;
186
- transform: translate(50%, 0);
187
- }
188
- [dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item::after,
189
- .nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item::after {
190
- right: auto;
191
- left: 0;
192
- }
193
-
194
- .nut-tabs-horizontal {
195
- flex-direction: column;
196
- position: relative;
197
- }
198
-
199
- .nut-tabs-vertical {
200
- flex-direction: row;
201
- width: 100%;
202
- }
203
195
  .nut-tabs-vertical .nut-tabs-ellipsis {
204
196
  text-overflow: ellipsis;
205
197
  white-space: nowrap;
206
198
  overflow: hidden;
207
199
  }
208
200
  .nut-tabs-vertical .nut-tabs-titles {
209
- box-sizing: border-box;
210
201
  flex-direction: column;
211
202
  height: 100%;
212
- padding: 0;
213
203
  width: var(--nutui-tabs-vertical-titles-width, 100px);
214
204
  flex-shrink: 0;
215
205
  }
216
206
  .nut-tabs-vertical .nut-tabs-titles .nut-tabs-list {
217
- width: 100%;
218
- display: flex;
219
207
  flex-direction: column;
220
- flex-shrink: 0;
221
- }
222
- .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item {
223
- padding-left: 14px;
224
- }
225
- .nut-tabs-vertical .nut-tabs-titles-scrollable {
226
- overflow-x: hidden;
227
- overflow-y: auto;
228
208
  }
229
209
  .nut-tabs-vertical .nut-tabs-titles-item {
230
210
  height: var(--nutui-tabs-vertical-titles-item-height, 40px);
231
- margin: 0;
232
211
  flex: none;
233
212
  }
234
213
  .nut-tabs-vertical .nut-tabs-titles-item-smile {
235
- width: 0;
236
- height: 0;
237
214
  overflow: hidden;
238
215
  transition: width 0.3s ease;
239
216
  }
240
217
  .nut-tabs-vertical .nut-tabs-titles-item-line {
241
- width: 0;
242
- height: 0;
243
218
  transform: translate(0, -50%);
244
219
  transition: height 0.3s ease;
245
220
  }
@@ -259,21 +234,17 @@
259
234
  right: -12px;
260
235
  bottom: -2%;
261
236
  left: auto;
262
- width: 40px;
263
- height: 20px;
264
237
  transform: rotate(320deg);
265
238
  }
266
239
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles {
267
240
  flex-direction: row;
268
- overflow-x: auto;
269
- overflow-y: hidden;
270
241
  height: var(--nutui-tabs-titles-height, 44px);
242
+ width: 100%;
243
+ padding: 0 !important;
271
244
  }
272
245
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-list {
273
- width: 100%;
274
- display: flex;
275
246
  flex-direction: row;
276
- flex-shrink: 0;
247
+ height: auto;
277
248
  }
278
249
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-content {
279
250
  flex-direction: row;
@@ -284,6 +255,9 @@
284
255
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
285
256
  left: 50%;
286
257
  transform: translate(-50%, 0);
258
+ width: var(--nutui-tabs-tab-line-width, 12px);
259
+ height: var(--nutui-tabs-tab-line-height, 2px);
260
+ background: var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #ff0f23));
287
261
  }
288
262
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
289
263
  left: 50%;
@@ -301,28 +275,26 @@
301
275
  .nut-tabs-vertical .nut-tabs-content .nut-tabpane {
302
276
  height: 100%;
303
277
  }
304
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles {
278
+
279
+ .nut-tabs-content {
305
280
  display: flex;
306
- flex-direction: row;
307
- padding: 0 !important;
308
- width: 100%;
281
+ box-sizing: border-box;
309
282
  }
310
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item {
311
- display: flex;
312
- align-items: center;
313
- justify-content: center;
314
- flex: 1 0 auto;
283
+ .nut-tabs-content-wrap {
284
+ overflow: hidden;
315
285
  }
316
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item-active {
317
- color: var(--nutui-color-primary, #ff0f23);
318
- font-weight: var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 600));
319
- font-size: var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-l, 16px));
286
+
287
+ [dir=rtl] .nut-tabs-titles-item-smile, [dir=rtl] .nut-tabs-titles-item-line,
288
+ .nut-rtl .nut-tabs-titles-item-smile,
289
+ .nut-rtl .nut-tabs-titles-item-line {
290
+ left: auto;
291
+ right: 50%;
292
+ transform: translate(50%, 0);
320
293
  }
321
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
322
- content: " ";
323
- width: var(--nutui-tabs-tab-line-width, 12px);
324
- height: var(--nutui-tabs-tab-line-height, 2px);
325
- background: var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #ff0f23));
294
+ [dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item::after,
295
+ .nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item::after {
296
+ right: auto;
297
+ left: 0;
326
298
  }
327
299
 
328
300
  [dir=rtl] .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item,
@@ -352,12 +324,4 @@
352
324
  right: 50%;
353
325
  left: auto;
354
326
  transform: translate(50%, 0) rotate(0deg);
355
- }
356
-
357
- .nut-tabs-content {
358
- display: flex;
359
- box-sizing: border-box;
360
- }
361
- .nut-tabs-content-wrap {
362
- overflow: hidden;
363
327
  }
@@ -4,12 +4,17 @@
4
4
  display: flex;
5
5
  }
6
6
 
7
+ .nut-tabs-horizontal {
8
+ flex-direction: column;
9
+ }
10
+
7
11
  .nut-tabs-titles {
8
12
  display: flex;
9
13
  box-sizing: border-box;
10
14
  height: $tabs-titles-height;
11
15
  user-select: none;
12
- overflow: hidden;
16
+ overflow-x: auto;
17
+ overflow-y: hidden;
13
18
  background: $tabs-titles-background-color;
14
19
  scrollbar-width: none;
15
20
 
@@ -21,7 +26,6 @@
21
26
 
22
27
  .nut-tabs-list {
23
28
  width: 100%;
24
- height: auto;
25
29
  display: flex;
26
30
  flex-shrink: 0;
27
31
  }
@@ -40,11 +44,6 @@
40
44
  }
41
45
  }
42
46
 
43
- &-scrollable {
44
- overflow-x: auto;
45
- overflow-y: hidden;
46
- }
47
-
48
47
  &-item {
49
48
  position: relative;
50
49
  display: flex;
@@ -60,13 +59,17 @@
60
59
  text-overflow: ellipsis;
61
60
  white-space: nowrap;
62
61
 
62
+ .nut-icon {
63
+ color: $tabs-titles-item-color;
64
+ }
65
+
63
66
  &-left,
64
67
  &-right {
65
68
  flex: none;
66
69
  }
67
70
 
68
71
  &-text {
69
- text-align: center;
72
+ color: $tabs-titles-item-color;
70
73
  }
71
74
 
72
75
  &-smile,
@@ -76,9 +79,9 @@
76
79
  width: 0;
77
80
  height: 0;
78
81
  content: ' ';
79
- bottom: $tabs-tab-line-bottom;
80
82
  left: 50%;
81
83
  transform: translate(-50%, 0);
84
+ bottom: $tabs-tab-line-bottom;
82
85
  border-radius: $tabs-tab-line-border-radius;
83
86
  opacity: $tabs-tab-line-opacity;
84
87
  overflow: hidden;
@@ -92,13 +95,18 @@
92
95
  font-size: 20px;
93
96
  width: 100%;
94
97
  height: 100%;
95
- color: $color-primary;
96
98
  }
97
99
  }
98
100
 
99
101
  &-active {
100
- color: $tabs-titles-item-active-color;
101
- font-weight: $tabs-titles-item-active-font-weight;
102
+ .nut-icon {
103
+ color: $tabs-titles-item-active-color;
104
+ }
105
+
106
+ .nut-tabs-titles-item-text {
107
+ color: $tabs-titles-item-active-color;
108
+ font-weight: $tabs-titles-item-active-font-weight;
109
+ }
102
110
 
103
111
  .nut-tabs-titles-item-line {
104
112
  overflow: unset;
@@ -112,18 +120,33 @@
112
120
  overflow: unset;
113
121
  width: 40px;
114
122
  height: 20px;
123
+
124
+ .nut-icon {
125
+ color: $tabs-titles-item-active-color;
126
+ }
115
127
  }
116
128
  }
117
129
 
118
130
  &-disabled {
119
131
  color: $color-text-disabled;
132
+ .nut-icon {
133
+ color: $color-text-disabled;
134
+ }
135
+ .nut-tabs-titles-item-text {
136
+ color: $color-text-disabled;
137
+ }
120
138
  }
121
139
  }
122
140
 
123
141
  &-simple {
124
- .nut-tabs-titles-item-active {
125
- color: $color-title;
126
- font-size: $tabs-titles-item-active-font-size;
142
+ .nut-tabs-titles-item {
143
+ &-active {
144
+ .nut-tabs-titles-item-text,
145
+ .nut-icon {
146
+ color: $color-title;
147
+ font-size: $tabs-titles-item-active-font-size;
148
+ }
149
+ }
127
150
  }
128
151
  }
129
152
 
@@ -133,7 +156,6 @@
133
156
 
134
157
  .nut-tabs-titles-item {
135
158
  padding: 0;
136
-
137
159
  &-active {
138
160
  font-weight: $font-weight-bold;
139
161
  background-color: $white;
@@ -157,11 +179,10 @@
157
179
  .nut-tabs-titles-item-active {
158
180
  .nut-tabs-titles-item-text {
159
181
  background: $color-default-light;
160
- color: $color-text;
182
+ color: $tabs-titles-item-active-color;
161
183
  border-radius: $tabs-tab-button-border-radius;
162
184
  font-weight: $font-weight-bold;
163
185
  background-color: $tabs-tab-button-active-background-color;
164
- color: $color-primary;
165
186
  border: $tabs-tab-button-active-border;
166
187
  }
167
188
  }
@@ -195,35 +216,7 @@
195
216
  }
196
217
  }
197
218
 
198
- [dir='rtl'] .nut-tabs-titles,
199
- .nut-rtl .nut-tabs-titles {
200
- &-item {
201
- &-smile,
202
- &-line {
203
- left: auto;
204
- right: 50%;
205
- transform: translate(50%, 0);
206
- }
207
- }
208
- &-divider {
209
- .nut-tabs-titles-item {
210
- &::after {
211
- right: auto;
212
- left: 0;
213
- }
214
- }
215
- }
216
- }
217
-
218
- .nut-tabs-horizontal {
219
- flex-direction: column;
220
- position: relative;
221
- }
222
-
223
219
  .nut-tabs-vertical {
224
- flex-direction: row;
225
- width: 100%;
226
-
227
220
  .nut-tabs-ellipsis {
228
221
  text-overflow: ellipsis;
229
222
  white-space: nowrap;
@@ -231,47 +224,26 @@
231
224
  }
232
225
 
233
226
  .nut-tabs-titles {
234
- box-sizing: border-box;
235
227
  flex-direction: column;
236
228
  height: 100%;
237
- padding: 0;
238
229
  width: $tabs-vertical-titles-width;
239
230
  flex-shrink: 0;
240
231
 
241
232
  .nut-tabs-list {
242
- width: 100%;
243
- display: flex;
244
233
  flex-direction: column;
245
- flex-shrink: 0;
246
- }
247
-
248
- &-line {
249
- .nut-tabs-titles-item {
250
- padding-left: 14px;
251
- }
252
234
  }
253
235
  }
254
236
 
255
- .nut-tabs-titles-scrollable {
256
- overflow-x: hidden;
257
- overflow-y: auto;
258
- }
259
-
260
237
  .nut-tabs-titles-item {
261
238
  height: $tabs-vertical-titles-item-height;
262
- margin: 0;
263
239
  flex: none;
264
240
 
265
241
  &-smile {
266
- width: 0;
267
- height: 0;
268
242
  overflow: hidden;
269
243
  transition: width 0.3s ease;
270
244
  }
271
245
 
272
246
  &-line {
273
- width: 0;
274
- height: 0;
275
247
  transform: translate(0, -50%);
276
248
  transition: height 0.3s ease;
277
249
 
@@ -293,8 +265,6 @@
293
265
  right: -12px;
294
266
  bottom: -2%;
295
267
  left: auto;
296
- width: 40px;
297
- height: 20px;
298
268
  transform: rotate(320deg);
299
269
  }
300
270
  }
@@ -303,15 +273,13 @@
303
273
  .nut-tabs-horizontal {
304
274
  .nut-tabs-titles {
305
275
  flex-direction: row;
306
- overflow-x: auto;
307
- overflow-y: hidden;
308
276
  height: $tabs-titles-height;
277
+ width: 100%;
278
+ padding: 0 !important;
309
279
 
310
280
  .nut-tabs-list {
311
- width: 100%;
312
- display: flex;
313
281
  flex-direction: row;
314
- flex-shrink: 0;
282
+ height: auto;
315
283
  }
316
284
  }
317
285
 
@@ -325,6 +293,9 @@
325
293
  .nut-tabs-titles-item-line {
326
294
  left: 50%;
327
295
  transform: translate(-50%, 0);
296
+ width: $tabs-tab-line-width;
297
+ height: $tabs-tab-line-height;
298
+ background: $tabs-tab-line-color;
328
299
  }
329
300
 
330
301
  .nut-tabs-titles-item-smile {
@@ -348,32 +319,32 @@
348
319
  height: 100%;
349
320
  }
350
321
  }
322
+ }
351
323
 
352
- .nut-tabs-horizontal {
353
- .nut-tabs-titles {
354
- display: flex;
355
- flex-direction: row;
356
- padding: 0 !important;
357
- width: 100%;
358
-
359
- .nut-tabs-titles-item {
360
- display: flex;
361
- align-items: center;
362
- justify-content: center;
363
- flex: 1 0 auto;
324
+ .nut-tabs-content {
325
+ display: flex;
326
+ box-sizing: border-box;
364
327
 
365
- &-active {
366
- color: $color-primary;
367
- font-weight: $tabs-titles-item-active-font-weight;
368
- font-size: $tabs-titles-item-active-font-size;
328
+ &-wrap {
329
+ overflow: hidden;
330
+ }
331
+ }
369
332
 
370
- .nut-tabs-titles-item-line {
371
- content: ' ';
372
- width: $tabs-tab-line-width;
373
- height: $tabs-tab-line-height;
374
- background: $tabs-tab-line-color;
375
- }
376
- }
333
+ [dir='rtl'] .nut-tabs-titles,
334
+ .nut-rtl .nut-tabs-titles {
335
+ &-item {
336
+ &-smile,
337
+ &-line {
338
+ left: auto;
339
+ right: 50%;
340
+ transform: translate(50%, 0);
341
+ }
342
+ }
343
+ &-divider {
344
+ .nut-tabs-titles-item {
345
+ &::after {
346
+ right: auto;
347
+ left: 0;
377
348
  }
378
349
  }
379
350
  }
@@ -421,12 +392,3 @@
421
392
  }
422
393
  }
423
394
  }
424
-
425
- .nut-tabs-content {
426
- display: flex;
427
- box-sizing: border-box;
428
-
429
- &-wrap {
430
- overflow: hidden;
431
- }
432
- }
@@ -8,66 +8,18 @@ export type TabsTitle = {
8
8
  value: string | number;
9
9
  };
10
10
  export interface TabsProps extends BasicComponent {
11
- /**
12
- * 标签栏样式
13
- * @default {}
14
- */
15
- tabStyle: React.CSSProperties
16
- /**
17
- * 当前激活 tab 面板的值
18
- * @default 0
19
- */
20
- value: string | number
21
- /**
22
- * 初始化激活 tab 的值
23
- * @default 0
24
- */
25
- defaultValue: string | number
26
- /**
27
- * 标签选中色
28
- * @default #1A1A1A
29
- */
30
- activeColor: string
31
- /**
32
- * 使用横纵方向
33
- * @default horizontal
34
- */
35
- direction: 'horizontal' | 'vertical'
36
- /**
37
- * 选中底部展示样式 可选值 line、smile、simple、card、button、divider
38
- * @default line
39
- */
40
- activeType: 'line' | 'smile' | 'simple' | 'card' | 'button' | 'divider'
41
- /**
42
- * 切换动画时长,单位 ms 0 代表无动画
43
- * @default 300
44
- */
45
- duration: number | string
46
- /**
47
- * 标题对齐方式
48
- * @default -
49
- */
50
- align: 'left' | 'right'
51
- /**
52
- * 自定义导航区域
53
- * @default -
54
- */
55
- title: () => JSX.Element[]
56
- /**
57
- * 当前激活的标签改变时触发
58
- * @default -
59
- */
60
- onChange: (index: string | number) => void
61
- /**
62
- * 点击标签时触发
63
- * @default -
64
- */
65
- onClick: (index: string | number) => void
66
- /**
67
- * 自动高度。设置为 true 时,nut-tabs 和 nut-tabs\_\_content 会随着当前 nut-tabpane 的高度而发生变化。
68
- * @default false
69
- */
70
- autoHeight: boolean
11
+ tabStyle: React.CSSProperties;
12
+ value: string | number;
13
+ defaultValue: string | number;
14
+ activeColor: string;
15
+ direction: 'horizontal' | 'vertical';
16
+ activeType: 'line' | 'smile' | 'simple' | 'card' | 'button' | 'divider';
17
+ duration: number | string;
18
+ align: 'left' | 'right';
19
+ title: () => JSX.Element[];
20
+ onChange: (index: string | number) => void;
21
+ onClick: (index: string | number) => void;
22
+ autoHeight: boolean;
71
23
  children?: React.ReactNode;
72
24
  }
73
25
  export declare const Tabs: FunctionComponent<Partial<TabsProps>> & {