@nutui/nutui-react-taro 3.0.19-cpp.25 → 3.0.19-cpp.26-beta.2

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 (138) hide show
  1. package/dist/cjs/locales/base.d.ts +3 -0
  2. package/dist/cjs/locales/en-US.js +4 -1
  3. package/dist/cjs/locales/id-ID.js +4 -1
  4. package/dist/cjs/locales/ja-JP.js +4 -1
  5. package/dist/cjs/locales/tr-TR.js +4 -1
  6. package/dist/cjs/locales/zh-CN.js +4 -1
  7. package/dist/cjs/locales/zh-TW.js +4 -1
  8. package/dist/cjs/locales/zh-UG.js +4 -1
  9. package/dist/cjs/packages/actionsheet/style/style.harmony.css +45 -24
  10. package/dist/cjs/packages/address/style/style.harmony.css +45 -24
  11. package/dist/cjs/packages/calendar/style/style.harmony.css +45 -24
  12. package/dist/cjs/packages/cascader/style/style.harmony.css +45 -24
  13. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  14. package/dist/cjs/packages/datepicker/style/style.harmony.css +46 -25
  15. package/dist/cjs/packages/imagepreview/style/style.harmony.css +45 -24
  16. package/dist/cjs/packages/numberkeyboard/style/style.css +1 -1
  17. package/dist/cjs/packages/numberkeyboard/style/style.harmony.css +46 -25
  18. package/dist/cjs/packages/nutui.react.build.d.ts +3 -1
  19. package/dist/cjs/packages/nutui.react.build.js +18 -14
  20. package/dist/cjs/packages/nutui.react.d.ts +4 -1
  21. package/dist/cjs/packages/nutui.react.js +19 -14
  22. package/dist/cjs/packages/nutui.react.scss.d.ts +1 -0
  23. package/dist/cjs/packages/nutui.react.scss.js +1 -0
  24. package/dist/cjs/packages/overlay/overlay.js +11 -17
  25. package/dist/cjs/packages/picker/style/style.css +1 -1
  26. package/dist/cjs/packages/picker/style/style.harmony.css +46 -25
  27. package/dist/cjs/packages/popover/style/style.harmony.css +45 -24
  28. package/dist/cjs/packages/popup/popup.js +171 -99
  29. package/dist/cjs/packages/popup/style/popup.scss +29 -9
  30. package/dist/cjs/packages/popup/style/style.css +45 -24
  31. package/dist/cjs/packages/popup/style/style.harmony.css +45 -24
  32. package/dist/cjs/packages/popup/style-jmapp/popup.scss +29 -9
  33. package/dist/cjs/packages/popup/style-jmapp/style.css +29 -8
  34. package/dist/cjs/packages/popup/style-jrkf/popup.scss +29 -9
  35. package/dist/cjs/packages/popup/style-jrkf/style.css +29 -8
  36. package/dist/cjs/packages/quickenter/index.d.ts +3 -0
  37. package/dist/cjs/packages/quickenter/index.js +13 -0
  38. package/dist/cjs/packages/quickenter/quickenter.d.ts +4 -0
  39. package/dist/cjs/packages/quickenter/quickenter.js +147 -0
  40. package/dist/cjs/packages/quickenter/style/css.js +2 -0
  41. package/dist/cjs/packages/quickenter/style/index.js +2 -0
  42. package/dist/cjs/packages/quickenter/style/quickenter.scss +110 -0
  43. package/dist/cjs/packages/quickenter/style/style.css +99 -0
  44. package/dist/cjs/packages/quickenter/style/style.harmony.css +500 -0
  45. package/dist/cjs/packages/quickenter/style-jmapp/css.js +2 -0
  46. package/dist/cjs/packages/quickenter/style-jmapp/index.js +2 -0
  47. package/dist/cjs/packages/quickenter/style-jmapp/quickenter.scss +110 -0
  48. package/dist/cjs/packages/quickenter/style-jmapp/style.css +99 -0
  49. package/dist/cjs/packages/quickenter/style-jrkf/css.js +2 -0
  50. package/dist/cjs/packages/quickenter/style-jrkf/index.js +2 -0
  51. package/dist/cjs/packages/quickenter/style-jrkf/quickenter.scss +110 -0
  52. package/dist/cjs/packages/quickenter/style-jrkf/style.css +99 -0
  53. package/dist/cjs/packages/shortpassword/style/style.harmony.css +45 -24
  54. package/dist/cjs/packages/timeselect/style/style.harmony.css +45 -24
  55. package/dist/cjs/packages/tour/style/style.harmony.css +45 -24
  56. package/dist/cjs/types/index.d.ts +3 -0
  57. package/dist/cjs/types/index.js +3 -0
  58. package/dist/cjs/types/spec/quickenter/base.d.ts +26 -0
  59. package/dist/cjs/types/spec/quickenter/base.js +4 -0
  60. package/dist/cjs/types/spec/quickenter/h5.d.ts +5 -0
  61. package/dist/cjs/types/spec/quickenter/h5.js +4 -0
  62. package/dist/cjs/types/spec/quickenter/taro.d.ts +5 -0
  63. package/dist/cjs/types/spec/quickenter/taro.js +4 -0
  64. package/dist/cjs/utils/taro/ConfigurableCSSTransition.d.ts +15 -0
  65. package/dist/cjs/utils/taro/ConfigurableCSSTransition.js +90 -0
  66. package/dist/es/locales/base.d.ts +3 -0
  67. package/dist/es/locales/en-US.js +4 -1
  68. package/dist/es/locales/id-ID.js +4 -1
  69. package/dist/es/locales/ja-JP.js +4 -1
  70. package/dist/es/locales/tr-TR.js +4 -1
  71. package/dist/es/locales/zh-CN.js +4 -1
  72. package/dist/es/locales/zh-TW.js +4 -1
  73. package/dist/es/locales/zh-UG.js +4 -1
  74. package/dist/es/packages/actionsheet/style/style.harmony.css +45 -24
  75. package/dist/es/packages/address/style/style.harmony.css +45 -24
  76. package/dist/es/packages/calendar/style/style.harmony.css +45 -24
  77. package/dist/es/packages/cascader/style/style.harmony.css +45 -24
  78. package/dist/es/packages/configprovider/types.d.ts +1 -1
  79. package/dist/es/packages/datepicker/style/style.harmony.css +46 -25
  80. package/dist/es/packages/imagepreview/style/style.harmony.css +45 -24
  81. package/dist/es/packages/numberkeyboard/style/style.css +1 -1
  82. package/dist/es/packages/numberkeyboard/style/style.harmony.css +46 -25
  83. package/dist/es/packages/nutui.react.build.d.ts +3 -1
  84. package/dist/es/packages/nutui.react.build.js +3 -1
  85. package/dist/es/packages/overlay/overlay.js +11 -17
  86. package/dist/es/packages/picker/style/style.css +1 -1
  87. package/dist/es/packages/picker/style/style.harmony.css +46 -25
  88. package/dist/es/packages/popover/style/style.harmony.css +45 -24
  89. package/dist/es/packages/popup/popup.js +172 -101
  90. package/dist/es/packages/popup/style/popup.scss +29 -9
  91. package/dist/es/packages/popup/style/style.css +45 -24
  92. package/dist/es/packages/popup/style/style.harmony.css +45 -24
  93. package/dist/es/packages/popup/style-jmapp/popup.scss +29 -9
  94. package/dist/es/packages/popup/style-jmapp/style.css +29 -8
  95. package/dist/es/packages/popup/style-jrkf/popup.scss +29 -9
  96. package/dist/es/packages/popup/style-jrkf/style.css +29 -8
  97. package/dist/es/packages/quickenter/index.d.ts +3 -0
  98. package/dist/es/packages/quickenter/index.js +2 -0
  99. package/dist/es/packages/quickenter/quickenter.d.ts +4 -0
  100. package/dist/es/packages/quickenter/quickenter.js +135 -0
  101. package/dist/es/packages/quickenter/style/css.js +2 -0
  102. package/dist/es/packages/quickenter/style/index.js +2 -0
  103. package/dist/es/packages/quickenter/style/quickenter.scss +110 -0
  104. package/dist/es/packages/quickenter/style/style.css +99 -0
  105. package/dist/es/packages/quickenter/style/style.harmony.css +500 -0
  106. package/dist/es/packages/quickenter/style-jmapp/css.js +2 -0
  107. package/dist/es/packages/quickenter/style-jmapp/index.js +2 -0
  108. package/dist/es/packages/quickenter/style-jmapp/quickenter.scss +110 -0
  109. package/dist/es/packages/quickenter/style-jmapp/style.css +99 -0
  110. package/dist/es/packages/quickenter/style-jrkf/css.js +2 -0
  111. package/dist/es/packages/quickenter/style-jrkf/index.js +2 -0
  112. package/dist/es/packages/quickenter/style-jrkf/quickenter.scss +110 -0
  113. package/dist/es/packages/quickenter/style-jrkf/style.css +99 -0
  114. package/dist/es/packages/shortpassword/style/style.harmony.css +45 -24
  115. package/dist/es/packages/timeselect/style/style.harmony.css +45 -24
  116. package/dist/es/packages/tour/style/style.harmony.css +45 -24
  117. package/dist/es/types/index.d.ts +3 -0
  118. package/dist/es/types/index.js +3 -0
  119. package/dist/es/types/spec/quickenter/base.d.ts +44 -0
  120. package/dist/es/types/spec/quickenter/base.js +1 -0
  121. package/dist/es/types/spec/quickenter/h5.d.ts +5 -0
  122. package/dist/es/types/spec/quickenter/h5.js +1 -0
  123. package/dist/es/types/spec/quickenter/taro.d.ts +5 -0
  124. package/dist/es/types/spec/quickenter/taro.js +1 -0
  125. package/dist/es/utils/taro/ConfigurableCSSTransition.d.ts +15 -0
  126. package/dist/es/utils/taro/ConfigurableCSSTransition.js +79 -0
  127. package/dist/nutui.react.umd.js +631 -332
  128. package/dist/style-jmapp.css +1 -1
  129. package/dist/style-jmapp.scss +35 -34
  130. package/dist/style-jrkf.css +1 -1
  131. package/dist/style-jrkf.scss +34 -33
  132. package/dist/style.css +1 -1
  133. package/dist/style.scss +35 -34
  134. package/dist/styles/variables-daojia.scss +36 -0
  135. package/dist/styles/variables-jmapp.scss +36 -0
  136. package/dist/styles/variables-jrkf.scss +36 -0
  137. package/dist/styles/variables.scss +37 -1
  138. package/package.json +1 -1
