@nutui/nutui-react-taro 3.0.5 → 3.0.6

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 (108) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/dist/cjs/packages/badge/badge.js +4 -3
  3. package/dist/cjs/packages/badge/style/badge.scss +4 -0
  4. package/dist/cjs/packages/badge/style/style.css +9 -6
  5. package/dist/cjs/packages/badge/style/style.harmony.css +3 -0
  6. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  7. package/dist/cjs/packages/datepicker/style/style.css +3 -0
  8. package/dist/cjs/packages/datepickerview/style/style.css +3 -0
  9. package/dist/cjs/packages/fixednav/style/style.css +9 -6
  10. package/dist/cjs/packages/indicator/indicator.js +1 -1
  11. package/dist/cjs/packages/lottie/index.js +5 -5
  12. package/dist/cjs/packages/lottie/{mp.js → lottiemp.js} +1 -1
  13. package/dist/cjs/packages/notify/notify.js +44 -13
  14. package/dist/cjs/packages/notify/style/notify.scss +39 -36
  15. package/dist/cjs/packages/notify/style/style.css +36 -31
  16. package/dist/cjs/packages/notify/style/style.harmony.css +36 -31
  17. package/dist/cjs/packages/picker/style/style.css +3 -0
  18. package/dist/cjs/packages/pickerview/pickerroller.js +7 -2
  19. package/dist/cjs/packages/pickerview/style/pickerview.scss +3 -0
  20. package/dist/cjs/packages/pickerview/style/style.css +3 -0
  21. package/dist/cjs/packages/pickerview/style/style.harmony.css +3 -0
  22. package/dist/cjs/packages/searchbar/searchbar.js +8 -2
  23. package/dist/cjs/packages/skeleton/skeleton.js +63 -52
  24. package/dist/cjs/packages/skeleton/style/index.js +0 -1
  25. package/dist/cjs/packages/skeleton/style/skeleton.scss +40 -46
  26. package/dist/cjs/packages/skeleton/style/style.css +32 -175
  27. package/dist/cjs/packages/skeleton/style/style.harmony.css +32 -42
  28. package/dist/cjs/packages/switch/style/style.css +5 -0
  29. package/dist/cjs/packages/switch/style/style.harmony.css +5 -0
  30. package/dist/cjs/packages/switch/style/switch.scss +5 -0
  31. package/dist/cjs/packages/switch/switch.js +22 -11
  32. package/dist/cjs/packages/tabbar/style/style.css +54 -45
  33. package/dist/cjs/packages/tabbar/style/style.harmony.css +24 -18
  34. package/dist/cjs/packages/tabbar/style/tabbar.scss +28 -19
  35. package/dist/cjs/packages/tabbar/tabbar.js +28 -10
  36. package/dist/cjs/packages/tabbaritem/style/style.css +30 -27
  37. package/dist/cjs/packages/tabbaritem/style/style.harmony.css +21 -21
  38. package/dist/cjs/packages/tabbaritem/style/tabbaritem.scss +32 -29
  39. package/dist/cjs/packages/tabbaritem/tabbaritem.js +38 -14
  40. package/dist/cjs/types/spec/badge/base.d.ts +1 -0
  41. package/dist/cjs/types/spec/indicator/base.d.ts +1 -1
  42. package/dist/cjs/types/spec/notify/base.d.ts +7 -2
  43. package/dist/cjs/types/spec/searchbar/taro.d.ts +10 -7
  44. package/dist/cjs/types/spec/skeleton/base.d.ts +7 -5
  45. package/dist/cjs/types/spec/switch/base.d.ts +3 -2
  46. package/dist/cjs/types/spec/switch/h5.d.ts +1 -1
  47. package/dist/cjs/types/spec/switch/taro.d.ts +1 -4
  48. package/dist/cjs/types/spec/tabbar/base.d.ts +7 -4
  49. package/dist/es/packages/badge/badge.js +4 -3
  50. package/dist/es/packages/badge/style/badge.scss +4 -0
  51. package/dist/es/packages/badge/style/style.css +9 -6
  52. package/dist/es/packages/badge/style/style.harmony.css +3 -0
  53. package/dist/es/packages/configprovider/types.d.ts +1 -1
  54. package/dist/es/packages/datepicker/style/style.css +3 -0
  55. package/dist/es/packages/datepickerview/style/style.css +3 -0
  56. package/dist/es/packages/fixednav/style/style.css +9 -6
  57. package/dist/es/packages/indicator/indicator.js +1 -1
  58. package/dist/es/packages/lottie/index.js +3 -3
  59. package/dist/es/packages/lottie/{mp.js → lottiemp.js} +1 -1
  60. package/dist/es/packages/notify/notify.js +45 -14
  61. package/dist/es/packages/notify/style/notify.scss +39 -36
  62. package/dist/es/packages/notify/style/style.css +36 -31
  63. package/dist/es/packages/notify/style/style.harmony.css +36 -31
  64. package/dist/es/packages/picker/style/style.css +3 -0
  65. package/dist/es/packages/pickerview/pickerroller.js +7 -2
  66. package/dist/es/packages/pickerview/style/pickerview.scss +3 -0
  67. package/dist/es/packages/pickerview/style/style.css +3 -0
  68. package/dist/es/packages/pickerview/style/style.harmony.css +3 -0
  69. package/dist/es/packages/searchbar/searchbar.js +7 -2
  70. package/dist/es/packages/skeleton/skeleton.js +62 -52
  71. package/dist/es/packages/skeleton/style/index.js +0 -1
  72. package/dist/es/packages/skeleton/style/skeleton.scss +40 -46
  73. package/dist/es/packages/skeleton/style/style.css +32 -175
  74. package/dist/es/packages/skeleton/style/style.harmony.css +32 -42
  75. package/dist/es/packages/switch/style/style.css +5 -0
  76. package/dist/es/packages/switch/style/style.harmony.css +5 -0
  77. package/dist/es/packages/switch/style/switch.scss +5 -0
  78. package/dist/es/packages/switch/switch.js +21 -11
  79. package/dist/es/packages/tabbar/style/style.css +54 -45
  80. package/dist/es/packages/tabbar/style/style.harmony.css +24 -18
  81. package/dist/es/packages/tabbar/style/tabbar.scss +28 -19
  82. package/dist/es/packages/tabbar/tabbar.js +27 -10
  83. package/dist/es/packages/tabbaritem/style/style.css +30 -27
  84. package/dist/es/packages/tabbaritem/style/style.harmony.css +21 -21
  85. package/dist/es/packages/tabbaritem/style/tabbaritem.scss +32 -29
  86. package/dist/es/packages/tabbaritem/tabbaritem.js +38 -14
  87. package/dist/es/types/spec/badge/base.d.ts +4 -0
  88. package/dist/es/types/spec/indicator/base.d.ts +1 -1
  89. package/dist/es/types/spec/notify/base.d.ts +22 -5
  90. package/dist/es/types/spec/searchbar/taro.d.ts +10 -7
  91. package/dist/es/types/spec/skeleton/base.d.ts +19 -14
  92. package/dist/es/types/spec/switch/base.d.ts +6 -2
  93. package/dist/es/types/spec/switch/h5.d.ts +1 -1
  94. package/dist/es/types/spec/switch/taro.d.ts +1 -4
  95. package/dist/es/types/spec/tabbar/base.d.ts +7 -4
  96. package/dist/nutui.react.umd.js +422 -297
  97. package/dist/style.css +1 -1
  98. package/dist/style.scss +47 -47
  99. package/dist/styles/variables-jmapp.scss +23 -1
  100. package/dist/styles/variables-jrkf.scss +23 -1
  101. package/dist/styles/variables.scss +35 -37
  102. package/package.json +1 -1
  103. /package/dist/cjs/packages/lottie/{mp.d.ts → lottiemp.d.ts} +0 -0
  104. /package/dist/cjs/packages/lottie/{web.d.ts → lottieweb.d.ts} +0 -0
  105. /package/dist/cjs/packages/lottie/{web.js → lottieweb.js} +0 -0
  106. /package/dist/es/packages/lottie/{mp.d.ts → lottiemp.d.ts} +0 -0
  107. /package/dist/es/packages/lottie/{web.d.ts → lottieweb.d.ts} +0 -0
  108. /package/dist/es/packages/lottie/{web.js → lottieweb.js} +0 -0
