@nutui/nutui-react 3.0.4 → 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 (126) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/cjs/packages/badge/badge.js +4 -3
  3. package/dist/cjs/packages/badge/style/badge.scss +7 -8
  4. package/dist/cjs/packages/badge/style/style.css +13 -15
  5. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  6. package/dist/cjs/packages/datepicker/style/style.css +3 -1
  7. package/dist/cjs/packages/datepickerview/style/style.css +3 -1
  8. package/dist/cjs/packages/empty/style/index.js +1 -0
  9. package/dist/cjs/packages/empty/style/style.css +389 -0
  10. package/dist/cjs/packages/fixednav/fixednav.js +3 -2
  11. package/dist/cjs/packages/fixednav/style/fixednav.scss +43 -39
  12. package/dist/cjs/packages/fixednav/style/style.css +56 -51
  13. package/dist/cjs/packages/imagepreview/imagepreview.js +49 -84
  14. package/dist/cjs/packages/imagepreview/style/imagepreview.scss +2 -1
  15. package/dist/cjs/packages/imagepreview/style/style.css +2 -1
  16. package/dist/cjs/packages/indicator/indicator.js +1 -1
  17. package/dist/cjs/packages/inputnumber/inputnumber.js +2 -2
  18. package/dist/cjs/packages/lottie/index.d.ts +1 -1
  19. package/dist/cjs/packages/lottie/index.js +2 -2
  20. package/dist/cjs/packages/notify/Notification.d.ts +3 -9
  21. package/dist/cjs/packages/notify/Notification.js +28 -8
  22. package/dist/cjs/packages/notify/notify.d.ts +0 -4
  23. package/dist/cjs/packages/notify/notify.js +6 -34
  24. package/dist/cjs/packages/notify/style/notify.scss +39 -36
  25. package/dist/cjs/packages/notify/style/style.css +36 -31
  26. package/dist/cjs/packages/nutui.react.d.ts +1 -0
  27. package/dist/cjs/packages/nutui.react.js +1 -0
  28. package/dist/cjs/packages/picker/style/style.css +3 -1
  29. package/dist/cjs/packages/pickerview/pickerroller.js +11 -6
  30. package/dist/cjs/packages/pickerview/style/pickerview.scss +3 -1
  31. package/dist/cjs/packages/pickerview/style/style.css +3 -1
  32. package/dist/cjs/packages/resultpage/style/index.js +1 -0
  33. package/dist/cjs/packages/resultpage/style/style.css +389 -0
  34. package/dist/cjs/packages/skeleton/skeleton.js +64 -49
  35. package/dist/cjs/packages/skeleton/style/index.js +0 -1
  36. package/dist/cjs/packages/skeleton/style/skeleton.scss +40 -46
  37. package/dist/cjs/packages/skeleton/style/style.css +32 -175
  38. package/dist/cjs/packages/switch/style/style.css +5 -0
  39. package/dist/cjs/packages/switch/style/switch.scss +5 -0
  40. package/dist/cjs/packages/switch/switch.js +22 -11
  41. package/dist/cjs/packages/tabbar/style/style.css +58 -54
  42. package/dist/cjs/packages/tabbar/style/tabbar.scss +28 -19
  43. package/dist/cjs/packages/tabbar/tabbar.js +28 -10
  44. package/dist/cjs/packages/tabbaritem/style/style.css +34 -36
  45. package/dist/cjs/packages/tabbaritem/style/tabbaritem.scss +32 -29
  46. package/dist/cjs/packages/tabbaritem/tabbaritem.js +34 -13
  47. package/dist/cjs/packages/toast/Notification.js +1 -1
  48. package/dist/cjs/types/spec/badge/base.d.ts +1 -0
  49. package/dist/cjs/types/spec/indicator/base.d.ts +1 -1
  50. package/dist/cjs/types/spec/notify/base.d.ts +7 -2
  51. package/dist/cjs/types/spec/searchbar/taro.d.ts +10 -7
  52. package/dist/cjs/types/spec/skeleton/base.d.ts +7 -5
  53. package/dist/cjs/types/spec/switch/base.d.ts +3 -2
  54. package/dist/cjs/types/spec/switch/h5.d.ts +1 -1
  55. package/dist/cjs/types/spec/switch/taro.d.ts +1 -4
  56. package/dist/cjs/types/spec/tabbar/base.d.ts +7 -4
  57. package/dist/es/packages/badge/badge.js +4 -3
  58. package/dist/es/packages/badge/style/badge.scss +7 -8
  59. package/dist/es/packages/badge/style/style.css +13 -15
  60. package/dist/es/packages/configprovider/types.d.ts +1 -1
  61. package/dist/es/packages/datepicker/style/style.css +3 -1
  62. package/dist/es/packages/datepickerview/style/style.css +3 -1
  63. package/dist/es/packages/empty/style/index.js +1 -0
  64. package/dist/es/packages/empty/style/style.css +389 -0
  65. package/dist/es/packages/fixednav/fixednav.js +3 -2
  66. package/dist/es/packages/fixednav/style/fixednav.scss +43 -39
  67. package/dist/es/packages/fixednav/style/style.css +56 -51
  68. package/dist/es/packages/imagepreview/imagepreview.js +49 -84
  69. package/dist/es/packages/imagepreview/style/imagepreview.scss +2 -1
  70. package/dist/es/packages/imagepreview/style/style.css +2 -1
  71. package/dist/es/packages/indicator/indicator.js +1 -1
  72. package/dist/es/packages/inputnumber/inputnumber.js +2 -2
  73. package/dist/es/packages/lottie/index.d.ts +1 -1
  74. package/dist/es/packages/lottie/index.js +1 -1
  75. package/dist/es/packages/notify/Notification.d.ts +3 -9
  76. package/dist/es/packages/notify/Notification.js +28 -8
  77. package/dist/es/packages/notify/notify.d.ts +0 -4
  78. package/dist/es/packages/notify/notify.js +6 -34
  79. package/dist/es/packages/notify/style/notify.scss +39 -36
  80. package/dist/es/packages/notify/style/style.css +36 -31
  81. package/dist/es/packages/picker/style/style.css +3 -1
  82. package/dist/es/packages/pickerview/pickerroller.js +10 -6
  83. package/dist/es/packages/pickerview/style/pickerview.scss +3 -1
  84. package/dist/es/packages/pickerview/style/style.css +3 -1
  85. package/dist/es/packages/resultpage/style/index.js +1 -0
  86. package/dist/es/packages/resultpage/style/style.css +389 -0
  87. package/dist/es/packages/skeleton/skeleton.js +63 -49
  88. package/dist/es/packages/skeleton/style/index.js +0 -1
  89. package/dist/es/packages/skeleton/style/skeleton.scss +40 -46
  90. package/dist/es/packages/skeleton/style/style.css +32 -175
  91. package/dist/es/packages/switch/style/style.css +5 -0
  92. package/dist/es/packages/switch/style/switch.scss +5 -0
  93. package/dist/es/packages/switch/switch.js +21 -11
  94. package/dist/es/packages/tabbar/style/style.css +58 -54
  95. package/dist/es/packages/tabbar/style/tabbar.scss +28 -19
  96. package/dist/es/packages/tabbar/tabbar.js +27 -10
  97. package/dist/es/packages/tabbaritem/style/style.css +34 -36
  98. package/dist/es/packages/tabbaritem/style/tabbaritem.scss +32 -29
  99. package/dist/es/packages/tabbaritem/tabbaritem.js +34 -13
  100. package/dist/es/packages/toast/Notification.js +1 -1
  101. package/dist/es/types/spec/badge/base.d.ts +4 -0
  102. package/dist/es/types/spec/indicator/base.d.ts +1 -1
  103. package/dist/es/types/spec/notify/base.d.ts +22 -5
  104. package/dist/es/types/spec/searchbar/taro.d.ts +10 -7
  105. package/dist/es/types/spec/skeleton/base.d.ts +19 -14
  106. package/dist/es/types/spec/switch/base.d.ts +6 -2
  107. package/dist/es/types/spec/switch/h5.d.ts +1 -1
  108. package/dist/es/types/spec/switch/taro.d.ts +1 -4
  109. package/dist/es/types/spec/tabbar/base.d.ts +7 -4
  110. package/dist/nutui.react.umd.js +394 -373
  111. package/dist/style.css +1 -1
  112. package/dist/style.scss +49 -49
  113. package/dist/styles/theme-dark.scss +2 -0
  114. package/dist/styles/theme-default.scss +2 -0
  115. package/dist/styles/themes/dark.css +1 -1
  116. package/dist/styles/themes/default.css +1 -1
  117. package/dist/styles/themes/jmapp.css +1 -1
  118. package/dist/styles/themes/jrkf.css +1 -1
  119. package/dist/styles/variables-jmapp.scss +24 -1
  120. package/dist/styles/variables-jrkf.scss +24 -1
  121. package/dist/styles/variables.scss +37 -38
  122. package/package.json +1 -1
  123. /package/dist/cjs/packages/lottie/{web.d.ts → lottie.d.ts} +0 -0
  124. /package/dist/cjs/packages/lottie/{web.js → lottie.js} +0 -0
  125. /package/dist/es/packages/lottie/{web.d.ts → lottie.d.ts} +0 -0
  126. /package/dist/es/packages/lottie/{web.js → lottie.js} +0 -0