@@ -30,7 +30,6 @@
30
30
  color: var(--nutui-color-title);
31
31
  font-weight: var(--nutui-font-weight-bold);
32
32
  font-size: var(--nutui-popup-title-font-size, var(--nutui-font-h1));
33
- line-height: var(--nutui-popup-title-font-size, var(--nutui-font-h1));
34
33
  }
35
34
  .nut-popup-title-description {
36
35
  color: var(--nutui-color-text);
@@ -73,6 +72,8 @@
73
72
  .nut-popup-center {
74
73
  top: 50%;
75
74
  left: 50%;
75
+ right: auto;
76
+ bottom: auto;
76
77
  min-height: 10%;
77
78
  max-width: 295px;
78
79
  transform: translate(-50%, -50%);
@@ -83,6 +84,8 @@
83
84
  .nut-popup-bottom {
84
85
  bottom: 0;
85
86
  left: 0;
87
+ right: auto;
88
+ top: auto;
86
89
  width: 100%;
87
90
  }
88
91
  .nut-popup-bottom.nut-popup-round {
@@ -94,6 +97,8 @@
94
97
  .nut-popup-right {
95
98
  top: 0;
96
99
  right: 0;
100
+ left: auto;
101
+ bottom: auto;
97
102
  width: 100px;
98
103
  height: 100%;
99
104
  }
@@ -103,6 +108,8 @@
103
108
  .nut-popup-left {
104
109
  top: 0;
105
110
  left: 0;
111
+ right: auto;
112
+ bottom: auto;
106
113
  width: 100px;
107
114
  height: 100%;
108
115
  }
@@ -112,6 +119,8 @@
112
119
  .nut-popup-top {
113
120
  top: 0;
114
121
  left: 0;
122
+ right: auto;
123
+ bottom: auto;
115
124
  width: 100%;
116
125
  }
117
126
  .nut-popup-top.nut-popup-round {
@@ -188,6 +197,9 @@
188
197
  }
189
198
  }
190
199
  @keyframes popup-slide-top-exit {
200
+ from {
201
+ transform: translate3d(0, 0%, 0);
202
+ }
191
203
  to {
192
204
  transform: translate3d(0, -100%, 0);
193
205
  }
@@ -212,6 +224,9 @@
212
224
  }
213
225
  }
214
226
  @keyframes popup-slide-right-exit {
227
+ from {
228
+ transform: translate3d(0%, 0, 0);
229
+ }
215
230
  to {
216
231
  transform: translate3d(100%, 0, 0);
217
232
  }
@@ -222,7 +237,7 @@
222
237
  animation-name: popup-slide-right-enter;
223
238
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
224
239
  }
225
- .nut-popup-slide-right-exit {
240
+ .nut-popup-slide-right-exit-active {
226
241
  animation-fill-mode: both;
227
242
  animation-name: popup-slide-right-exit;
228
243
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
@@ -235,20 +250,23 @@
235
250
  transform: translate3d(0, 0%, 0);
236
251
  }
237
252
  }
238
- @keyframes slide-bottom-exit {
253
+ @keyframes popup-slide-bottom-exit {
254
+ from {
255
+ transform: translate3d(0, 0%, 0);
256
+ }
239
257
  to {
240
258
  transform: translate3d(0, 100%, 0);
241
259
  }
242
260
  }
243
261
  .nut-popup-slide-bottom-enter-active, .nut-popup-slide-bottom-appear-active {
244
- transform: translate(0, 0);
262
+ transform: translate3d(0, 0, 0);
245
263
  animation-fill-mode: both;
246
264
  animation-name: popup-slide-bottom-enter;
247
265
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
248
266
  }
249
- .nut-popup-slide-bottom-exit {
267
+ .nut-popup-slide-bottom-exit-active {
250
268
  animation-fill-mode: both;
251
- animation-name: slide-bottom-exit;
269
+ animation-name: popup-slide-bottom-exit;
252
270
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
253
271
  }
254
272
  @keyframes popup-slide-left-enter {
@@ -260,17 +278,20 @@
260
278
  }
261
279
  }
262
280
  @keyframes popup-slide-left-exit {
281
+ from {
282
+ transform: translate3d(0%, 0, 0);
283
+ }
263
284
  to {
264
285
  transform: translate3d(-100%, 0, 0);
265
286
  }
266
287
  }
267
288
  .nut-popup-slide-left-enter-active, .nut-popup-slide-left-appear-active {
268
- transform: translate(0, 0);
289
+ transform: translate3d(0, 0, 0);
269
290
  animation-fill-mode: both;
270
291
  animation-name: popup-slide-left-enter;
271
292
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
272
293
  }
273
- .nut-popup-slide-left-exit-active, .nut-popup-slide-left-exit-done {
294
+ .nut-popup-slide-left-exit-active {
274
295
  animation-fill-mode: both;
275
296
  animation-name: popup-slide-left-exit;
276
297
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
@@ -26,7 +26,6 @@
26
26
  color: $color-title;
27
27
  font-weight: $font-weight-bold;
28
28
  font-size: $popup-title-font-size;
29
- line-height: $popup-title-font-size;
30
29
  }
31
30
 
32
31
  &-description {
@@ -79,6 +78,8 @@
79
78
  &-center {
80
79
  top: 50%;
81
80
  left: 50%;
81
+ right: auto;
82
+ bottom: auto;
82
83
  min-height: 10%;
83
84
  max-width: 295px;
84
85
  transform: translate(-50%, -50%);
@@ -91,6 +92,8 @@
91
92
  &-bottom {
92
93
  bottom: 0;
93
94
  left: 0;
95
+ right: auto;
96
+ top: auto;
94
97
  width: 100%;
95
98
 
96
99
  &.nut-popup-round {
@@ -105,6 +108,8 @@
105
108
  &-right {
106
109
  top: 0;
107
110
  right: 0;
111
+ left: auto;
112
+ bottom: auto;
108
113
  width: 100px;
109
114
  height: 100%;
110
115
 
@@ -116,6 +121,8 @@
116
121
  &-left {
117
122
  top: 0;
118
123
  left: 0;
124
+ right: auto;
125
+ bottom: auto;
119
126
  width: 100px;
120
127
  height: 100%;
121
128
 
@@ -127,6 +134,8 @@
127
134
  &-top {
128
135
  top: 0;
129
136
  left: 0;
137
+ right: auto;
138
+ bottom: auto;
130
139
  width: 100%;
131
140
 
132
141
  &.nut-popup-round {
@@ -210,6 +219,9 @@
210
219
  }
211
220
 
212
221
  @keyframes popup-slide-top-exit {
222
+ from {
223
+ transform: translate3d(0, 0%, 0);
224
+ }
213
225
  to {
214
226
  transform: translate3d(0, -100%, 0);
215
227
  }
@@ -240,6 +252,9 @@
240
252
  }
241
253
 
242
254
  @keyframes popup-slide-right-exit {
255
+ from {
256
+ transform: translate3d(0%, 0, 0);
257
+ }
243
258
  to {
244
259
  transform: translate3d(100%, 0, 0);
245
260
  }
@@ -253,7 +268,7 @@
253
268
  animation-duration: $popup-animation-duration;
254
269
  }
255
270
 
256
- &-right-exit {
271
+ &-right-exit-active {
257
272
  animation-fill-mode: both;
258
273
  animation-name: popup-slide-right-exit;
259
274
  animation-duration: $popup-animation-duration;
@@ -269,7 +284,10 @@
269
284
  }
270
285
  }
271
286
 
272
- @keyframes slide-bottom-exit {
287
+ @keyframes popup-slide-bottom-exit {
288
+ from {
289
+ transform: translate3d(0, 0%, 0);
290
+ }
273
291
  to {
274
292
  transform: translate3d(0, 100%, 0);
275
293
  }
@@ -277,15 +295,15 @@
277
295
 
278
296
  &-bottom-enter-active,
279
297
  &-bottom-appear-active {
280
- transform: translate(0, 0);
298
+ transform: translate3d(0, 0, 0);
281
299
  animation-fill-mode: both;
282
300
  animation-name: popup-slide-bottom-enter;
283
301
  animation-duration: $popup-animation-duration;
284
302
  }
285
303
 
286
- &-bottom-exit {
304
+ &-bottom-exit-active {
287
305
  animation-fill-mode: both;
288
- animation-name: slide-bottom-exit;
306
+ animation-name: popup-slide-bottom-exit;
289
307
  animation-duration: $popup-animation-duration;
290
308
  }
291
309
 
@@ -300,6 +318,9 @@
300
318
  }
301
319
 
302
320
  @keyframes popup-slide-left-exit {
321
+ from {
322
+ transform: translate3d(0%, 0, 0);
323
+ }
303
324
  to {
304
325
  transform: translate3d(-100%, 0, 0);
305
326
  }
@@ -307,14 +328,13 @@
307
328
 
308
329
  &-left-enter-active,
309
330
  &-left-appear-active {
310
- transform: translate(0, 0);
331
+ transform: translate3d(0, 0, 0);
311
332
  animation-fill-mode: both;
312
333
  animation-name: popup-slide-left-enter;
313
334
  animation-duration: $popup-animation-duration;
314
335
  }
315
336
 
316
- &-left-exit-active,
317
- &-left-exit-done {
337
+ &-left-exit-active {
318
338
  animation-fill-mode: both;
319
339
  animation-name: popup-slide-left-exit;
320
340
  animation-duration: $popup-animation-duration;
@@ -30,7 +30,6 @@
30
30
  color: var(--nutui-color-title);
31
31
  font-weight: var(--nutui-font-weight-bold);
32
32
  font-size: var(--nutui-popup-title-font-size, var(--nutui-font-h1));
33
- line-height: var(--nutui-popup-title-font-size, var(--nutui-font-h1));
34
33
  }
35
34
  .nut-popup-title-description {
36
35
  color: var(--nutui-color-text);
@@ -73,6 +72,8 @@
73
72
  .nut-popup-center {
74
73
  top: 50%;
75
74
  left: 50%;
75
+ right: auto;
76
+ bottom: auto;
76
77
  min-height: 10%;
77
78
  max-width: 295px;
78
79
  transform: translate(-50%, -50%);
@@ -83,6 +84,8 @@
83
84
  .nut-popup-bottom {
84
85
  bottom: 0;
85
86
  left: 0;
87
+ right: auto;
88
+ top: auto;
86
89
  width: 100%;
87
90
  }
88
91
  .nut-popup-bottom.nut-popup-round {
@@ -94,6 +97,8 @@
94
97
  .nut-popup-right {
95
98
  top: 0;
96
99
  right: 0;
100
+ left: auto;
101
+ bottom: auto;
97
102
  width: 100px;
98
103
  height: 100%;
99
104
  }
@@ -103,6 +108,8 @@
103
108
  .nut-popup-left {
104
109
  top: 0;
105
110
  left: 0;
111
+ right: auto;
112
+ bottom: auto;
106
113
  width: 100px;
107
114
  height: 100%;
108
115
  }
@@ -112,6 +119,8 @@
112
119
  .nut-popup-top {
113
120
  top: 0;
114
121
  left: 0;
122
+ right: auto;
123
+ bottom: auto;
115
124
  width: 100%;
116
125
  }
117
126
  .nut-popup-top.nut-popup-round {
@@ -188,6 +197,9 @@
188
197
  }
189
198
  }
190
199
  @keyframes popup-slide-top-exit {
200
+ from {
201
+ transform: translate3d(0, 0%, 0);
202
+ }
191
203
  to {
192
204
  transform: translate3d(0, -100%, 0);
193
205
  }
@@ -212,6 +224,9 @@
212
224
  }
213
225
  }
214
226
  @keyframes popup-slide-right-exit {
227
+ from {
228
+ transform: translate3d(0%, 0, 0);
229
+ }
215
230
  to {
216
231
  transform: translate3d(100%, 0, 0);
217
232
  }
@@ -222,7 +237,7 @@
222
237
  animation-name: popup-slide-right-enter;
223
238
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
224
239
  }
225
- .nut-popup-slide-right-exit {
240
+ .nut-popup-slide-right-exit-active {
226
241
  animation-fill-mode: both;
227
242
  animation-name: popup-slide-right-exit;
228
243
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
@@ -235,20 +250,23 @@
235
250
  transform: translate3d(0, 0%, 0);
236
251
  }
237
252
  }
238
- @keyframes slide-bottom-exit {
253
+ @keyframes popup-slide-bottom-exit {
254
+ from {
255
+ transform: translate3d(0, 0%, 0);
256
+ }
239
257
  to {
240
258
  transform: translate3d(0, 100%, 0);
241
259
  }
242
260
  }
243
261
  .nut-popup-slide-bottom-enter-active, .nut-popup-slide-bottom-appear-active {
244
- transform: translate(0, 0);
262
+ transform: translate3d(0, 0, 0);
245
263
  animation-fill-mode: both;
246
264
  animation-name: popup-slide-bottom-enter;
247
265
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
248
266
  }
249
- .nut-popup-slide-bottom-exit {
267
+ .nut-popup-slide-bottom-exit-active {
250
268
  animation-fill-mode: both;
251
- animation-name: slide-bottom-exit;
269
+ animation-name: popup-slide-bottom-exit;
252
270
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
253
271
  }
254
272
  @keyframes popup-slide-left-enter {
@@ -260,17 +278,20 @@
260
278
  }
261
279
  }
262
280
  @keyframes popup-slide-left-exit {
281
+ from {
282
+ transform: translate3d(0%, 0, 0);
283
+ }
263
284
  to {
264
285
  transform: translate3d(-100%, 0, 0);
265
286
  }
266
287
  }
267
288
  .nut-popup-slide-left-enter-active, .nut-popup-slide-left-appear-active {
268
- transform: translate(0, 0);
289
+ transform: translate3d(0, 0, 0);
269
290
  animation-fill-mode: both;
270
291
  animation-name: popup-slide-left-enter;
271
292
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
272
293
  }
273
- .nut-popup-slide-left-exit-active, .nut-popup-slide-left-exit-done {
294
+ .nut-popup-slide-left-exit-active {
274
295
  animation-fill-mode: both;
275
296
  animation-name: popup-slide-left-exit;
276
297
  animation-duration: var(--nutui-popup-animation-duration, 0.3s);
@@ -0,0 +1,3 @@
1
+ import QuickEnter from "./quickenter";
2
+ export type { TaroQuickEnterProps as QuickEnterProps } from "../../types";
3
+ export default QuickEnter;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _quickenter = /*#__PURE__*/ _interop_require_default._(require("./quickenter"));
13
+ var _default = _quickenter.default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { QuickEnterActions, TaroQuickEnterProps } from "../../types";
3
+ declare const QuickEnter: React.ForwardRefExoticComponent<Partial<TaroQuickEnterProps> & React.RefAttributes<QuickEnterActions>>;
4
+ export default QuickEnter;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
+ var _define_property = require("@swc/helpers/_/_define_property");
14
+ var _object_spread = require("@swc/helpers/_/_object_spread");
15
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
16
+ var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
17
+ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
18
+ var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
19
+ var _components = require("@tarojs/components");
20
+ var _taro = /*#__PURE__*/ _interop_require_default._(require("@tarojs/taro"));
21
+ var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames"));
22
+ var _iconsreacttaro = require("@nutui/icons-react-taro");
23
+ var _index = /*#__PURE__*/ _interop_require_default._(require("../popup/index"));
24
+ var _index1 = /*#__PURE__*/ _interop_require_default._(require("../safearea/index"));
25
+ var _typings = require("../../utils/typings");
26
+ var _usepropsvalue = require("../../hooks/use-props-value");
27
+ var _index2 = /*#__PURE__*/ _interop_require_default._(require("../badge/index"));
28
+ var _configprovider = require("../configprovider");
29
+ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
30
+ options: [],
31
+ visible: false,
32
+ closeOnOverlayClick: true
33
+ });
34
+ var InternalQuickEnter = function InternalQuickEnter(props, ref) {
35
+ var _ref = (0, _object_spread._)({}, defaultProps, props), children = _ref.children, visible = _ref.visible, title = _ref.title, _ref_options = _ref.options, options = _ref_options === void 0 ? [] : _ref_options, closeOnOverlayClick = _ref.closeOnOverlayClick, _ref_popupProps = _ref.popupProps, popupProps = _ref_popupProps === void 0 ? {} : _ref_popupProps, className = _ref.className, style = _ref.style, onClose = _ref.onClose, onChange = _ref.onChange, closeIcon = _ref.closeIcon, rest = (0, _object_without_properties._)(_ref, [
36
+ "children",
37
+ "visible",
38
+ "title",
39
+ "options",
40
+ "closeOnOverlayClick",
41
+ "popupProps",
42
+ "className",
43
+ "style",
44
+ "onClose",
45
+ "onChange",
46
+ "closeIcon"
47
+ ]);
48
+ var locale = (0, _configprovider.useConfig)().locale;
49
+ var mergedTitle = title || locale.quickenter.title;
50
+ var classPrefix = 'nut-quickenter';
51
+ var classes = (0, _classnames.default)(classPrefix, className);
52
+ var _usePropsValue = (0, _sliced_to_array._)((0, _usepropsvalue.usePropsValue)({
53
+ value: props.visible,
54
+ defaultValue: false,
55
+ finalValue: false,
56
+ onChange: function onChange(v) {
57
+ if (!v) {
58
+ var _props_onClose;
59
+ (_props_onClose = props.onClose) === null || _props_onClose === void 0 ? void 0 : _props_onClose.call(props);
60
+ }
61
+ }
62
+ }), 2), innerVisible = _usePropsValue[0], setInnerVisible = _usePropsValue[1];
63
+ var actions = {
64
+ open: function open() {
65
+ setInnerVisible(true);
66
+ },
67
+ close: function close() {
68
+ setInnerVisible(false);
69
+ }
70
+ };
71
+ (0, _react.useImperativeHandle)(ref, function() {
72
+ return actions;
73
+ });
74
+ var onCancelEvent = function onCancelEvent() {
75
+ setInnerVisible(false);
76
+ };
77
+ var handleItemClick = function handleItemClick(item, index) {
78
+ if (item.url) {
79
+ _taro.default.navigateTo({
80
+ url: item.url
81
+ });
82
+ }
83
+ onChange === null || onChange === void 0 ? void 0 : onChange(item, index);
84
+ };
85
+ var renderTitleBar = function renderTitleBar() {
86
+ return /*#__PURE__*/ _react.default.createElement(_components.View, {
87
+ className: "".concat(classPrefix, "-control")
88
+ }, /*#__PURE__*/ _react.default.createElement(_components.View, {
89
+ className: "".concat(classPrefix, "-title")
90
+ }, mergedTitle), /*#__PURE__*/ _react.default.createElement(_components.View, {
91
+ className: "".concat(classPrefix, "-close-btn"),
92
+ onClick: function onClick(e) {
93
+ e.stopPropagation();
94
+ onCancelEvent();
95
+ }
96
+ }, closeIcon || /*#__PURE__*/ _react.default.createElement(_iconsreacttaro.Close, null)));
97
+ };
98
+ var renderContent = function renderContent() {
99
+ return /*#__PURE__*/ _react.default.createElement(_components.View, {
100
+ className: (0, _classnames.default)("".concat(classPrefix, "-content"), (0, _define_property._)({}, "".concat(classPrefix, "-content-scrollable"), options.length > 8))
101
+ }, /*#__PURE__*/ _react.default.createElement(_components.View, {
102
+ className: "".concat(classPrefix, "-list")
103
+ }, options.map(function(item, index) {
104
+ var _item_badgeProps;
105
+ var _item_badge;
106
+ return /*#__PURE__*/ _react.default.createElement(_components.View, {
107
+ key: index,
108
+ className: "".concat(classPrefix, "-item"),
109
+ onClick: function onClick() {
110
+ return handleItemClick(item, index);
111
+ }
112
+ }, /*#__PURE__*/ _react.default.createElement(_components.View, {
113
+ className: "".concat(classPrefix, "-item-icon")
114
+ }, /*#__PURE__*/ _react.default.createElement(_index2.default, (0, _object_spread_props._)((0, _object_spread._)({}, item.badgeProps), {
115
+ value: (_item_badge = item.badge) !== null && _item_badge !== void 0 ? _item_badge : (_item_badgeProps = item.badgeProps) === null || _item_badgeProps === void 0 ? void 0 : _item_badgeProps.value
116
+ }), item.icon)), /*#__PURE__*/ _react.default.createElement(_components.View, {
117
+ className: "".concat(classPrefix, "-item-title")
118
+ }, item.title));
119
+ })));
120
+ };
121
+ var renderQuickEnterElement = function renderQuickEnterElement() {
122
+ return /*#__PURE__*/ _react.default.createElement(_components.View, (0, _object_spread._)({
123
+ className: classes,
124
+ style: style
125
+ }, rest), renderTitleBar(), children, renderContent());
126
+ };
127
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_index.default, (0, _object_spread_props._)((0, _object_spread._)({
128
+ style: {
129
+ background: 'transparent'
130
+ }
131
+ }, popupProps), {
132
+ overlayStyle: {
133
+ background: 'transparent'
134
+ },
135
+ visible: innerVisible,
136
+ position: "top",
137
+ onOverlayClick: function onOverlayClick() {
138
+ if (!closeOnOverlayClick) return;
139
+ onCancelEvent();
140
+ },
141
+ onClose: onCancelEvent
142
+ }), /*#__PURE__*/ _react.default.createElement(_index1.default, {
143
+ position: "top"
144
+ }), renderQuickEnterElement()));
145
+ };
146
+ var QuickEnter = /*#__PURE__*/ _react.default.forwardRef(InternalQuickEnter);
147
+ var _default = QuickEnter;
@@ -0,0 +1,2 @@
1
+ import '../../popup/style/css';
2
+ import './style.css';
@@ -0,0 +1,2 @@
1
+ import '../../popup/style';
2
+ import './quickenter.scss';
@@ -0,0 +1,110 @@
1
+ .nut-quickenter {
2
+ width: 100%;
3
+ max-height: $quickenter-max-height; // Limit height for scrolling
4
+ background: $quickenter-bg-color;
5
+ border-radius: 0 0 12px 12px;
6
+ overflow: hidden;
7
+ box-sizing: border-box;
8
+ display: flex;
9
+ flex-direction: column;
10
+
11
+ &-control {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ padding: 30px 16px 0;
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ &-title {
20
+ flex: 1;
21
+ overflow: hidden;
22
+ text-overflow: ellipsis;
23
+ white-space: nowrap;
24
+ text-align: left;
25
+ color: $quickenter-title-color;
26
+ font-size: $quickenter-title-font-size;
27
+ }
28
+
29
+ &-close-btn {
30
+ color: $quickenter-close-icon-color;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+
35
+ svg,
36
+ .nut-icon {
37
+ width: $quickenter-close-icon-size;
38
+ height: $quickenter-close-icon-size;
39
+ }
40
+ }
41
+
42
+ &-content {
43
+ flex: 1;
44
+ padding: 10px 28px;
45
+ overflow-y: hidden; // Default: no scrolling
46
+ box-sizing: border-box;
47
+
48
+ &-scrollable {
49
+ overflow-y: auto; // Only scroll when > 8 items
50
+ -webkit-overflow-scrolling: touch;
51
+ }
52
+ }
53
+
54
+ &-list {
55
+ display: flex;
56
+ flex-wrap: wrap;
57
+ align-items: flex-start;
58
+ width: 100%;
59
+ }
60
+
61
+ &-item {
62
+ display: flex;
63
+ flex-direction: column;
64
+ align-items: center;
65
+ justify-content: flex-start;
66
+ width: 56px;
67
+ padding: 0 0 12px 0; // Reduced from 16px to ensure 2 rows fit in 256px
68
+ box-sizing: border-box;
69
+ cursor: pointer;
70
+
71
+ // Calculate gap for 4 items per row: (100% - 4 * 56px) / 3
72
+ margin-right: calc((100% - 224px) / 3);
73
+
74
+ &:nth-child(4n) {
75
+ margin-right: 0;
76
+ }
77
+
78
+ &-icon {
79
+ width: 56px;
80
+ height: 56px;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ border-radius: 50%;
85
+ background: $quickenter-item-icon-bg-color;
86
+ color: $quickenter-item-icon-color;
87
+ margin-bottom: 8px;
88
+ flex-shrink: 0;
89
+
90
+ svg,
91
+ .nut-icon {
92
+ width: 22px;
93
+ height: 22px;
94
+ }
95
+ }
96
+
97
+ &-title {
98
+ font-size: $quickenter-item-title-font-size;
99
+ color: $quickenter-item-title-color;
100
+ text-align: center;
101
+ line-height: 1.4;
102
+ // Allow multi-line if text is long, preventing truncation
103
+ white-space: normal;
104
+ word-wrap: break-word;
105
+ width: 72px; // Allow text to be slightly wider than icon
106
+ margin-left: -8px; // Center 72px title over 56px icon
107
+ margin-right: -8px;
108
+ }
109
+ }
110
+ }