@@ -2,176 +2,30 @@
2
2
  /* #endif */
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
- .nut-image {
6
- display: block;
7
- position: relative;
8
- }
9
- .nut-image-default {
10
- display: block;
11
- width: 100%;
12
- height: 100%;
13
- }
14
- .nut-image.nut-image-round {
15
- border-radius: 50%;
16
- overflow: hidden;
17
- }
18
- .nut-image-loading {
19
- width: 100%;
20
- height: 100%;
21
- position: absolute;
22
- top: 0;
23
- left: 0;
24
- display: flex;
25
- flex-direction: column;
26
- align-items: center;
27
- justify-content: center;
28
- background: var(--nutui-color-background, #f2f3f5);
29
- background-size: 100% 100%;
30
- }
31
- .nut-image-error {
32
- width: 100%;
33
- height: 100%;
34
- position: absolute;
35
- top: 0;
36
- left: 0;
37
- display: flex;
38
- flex-direction: column;
39
- align-items: center;
40
- justify-content: center;
41
- background: var(--nutui-color-background, #f2f3f5);
42
- background-size: 100% 100%;
43
- }
44
-
45
- [dir=rtl] .nut-image .nut-img-loading,
46
- .nut-rtl .nut-image .nut-img-loading {
47
- left: auto;
48
- right: 0;
49
- }
50
- [dir=rtl] .nut-image .nut-img-error,
51
- .nut-rtl .nut-image .nut-img-error {
52
- left: auto;
53
- right: 0;
54
- }
55
-
56
- .nut-avatar-group {
57
- display: flex;
58
- flex-direction: row;
59
- flex: 0 0 auto;
60
- }
61
- .nut-avatar-group-avatar,
62
- .nut-avatar-group .nut-avatar {
63
- border: 1px solid #fff;
64
- margin-left: -8px;
65
- }
66
- .nut-avatar-group-avatar:not(:first-of-type),
67
- .nut-avatar-group .nut-avatar:not(:first-of-type) {
68
- margin-left: -8px;
69
- }
70
-
71
- [dir=rtl] .nut-avatar-group .nut-avatar:not(:first-of-type),
72
- .nut-rtl .nut-avatar-group .nut-avatar:not(:first-of-type) {
73
- margin-left: 0;
74
- margin-right: -8px;
75
- }
76
-
77
- .nut-avatar {
78
- position: relative;
79
- flex: 0 0 auto;
80
- display: flex;
81
- justify-content: center;
82
- align-items: center;
83
- width: var(--nutui-avatar-normal-width, 40px);
84
- height: var(--nutui-avatar-normal-height, 40px);
85
- }
86
- .nut-avatar-round {
87
- border-radius: 999px;
88
- overflow: hidden;
89
- }
90
- .nut-avatar-square {
91
- border-radius: var(--nutui-avatar-square, 5px);
92
- }
93
- .nut-avatar-first-child {
94
- margin-left: 0;
95
- margin-right: 0;
96
- }
97
- .nut-avatar-img {
98
- width: 100%;
99
- height: 100%;
100
- flex-shrink: 0;
101
- background-size: 100% 100%;
102
- background-repeat: no-repeat;
103
- background-position: center center;
104
- }
105
- .nut-avatar-icon {
106
- background-size: 100% 100%;
107
- }
108
- .nut-avatar-text {
109
- display: flex;
110
- justify-content: center;
111
- align-items: center;
112
- }
113
- .nut-avatar-large {
114
- width: var(--nutui-avatar-large-width, 60px);
115
- height: var(--nutui-avatar-large-height, 60px);
116
- }
117
- .nut-avatar-large-img {
118
- width: var(--nutui-avatar-large-width, 60px);
119
- height: var(--nutui-avatar-large-height, 60px);
120
- }
121
- .nut-avatar-large-icon {
122
- width: var(--nutui-avatar-large-width, 60px);
123
- height: var(--nutui-avatar-large-height, 60px);
124
- }
125
- .nut-avatar-large-text {
126
- width: var(--nutui-avatar-large-width, 60px);
127
- height: var(--nutui-avatar-large-height, 60px);
128
- }
129
- .nut-avatar-small {
130
- width: var(--nutui-avatar-small-width, 32px);
131
- height: var(--nutui-avatar-small-height, 32px);
132
- }
133
- .nut-avatar-small-text {
134
- width: var(--nutui-avatar-small-width, 32px);
135
- height: var(--nutui-avatar-small-height, 32px);
136
- }
137
-
138
5
  .nut-skeleton {
139
- display: inline-block;
140
- position: relative;
141
- overflow: hidden;
142
- vertical-align: middle;
143
- width: 100%;
6
+ line-height: 0px;
7
+ font-size: 0px;
144
8
  }
145
9
  .nut-skeleton-content {
146
- display: flex;
147
- flex-direction: row;
148
- }
149
- .nut-skeleton-content-avatar {
150
- margin-right: 20px;
151
- background: var(--nutui-skeleton-background, var(--nutui-color-background, #f2f3f5)) !important;
152
- }
153
- .nut-skeleton-content-block {
10
+ position: relative;
11
+ display: inline-flex;
154
12
  width: var(--nutui-skeleton-line-width, 100%);
155
- height: var(--nutui-skeleton-line-height, 15px);
156
- background: var(--nutui-skeleton-background, var(--nutui-color-background, #f2f3f5));
157
- margin-top: 10px;
158
- border-radius: var(--nutui-skeleton-line-border-radius, 0);
13
+ background: var(--nutui-skeleton-background, var(--nutui-color-background-sunken, #f7f8fc));
14
+ border-radius: var(--nutui-skeleton-line-border-radius, var(--nutui-radius-xs, 4px));
15
+ overflow: hidden;
159
16
  }
160
- .nut-skeleton-content-line {
161
- width: 100%;
162
- display: flex;
163
- flex-direction: column;
17
+ .nut-skeleton-content-normal {
18
+ height: var(--nutui-skeleton-line-normal-height, 24px);
164
19
  }
165
- .nut-skeleton-content-line .nut-skeleton-content-block:last-child {
166
- width: 70%;
20
+ .nut-skeleton-content-large {
21
+ height: var(--nutui-skeleton-line-large-height, 32px);
167
22
  }
168
- .nut-skeleton-content-title {
169
- width: 30%;
170
- height: var(--nutui-skeleton-line-height, 15px);
171
- background: var(--nutui-skeleton-background, var(--nutui-color-background, #f2f3f5));
23
+ .nut-skeleton-content-small {
24
+ height: var(--nutui-skeleton-line-small-height, 16px);
25
+ margin-top: 8px;
172
26
  }
173
- .nut-skeleton-content-block-last-child {
174
- width: 55%;
27
+ .nut-skeleton-content-small-0 {
28
+ margin-top: 0;
175
29
  }
176
30
  .nut-skeleton-animation {
177
31
  position: absolute;
@@ -180,33 +34,36 @@
180
34
  width: 100%;
181
35
  height: 100%;
182
36
  z-index: 1;
183
- animation: nut-skeleton 2s ease-in-out 0s infinite;
37
+ background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.02) 50%, rgba(0, 0, 0, 0) 100%);
38
+ animation-name: nut-skeleton;
39
+ animation-delay: 0s;
40
+ animation-duration: 0.6s;
41
+ animation-direction: normal;
42
+ animation-fill-mode: both;
43
+ animation-play-state: running;
44
+ animation-iteration-count: 1;
45
+ animation-timing-function: linear;
184
46
  }
185
47
  @keyframes nut-skeleton {
186
- 0% {
187
- background-position-x: -500px;
48
+ from {
49
+ transform: translateX(-100%);
188
50
  }
189
51
  to {
190
- background-position-x: calc(500px + 100%);
52
+ transform: translateX(100%);
191
53
  }
192
54
  }
193
55
 
194
- [dir=rtl] .nut-skeleton-content .nut-avatar,
195
- .nut-rtl .nut-skeleton-content .nut-avatar {
196
- margin-right: 0;
197
- margin-left: 20px;
198
- }
199
56
  [dir=rtl] .nut-skeleton-animation,
200
57
  .nut-rtl .nut-skeleton-animation {
201
58
  left: auto;
202
59
  right: 0;
203
- animation: nut-skeleton-rtl 2s ease-in-out 0s infinite;
60
+ animation: nut-skeleton-rtl 2s linear 0s infinite;
204
61
  }
205
62
  @keyframes nut-skeleton-rtl {
206
- 0% {
207
- background-position-x: calc(500px + 100%);
63
+ from {
64
+ transform: translateX(100%);
208
65
  }
209
66
  to {
210
- background-position-x: -500px;
67
+ transform: translateX(-100%);
211
68
  }
212
69
  }
@@ -3,42 +3,29 @@
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
5
  .nut-skeleton {
6
- display: inline-block;
7
- position: relative;
8
- overflow: hidden;
9
- vertical-align: middle;
10
- width: 100%;
6
+ line-height: 0px;
7
+ font-size: 0px;
11
8
  }
12
9
  .nut-skeleton-content {
13
- display: flex;
14
- flex-direction: row;
15
- }
16
- .nut-skeleton-content-avatar {
17
- margin-right: 20px;
18
- background: #f2f3f5 !important;
19
- }
20
- .nut-skeleton-content-block {
10
+ position: relative;
11
+ display: inline-flex;
21
12
  width: 100%;
22
- height: 15px;
23
- background: #f2f3f5;
24
- margin-top: 10px;
25
- border-radius: 0;
13
+ background: #f7f8fc;
14
+ border-radius: 4px;
15
+ overflow: hidden;
26
16
  }
27
- .nut-skeleton-content-line {
28
- width: 100%;
29
- display: flex;
30
- flex-direction: column;
17
+ .nut-skeleton-content-normal {
18
+ height: 24px;
31
19
  }
32
- .nut-skeleton-content-line .nut-skeleton-content-block:last-child {
33
- width: 70%;
20
+ .nut-skeleton-content-large {
21
+ height: 32px;
34
22
  }
35
- .nut-skeleton-content-title {
36
- width: 30%;
37
- height: 15px;
38
- background: #f2f3f5;
23
+ .nut-skeleton-content-small {
24
+ height: 16px;
25
+ margin-top: 8px;
39
26
  }
40
- .nut-skeleton-content-block-last-child {
41
- width: 55%;
27
+ .nut-skeleton-content-small-0 {
28
+ margin-top: 0;
42
29
  }
43
30
  .nut-skeleton-animation {
44
31
  position: absolute;
@@ -47,33 +34,36 @@
47
34
  width: 100%;
48
35
  height: 100%;
49
36
  z-index: 1;
50
- animation: nut-skeleton 2s ease-in-out 0s infinite;
37
+ background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.02) 50%, rgba(0, 0, 0, 0) 100%);
38
+ animation-name: nut-skeleton;
39
+ animation-delay: 0s;
40
+ animation-duration: 0.6s;
41
+ animation-direction: normal;
42
+ animation-fill-mode: both;
43
+ animation-play-state: running;
44
+ animation-iteration-count: 1;
45
+ animation-timing-function: linear;
51
46
  }
52
47
  @keyframes nut-skeleton {
53
- 0% {
54
- background-position-x: -500px;
48
+ from {
49
+ transform: translateX(-100%);
55
50
  }
56
51
  to {
57
- background-position-x: calc(500px + 100%);
52
+ transform: translateX(100%);
58
53
  }
59
54
  }
60
55
 
61
- [dir=rtl] .nut-skeleton-content .nut-avatar,
62
- .nut-rtl .nut-skeleton-content .nut-avatar {
63
- margin-right: 0;
64
- margin-left: 20px;
65
- }
66
56
  [dir=rtl] .nut-skeleton-animation,
67
57
  .nut-rtl .nut-skeleton-animation {
68
58
  left: auto;
69
59
  right: 0;
70
- animation: nut-skeleton-rtl 2s ease-in-out 0s infinite;
60
+ animation: nut-skeleton-rtl 2s linear 0s infinite;
71
61
  }
72
62
  @keyframes nut-skeleton-rtl {
73
- 0% {
74
- background-position-x: calc(500px + 100%);
63
+ from {
64
+ transform: translateX(100%);
75
65
  }
76
66
  to {
77
- background-position-x: -500px;
67
+ transform: translateX(-100%);
78
68
  }
79
69
  }
@@ -45,6 +45,11 @@
45
45
  .nut-switch-button-close-rtl {
46
46
  left: calc(100% - var(--nutui-switch-height, 28px) + var(--nutui-switch-border-width, 2px));
47
47
  }
48
+ .nut-switch-button .nut-icon {
49
+ width: calc((var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) * 2) / 2);
50
+ height: calc((var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) * 2) / 2);
51
+ color: var(--nutui-switch-active-disabled-background-color, var(--nutui-color-primary-disabled-special, #ffadbe));
52
+ }
48
53
  .nut-switch-close {
49
54
  background-color: var(--nutui-switch-inactive-background-color, var(--nutui-color-text-disabled, #c2c4cc));
50
55
  }
@@ -45,6 +45,11 @@
45
45
  .nut-switch-button-close-rtl {
46
46
  left: calc(100% - 28px + 2px);
47
47
  }
48
+ .nut-switch-button .nut-icon {
49
+ width: calc((28px - 2px * 2) / 2);
50
+ height: calc((28px - 2px * 2) / 2);
51
+ color: #ffadbe;
52
+ }
48
53
  .nut-switch-close {
49
54
  background-color: #c2c4cc;
50
55
  }
@@ -40,6 +40,11 @@
40
40
  left: calc(100% - $switch-height + $switch-border-width);
41
41
  }
42
42
  }
43
+ .nut-icon {
44
+ width: calc(($switch-height - $switch-border-width * 2) / 2);
45
+ height: calc(($switch-height - $switch-border-width * 2) / 2);
46
+ color: $switch-active-disabled-background-color;
47
+ }
43
48
  }
44
49
 
45
50
  &-close {
@@ -9,29 +9,33 @@ Object.defineProperty(exports, "Switch", {
9
9
  }
10
10
  });
11
11
  var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
13
  var _define_property = require("@swc/helpers/_/_define_property");
13
14
  var _object_spread = require("@swc/helpers/_/_object_spread");
14
15
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
15
16
  var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
16
17
  var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
17
- var _react = /*#__PURE__*/ _interop_require_default._(require("react"));
18
+ var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
18
19
  var _components = require("@tarojs/components");
19
20
  var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames"));
21
+ var _iconsreacttaro = require("@nutui/icons-react-taro");
20
22
  var _typings = require("../../utils/typings");
21
23
  var _usepropsvalue = require("../../hooks/use-props-value");
22
24
  var _index = require("../configprovider/index");
23
25
  var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
24
26
  disabled: false,
25
27
  activeText: '',
26
- inactiveText: ''
28
+ inactiveText: '',
29
+ loadingIcon: /*#__PURE__*/ _react.default.createElement(_iconsreacttaro.Loading1, null)
27
30
  });
28
31
  var Switch = function Switch(props) {
29
- var _ref = (0, _object_spread._)({}, defaultProps, props), checked = _ref.checked, defaultChecked = _ref.defaultChecked, disabled = _ref.disabled, activeText = _ref.activeText, inactiveText = _ref.inactiveText, className = _ref.className, style = _ref.style, onChange = _ref.onChange, rest = (0, _object_without_properties._)(_ref, [
32
+ var _ref = (0, _object_spread._)({}, defaultProps, props), checked = _ref.checked, defaultChecked = _ref.defaultChecked, disabled = _ref.disabled, activeText = _ref.activeText, inactiveText = _ref.inactiveText, loadingIcon = _ref.loadingIcon, className = _ref.className, style = _ref.style, onChange = _ref.onChange, rest = (0, _object_without_properties._)(_ref, [
30
33
  "checked",
31
34
  "defaultChecked",
32
35
  "disabled",
33
36
  "activeText",
34
37
  "inactiveText",
38
+ "loadingIcon",
35
39
  "className",
36
40
  "style",
37
41
  "onChange"
@@ -42,6 +46,12 @@ var Switch = function Switch(props) {
42
46
  value: checked,
43
47
  defaultValue: defaultChecked
44
48
  }), 2), value = _usePropsValue[0], setValue = _usePropsValue[1];
49
+ (0, _react.useEffect)(function() {
50
+ changing && setChanging(false);
51
+ }, [
52
+ value
53
+ ]);
54
+ var _useState = (0, _sliced_to_array._)((0, _react.useState)(false), 2), changing = _useState[0], setChanging = _useState[1];
45
55
  var classes = function classes() {
46
56
  var _obj;
47
57
  return (0, _classnames.default)([
@@ -50,17 +60,18 @@ var Switch = function Switch(props) {
50
60
  (_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-close"), !value), (0, _define_property._)(_obj, "".concat(classPrefix, "-disabled"), disabled), (0, _define_property._)(_obj, "".concat(classPrefix, "-disabled-close"), disabled && !value), _obj)
51
61
  ]);
52
62
  };
53
- var onClick = function onClick(event) {
54
- if (disabled) return;
55
- onChange && onChange(!value, event);
63
+ var onClick = function onClick() {
64
+ if (disabled || changing) return;
65
+ if (props.onChange) {
66
+ setChanging(true);
67
+ props.onChange(!value);
68
+ }
56
69
  setValue(!value);
57
70
  };
58
71
  var _obj, _obj1;
59
72
  return /*#__PURE__*/ _react.default.createElement(_components.View, (0, _object_spread._)({
60
73
  className: classes(),
61
- onClick: function onClick1(e) {
62
- return onClick(e);
63
- },
74
+ onClick: onClick,
64
75
  style: style
65
76
  }, rest), /*#__PURE__*/ _react.default.createElement(_components.View, {
66
77
  className: (0, _classnames.default)([
@@ -72,9 +83,9 @@ var Switch = function Switch(props) {
72
83
  ],
73
84
  (_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-button-open-rtl"), rtl && value), (0, _define_property._)(_obj, "".concat(classPrefix, "-button-close-rtl"), rtl && !value), _obj)
74
85
  ])
75
- }, !value && !activeText && /*#__PURE__*/ _react.default.createElement(_components.View, {
86
+ }, changing && loadingIcon ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, loadingIcon) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, !value && !activeText && /*#__PURE__*/ _react.default.createElement(_components.View, {
76
87
  className: "".concat(classPrefix, "-close-line")
77
- })), activeText && /*#__PURE__*/ _react.default.createElement(_components.View, {
88
+ }))), activeText && /*#__PURE__*/ _react.default.createElement(_components.View, {
78
89
  className: (0, _classnames.default)("".concat(classPrefix, "-label"), (_obj1 = {}, (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-open"), value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-close"), !value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-open-rtl"), rtl && value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-close-rtl"), rtl && !value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-close-disabled"), disabled && !value), _obj1))
79
90
  }, value ? activeText : inactiveText));
80
91
  };
@@ -52,6 +52,9 @@
52
52
  background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23));
53
53
  z-index: 1;
54
54
  }
55
+ .nut-badge-disabled {
56
+ background: var(--nutui-badge-background-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
57
+ }
55
58
  .nut-badge-number {
56
59
  font-family: "JD";
57
60
  }
@@ -77,14 +80,14 @@
77
80
  height: var(--nutui-badge-dot-width, 6px);
78
81
  }
79
82
  .nut-badge-dot-small {
80
- min-width: var(--nutui-badge-dot-width, 4px);
81
- width: var(--nutui-badge-dot-width, 4px);
82
- height: var(--nutui-badge-dot-width, 4px);
83
+ min-width: var(--nutui-badge-dot-small-width, 4px);
84
+ width: var(--nutui-badge-dot-small-width, 4px);
85
+ height: var(--nutui-badge-dot-small-width, 4px);
83
86
  }
84
87
  .nut-badge-dot-large {
85
- min-width: var(--nutui-badge-dot-width, 8px);
86
- width: var(--nutui-badge-dot-width, 8px);
87
- height: var(--nutui-badge-dot-width, 8px);
88
+ min-width: var(--nutui-badge-dot-large-width, 8px);
89
+ width: var(--nutui-badge-dot-large-width, 8px);
90
+ height: var(--nutui-badge-dot-large-width, 8px);
88
91
  }
89
92
  .nut-badge-outline {
90
93
  background: #ffffff;
@@ -97,25 +100,16 @@
97
100
  .nut-tabbar-item {
98
101
  display: flex;
99
102
  flex-direction: column;
100
- justify-content: center;
101
103
  align-items: center;
102
104
  flex: 1;
103
- text-align: center;
104
- text-decoration: none;
105
+ padding: 6px 0 2px;
105
106
  color: var(--nutui-tabbar-inactive-color, var(--nutui-color-title, #1a1a1a));
106
107
  height: 100%;
107
108
  }
108
- .nut-tabbar-item-icon-box {
109
- padding: 0px;
110
- display: flex;
111
- flex-direction: column;
112
- align-items: center;
113
- position: relative;
114
- }
115
- .nut-tabbar-item-icon-box .nut-icon {
116
- width: 22px;
117
- height: 22px;
118
- font-size: 22px;
109
+ .nut-tabbar-item .nut-icon {
110
+ width: 24px;
111
+ height: 24px;
112
+ font-size: 24px;
119
113
  /* #ifdef harmony*/
120
114
  color: var(--nutui-tabbar-inactive-color, var(--nutui-color-title, #1a1a1a));
121
115
  /* #endif*/
@@ -123,23 +117,32 @@
123
117
  color: inherit;
124
118
  /* #endif*/
125
119
  }
126
- .nut-tabbar-item-icon-box-nav {
120
+ .nut-tabbar-item-text {
127
121
  display: block;
128
122
  color: var(--nutui-color-text, #505259);
129
- font-size: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xs, 11px));
130
- line-height: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xs, 11px));
131
- margin-top: var(--nutui-tabbar-text-margin-top, 3px);
123
+ font-size: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xxs, 10px));
124
+ line-height: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xxs, 10px));
125
+ margin-top: var(--nutui-tabbar-text-margin-top, 4px);
132
126
  }
133
- .nut-tabbar-item-icon-box-large {
127
+ .nut-tabbar-item .nut-image-default {
128
+ width: 38px;
129
+ height: 38px;
130
+ border-radius: 38px;
131
+ }
132
+ .nut-tabbar-item-large {
133
+ justify-content: center;
134
+ padding: 0;
135
+ }
136
+ .nut-tabbar-item-large .nut-tabbar-item-text {
134
137
  font-size: var(--nutui-tabbar-text-large-font-size, var(--nutui-font-size-l, 16px));
135
138
  margin-top: 0;
136
- line-height: var(--nutui-tabbar-text-line-height, 20px);
139
+ line-height: var(--nutui-tabbar-text-large-font-size, var(--nutui-font-size-l, 16px));
137
140
  font-weight: var(--nutui-tabbar-text-large-font-weight, var(--nutui-font-weight, 400));
138
141
  }
139
142
  .nut-tabbar-item-active {
140
143
  color: var(--nutui-tabbar-active-color, var(--nutui-color-primary, #ff0f23));
141
144
  }
142
- .nut-tabbar-item-active .nut-tabbar-item-icon-box,
145
+ .nut-tabbar-item-active .nut-tabbar-item-text,
143
146
  .nut-tabbar-item-active .nut-icon {
144
147
  /* #ifdef harmony*/
145
148
  color: var(--nutui-tabbar-active-color, var(--nutui-color-primary, #ff0f23));
@@ -152,38 +155,44 @@
152
155
  .nut-tabbar {
153
156
  border: 0px;
154
157
  box-shadow: var(--nutui-tabbar-box-shadow, none);
155
- border-bottom: var(--nutui-tabbar-border-bottom, 1px solid #eee);
156
- border-top: var(--nutui-tabbar-border-top, 1px solid #eee);
158
+ border-bottom: var(--nutui-tabbar-border-bottom, 0);
159
+ border-top: var(--nutui-tabbar-border-top, 0);
157
160
  width: 100%;
158
- display: flex;
159
- flex-direction: column;
160
- justify-content: center;
161
- align-items: center;
162
- box-sizing: border-box;
163
161
  background: var(--nutui-color-background-overlay, #ffffff);
164
162
  }
165
163
  .nut-tabbar-wrap {
166
- width: 100%;
167
- height: var(--nutui-tabbar-height, 50px);
164
+ height: var(--nutui-tabbar-height, 46px);
168
165
  display: flex;
166
+ }
167
+ .nut-tabbar-wrap-3 {
168
+ padding: 0 16px;
169
+ }
170
+ .nut-tabbar-wrap-2 {
171
+ padding: 0 32px;
172
+ }
173
+ .nut-tabbar-wrap-horizontal {
174
+ align-items: center;
175
+ }
176
+ .nut-tabbar-wrap-horizontal .nut-tabbar-item {
169
177
  flex-direction: row;
170
178
  justify-content: center;
171
- align-items: center;
172
179
  }
173
- .nut-tabbar:last-child {
174
- border-right: 0;
180
+ .nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-icon {
181
+ width: 20px;
182
+ height: 20px;
183
+ }
184
+ .nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-tabbar-item-text {
185
+ margin: 0 4px 0 6px;
186
+ font-size: 14px;
187
+ }
188
+ .nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-badge-sup::after {
189
+ border: 0;
175
190
  }
176
191
  .nut-tabbar-fixed {
177
192
  position: fixed;
178
193
  bottom: 0px;
179
194
  left: 0px;
180
195
  }
181
- .nut-tabbar-safe-area {
182
- display: block;
183
- width: 100%;
184
- padding-bottom: constant(safe-area-inset-bottom);
185
- padding-bottom: env(safe-area-inset-bottom);
186
- }
187
196
 
188
197
  [dir=rtl] .nut-tabbar:last-child,
189
198
  .nut-rtl .nut-tabbar:last-child {