@@ -2,6 +2,395 @@
2
2
  /* #endif */
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
+ .nut-button {
6
+ position: relative;
7
+ display: flex;
8
+ display: inline-block;
9
+ /* #ifdef harmony*/
10
+ width: 80px;
11
+ /* #endif */
12
+ /* #ifndef harmony*/
13
+ width: auto;
14
+ /* #endif */
15
+ flex-direction: row;
16
+ justify-content: center;
17
+ align-items: center;
18
+ flex-shrink: 0;
19
+ box-sizing: border-box;
20
+ margin: 0;
21
+ padding: 0;
22
+ height: var(--nutui-button-default-height, 32px);
23
+ font-size: var(--nutui-button-default-font-size, var(--nutui-font-size-base, 14px));
24
+ font-weight: var(--nutui-font-weight, 400);
25
+ text-align: center;
26
+ cursor: pointer;
27
+ transition: opacity 0.2s;
28
+ user-select: none;
29
+ touch-action: manipulation;
30
+ -webkit-appearance: none;
31
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
32
+ color: var(--nutui-button-default-color, var(--nutui-color-title, #1a1a1a));
33
+ background: var(--nutui-button-default-background-color, transparent);
34
+ border-width: var(--nutui-button-border-width, 0.5px);
35
+ }
36
+ .nut-button-text {
37
+ margin-left: var(--nutui-button-text-icon-margin, 4px);
38
+ }
39
+ .nut-button-text-right {
40
+ margin-right: var(--nutui-button-text-icon-margin, 4px);
41
+ }
42
+ .nut-button-children {
43
+ display: flex;
44
+ flex-direction: row;
45
+ background: transparent;
46
+ }
47
+ .nut-button::before {
48
+ position: absolute;
49
+ top: 50%;
50
+ left: 50%;
51
+ width: 100%;
52
+ height: 100%;
53
+ background-color: var(--nutui-color-mask, rgba(0, 0, 0, 0.7));
54
+ border: inherit;
55
+ border-color: var(--nutui-color-mask, rgba(0, 0, 0, 0.7));
56
+ border-radius: inherit;
57
+ transform: translate(-50%, -50%);
58
+ opacity: 0;
59
+ content: " ";
60
+ }
61
+ .nut-button::after {
62
+ border: none;
63
+ }
64
+ .nut-button:active::before {
65
+ opacity: 0.1;
66
+ }
67
+ .nut-button-wrap {
68
+ height: 100%;
69
+ width: 100%;
70
+ display: flex;
71
+ flex-direction: row;
72
+ align-items: center;
73
+ justify-content: center;
74
+ /* #ifndef harmony */
75
+ background: initial;
76
+ /* #endif */
77
+ }
78
+ .nut-button-wrap .nut-icon {
79
+ font-size: var(--nutui-button-default-font-size, var(--nutui-font-size-base, 14px));
80
+ width: var(--nutui-button-default-font-size, var(--nutui-font-size-base, 14px));
81
+ height: var(--nutui-button-default-font-size, var(--nutui-font-size-base, 14px));
82
+ }
83
+ .nut-button-loading::before, .nut-button-disabled::before {
84
+ display: none;
85
+ }
86
+ .nut-button-disabled {
87
+ cursor: not-allowed;
88
+ color: #ffffff;
89
+ }
90
+ .nut-button.nut-button-icononly {
91
+ width: var(--nutui-button-default-height, 32px);
92
+ padding: 0;
93
+ }
94
+ .nut-button-round {
95
+ border-radius: var(--nutui-button-border-radius, var(--nutui-radius-s, 6px));
96
+ }
97
+ .nut-button-round-xlarge {
98
+ border-radius: var(--nutui-button-xlarge-border-radius, var(--nutui-radius-base, 8px));
99
+ }
100
+ .nut-button-round-large {
101
+ border-radius: var(--nutui-button-large-border-radius, var(--nutui-radius-base, 8px));
102
+ }
103
+ .nut-button-round-small {
104
+ border-radius: var(--nutui-button-small-border-radius, var(--nutui-radius-s, 6px));
105
+ }
106
+ .nut-button-round-mini {
107
+ border-radius: var(--nutui-button-mini-border-radius, var(--nutui-radius-xs, 4px));
108
+ }
109
+ .nut-button-default {
110
+ padding: var(--nutui-button-default-padding, 0px 12px);
111
+ border-style: solid;
112
+ border-color: var(--nutui-button-default-border-color, var(--nutui-color-text-disabled, #c2c4cc));
113
+ }
114
+ .nut-button-default-disabled, .nut-button-default-solid-disabled {
115
+ color: var(--nutui-button-primary-color, #ffffff);
116
+ background: var(--nutui-button-default-disabled, var(--nutui-color-text-disabled, #c2c4cc));
117
+ border-color: var(--nutui-button-default-disabled, var(--nutui-color-text-disabled, #c2c4cc));
118
+ }
119
+ .nut-button-default-none-disabled {
120
+ color: var(--nutui-button-default-disabled-color, var(--nutui-color-text-help, #888b94));
121
+ }
122
+ .nut-button-default-outline-disabled, .nut-button-default-dashed-disabled {
123
+ background: transparent;
124
+ color: var(--nutui-button-default-disabled, var(--nutui-color-text-disabled, #c2c4cc));
125
+ border-color: var(--nutui-button-default-disabled, var(--nutui-color-text-disabled, #c2c4cc));
126
+ }
127
+ .nut-button-normal {
128
+ padding: var(--nutui-button-normal-padding, 0px 12px);
129
+ }
130
+ .nut-button-xlarge {
131
+ height: var(--nutui-button-xlarge-height, 48px);
132
+ padding: var(--nutui-button-xlarge-padding, 0px 24px);
133
+ font-size: var(--nutui-button-xlarge-font-size, var(--nutui-font-size-xl, 18px));
134
+ border-radius: var(--nutui-radius-base, 8px);
135
+ }
136
+ .nut-button-xlarge .nut-button-text {
137
+ margin-left: var(--nutui-button-xlarge-text-icon-margin, 6px);
138
+ }
139
+ .nut-button-xlarge .nut-button-text-right {
140
+ margin-right: var(--nutui-button-xlarge-text-icon-margin, 6px);
141
+ }
142
+ .nut-button-xlarge .nut-icon {
143
+ font-size: var(--nutui-button-xlarge-font-size, var(--nutui-font-size-xl, 18px));
144
+ width: var(--nutui-button-xlarge-font-size, var(--nutui-font-size-xl, 18px));
145
+ height: var(--nutui-button-xlarge-font-size, var(--nutui-font-size-xl, 18px));
146
+ }
147
+ .nut-button-xlarge-children {
148
+ font-size: var(--nutui-button-xlarge-font-size, var(--nutui-font-size-xl, 18px));
149
+ }
150
+ .nut-button-large {
151
+ height: var(--nutui-button-large-height, 40px);
152
+ padding: var(--nutui-button-large-padding, 0px 16px);
153
+ font-size: var(--nutui-button-large-font-size, var(--nutui-font-size-l, 16px));
154
+ border-radius: var(--nutui-radius-s, 6px);
155
+ }
156
+ .nut-button-large .nut-button-text {
157
+ margin-left: var(--nutui-button-xlarge-text-icon-margin, 6px);
158
+ }
159
+ .nut-button-large .nut-button-text-right {
160
+ margin-right: var(--nutui-button-xlarge-text-icon-margin, 6px);
161
+ }
162
+ .nut-button-large .nut-icon {
163
+ font-size: var(--nutui-button-large-font-size, var(--nutui-font-size-l, 16px));
164
+ width: var(--nutui-button-large-font-size, var(--nutui-font-size-l, 16px));
165
+ height: var(--nutui-button-large-font-size, var(--nutui-font-size-l, 16px));
166
+ }
167
+ .nut-button-large-children {
168
+ font-size: var(--nutui-button-large-font-size, var(--nutui-font-size-l, 16px));
169
+ }
170
+ .nut-button-small {
171
+ height: var(--nutui-button-small-height, 28px);
172
+ padding: var(--nutui-button-small-padding, 0px 8px);
173
+ font-size: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
174
+ border-radius: var(--nutui-radius-xs, 4px);
175
+ }
176
+ .nut-button-small .nut-icon {
177
+ font-size: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
178
+ width: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
179
+ height: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
180
+ }
181
+ .nut-button-small-children {
182
+ font-size: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
183
+ }
184
+ .nut-button-mini {
185
+ height: var(--nutui-button-mini-height, 24px);
186
+ padding: var(--nutui-button-mini-padding, 0px 8px);
187
+ font-size: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
188
+ border-radius: var(--nutui-radius-xs, 4px);
189
+ }
190
+ .nut-button-mini .nut-icon {
191
+ font-size: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
192
+ width: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
193
+ height: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
194
+ }
195
+ .nut-button-mini-children {
196
+ font-size: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
197
+ }
198
+ .nut-button-primary {
199
+ color: var(--nutui-button-primary-color, #ffffff);
200
+ background-origin: border-box;
201
+ border-color: transparent;
202
+ }
203
+ .nut-button-primary-children {
204
+ color: var(--nutui-button-primary-color, #ffffff);
205
+ }
206
+ .nut-button-primary-solid {
207
+ background: linear-gradient(90deg, var(--nutui-color-primary-stop-1, #ff475d) 0%, var(--nutui-color-primary-stop-2, #ff0f23) 100%);
208
+ color: var(--nutui-button-primary-color, #ffffff);
209
+ border-color: transparent;
210
+ font-weight: var(--nutui-font-weight-bold, 600);
211
+ }
212
+ .nut-button-primary-solid.nut-button-small, .nut-button-primary-solid.nut-button-mini {
213
+ font-weight: var(--nutui-font-weight, 400);
214
+ }
215
+ .nut-button-primary-disabled, .nut-button-primary-disabled.nut-button-icononly, .nut-button-primary-solid-disabled {
216
+ color: var(--nutui-button-primary-color, #ffffff);
217
+ background: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
218
+ border-color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
219
+ }
220
+ .nut-button-primary-none {
221
+ color: var(--nutui-button-primary-border-color, var(--nutui-color-primary, #ff0f23));
222
+ }
223
+ .nut-button-primary-none-disabled {
224
+ color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
225
+ }
226
+ .nut-button-primary-outline {
227
+ color: var(--nutui-button-primary-border-color, var(--nutui-color-primary, #ff0f23));
228
+ border-color: var(--nutui-button-primary-border-color, var(--nutui-color-primary, #ff0f23));
229
+ }
230
+ .nut-button-primary-outline-disabled {
231
+ color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
232
+ border-color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
233
+ }
234
+ .nut-button-primary-dashed {
235
+ color: var(--nutui-button-primary-border-color, var(--nutui-color-primary, #ff0f23));
236
+ border-color: var(--nutui-button-primary-border-color, var(--nutui-color-primary, #ff0f23));
237
+ }
238
+ .nut-button-primary-dashed-disabled {
239
+ color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
240
+ border-color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
241
+ }
242
+ .nut-button-primary.nut-button-solid.nut-button-normal {
243
+ font-weight: var(--nutui-font-weight-bold, 600);
244
+ }
245
+ .nut-button-success {
246
+ color: var(--nutui-button-success-color, #ffffff);
247
+ background: var(--nutui-button-success-background-color, var(--nutui-color-success, #00d900));
248
+ background-origin: border-box;
249
+ border-color: transparent;
250
+ }
251
+ .nut-button-success-children {
252
+ color: var(--nutui-button-success-color, #ffffff);
253
+ }
254
+ .nut-button-success-solid-disabled {
255
+ background: var(--nutui-button-success-disabled, var(--nutui-color-success-disabled, #b2f0ae));
256
+ border-color: var(--nutui-button-success-disabled, var(--nutui-color-success-disabled, #b2f0ae));
257
+ }
258
+ .nut-button-success-outline, .nut-button-success-dashed {
259
+ color: var(--nutui-button-success-border-color, var(--nutui-color-success, #00d900));
260
+ border-color: var(--nutui-button-success-border-color, var(--nutui-color-success, #00d900));
261
+ }
262
+ .nut-button-success-outline-disabled, .nut-button-success-dashed-disabled {
263
+ color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
264
+ border-color: var(--nutui-button-primary-disabled, var(--nutui-color-primary-disabled-special, #ffadbe));
265
+ }
266
+ .nut-button-success-none {
267
+ color: var(--nutui-button-success-border-color, var(--nutui-color-success, #00d900));
268
+ }
269
+ .nut-button-success-none-disabled {
270
+ color: var(--nutui-button-success-disabled, var(--nutui-color-success-disabled, #b2f0ae));
271
+ }
272
+ .nut-button-info {
273
+ color: var(--nutui-button-info-color, #ffffff);
274
+ background: var(--nutui-button-info-background-color, var(--nutui-color-info-background, #0073ff));
275
+ background-origin: border-box;
276
+ border-color: transparent;
277
+ }
278
+ .nut-button-info-children {
279
+ color: var(--nutui-button-info-color, #ffffff);
280
+ }
281
+ .nut-button-info-solid-disabled {
282
+ background: var(--nutui-button-info-disabled, var(--nutui-color-info-disabled, #89a6f8));
283
+ border-color: var(--nutui-button-info-disabled, var(--nutui-color-info-disabled, #89a6f8));
284
+ }
285
+ .nut-button-info-outline, .nut-button-info-dashed {
286
+ color: var(--nutui-button-info-border-color, var(--nutui-color-info, #0073ff));
287
+ border-color: var(--nutui-button-info-border-color, var(--nutui-color-info, #0073ff));
288
+ }
289
+ .nut-button-info-outline-disabled, .nut-button-info-dashed-disabled {
290
+ color: var(--nutui-button-info-disabled, var(--nutui-color-info-disabled, #89a6f8));
291
+ border-color: var(--nutui-button-info-disabled, var(--nutui-color-info-disabled, #89a6f8));
292
+ }
293
+ .nut-button-info-none {
294
+ color: var(--nutui-button-info-border-color, var(--nutui-color-info, #0073ff));
295
+ }
296
+ .nut-button-info-none-disabled {
297
+ color: var(--nutui-button-info-disabled, var(--nutui-color-info-disabled, #89a6f8));
298
+ }
299
+ .nut-button-danger {
300
+ color: var(--nutui-button-danger-color, #ffffff);
301
+ background: var(--nutui-button-danger-background-color, var(--nutui-color-danger, #ff0f23));
302
+ background-origin: border-box;
303
+ border-color: transparent;
304
+ }
305
+ .nut-button-danger-children {
306
+ color: var(--nutui-button-danger-color, #ffffff);
307
+ }
308
+ .nut-button-danger-solid-disabled {
309
+ background: var(--nutui-button-danger-disabled, var(--nutui-color-danger-disabled, var(--nutui-color-primary-disabled-special, #ffadbe)));
310
+ border-color: var(--nutui-button-danger-disabled, var(--nutui-color-danger-disabled, var(--nutui-color-primary-disabled-special, #ffadbe)));
311
+ }
312
+ .nut-button-danger-outline, .nut-button-danger-dashed {
313
+ color: var(--nutui-button-danger-border-color, var(--nutui-color-danger, #ff0f23));
314
+ border-color: var(--nutui-button-danger-border-color, var(--nutui-color-danger, #ff0f23));
315
+ }
316
+ .nut-button-danger-outline-disabled, .nut-button-danger-dashed-disabled {
317
+ color: var(--nutui-button-danger-disabled, var(--nutui-color-danger-disabled, var(--nutui-color-primary-disabled-special, #ffadbe)));
318
+ border-color: var(--nutui-button-danger-disabled, var(--nutui-color-danger-disabled, var(--nutui-color-primary-disabled-special, #ffadbe)));
319
+ }
320
+ .nut-button-danger-none {
321
+ color: var(--nutui-button-danger-border-color, var(--nutui-color-danger, #ff0f23));
322
+ }
323
+ .nut-button-danger-none-disabled {
324
+ color: var(--nutui-button-danger-disabled, var(--nutui-color-danger-disabled, var(--nutui-color-primary-disabled-special, #ffadbe)));
325
+ }
326
+ .nut-button-warning {
327
+ color: var(--nutui-button-warning-color, #ffffff);
328
+ background: var(--nutui-button-warning-background-color, var(--nutui-color-warning, #ffbf00));
329
+ background-origin: border-box;
330
+ border-color: transparent;
331
+ }
332
+ .nut-button-warning-children {
333
+ color: var(--nutui-button-warning-color, #ffffff);
334
+ }
335
+ .nut-button-warning-disabled, .nut-button-warning-solid-disabled {
336
+ color: var(--nutui-button-warning-color, #ffffff);
337
+ background: var(--nutui-button-warning-disabled, var(--nutui-color-warning-disabled, #fdd3b9));
338
+ border-color: var(--nutui-button-warning-disabled, var(--nutui-color-warning-disabled, #fdd3b9));
339
+ }
340
+ .nut-button-warning-outline, .nut-button-warning-dashed {
341
+ color: var(--nutui-button-warning-border-color, var(--nutui-color-warning, #ffbf00));
342
+ border-color: var(--nutui-button-warning-border-color, var(--nutui-color-warning, #ffbf00));
343
+ }
344
+ .nut-button-warning-outline-disabled, .nut-button-warning-dashed-disabled {
345
+ color: var(--nutui-button-warning-disabled, var(--nutui-color-warning-disabled, #fdd3b9));
346
+ border-color: var(--nutui-button-warning-disabled, var(--nutui-color-warning-disabled, #fdd3b9));
347
+ }
348
+ .nut-button-warning-none {
349
+ color: var(--nutui-button-warning-border-color, var(--nutui-color-warning, #ffbf00));
350
+ }
351
+ .nut-button-warning-none-disabled {
352
+ color: var(--nutui-button-warning-disabled, var(--nutui-color-warning-disabled, #fdd3b9));
353
+ }
354
+ .nut-button-block {
355
+ display: block;
356
+ width: 100%;
357
+ }
358
+ .nut-button-outline {
359
+ background: transparent;
360
+ border-style: solid;
361
+ }
362
+ .nut-button-dashed {
363
+ background: transparent;
364
+ border-style: dashed;
365
+ }
366
+ .nut-button-none {
367
+ background: transparent;
368
+ border-color: transparent;
369
+ }
370
+ .nut-button-loading {
371
+ cursor: default;
372
+ opacity: 0.9;
373
+ }
374
+ .nut-button-square {
375
+ border-radius: var(--nutui-button-square-border-radius, 0);
376
+ }
377
+
378
+ [dir=rtl] .nut-button-text,
379
+ .nut-rtl .nut-button-text {
380
+ margin-left: 0;
381
+ margin-right: var(--nutui-button-text-icon-margin, 4px);
382
+ }
383
+ [dir=rtl] .nut-button-text.right,
384
+ .nut-rtl .nut-button-text.right {
385
+ margin-left: var(--nutui-button-text-icon-margin, 4px);
386
+ }
387
+ [dir=rtl] .nut-button::before,
388
+ .nut-rtl .nut-button::before {
389
+ left: auto;
390
+ right: 50%;
391
+ transform: translate(50%, -50%);
392
+ }
393
+
5
394
  .nut-resultpage {
6
395
  width: 100%;
7
396
  display: flex;
@@ -1,77 +1,91 @@
1
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
1
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
2
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
3
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
- import React from "react";
4
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
+ import React, { useEffect, useState } from "react";
6
6
  import classNames from "classnames";
7
- import Avatar from "../avatar";
8
7
  import { ComponentDefaults } from "../../utils/typings";
9
8
  var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
10
9
  rows: 1,
11
- animated: false,
12
- title: false,
13
- avatar: false,
14
- avatarSize: '50px',
10
+ animated: true,
15
11
  visible: false,
16
- avatarShape: 'round'
12
+ size: 'normal',
13
+ shape: 'round',
14
+ duration: 0.6,
15
+ inline: false
17
16
  });
18
17
  export var Skeleton = function(props) {
19
- var _ref = _object_spread({}, defaultProps, props), className = _ref.className, animated = _ref.animated, rows = _ref.rows, title = _ref.title, avatar = _ref.avatar, avatarSize = _ref.avatarSize, visible = _ref.visible, children = _ref.children, avatarShape = _ref.avatarShape, rest = _object_without_properties(_ref, [
18
+ var shapeStyle = function shapeStyle() {
19
+ if (shape === 'circle') return {
20
+ borderRadius: '50%'
21
+ };
22
+ if (shape === 'square') return {
23
+ borderRadius: '0'
24
+ };
25
+ return {};
26
+ };
27
+ var durationStyle = function durationStyle() {
28
+ if (typeof duration !== 'undefined') return {
29
+ animationDuration: "".concat(duration, "s")
30
+ };
31
+ return {};
32
+ };
33
+ var _ref = _object_spread({}, defaultProps, props), className = _ref.className, width = _ref.width, height = _ref.height, shape = _ref.shape, animated = _ref.animated, rows = _ref.rows, visible = _ref.visible, size = _ref.size, duration = _ref.duration, children = _ref.children, rest = _object_without_properties(_ref, [
20
34
  "className",
35
+ "width",
36
+ "height",
37
+ "shape",
21
38
  "animated",
22
39
  "rows",
23
- "title",
24
- "avatar",
25
- "avatarSize",
26
40
  "visible",
27
- "children",
28
- "avatarShape"
41
+ "size",
42
+ "duration",
43
+ "children"
29
44
  ]);
30
45
  var classPrefix = 'nut-skeleton';
31
46
  var classes = classNames(classPrefix, className);
32
- var _obj;
33
- var avatarClass = classNames((_obj = {}, _define_property(_obj, "nut-avatar", true), _define_property(_obj, "nut-skeleton-content-avatar", true), _define_property(_obj, "avatar-".concat(avatarShape), avatarShape), _obj));
34
- var repeatLines = function(num) {
47
+ var repeatCount = function(num) {
35
48
  return Array.from({
36
49
  length: num
37
50
  }, function(v, i) {
38
51
  return i;
39
52
  });
40
53
  };
41
- var getStyle = function() {
42
- if (avatarSize) {
43
- return {
44
- width: avatarSize,
45
- height: avatarSize
46
- };
47
- }
48
- return {
49
- width: '50px',
50
- height: '50px'
51
- };
54
+ var _useState = _sliced_to_array(useState(false), 2), animate = _useState[0], setAnimate = _useState[1];
55
+ var playAnimation = function() {
56
+ setAnimate(false) // 首先将 animate 设置为 false
57
+ ;
58
+ setTimeout(function() {
59
+ setAnimate(true) // 1 毫秒后再设置为 true,触发动画
60
+ ;
61
+ }, 10);
52
62
  };
53
- return /*#__PURE__*/ React.createElement(React.Fragment, null, visible ? /*#__PURE__*/ React.createElement(React.Fragment, null, children) : /*#__PURE__*/ React.createElement("div", _object_spread({
63
+ useEffect(function() {
64
+ if (!animated) return;
65
+ playAnimation();
66
+ // 每隔 3 秒播放一次动画
67
+ var intervalId = setInterval(playAnimation, 1000 + duration * 1000) // xs 动画 + 1s 间隔
68
+ ;
69
+ // 清理定时器
70
+ return function() {
71
+ return clearInterval(intervalId);
72
+ };
73
+ }, []);
74
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, visible ? children : /*#__PURE__*/ React.createElement("div", _object_spread({
54
75
  className: classes
55
- }, rest), animated && /*#__PURE__*/ React.createElement("div", {
56
- className: "".concat(classPrefix, "-animation")
57
- }), /*#__PURE__*/ React.createElement("div", {
58
- className: "".concat(classPrefix, "-content")
59
- }, avatar && /*#__PURE__*/ React.createElement(Avatar, {
60
- className: avatarClass,
61
- shape: avatarShape,
62
- style: getStyle(),
63
- icon: "null"
64
- }), rows === 1 ? /*#__PURE__*/ React.createElement("div", {
65
- className: "".concat(classPrefix, "-content-block")
66
- }) : /*#__PURE__*/ React.createElement("div", {
67
- className: "".concat(classPrefix, "-content-line")
68
- }, title && /*#__PURE__*/ React.createElement("div", {
69
- className: "".concat(classPrefix, "-content-title")
70
- }), repeatLines(rows).map(function(item, index) {
76
+ }, rest), repeatCount(rows).map(function(item, index) {
77
+ var contentClass = "".concat(classPrefix, "-content ").concat(classPrefix, "-content-").concat(size, " ").concat(classPrefix, "-content-").concat(size, "-").concat(index);
71
78
  return /*#__PURE__*/ React.createElement("div", {
72
- className: "".concat(classPrefix, "-content-block"),
73
- key: index
74
- });
75
- })))));
79
+ className: "".concat(contentClass),
80
+ key: index,
81
+ style: _object_spread({
82
+ width: width,
83
+ height: height
84
+ }, shapeStyle())
85
+ }, animated && /*#__PURE__*/ React.createElement("div", {
86
+ className: "".concat(classPrefix, "-animated ").concat(animate ? "".concat(classPrefix, "-animation") : ''),
87
+ style: durationStyle()
88
+ }));
89
+ })));
76
90
  };
77
91
  Skeleton.displayName = 'NutSkeleton';
@@ -1,2 +1 @@
1
- import '../../avatar/style';
2
1
  import './skeleton.scss';
@@ -1,44 +1,29 @@
1
1
  .nut-skeleton {
2
- display: inline-block;
3
- position: relative;
4
- overflow: hidden;
5
- vertical-align: middle;
6
- width: 100%;
2
+ line-height: 0px;
3
+ font-size: 0px;
7
4
 
8
5
  &-content {
9
- display: flex;
10
- flex-direction: row;
6
+ position: relative;
7
+ display: inline-flex;
8
+ width: $skeleton-line-width;
9
+ background: $skeleton-background;
10
+ border-radius: $skeleton-line-border-radius;
11
+ overflow: hidden;
11
12
 
12
- &-avatar {
13
- margin-right: 20px;
14
- background: $skeleton-background !important;
13
+ &-normal {
14
+ height: $skeleton-line-normal-height;
15
15
  }
16
16
 
17
- &-block {
18
- width: $skeleton-line-width;
19
- height: $skeleton-line-height;
20
- background: $skeleton-background;
21
- margin-top: 10px;
22
- border-radius: $skeleton-line-border-radius;
17
+ &-large {
18
+ height: $skeleton-line-large-height;
23
19
  }
24
20
 
25
- &-line {
26
- width: 100%;
27
- display: flex;
28
- flex-direction: column;
29
- .nut-skeleton-content-block:last-child {
30
- width: 70%;
31
- }
21
+ &-small {
22
+ height: $skeleton-line-small-height;
23
+ margin-top: 8px;
32
24
  }
33
-
34
- &-title {
35
- width: 30%;
36
- height: $skeleton-line-height;
37
- background: $skeleton-background;
38
- }
39
-
40
- &-block-last-child {
41
- width: 55%;
25
+ &-small-0 {
26
+ margin-top: 0;
42
27
  }
43
28
  }
44
29
 
@@ -49,41 +34,50 @@
49
34
  width: 100%;
50
35
  height: 100%;
51
36
  z-index: 1;
52
- animation: nut-skeleton 2s ease-in-out 0s infinite;
37
+ background: linear-gradient(
38
+ 90deg,
39
+ rgba(0, 0, 0, 0) 0%,
40
+ rgba(0, 0, 0, 0.02) 50%,
41
+ rgba(0, 0, 0, 0) 100%
42
+ );
43
+ animation-name: nut-skeleton;
44
+ animation-delay: 0s;
45
+ animation-duration: 0.6s;
46
+ animation-direction: normal;
47
+ animation-fill-mode: both;
48
+ animation-play-state: running;
49
+ animation-iteration-count: 1;
50
+ animation-timing-function: linear;
53
51
  }
54
52
 
55
53
  @keyframes nut-skeleton {
56
- 0% {
57
- background-position-x: -500px;
54
+ from {
55
+ transform: translateX(-100%);
58
56
  }
59
57
 
60
58
  to {
61
- background-position-x: calc(500px + 100%);
59
+ transform: translateX(100%);
62
60
  }
63
61
  }
64
62
  }
65
63
 
66
64
  [dir='rtl'] .nut-skeleton,
67
65
  .nut-rtl .nut-skeleton {
68
- &-content {
69
- .nut-avatar {
70
- margin-right: 0;
71
- margin-left: 20px;
72
- }
73
- }
74
66
  &-animation {
75
67
  left: auto;
76
68
  right: 0;
77
- animation: nut-skeleton-rtl 2s ease-in-out 0s infinite;
69
+ animation: nut-skeleton-rtl 2s linear 0s infinite;
78
70
  }
79
71
 
80
72
  @keyframes nut-skeleton-rtl {
81
- 0% {
82
- background-position-x: calc(500px + 100%);
73
+ from {
74
+ //background-position: -200% 0;
75
+ transform: translateX(100%);
83
76
  }
84
77
 
85
78
  to {
86
- background-position-x: -500px;
79
+ //background-position: 200% 0;
80
+ transform: translateX(-100%);
87
81
  }
88
82
  }
89
83
  }