@nutui/nutui-react 1.4.7 → 1.4.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 (64) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/esm/Badge.js +1 -0
  3. package/dist/esm/Barrage.js +17 -7
  4. package/dist/esm/Cascader.js +17 -21
  5. package/dist/esm/Checkbox.js +2 -2
  6. package/dist/esm/CheckboxGroup.js +13 -7
  7. package/dist/esm/Col.js +2 -1
  8. package/dist/esm/Dialog.js +19 -7
  9. package/dist/esm/Ellipsis.js +4 -2
  10. package/dist/esm/Form.js +36 -17
  11. package/dist/esm/FormItem.js +2 -2
  12. package/dist/esm/InputNumber.js +10 -8
  13. package/dist/esm/Popover.js +2 -2
  14. package/dist/esm/Row.js +2 -1
  15. package/dist/esm/ShortPassword.js +4 -1
  16. package/dist/esm/Switch.js +3 -2
  17. package/dist/esm/TabPane.js +2 -2
  18. package/dist/esm/Tabbar.js +12 -7
  19. package/dist/esm/Tabs.js +2 -2
  20. package/dist/esm/{checkbox-255983fc.js → checkbox-b2f0756e.js} +0 -2
  21. package/dist/esm/{formitem-bab4c481.js → formitem-4b58943b.js} +6 -4
  22. package/dist/esm/{tabpane-9b8ca8a8.js → tabpane-15f62234.js} +4 -3
  23. package/dist/esm/{tabs-ee05fd2f.js → tabs-5fe5fd90.js} +13 -11
  24. package/dist/esm/types/src/packages/cascader/cascader.d.ts +1 -0
  25. package/dist/esm/types/src/packages/cascader/cascaderItem.d.ts +1 -0
  26. package/dist/esm/types/src/packages/checkbox/demo.d.ts +0 -1
  27. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +5 -0
  28. package/dist/esm/types/src/packages/dialog/DialogWrap.d.ts +1 -1
  29. package/dist/esm/types/src/packages/dialog/index.taro.d.ts +2 -2
  30. package/dist/esm/types/src/packages/form/form.d.ts +3 -0
  31. package/dist/esm/types/src/packages/formitem/formitem.d.ts +2 -1
  32. package/dist/esm/types/src/packages/formitem/types.d.ts +1 -1
  33. package/dist/esm/types/src/packages/shortpassword/shortpassword.d.ts +1 -0
  34. package/dist/esm/types/src/packages/switch/switch.d.ts +2 -1
  35. package/dist/esm/types/src/packages/tabbar/tabbar.d.ts +1 -1
  36. package/dist/esm/types/src/packages/tabbar/use-props-value.d.ts +7 -0
  37. package/dist/esm/types/src/packages/tabs/tabs.d.ts +1 -0
  38. package/dist/locales/base.js +1 -1
  39. package/dist/locales/en-US.js +1 -1
  40. package/dist/locales/id-ID.js +1 -1
  41. package/dist/locales/zh-CN.js +1 -1
  42. package/dist/locales/zh-TW.js +1 -1
  43. package/dist/locales/zh-UG.js +1 -1
  44. package/dist/nutui.react.es.js +148 -70
  45. package/dist/nutui.react.umd.js +148 -70
  46. package/dist/packages/badge/badge.scss +11 -5
  47. package/dist/packages/barrage/barrage.scss +3 -3
  48. package/dist/packages/button/button.scss +1 -0
  49. package/dist/packages/cascader/cascader.scss +19 -5
  50. package/dist/packages/checkboxgroup/checkboxgroup.scss +33 -0
  51. package/dist/packages/collapseitem/collapseitem.scss +41 -17
  52. package/dist/packages/form/form.scss +3 -0
  53. package/dist/packages/inputnumber/inputnumber.scss +18 -1
  54. package/dist/packages/popover/popover.scss +71 -46
  55. package/dist/packages/radiogroup/radiogroup.scss +9 -8
  56. package/dist/packages/step/step.scss +135 -98
  57. package/dist/packages/switch/switch.scss +1 -1
  58. package/dist/packages/tabs/tabs.scss +24 -2
  59. package/dist/packages/textarea/textarea.scss +7 -1
  60. package/dist/style.css +1 -1
  61. package/dist/style.es.js +1 -1
  62. package/dist/styles/variables.scss +155 -33
  63. package/dist/types/index.d.ts +70 -33
  64. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+
