@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.
- package/dist/cjs/locales/base.d.ts +3 -0
- package/dist/cjs/locales/en-US.js +4 -1
- package/dist/cjs/locales/id-ID.js +4 -1
- package/dist/cjs/locales/ja-JP.js +4 -1
- package/dist/cjs/locales/tr-TR.js +4 -1
- package/dist/cjs/locales/zh-CN.js +4 -1
- package/dist/cjs/locales/zh-TW.js +4 -1
- package/dist/cjs/locales/zh-UG.js +4 -1
- package/dist/cjs/packages/actionsheet/style/style.harmony.css +45 -24
- package/dist/cjs/packages/address/style/style.harmony.css +45 -24
- package/dist/cjs/packages/calendar/style/style.harmony.css +45 -24
- package/dist/cjs/packages/cascader/style/style.harmony.css +45 -24
- package/dist/cjs/packages/configprovider/types.d.ts +1 -1
- package/dist/cjs/packages/datepicker/style/style.harmony.css +46 -25
- package/dist/cjs/packages/imagepreview/style/style.harmony.css +45 -24
- package/dist/cjs/packages/numberkeyboard/style/style.css +1 -1
- package/dist/cjs/packages/numberkeyboard/style/style.harmony.css +46 -25
- package/dist/cjs/packages/nutui.react.build.d.ts +3 -1
- package/dist/cjs/packages/nutui.react.build.js +18 -14
- package/dist/cjs/packages/nutui.react.d.ts +4 -1
- package/dist/cjs/packages/nutui.react.js +19 -14
- package/dist/cjs/packages/nutui.react.scss.d.ts +1 -0
- package/dist/cjs/packages/nutui.react.scss.js +1 -0
- package/dist/cjs/packages/overlay/overlay.js +11 -17
- package/dist/cjs/packages/picker/style/style.css +1 -1
- package/dist/cjs/packages/picker/style/style.harmony.css +46 -25
- package/dist/cjs/packages/popover/style/style.harmony.css +45 -24
- package/dist/cjs/packages/popup/popup.js +171 -99
- package/dist/cjs/packages/popup/style/popup.scss +29 -9
- package/dist/cjs/packages/popup/style/style.css +45 -24
- package/dist/cjs/packages/popup/style/style.harmony.css +45 -24
- package/dist/cjs/packages/popup/style-jmapp/popup.scss +29 -9
- package/dist/cjs/packages/popup/style-jmapp/style.css +29 -8
- package/dist/cjs/packages/popup/style-jrkf/popup.scss +29 -9
- package/dist/cjs/packages/popup/style-jrkf/style.css +29 -8
- package/dist/cjs/packages/quickenter/index.d.ts +3 -0
- package/dist/cjs/packages/quickenter/index.js +13 -0
- package/dist/cjs/packages/quickenter/quickenter.d.ts +4 -0
- package/dist/cjs/packages/quickenter/quickenter.js +147 -0
- package/dist/cjs/packages/quickenter/style/css.js +2 -0
- package/dist/cjs/packages/quickenter/style/index.js +2 -0
- package/dist/cjs/packages/quickenter/style/quickenter.scss +110 -0
- package/dist/cjs/packages/quickenter/style/style.css +99 -0
- package/dist/cjs/packages/quickenter/style/style.harmony.css +500 -0
- package/dist/cjs/packages/quickenter/style-jmapp/css.js +2 -0
- package/dist/cjs/packages/quickenter/style-jmapp/index.js +2 -0
- package/dist/cjs/packages/quickenter/style-jmapp/quickenter.scss +110 -0
- package/dist/cjs/packages/quickenter/style-jmapp/style.css +99 -0
- package/dist/cjs/packages/quickenter/style-jrkf/css.js +2 -0
- package/dist/cjs/packages/quickenter/style-jrkf/index.js +2 -0
- package/dist/cjs/packages/quickenter/style-jrkf/quickenter.scss +110 -0
- package/dist/cjs/packages/quickenter/style-jrkf/style.css +99 -0
- package/dist/cjs/packages/shortpassword/style/style.harmony.css +45 -24
- package/dist/cjs/packages/timeselect/style/style.harmony.css +45 -24
- package/dist/cjs/packages/tour/style/style.harmony.css +45 -24
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/spec/quickenter/base.d.ts +26 -0
- package/dist/cjs/types/spec/quickenter/base.js +4 -0
- package/dist/cjs/types/spec/quickenter/h5.d.ts +5 -0
- package/dist/cjs/types/spec/quickenter/h5.js +4 -0
- package/dist/cjs/types/spec/quickenter/taro.d.ts +5 -0
- package/dist/cjs/types/spec/quickenter/taro.js +4 -0
- package/dist/cjs/utils/taro/ConfigurableCSSTransition.d.ts +15 -0
- package/dist/cjs/utils/taro/ConfigurableCSSTransition.js +90 -0
- package/dist/es/locales/base.d.ts +3 -0
- package/dist/es/locales/en-US.js +4 -1
- package/dist/es/locales/id-ID.js +4 -1
- package/dist/es/locales/ja-JP.js +4 -1
- package/dist/es/locales/tr-TR.js +4 -1
- package/dist/es/locales/zh-CN.js +4 -1
- package/dist/es/locales/zh-TW.js +4 -1
- package/dist/es/locales/zh-UG.js +4 -1
- package/dist/es/packages/actionsheet/style/style.harmony.css +45 -24
- package/dist/es/packages/address/style/style.harmony.css +45 -24
- package/dist/es/packages/calendar/style/style.harmony.css +45 -24
- package/dist/es/packages/cascader/style/style.harmony.css +45 -24
- package/dist/es/packages/configprovider/types.d.ts +1 -1
- package/dist/es/packages/datepicker/style/style.harmony.css +46 -25
- package/dist/es/packages/imagepreview/style/style.harmony.css +45 -24
- package/dist/es/packages/numberkeyboard/style/style.css +1 -1
- package/dist/es/packages/numberkeyboard/style/style.harmony.css +46 -25
- package/dist/es/packages/nutui.react.build.d.ts +3 -1
- package/dist/es/packages/nutui.react.build.js +3 -1
- package/dist/es/packages/overlay/overlay.js +11 -17
- package/dist/es/packages/picker/style/style.css +1 -1
- package/dist/es/packages/picker/style/style.harmony.css +46 -25
- package/dist/es/packages/popover/style/style.harmony.css +45 -24
- package/dist/es/packages/popup/popup.js +172 -101
- package/dist/es/packages/popup/style/popup.scss +29 -9
- package/dist/es/packages/popup/style/style.css +45 -24
- package/dist/es/packages/popup/style/style.harmony.css +45 -24
- package/dist/es/packages/popup/style-jmapp/popup.scss +29 -9
- package/dist/es/packages/popup/style-jmapp/style.css +29 -8
- package/dist/es/packages/popup/style-jrkf/popup.scss +29 -9
- package/dist/es/packages/popup/style-jrkf/style.css +29 -8
- package/dist/es/packages/quickenter/index.d.ts +3 -0
- package/dist/es/packages/quickenter/index.js +2 -0
- package/dist/es/packages/quickenter/quickenter.d.ts +4 -0
- package/dist/es/packages/quickenter/quickenter.js +135 -0
- package/dist/es/packages/quickenter/style/css.js +2 -0
- package/dist/es/packages/quickenter/style/index.js +2 -0
- package/dist/es/packages/quickenter/style/quickenter.scss +110 -0
- package/dist/es/packages/quickenter/style/style.css +99 -0
- package/dist/es/packages/quickenter/style/style.harmony.css +500 -0
- package/dist/es/packages/quickenter/style-jmapp/css.js +2 -0
- package/dist/es/packages/quickenter/style-jmapp/index.js +2 -0
- package/dist/es/packages/quickenter/style-jmapp/quickenter.scss +110 -0
- package/dist/es/packages/quickenter/style-jmapp/style.css +99 -0
- package/dist/es/packages/quickenter/style-jrkf/css.js +2 -0
- package/dist/es/packages/quickenter/style-jrkf/index.js +2 -0
- package/dist/es/packages/quickenter/style-jrkf/quickenter.scss +110 -0
- package/dist/es/packages/quickenter/style-jrkf/style.css +99 -0
- package/dist/es/packages/shortpassword/style/style.harmony.css +45 -24
- package/dist/es/packages/timeselect/style/style.harmony.css +45 -24
- package/dist/es/packages/tour/style/style.harmony.css +45 -24
- package/dist/es/types/index.d.ts +3 -0
- package/dist/es/types/index.js +3 -0
- package/dist/es/types/spec/quickenter/base.d.ts +44 -0
- package/dist/es/types/spec/quickenter/base.js +1 -0
- package/dist/es/types/spec/quickenter/h5.d.ts +5 -0
- package/dist/es/types/spec/quickenter/h5.js +1 -0
- package/dist/es/types/spec/quickenter/taro.d.ts +5 -0
- package/dist/es/types/spec/quickenter/taro.js +1 -0
- package/dist/es/utils/taro/ConfigurableCSSTransition.d.ts +15 -0
- package/dist/es/utils/taro/ConfigurableCSSTransition.js +79 -0
- package/dist/nutui.react.umd.js +631 -332
- package/dist/style-jmapp.css +1 -1
- package/dist/style-jmapp.scss +35 -34
- package/dist/style-jrkf.css +1 -1
- package/dist/style-jrkf.scss +34 -33
- package/dist/style.css +1 -1
- package/dist/style.scss +35 -34
- package/dist/styles/variables-daojia.scss +36 -0
- package/dist/styles/variables-jmapp.scss +36 -0
- package/dist/styles/variables-jrkf.scss +36 -0
- package/dist/styles/variables.scss +37 -1
- package/package.json +1 -1
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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,135 @@
|
|
|
1
|
+
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
+
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
|
+
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
5
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
6
|
+
import React, { useImperativeHandle } from "react";
|
|
7
|
+
import { View } from "@tarojs/components";
|
|
8
|
+
import Taro from "@tarojs/taro";
|
|
9
|
+
import classNames from "classnames";
|
|
10
|
+
import { Close } from "@nutui/icons-react-taro";
|
|
11
|
+
import Popup from "../popup/index";
|
|
12
|
+
import SafeArea from "../safearea/index";
|
|
13
|
+
import { ComponentDefaults } from "../../utils/typings";
|
|
14
|
+
import { usePropsValue } from "../../hooks/use-props-value";
|
|
15
|
+
import Badge from "../badge/index";
|
|
16
|
+
import { useConfig } from "../configprovider";
|
|
17
|
+
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
18
|
+
options: [],
|
|
19
|
+
visible: false,
|
|
20
|
+
closeOnOverlayClick: true
|
|
21
|
+
});
|
|
22
|
+
var InternalQuickEnter = function(props, ref) {
|
|
23
|
+
var _ref = _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 = _object_without_properties(_ref, [
|
|
24
|
+
"children",
|
|
25
|
+
"visible",
|
|
26
|
+
"title",
|
|
27
|
+
"options",
|
|
28
|
+
"closeOnOverlayClick",
|
|
29
|
+
"popupProps",
|
|
30
|
+
"className",
|
|
31
|
+
"style",
|
|
32
|
+
"onClose",
|
|
33
|
+
"onChange",
|
|
34
|
+
"closeIcon"
|
|
35
|
+
]);
|
|
36
|
+
var locale = useConfig().locale;
|
|
37
|
+
var mergedTitle = title || locale.quickenter.title;
|
|
38
|
+
var classPrefix = 'nut-quickenter';
|
|
39
|
+
var classes = classNames(classPrefix, className);
|
|
40
|
+
var _usePropsValue = _sliced_to_array(usePropsValue({
|
|
41
|
+
value: props.visible,
|
|
42
|
+
defaultValue: false,
|
|
43
|
+
finalValue: false,
|
|
44
|
+
onChange: function(v) {
|
|
45
|
+
if (!v) {
|
|
46
|
+
var _props_onClose;
|
|
47
|
+
(_props_onClose = props.onClose) === null || _props_onClose === void 0 ? void 0 : _props_onClose.call(props);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}), 2), innerVisible = _usePropsValue[0], setInnerVisible = _usePropsValue[1];
|
|
51
|
+
var actions = {
|
|
52
|
+
open: function() {
|
|
53
|
+
setInnerVisible(true);
|
|
54
|
+
},
|
|
55
|
+
close: function() {
|
|
56
|
+
setInnerVisible(false);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
useImperativeHandle(ref, function() {
|
|
60
|
+
return actions;
|
|
61
|
+
});
|
|
62
|
+
var onCancelEvent = function() {
|
|
63
|
+
setInnerVisible(false);
|
|
64
|
+
};
|
|
65
|
+
var handleItemClick = function(item, index) {
|
|
66
|
+
if (item.url) {
|
|
67
|
+
Taro.navigateTo({
|
|
68
|
+
url: item.url
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(item, index);
|
|
72
|
+
};
|
|
73
|
+
var renderTitleBar = function() {
|
|
74
|
+
return /*#__PURE__*/ React.createElement(View, {
|
|
75
|
+
className: "".concat(classPrefix, "-control")
|
|
76
|
+
}, /*#__PURE__*/ React.createElement(View, {
|
|
77
|
+
className: "".concat(classPrefix, "-title")
|
|
78
|
+
}, mergedTitle), /*#__PURE__*/ React.createElement(View, {
|
|
79
|
+
className: "".concat(classPrefix, "-close-btn"),
|
|
80
|
+
onClick: function(e) {
|
|
81
|
+
e.stopPropagation();
|
|
82
|
+
onCancelEvent();
|
|
83
|
+
}
|
|
84
|
+
}, closeIcon || /*#__PURE__*/ React.createElement(Close, null)));
|
|
85
|
+
};
|
|
86
|
+
var renderContent = function() {
|
|
87
|
+
return /*#__PURE__*/ React.createElement(View, {
|
|
88
|
+
className: classNames("".concat(classPrefix, "-content"), _define_property({}, "".concat(classPrefix, "-content-scrollable"), options.length > 8))
|
|
89
|
+
}, /*#__PURE__*/ React.createElement(View, {
|
|
90
|
+
className: "".concat(classPrefix, "-list")
|
|
91
|
+
}, options.map(function(item, index) {
|
|
92
|
+
var _item_badgeProps;
|
|
93
|
+
var _item_badge;
|
|
94
|
+
return /*#__PURE__*/ React.createElement(View, {
|
|
95
|
+
key: index,
|
|
96
|
+
className: "".concat(classPrefix, "-item"),
|
|
97
|
+
onClick: function() {
|
|
98
|
+
return handleItemClick(item, index);
|
|
99
|
+
}
|
|
100
|
+
}, /*#__PURE__*/ React.createElement(View, {
|
|
101
|
+
className: "".concat(classPrefix, "-item-icon")
|
|
102
|
+
}, /*#__PURE__*/ React.createElement(Badge, _object_spread_props(_object_spread({}, item.badgeProps), {
|
|
103
|
+
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
|
|
104
|
+
}), item.icon)), /*#__PURE__*/ React.createElement(View, {
|
|
105
|
+
className: "".concat(classPrefix, "-item-title")
|
|
106
|
+
}, item.title));
|
|
107
|
+
})));
|
|
108
|
+
};
|
|
109
|
+
var renderQuickEnterElement = function() {
|
|
110
|
+
return /*#__PURE__*/ React.createElement(View, _object_spread({
|
|
111
|
+
className: classes,
|
|
112
|
+
style: style
|
|
113
|
+
}, rest), renderTitleBar(), children, renderContent());
|
|
114
|
+
};
|
|
115
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Popup, _object_spread_props(_object_spread({
|
|
116
|
+
style: {
|
|
117
|
+
background: 'transparent'
|
|
118
|
+
}
|
|
119
|
+
}, popupProps), {
|
|
120
|
+
overlayStyle: {
|
|
121
|
+
background: 'transparent'
|
|
122
|
+
},
|
|
123
|
+
visible: innerVisible,
|
|
124
|
+
position: "top",
|
|
125
|
+
onOverlayClick: function() {
|
|
126
|
+
if (!closeOnOverlayClick) return;
|
|
127
|
+
onCancelEvent();
|
|
128
|
+
},
|
|
129
|
+
onClose: onCancelEvent
|
|
130
|
+
}), /*#__PURE__*/ React.createElement(SafeArea, {
|
|
131
|
+
position: "top"
|
|
132
|
+
}), renderQuickEnterElement()));
|
|
133
|
+
};
|
|
134
|
+
var QuickEnter = /*#__PURE__*/ React.forwardRef(InternalQuickEnter);
|
|
135
|
+
export default QuickEnter;
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/* #ifdef harmony */
|
|
2
|
+
/* #endif */
|
|
3
|
+
/* #ifndef harmony */
|
|
4
|
+
/* #endif */
|
|
5
|
+
.nut-quickenter {
|
|
6
|
+
width: 100%;
|
|
7
|
+
max-height: var(--nutui-quickenter-max-height, 256px);
|
|
8
|
+
background: var(--nutui-quickenter-bg-color, #f5f5f5);
|
|
9
|
+
border-radius: 0 0 12px 12px;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
}
|
|
15
|
+
.nut-quickenter-control {
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: space-between;
|
|
19
|
+
padding: 30px 16px 0;
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
}
|
|
22
|
+
.nut-quickenter-title {
|
|
23
|
+
flex: 1;
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
text-overflow: ellipsis;
|
|
26
|
+
white-space: nowrap;
|
|
27
|
+
text-align: left;
|
|
28
|
+
color: var(--nutui-quickenter-title-color, var(--nutui-color-title, #1a1a1a));
|
|
29
|
+
font-size: var(--nutui-quickenter-title-font-size, var(--nutui-font-size-base, 14px));
|
|
30
|
+
}
|
|
31
|
+
.nut-quickenter-close-btn {
|
|
32
|
+
color: var(--nutui-quickenter-close-icon-color, #808080);
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
}
|
|
37
|
+
.nut-quickenter-close-btn svg,
|
|
38
|
+
.nut-quickenter-close-btn .nut-icon {
|
|
39
|
+
width: var(--nutui-quickenter-close-icon-size, 12px);
|
|
40
|
+
height: var(--nutui-quickenter-close-icon-size, 12px);
|
|
41
|
+
}
|
|
42
|
+
.nut-quickenter-content {
|
|
43
|
+
flex: 1;
|
|
44
|
+
padding: 10px 28px;
|
|
45
|
+
overflow-y: hidden;
|
|
46
|
+
box-sizing: border-box;
|
|
47
|
+
}
|
|
48
|
+
.nut-quickenter-content-scrollable {
|
|
49
|
+
overflow-y: auto;
|
|
50
|
+
-webkit-overflow-scrolling: touch;
|
|
51
|
+
}
|
|
52
|
+
.nut-quickenter-list {
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-wrap: wrap;
|
|
55
|
+
align-items: flex-start;
|
|
56
|
+
width: 100%;
|
|
57
|
+
}
|
|
58
|
+
.nut-quickenter-item {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: flex-start;
|
|
63
|
+
width: 56px;
|
|
64
|
+
padding: 0 0 12px 0;
|
|
65
|
+
box-sizing: border-box;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
margin-right: calc((100% - 224px) / 3);
|
|
68
|
+
}
|
|
69
|
+
.nut-quickenter-item:nth-child(4n) {
|
|
70
|
+
margin-right: 0;
|
|
71
|
+
}
|
|
72
|
+
.nut-quickenter-item-icon {
|
|
73
|
+
width: 56px;
|
|
74
|
+
height: 56px;
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
justify-content: center;
|
|
78
|
+
border-radius: 50%;
|
|
79
|
+
background: var(--nutui-quickenter-item-icon-bg-color, #ffffff);
|
|
80
|
+
color: var(--nutui-quickenter-item-icon-color, var(--nutui-color-title, #1a1a1a));
|
|
81
|
+
margin-bottom: 8px;
|
|
82
|
+
flex-shrink: 0;
|
|
83
|
+
}
|
|
84
|
+
.nut-quickenter-item-icon svg,
|
|
85
|
+
.nut-quickenter-item-icon .nut-icon {
|
|
86
|
+
width: 22px;
|
|
87
|
+
height: 22px;
|
|
88
|
+
}
|
|
89
|
+
.nut-quickenter-item-title {
|
|
90
|
+
font-size: var(--nutui-quickenter-item-title-font-size, var(--nutui-font-size-s, 12px));
|
|
91
|
+
color: var(--nutui-quickenter-item-title-color, var(--nutui-color-title, #1a1a1a));
|
|
92
|
+
text-align: center;
|
|
93
|
+
line-height: 1.4;
|
|
94
|
+
white-space: normal;
|
|
95
|
+
word-wrap: break-word;
|
|
96
|
+
width: 72px;
|
|
97
|
+
margin-left: -8px;
|
|
98
|
+
margin-right: -8px;
|
|
99
|
+
}
|