1
2
  .nut-theme-dark {
2
3
  .nut-step {
3
4
  &.nut-step-wait {
@@ -5,27 +6,34 @@
5
6
  .nut-step-title {
6
7
  color: $dark2;
7
8
  }
9
+
8
10
  .nut-step-content {
9
11
  color: $dark2;
10
12
  }
11
13
  }
14
+
12
15
  .nut-step-head {
13
16
  color: $dark2;
14
17
  }
18
+
15
19
  .nut-step-icon.is-text {
16
20
  background-color: $dark5;
17
21
  }
22
+
18
23
  .nut-step-icon.is-icon {
19
24
  background-color: $dark5;
25
+
20
26
  .nut-icon {
21
27
  color: $dark2;
22
28
  }
23
29
  }
30
+
24
31
  .nut-step-content {
25
32
  color: $dark2;
26
33
  }
27
34
  }
28
35
  }
36
+
29
37
  .nut-step-process,
30
38
  .nut-step-finish {
31
39
  .nut-step-main {
@@ -35,138 +43,216 @@
35
43
  }
36
44
  }
37
45
  }
46
+
38
47
  .nut-step {
39
48
  flex-grow: 0;
40
49
  flex-shrink: 0;
41
50
  flex: 1;
42
51
  text-align: center;
43
52
  font-size: 0;
53
+
44
54
  &-head {
45
55
  position: relative;
46
56
  display: flex;
47
57
  justify-content: center;
48
- margin-bottom: 12px;
58
+ margin-bottom: $steps-base-icon-margin-bottom;
49
59
  }
60
+
61
+ // 计算方法:left = calc(50% + (100% - $steps-base-line-width) / 2)
62
+ // 如 width=70%时,left=65%; width=100%,left=50%;
50
63
  &-line {
51
64
  position: absolute;
52
- top: 11px;
53
- left: 50%;
54
- right: -50%;
55
- display: inline-block;
56
- height: 1px;
57
- background: $steps-base-line-color;
65
+ top: calc($steps-base-icon-height / 2);
66
+ left: calc(50% + (100% - $steps-base-line-width) / 2);
67
+ // right: calc(0 - $steps-base-line-width / 2);
68
+ height: $steps-base-line-height;
69
+ width: $steps-base-line-width;
70
+ background: $steps-base-line-background;
58
71
  }
72
+
59
73
  &-icon {
60
74
  position: relative;
61
75
  display: flex;
76
+ align-items: center;
77
+ justify-content: center;
62
78
  width: $steps-base-icon-width;
63
79
  height: $steps-base-icon-height;
64
80
  line-height: $steps-base-icon-line-height;
65
81
  font-size: $steps-base-icon-font-size;
66
- align-items: center;
67
- justify-content: center;
82
+ background-color: $steps-wait-icon-bg-color;
83
+ border-color: $steps-wait-icon-bg-color;
84
+ color: $steps-wait-icon-color;
68
85
  z-index: 1;
86
+
69
87
  .nut-icon {
70
88
  width: 100%;
71
89
  height: 100%;
72
90
  }
91
+
73
92
  &.is-text {
74
93
  border-radius: 50%;
75
94
  border-width: 1px;
76
95
  border-style: solid;
77
96
  }
97
+
78
98
  &.is-icon {
79
99
  border-radius: 50%;
80
100
  border-width: 1px;
81
101
  border-style: solid;
82
- background-color: transparent;
83
102
  }
84
103
  }
104
+
85
105
  &-main {
86
106
  display: inline-block;
87
107
  padding-left: 10%;
88
108
  padding-right: 10%;
89
109
  text-align: center;
110
+
90
111
  .nut-step-content {
91
112
  color: $title-color;
92
113
  }
93
114
  }
115
+
94
116
  &-title {
95
117
  display: block;
96
118
  margin-bottom: $steps-base-title-margin-bottom;
97
119
  font-size: $steps-base-title-font-size;
98
120
  color: $steps-base-title-color;
99
121
  }
122
+
100
123
  &-content {
101
124
  display: block;
102
125
  font-size: $steps-base-content-font-size;
103
126
  color: $steps-base-content-color;
104
127
  }
128
+
105
129
  &:last-child {
106
130
  .nut-step-line {
107
131
  display: none;
108
132
  }
109
133
  }
110
- &.nut-step-finish {
111
- .nut-step-head {
112
- color: $steps-finish-head-color;
113
- border-color: $steps-finish-head-border-color;
134
+
135
+ &.nut-step-process {
136
+ .nut-step-icon {
137
+ background-color: $steps-process-icon-bg-color;
138
+ border-color: $steps-process-icon-bg-color;
139
+ color: $steps-process-icon-color;
114
140
  }
115
- .nut-step-icon.is-text {
116
- background-color: $steps-finish-icon-text-color;
141
+
142
+ .nut-step-title {
143
+ color: $steps-process-title-color;
144
+ font-size: $steps-process-title-font-size;
145
+ font-weight: $steps-process-title-font-weight;
146
+ }
147
+
148
+ .nut-step-content {
149
+ // color: $steps-process-title-color;
150
+ }
151
+ }
152
+
153
+ &.nut-step-wait {
154
+ .nut-step-title {
155
+ color: $steps-wait-title-color;
117
156
  }
118
- .nut-step-icon.is-icon {
119
- background-color: $steps-finish-icon-text-color;
157
+
158
+ .nut-step-content {
159
+ color: $steps-wait-content-color;
120
160
  }
161
+ }
162
+
163
+ &.nut-step-finish {
164
+ .nut-step-icon {
165
+ background-color: $steps-finish-icon-bg-color;
166
+ border-color: $steps-finish-icon-color;
167
+ color: $steps-finish-icon-color;
168
+ }
169
+
121
170
  .nut-step-line {
122
171
  background: $steps-finish-line-background;
123
172
  }
173
+
124
174
  .nut-step-title {
125
175
  color: $steps-finish-title-color;
126
176
  }
127
- }
128
- &.nut-step-process {
129
- .nut-step-head {
130
- color: $steps-process-head-color;
131
- border-color: $steps-process-head-border-color;
132
- }
133
- .nut-step-icon.is-text {
134
- background-color: $steps-process-icon-text-color;
135
- }
136
- .nut-step-icon.is-icon {
137
- background-color: $steps-process-icon-text-color;
177
+
178
+ .nut-step-content {
179
+ // color: $steps-finish-content-color;
138
180
  }
181
+ }
182
+ }
183
+
184
+ .nut-steps-dot {
185
+ .nut-step-head {
186
+ margin-top: 7px;
187
+ margin-bottom: 0;
188
+ }
189
+
190
+ .nut-step-line {
191
+ top: 7px;
192
+ }
193
+
194
+ .nut-step-icon {
195
+ width: $steps-dot-icon-width;
196
+ height: $steps-dot-icon-height;
197
+ border: $steps-dot-icon-border;
198
+ border-radius: 50%;
199
+ box-sizing: content-box;
200
+ }
201
+
202
+ .nut-step-wait {
139
203
  .nut-step-title {
140
- color: $steps-process-title-color;
204
+ color: $steps-wait-title-color;
141
205
  }
142
- }
143
- &.nut-step-wait {
144
- .nut-step-head {
145
- color: $steps-wait-head-color;
146
- border-color: $steps-wait-head-border-color;
206
+
207
+ .nut-step-content {
208
+ color: $steps-wait-content-color;
147
209
  }
148
- .nut-step-icon.is-text {
149
- background-color: $steps-wait-icon-bg-color;
210
+ }
211
+
212
+ .nut-step-finish {
213
+ .nut-step-icon {
214
+ background-color: $steps-finish-icon-bg-color;
215
+ border-color: $steps-finish-icon-color;
150
216
  }
151
- .nut-step-icon.is-icon {
152
- background-color: $steps-wait-icon-bg-color;
153
- .nut-icon {
154
- color: $steps-wait-icon-color;
217
+ }
218
+
219
+ .nut-step-process {
220
+ .nut-step-icon {
221
+ position: relative;
222
+ background-color: $steps-process-icon-bg-color;
223
+
224
+ &:before {
225
+ content: '';
226
+ display: inline-block;
227
+ position: absolute;
228
+ left: 50%;
229
+ top: 50%;
230
+ margin-left: -7px;
231
+ margin-top: -7px;
232
+ width: 14px;
233
+ height: 14px;
234
+ background-color: $primary-color-end;
235
+ border-radius: 50%;
236
+ opacity: 0.23;
155
237
  }
156
238
  }
157
- .nut-step-main {
158
- .nut-step-title,
159
- .nut-step-content {
160
- color: $steps-wait-content-color;
161
- }
239
+ }
240
+ }
241
+
242
+ .nut-steps-horizontal {
243
+ &.nut-steps-dot {
244
+ .nut-step-line {
245
+ top: calc(($steps-dot-icon-width + $steps-dot-icon-border * 2) / 2);
162
246
  }
163
247
  }
164
248
  }
249
+
165
250
  .nut-steps-vertical {
166
251
  .nut-step {
167
252
  display: flex;
168
253
  height: 33.34%;
169
254
  }
255
+
170
256
  .nut-step-line {
171
257
  position: absolute;
172
258
  display: inline-block;
@@ -174,63 +260,14 @@
174
260
  height: 100%;
175
261
  background: #909ca4;
176
262
  }
263
+
177
264
  .nut-step-main {
178
265
  display: inline-block;
179
266
  padding-left: 6%;
180
267
  text-align: left;
268
+
181
269
  .nut-step-content {
182
- color: $title-color;
183
- }
184
- }
185
- &.nut-steps-dot {
186
- .nut-step-head {
187
- margin-top: 7px;
188
- margin-bottom: 0;
189
- }
190
- .nut-step-line {
191
- top: 7px;
192
- left: 50%;
193
- right: -50%;
194
- }
195
- .nut-step-icon {
196
- width: 8px;
197
- height: 8px;
198
- background: $primary-color;
199
- border-radius: 50%;
200
- box-sizing: content-box;
201
- }
202
- .nut-step-wait {
203
- .nut-step-icon {
204
- background-color: $steps-wait-icon-bg-color;
205
- }
206
- .nut-step-content {
207
- color: $steps-wait-content-color;
208
- }
209
- }
210
- .nut-step-finish {
211
- .nut-step-icon {
212
- background-color: $primary-color;
213
- }
214
- }
215
- .nut-step-process {
216
- .nut-step-icon {
217
- position: relative;
218
- background-color: $primary-color;
219
- &:before {
220
- content: '';
221
- display: inline-block;
222
- position: absolute;
223
- left: 50%;
224
- top: 50%;
225
- margin-left: -7px;
226
- margin-top: -7px;
227
- width: 14px;
228
- height: 14px;
229
- background-color: $primary-color-end;
230
- border-radius: 50%;
231
- opacity: 0.23;
232
- }
233
- }
270
+ color: $steps-base-content-color;
234
271
  }
235
272
  }
236
273
  }
@@ -29,7 +29,7 @@
29
29
  background-color: $switch-close-bg-color;
30
30
 
31
31
  .close-line {
32
- background: $switch-close--cline-bg-color;
32
+ background: $switch-close--line-bg-color;
33
33
  border-radius: 2px;
34
34
  }
35
35
  }
@@ -1,24 +1,31 @@
1
1
  @import '../../styles/mixins/index';
2
+
2
3
  .nut-theme-dark {
3
4
  .nut-tabs {
4
5
  .nut-tabpane {
5
6
  color: $white;
6
7
  }
8
+
7
9
  &__titles {
8
10
  background: $dark5;
11
+
9
12
  &-item {
10
13
  color: $dark1;
14
+
11
15
  &.active {
12
16
  color: $dark1;
17
+
13
18
  .nut-tabs__titles-item__text {
14
19
  color: $dark1;
15
20
  }
16
21
  }
22
+
17
23
  &__text {
18
24
  color: $dark1;
19
25
  }
20
26
  }
21
27
  }
28
+
22
29
  &.vertical {
23
30
  .nut-tabs__titles {
24
31
  &-item {
@@ -95,9 +102,11 @@
95
102
 
96
103
  .nut-tabs__content {
97
104
  flex-direction: column;
105
+
98
106
  &__wrap {
99
107
  flex: 1;
100
108
  }
109
+
101
110
  height: 100%;
102
111
 
103
112
  .nut-tabpane {
@@ -163,16 +172,21 @@
163
172
  &-item {
164
173
  position: relative;
165
174
  font-size: $tabs-titles-item-font-size;
166
- flex: 1 0 auto;
167
175
  min-width: $tabs-horizontal-titles-item-min-width;
168
176
  width: 0;
169
177
  display: flex;
170
178
  align-items: center;
171
179
  justify-content: center;
180
+ flex: 1 0 auto;
172
181
  color: $tabs-titles-item-color;
173
182
 
183
+ &-left-align {
184
+ flex: none;
185
+ }
186
+
174
187
  &__text {
175
188
  color: $gray1;
189
+
176
190
  &.ellipsis {
177
191
  @include oneline-ellipsis();
178
192
  }
@@ -187,10 +201,11 @@
187
201
  width: 0;
188
202
  height: 0;
189
203
  content: ' ';
190
- bottom: 15%;
204
+ bottom: $tabs-horizontal-tab-line-bottom;
191
205
  left: 50%;
192
206
  transform: translate(-50%, 0);
193
207
  overflow: hidden;
208
+ border-radius: $tabs-horizontal-tab-line-border-radius;
194
209
  }
195
210
 
196
211
  &__smile {
@@ -205,13 +220,19 @@
205
220
 
206
221
  &.disabled {
207
222
  color: $disable-color;
223
+
224
+ .nut-tabs__titles-item__text {
225
+ color: $disable-color;
226
+ }
208
227
  }
209
228
 
210
229
  &.active {
211
230
  font-weight: 600;
231
+
212
232
  .nut-tabs__titles-item__text {
213
233
  color: $gray1;
214
234
  }
235
+
215
236
  .nut-tabs__titles-item__line {
216
237
  content: ' ';
217
238
  width: $tabs-horizontal-titles-item-active-line-width;
@@ -226,6 +247,7 @@
226
247
  &__wrap {
227
248
  overflow: hidden;
228
249
  }
250
+
229
251
  display: flex;
230
252
  box-sizing: border-box;
231
253
  }
@@ -1,6 +1,7 @@
1
1
  .nut-theme-dark {
2
2
  .nut-textarea {
3
3
  background: $dark5;
4
+
4
5
  &__textarea {
5
6
  color: $dark1;
6
7
  }
@@ -14,7 +15,7 @@
14
15
  display: flex;
15
16
  background: $white;
16
17
  font-size: $textarea-font;
17
- padding: 10px 25px;
18
+ padding: $textarea-padding;
18
19
 
19
20
  &__disabled {
20
21
  .nut-textarea__textarea,
@@ -23,6 +24,7 @@
23
24
  color: $textarea-disabled-color !important;
24
25
  }
25
26
  }
27
+
26
28
  &__limit {
27
29
  position: absolute;
28
30
  right: 15px;
@@ -30,6 +32,7 @@
30
32
  font-size: $textarea-font;
31
33
  color: $textarea-limit-color;
32
34
  }
35
+
33
36
  &__textarea {
34
37
  // min-height: $textarea-height;
35
38
  outline: none;
@@ -40,12 +43,15 @@
40
43
  margin: 0;
41
44
  padding: 0;
42
45
  font-size: $textarea-font;
46
+ line-height: $textarea-text-line-height;
43
47
  color: $textarea-text-color;
48
+ caret-color: $textarea-text-curror-color;
44
49
  text-align: left;
45
50
  background-color: transparent;
46
51
  border: 0;
47
52
  resize: none;
48
53
  }
54
+
49
55
  .cpoyText {
50
56
  position: absolute;
51
57
  top: -999999px;