@arco-design/mobile-react 2.37.0 → 2.38.1
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/CHANGELOG.md +28 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/action-sheet/index.d.ts +2 -2
- package/cjs/action-sheet/style/css/index.css +18 -0
- package/cjs/avatar/style/css/index.css +18 -0
- package/cjs/badge/index.d.ts +2 -1
- package/cjs/badge/index.js +1 -1
- package/cjs/badge/style/css/index.css +26 -4
- package/cjs/badge/style/index.less +4 -2
- package/cjs/button/style/css/index.css +18 -0
- package/cjs/carousel/style/css/index.css +18 -0
- package/cjs/cell/style/css/index.css +18 -0
- package/cjs/checkbox/style/css/index.css +18 -0
- package/cjs/circle-progress/style/css/index.css +18 -0
- package/cjs/collapse/style/css/index.css +18 -0
- package/cjs/count-down/style/css/index.css +18 -0
- package/cjs/date-picker/style/css/index.css +18 -0
- package/cjs/dialog/index.d.ts +7 -6
- package/cjs/dialog/index.js +4 -1
- package/cjs/dialog/style/css/index.css +26 -4
- package/cjs/dialog/style/index.less +4 -2
- package/cjs/divider/style/css/index.css +18 -0
- package/cjs/dropdown/style/css/index.css +18 -0
- package/cjs/dropdown-menu/style/css/index.css +18 -0
- package/cjs/ellipsis/style/css/index.css +18 -0
- package/cjs/form/style/css/index.css +18 -0
- package/cjs/grid/style/css/index.css +18 -0
- package/cjs/image/style/css/index.css +18 -0
- package/cjs/image-picker/index.d.ts +1 -1
- package/cjs/image-picker/index.js +1 -0
- package/cjs/image-picker/style/css/index.css +18 -0
- package/cjs/image-picker/type.d.ts +11 -5
- package/cjs/image-preview/style/css/index.css +18 -0
- package/cjs/index-bar/style/css/index.css +18 -0
- package/cjs/input/style/css/index.css +18 -0
- package/cjs/keyboard/style/css/index.css +18 -0
- package/cjs/load-more/style/css/index.css +18 -0
- package/cjs/loading/style/css/index.css +18 -0
- package/cjs/masking/index.d.ts +11 -5
- package/cjs/masking/index.js +2 -0
- package/cjs/masking/style/css/index.css +18 -0
- package/cjs/nav-bar/style/css/index.css +18 -0
- package/cjs/notice-bar/style/css/index.css +18 -0
- package/cjs/notify/style/css/index.css +18 -0
- package/cjs/pagination/style/css/index.css +18 -0
- package/cjs/picker/style/css/index.css +18 -0
- package/cjs/picker-view/style/css/index.css +18 -0
- package/cjs/popover/style/css/index.css +18 -0
- package/cjs/popover/style/css/menu.css +18 -0
- package/cjs/popup/index.d.ts +3 -3
- package/cjs/popup/index.js +1 -0
- package/cjs/popup/style/css/index.css +35 -0
- package/cjs/popup/style/index.less +36 -3
- package/cjs/popup-swiper/index.d.ts +2 -2
- package/cjs/popup-swiper/index.js +20 -3
- package/cjs/popup-swiper/style/css/index.css +18 -0
- package/cjs/progress/style/css/index.css +18 -0
- package/cjs/pull-refresh/style/css/index.css +18 -0
- package/cjs/radio/style/css/index.css +18 -0
- package/cjs/rate/style/css/index.css +18 -0
- package/cjs/search-bar/style/css/index.css +18 -0
- package/cjs/skeleton/style/css/index.css +18 -0
- package/cjs/slider/style/css/index.css +18 -0
- package/cjs/stepper/style/css/index.css +18 -0
- package/cjs/steps/style/css/index.css +18 -0
- package/cjs/sticky/style/css/index.css +18 -0
- package/cjs/swipe-action/style/css/index.css +18 -0
- package/cjs/swipe-load/style/css/index.css +18 -0
- package/cjs/switch/style/css/index.css +18 -0
- package/cjs/tab-bar/style/css/index.css +18 -0
- package/cjs/tabs/index.js +7 -3
- package/cjs/tabs/style/css/index.css +18 -0
- package/cjs/tabs/tab-cell.js +9 -1
- package/cjs/tabs/type.d.ts +5 -0
- package/cjs/tag/style/css/index.css +18 -0
- package/cjs/textarea/style/css/index.css +18 -0
- package/cjs/toast/style/css/index.css +18 -0
- package/cjs/transition/index.d.ts +9 -3
- package/cjs/transition/index.js +36 -6
- package/cjs/transition/style/css/index.css +22 -4
- package/cjs/transition/style/index.less +2 -2
- package/cjs/uploader/style/css/index.css +18 -0
- package/dist/index.js +83 -22
- package/dist/index.min.js +4 -4
- package/dist/style.css +1049 -6
- package/dist/style.min.css +1 -1
- package/esm/action-sheet/index.d.ts +2 -2
- package/esm/action-sheet/style/css/index.css +18 -0
- package/esm/avatar/style/css/index.css +18 -0
- package/esm/badge/index.d.ts +2 -1
- package/esm/badge/index.js +1 -1
- package/esm/badge/style/css/index.css +26 -4
- package/esm/badge/style/index.less +4 -2
- package/esm/button/style/css/index.css +18 -0
- package/esm/carousel/style/css/index.css +18 -0
- package/esm/cell/style/css/index.css +18 -0
- package/esm/checkbox/style/css/index.css +18 -0
- package/esm/circle-progress/style/css/index.css +18 -0
- package/esm/collapse/style/css/index.css +18 -0
- package/esm/count-down/style/css/index.css +18 -0
- package/esm/date-picker/style/css/index.css +18 -0
- package/esm/dialog/index.d.ts +7 -6
- package/esm/dialog/index.js +4 -1
- package/esm/dialog/style/css/index.css +26 -4
- package/esm/dialog/style/index.less +4 -2
- package/esm/divider/style/css/index.css +18 -0
- package/esm/dropdown/style/css/index.css +18 -0
- package/esm/dropdown-menu/style/css/index.css +18 -0
- package/esm/ellipsis/style/css/index.css +18 -0
- package/esm/form/style/css/index.css +18 -0
- package/esm/grid/style/css/index.css +18 -0
- package/esm/image/style/css/index.css +18 -0
- package/esm/image-picker/index.d.ts +1 -1
- package/esm/image-picker/index.js +1 -0
- package/esm/image-picker/style/css/index.css +18 -0
- package/esm/image-picker/type.d.ts +11 -5
- package/esm/image-preview/style/css/index.css +18 -0
- package/esm/index-bar/style/css/index.css +18 -0
- package/esm/input/style/css/index.css +18 -0
- package/esm/keyboard/style/css/index.css +18 -0
- package/esm/load-more/style/css/index.css +18 -0
- package/esm/loading/style/css/index.css +18 -0
- package/esm/masking/index.d.ts +11 -5
- package/esm/masking/index.js +2 -0
- package/esm/masking/style/css/index.css +18 -0
- package/esm/nav-bar/style/css/index.css +18 -0
- package/esm/notice-bar/style/css/index.css +18 -0
- package/esm/notify/style/css/index.css +18 -0
- package/esm/pagination/style/css/index.css +18 -0
- package/esm/picker/style/css/index.css +18 -0
- package/esm/picker-view/style/css/index.css +18 -0
- package/esm/popover/style/css/index.css +18 -0
- package/esm/popover/style/css/menu.css +18 -0
- package/esm/popup/index.d.ts +3 -3
- package/esm/popup/index.js +1 -0
- package/esm/popup/style/css/index.css +35 -0
- package/esm/popup/style/index.less +36 -3
- package/esm/popup-swiper/index.d.ts +2 -2
- package/esm/popup-swiper/index.js +20 -3
- package/esm/popup-swiper/style/css/index.css +18 -0
- package/esm/progress/style/css/index.css +18 -0
- package/esm/pull-refresh/style/css/index.css +18 -0
- package/esm/radio/style/css/index.css +18 -0
- package/esm/rate/style/css/index.css +18 -0
- package/esm/search-bar/style/css/index.css +18 -0
- package/esm/skeleton/style/css/index.css +18 -0
- package/esm/slider/style/css/index.css +18 -0
- package/esm/stepper/style/css/index.css +18 -0
- package/esm/steps/style/css/index.css +18 -0
- package/esm/sticky/style/css/index.css +18 -0
- package/esm/swipe-action/style/css/index.css +18 -0
- package/esm/swipe-load/style/css/index.css +18 -0
- package/esm/switch/style/css/index.css +18 -0
- package/esm/tab-bar/style/css/index.css +18 -0
- package/esm/tabs/index.js +7 -3
- package/esm/tabs/style/css/index.css +18 -0
- package/esm/tabs/tab-cell.js +9 -1
- package/esm/tabs/type.d.ts +5 -0
- package/esm/tag/style/css/index.css +18 -0
- package/esm/textarea/style/css/index.css +18 -0
- package/esm/toast/style/css/index.css +18 -0
- package/esm/transition/index.d.ts +9 -3
- package/esm/transition/index.js +32 -7
- package/esm/transition/style/css/index.css +22 -4
- package/esm/transition/style/index.less +2 -2
- package/esm/uploader/style/css/index.css +18 -0
- package/esnext/action-sheet/index.d.ts +2 -2
- package/esnext/action-sheet/style/css/index.css +18 -0
- package/esnext/avatar/style/css/index.css +18 -0
- package/esnext/badge/index.d.ts +2 -1
- package/esnext/badge/index.js +1 -1
- package/esnext/badge/style/css/index.css +26 -4
- package/esnext/badge/style/index.less +4 -2
- package/esnext/button/style/css/index.css +18 -0
- package/esnext/carousel/style/css/index.css +18 -0
- package/esnext/cell/style/css/index.css +18 -0
- package/esnext/checkbox/style/css/index.css +18 -0
- package/esnext/circle-progress/style/css/index.css +18 -0
- package/esnext/collapse/style/css/index.css +18 -0
- package/esnext/count-down/style/css/index.css +18 -0
- package/esnext/date-picker/style/css/index.css +18 -0
- package/esnext/dialog/index.d.ts +7 -6
- package/esnext/dialog/index.js +1 -1
- package/esnext/dialog/style/css/index.css +26 -4
- package/esnext/dialog/style/index.less +4 -2
- package/esnext/divider/style/css/index.css +18 -0
- package/esnext/dropdown/style/css/index.css +18 -0
- package/esnext/dropdown-menu/style/css/index.css +18 -0
- package/esnext/ellipsis/style/css/index.css +18 -0
- package/esnext/form/style/css/index.css +18 -0
- package/esnext/grid/style/css/index.css +18 -0
- package/esnext/image/style/css/index.css +18 -0
- package/esnext/image-picker/index.d.ts +1 -1
- package/esnext/image-picker/index.js +1 -1
- package/esnext/image-picker/style/css/index.css +18 -0
- package/esnext/image-picker/type.d.ts +11 -5
- package/esnext/image-preview/style/css/index.css +18 -0
- package/esnext/index-bar/style/css/index.css +18 -0
- package/esnext/input/style/css/index.css +18 -0
- package/esnext/keyboard/style/css/index.css +18 -0
- package/esnext/load-more/style/css/index.css +18 -0
- package/esnext/loading/style/css/index.css +18 -0
- package/esnext/masking/index.d.ts +11 -5
- package/esnext/masking/index.js +3 -3
- package/esnext/masking/style/css/index.css +18 -0
- package/esnext/nav-bar/style/css/index.css +18 -0
- package/esnext/notice-bar/style/css/index.css +18 -0
- package/esnext/notify/style/css/index.css +18 -0
- package/esnext/pagination/style/css/index.css +18 -0
- package/esnext/picker/style/css/index.css +18 -0
- package/esnext/picker-view/style/css/index.css +18 -0
- package/esnext/popover/style/css/index.css +18 -0
- package/esnext/popover/style/css/menu.css +18 -0
- package/esnext/popup/index.d.ts +3 -3
- package/esnext/popup/index.js +1 -1
- package/esnext/popup/style/css/index.css +35 -0
- package/esnext/popup/style/index.less +36 -3
- package/esnext/popup-swiper/index.d.ts +2 -2
- package/esnext/popup-swiper/index.js +7 -2
- package/esnext/popup-swiper/style/css/index.css +18 -0
- package/esnext/progress/style/css/index.css +18 -0
- package/esnext/pull-refresh/style/css/index.css +18 -0
- package/esnext/radio/style/css/index.css +18 -0
- package/esnext/rate/style/css/index.css +18 -0
- package/esnext/search-bar/style/css/index.css +18 -0
- package/esnext/skeleton/style/css/index.css +18 -0
- package/esnext/slider/style/css/index.css +18 -0
- package/esnext/stepper/style/css/index.css +18 -0
- package/esnext/steps/style/css/index.css +18 -0
- package/esnext/sticky/style/css/index.css +18 -0
- package/esnext/swipe-action/style/css/index.css +18 -0
- package/esnext/swipe-load/style/css/index.css +18 -0
- package/esnext/switch/style/css/index.css +18 -0
- package/esnext/tab-bar/style/css/index.css +18 -0
- package/esnext/tabs/index.js +3 -2
- package/esnext/tabs/style/css/index.css +18 -0
- package/esnext/tabs/tab-cell.js +8 -1
- package/esnext/tabs/type.d.ts +5 -0
- package/esnext/tag/style/css/index.css +18 -0
- package/esnext/textarea/style/css/index.css +18 -0
- package/esnext/toast/style/css/index.css +18 -0
- package/esnext/transition/index.d.ts +9 -3
- package/esnext/transition/index.js +28 -3
- package/esnext/transition/style/css/index.css +22 -4
- package/esnext/transition/style/index.less +2 -2
- package/esnext/uploader/style/css/index.css +18 -0
- package/package.json +3 -3
- package/style/css/public.css +18 -0
- package/tokens/mixin/index.less +31 -2
- package/umd/action-sheet/index.d.ts +2 -2
- package/umd/action-sheet/style/css/index.css +18 -0
- package/umd/avatar/style/css/index.css +18 -0
- package/umd/badge/index.d.ts +2 -1
- package/umd/badge/index.js +1 -1
- package/umd/badge/style/css/index.css +26 -4
- package/umd/badge/style/index.less +4 -2
- package/umd/button/style/css/index.css +18 -0
- package/umd/carousel/style/css/index.css +18 -0
- package/umd/cell/style/css/index.css +18 -0
- package/umd/checkbox/style/css/index.css +18 -0
- package/umd/circle-progress/style/css/index.css +18 -0
- package/umd/collapse/style/css/index.css +18 -0
- package/umd/count-down/style/css/index.css +18 -0
- package/umd/date-picker/style/css/index.css +18 -0
- package/umd/dialog/index.d.ts +7 -6
- package/umd/dialog/index.js +4 -1
- package/umd/dialog/style/css/index.css +26 -4
- package/umd/dialog/style/index.less +4 -2
- package/umd/divider/style/css/index.css +18 -0
- package/umd/dropdown/style/css/index.css +18 -0
- package/umd/dropdown-menu/style/css/index.css +18 -0
- package/umd/ellipsis/style/css/index.css +18 -0
- package/umd/form/style/css/index.css +18 -0
- package/umd/grid/style/css/index.css +18 -0
- package/umd/image/style/css/index.css +18 -0
- package/umd/image-picker/index.d.ts +1 -1
- package/umd/image-picker/index.js +1 -0
- package/umd/image-picker/style/css/index.css +18 -0
- package/umd/image-picker/type.d.ts +11 -5
- package/umd/image-preview/style/css/index.css +18 -0
- package/umd/index-bar/style/css/index.css +18 -0
- package/umd/input/style/css/index.css +18 -0
- package/umd/keyboard/style/css/index.css +18 -0
- package/umd/load-more/style/css/index.css +18 -0
- package/umd/loading/style/css/index.css +18 -0
- package/umd/masking/index.d.ts +11 -5
- package/umd/masking/index.js +2 -0
- package/umd/masking/style/css/index.css +18 -0
- package/umd/nav-bar/style/css/index.css +18 -0
- package/umd/notice-bar/style/css/index.css +18 -0
- package/umd/notify/style/css/index.css +18 -0
- package/umd/pagination/style/css/index.css +18 -0
- package/umd/picker/style/css/index.css +18 -0
- package/umd/picker-view/style/css/index.css +18 -0
- package/umd/popover/style/css/index.css +18 -0
- package/umd/popover/style/css/menu.css +18 -0
- package/umd/popup/index.d.ts +3 -3
- package/umd/popup/index.js +1 -0
- package/umd/popup/style/css/index.css +35 -0
- package/umd/popup/style/index.less +36 -3
- package/umd/popup-swiper/index.d.ts +2 -2
- package/umd/popup-swiper/index.js +20 -3
- package/umd/popup-swiper/style/css/index.css +18 -0
- package/umd/progress/style/css/index.css +18 -0
- package/umd/pull-refresh/style/css/index.css +18 -0
- package/umd/radio/style/css/index.css +18 -0
- package/umd/rate/style/css/index.css +18 -0
- package/umd/search-bar/style/css/index.css +18 -0
- package/umd/skeleton/style/css/index.css +18 -0
- package/umd/slider/style/css/index.css +18 -0
- package/umd/stepper/style/css/index.css +18 -0
- package/umd/steps/style/css/index.css +18 -0
- package/umd/sticky/style/css/index.css +18 -0
- package/umd/swipe-action/style/css/index.css +18 -0
- package/umd/swipe-load/style/css/index.css +18 -0
- package/umd/switch/style/css/index.css +18 -0
- package/umd/tab-bar/style/css/index.css +18 -0
- package/umd/tabs/index.js +7 -3
- package/umd/tabs/style/css/index.css +18 -0
- package/umd/tabs/tab-cell.js +9 -1
- package/umd/tabs/type.d.ts +5 -0
- package/umd/tag/style/css/index.css +18 -0
- package/umd/textarea/style/css/index.css +18 -0
- package/umd/toast/style/css/index.css +18 -0
- package/umd/transition/index.d.ts +9 -3
- package/umd/transition/index.js +36 -6
- package/umd/transition/style/css/index.css +22 -4
- package/umd/transition/style/index.less +2 -2
- package/umd/uploader/style/css/index.css +18 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
@import '../../../style/mixin.less';
|
|
2
2
|
|
|
3
3
|
.set-popup-transform(@transform) {
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
&-enter,
|
|
6
|
+
&-exit-active,
|
|
7
|
+
&-exit-done {
|
|
5
8
|
transform: @transform;
|
|
9
|
+
|
|
6
10
|
&.translateZ {
|
|
7
11
|
transform: @transform translateZ(2PX);
|
|
8
12
|
}
|
|
@@ -14,63 +18,92 @@
|
|
|
14
18
|
&-left {
|
|
15
19
|
.set-popup-transform(translate(-100%, 0));
|
|
16
20
|
}
|
|
21
|
+
|
|
17
22
|
&-right {
|
|
18
23
|
.set-popup-transform(translate(100%, 0));
|
|
19
24
|
}
|
|
25
|
+
|
|
20
26
|
&-top {
|
|
21
27
|
.set-popup-transform(translate(0, -100%));
|
|
22
28
|
}
|
|
29
|
+
|
|
23
30
|
&-bottom {
|
|
24
31
|
.set-popup-transform(translate(0, 100%));
|
|
25
32
|
}
|
|
26
33
|
}
|
|
27
|
-
|
|
34
|
+
|
|
35
|
+
&-content,
|
|
36
|
+
&-mask {
|
|
28
37
|
&[class*="-enter-active"] {
|
|
29
38
|
&.translateZ {
|
|
30
39
|
transform: translateZ(2PX);
|
|
31
40
|
}
|
|
41
|
+
|
|
32
42
|
transform: translate(0, 0);
|
|
33
43
|
.use-var(transition, popup-enter-transition);
|
|
34
44
|
}
|
|
35
45
|
}
|
|
46
|
+
|
|
36
47
|
[class*="-exit-active"] {
|
|
37
48
|
.use-var(transition, popup-exit-transition);
|
|
38
49
|
}
|
|
50
|
+
|
|
39
51
|
&-content {
|
|
52
|
+
&[class*="-enter-active"] {
|
|
53
|
+
transition-duration: var(--builtin-transition-popup-slide-enter-duration, 450ms);
|
|
54
|
+
}
|
|
55
|
+
&[class*="-exit-active"] {
|
|
56
|
+
transition-duration: var(--builtin-transition-popup-slide-exit-duration, 240ms);
|
|
57
|
+
}
|
|
40
58
|
&.need-bottom-offset {
|
|
59
|
+
padding-bottom: constant(safe-area-inset-bottom);
|
|
41
60
|
padding-bottom: env(safe-area-inset-bottom);
|
|
42
61
|
}
|
|
62
|
+
|
|
43
63
|
&.left {
|
|
44
64
|
left: 0;
|
|
45
65
|
top: 0;
|
|
46
66
|
height: 100%;
|
|
47
67
|
}
|
|
68
|
+
|
|
48
69
|
&.top {
|
|
49
70
|
left: 0;
|
|
50
71
|
top: 0;
|
|
51
72
|
width: 100%;
|
|
52
73
|
}
|
|
74
|
+
|
|
53
75
|
&.right {
|
|
54
76
|
right: 0;
|
|
55
77
|
top: 0;
|
|
56
78
|
height: 100%;
|
|
57
79
|
}
|
|
80
|
+
|
|
58
81
|
&.bottom {
|
|
59
82
|
left: 0;
|
|
60
83
|
bottom: 0;
|
|
61
84
|
width: 100%;
|
|
62
85
|
}
|
|
86
|
+
|
|
63
87
|
&.translateZ {
|
|
64
88
|
transform: translateZ(2PX);
|
|
65
89
|
}
|
|
90
|
+
|
|
66
91
|
.use-var(background, popup-content-background);
|
|
67
92
|
position: fixed;
|
|
68
|
-
z-index: @full-screen-z-index
|
|
93
|
+
z-index: @full-screen-z-index+1;
|
|
69
94
|
}
|
|
95
|
+
|
|
70
96
|
&-mask {
|
|
97
|
+
&[class*="-enter-active"] {
|
|
98
|
+
transition-duration: var(--builtin-transition-fade-enter-duration, 450ms);
|
|
99
|
+
}
|
|
100
|
+
&[class*="-exit-active"] {
|
|
101
|
+
transition-duration: var(--builtin-transition-fade-exit-duration, 240ms);
|
|
102
|
+
}
|
|
71
103
|
&.translateZ {
|
|
72
104
|
transform: translateZ(1PX);
|
|
73
105
|
}
|
|
106
|
+
|
|
74
107
|
position: fixed;
|
|
75
108
|
width: 100%;
|
|
76
109
|
height: 100%;
|
|
@@ -73,11 +73,11 @@ declare const _default: React.ForwardRefExoticComponent<PopupSwiperProps & React
|
|
|
73
73
|
* @param {string | PopupSwiperProps} config Configuration
|
|
74
74
|
* @returns {{ close: () => void; update: (newConfig: PopupSwiperProps) => void; }}
|
|
75
75
|
*/
|
|
76
|
-
open: (config: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "ref" | "className" | "children" | "direction" | "context" | "key" | "translateZ" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
|
|
76
|
+
open: (config: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "ref" | "className" | "children" | "direction" | "context" | "key" | "translateZ" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "contentTransitionVarType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
|
|
77
77
|
key?: string | undefined;
|
|
78
78
|
}, context?: import("../context-provider").GlobalContextParams | undefined) => {
|
|
79
79
|
close: () => void;
|
|
80
|
-
update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "ref" | "className" | "children" | "direction" | "context" | "key" | "translateZ" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
|
|
80
|
+
update: (newConfig: Pick<import("../context-provider").WithGlobalContext<PopupSwiperProps & React.RefAttributes<PopupSwiperRef>>, "ref" | "className" | "children" | "direction" | "context" | "key" | "translateZ" | "getScrollContainer" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "getContainer" | "mountOnEnter" | "unmountOnExit" | "onClose" | "maskClass" | "maskStyle" | "contentClass" | "contentStyle" | "maskTransitionType" | "contentTransitionType" | "contentTransitionVarType" | "maskTransitionTimeout" | "contentTransitionTimeout" | "maskClosable" | "animatingClosable" | "orientationDirection" | "preventBodyScroll" | "initialBodyOverflow" | "gestureOutOfControl" | "onOpen" | "onMaskClick" | "onPreventTouchMove" | "needBottomOffset" | "percentToClose" | "distanceToClose" | "speedToClose" | "allowSwipeDirections" | "exitDirection"> & {
|
|
81
81
|
key?: string | undefined;
|
|
82
82
|
}) => void;
|
|
83
83
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
|
3
|
-
var _excluded = ["className", "visible", "children", "maskStyle", "contentStyle", "direction", "percentToClose", "distanceToClose", "speedToClose", "allowSwipeDirections", "exitDirection", "onTouchMove", "onTouchStart", "onTouchEnd", "onOpen", "onClose", "close"];
|
|
3
|
+
var _excluded = ["className", "visible", "children", "maskStyle", "contentStyle", "direction", "percentToClose", "distanceToClose", "speedToClose", "allowSwipeDirections", "exitDirection", "onTouchMove", "onTouchStart", "onTouchEnd", "onOpen", "onClose", "close", "maskTransitionTimeout", "contentTransitionTimeout"];
|
|
4
4
|
import React, { useRef, forwardRef, useImperativeHandle, useCallback, useState, useEffect, useMemo } from 'react';
|
|
5
5
|
import { cls, componentWrapper, nextTick } from '@arco-design/mobile-utils';
|
|
6
6
|
import { ContextLayout, CompWithGlobalContext } from '../context-provider';
|
|
@@ -30,6 +30,16 @@ var PopupSwiper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
30
30
|
_onOpen = props.onOpen,
|
|
31
31
|
_onClose = props.onClose,
|
|
32
32
|
close = props.close,
|
|
33
|
+
_props$maskTransition = props.maskTransitionTimeout,
|
|
34
|
+
maskTransitionTimeout = _props$maskTransition === void 0 ? {
|
|
35
|
+
enter: 450,
|
|
36
|
+
exit: 240
|
|
37
|
+
} : _props$maskTransition,
|
|
38
|
+
_props$contentTransit = props.contentTransitionTimeout,
|
|
39
|
+
contentTransitionTimeout = _props$contentTransit === void 0 ? {
|
|
40
|
+
enter: 450,
|
|
41
|
+
exit: 240
|
|
42
|
+
} : _props$contentTransit,
|
|
33
43
|
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
|
34
44
|
|
|
35
45
|
var _useState = useState(visible),
|
|
@@ -178,7 +188,12 @@ var PopupSwiper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
178
188
|
setDistance({
|
|
179
189
|
direction: 'X',
|
|
180
190
|
value: 0
|
|
181
|
-
});
|
|
191
|
+
}); // 动画完成后需重置
|
|
192
|
+
// @en Reset after animation is complete
|
|
193
|
+
|
|
194
|
+
setTimeout(function () {
|
|
195
|
+
setHasTrans(false);
|
|
196
|
+
}, Math.max(typeof maskTransitionTimeout === 'number' ? maskTransitionTimeout : (maskTransitionTimeout == null ? void 0 : maskTransitionTimeout.exit) || 0, typeof contentTransitionTimeout === 'number' ? contentTransitionTimeout : (contentTransitionTimeout == null ? void 0 : contentTransitionTimeout.exit) || 0, 240));
|
|
182
197
|
}
|
|
183
198
|
|
|
184
199
|
touchStartTimeRef.current = 0;
|
|
@@ -243,7 +258,9 @@ var PopupSwiper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
243
258
|
maskStyle: _extends({}, maskStyle || {}, {
|
|
244
259
|
opacity: percent ? 1 - percent : void 0
|
|
245
260
|
}),
|
|
246
|
-
contentStyle: getContentStyle()
|
|
261
|
+
contentStyle: getContentStyle(),
|
|
262
|
+
maskTransitionTimeout: maskTransitionTimeout,
|
|
263
|
+
contentTransitionTimeout: contentTransitionTimeout
|
|
247
264
|
}, otherProps), children);
|
|
248
265
|
});
|
|
249
266
|
});
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
package/esm/tabs/index.js
CHANGED
|
@@ -363,13 +363,14 @@ var Tabs = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
363
363
|
cellRef.current && cellRef.current.scrollToCenter();
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
setCellTrans(true);
|
|
367
|
+
setPaneTrans(true);
|
|
368
|
+
|
|
366
369
|
if (!touchStartedRef.current || posAdjustingRef.current || scrollingRef.current || !touchMovedRef.current) {
|
|
367
370
|
return;
|
|
368
371
|
}
|
|
369
372
|
|
|
370
373
|
touchStartedRef.current = false;
|
|
371
|
-
setCellTrans(true);
|
|
372
|
-
setPaneTrans(true);
|
|
373
374
|
var touchEndTime = new Date().getTime();
|
|
374
375
|
var dis = distanceRef.current;
|
|
375
376
|
var speed = dis / (touchEndTime - touchStartTimeRef.current) * 1000;
|
|
@@ -503,7 +504,10 @@ var Tabs = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
503
504
|
renderTabBarInner: renderTabBarInner,
|
|
504
505
|
tabBarStyle: tabBarStyle,
|
|
505
506
|
tabBarClass: tabBarClass,
|
|
506
|
-
tabBarStopPropagation: tabBarStopPropagation
|
|
507
|
+
tabBarStopPropagation: tabBarStopPropagation,
|
|
508
|
+
onUnderlineFirstShow: function onUnderlineFirstShow() {
|
|
509
|
+
return setCellTrans(true);
|
|
510
|
+
}
|
|
507
511
|
}, commonProps);
|
|
508
512
|
|
|
509
513
|
var CellComp = /*#__PURE__*/React.createElement(TabCell, cellProps);
|
|
@@ -75,6 +75,24 @@
|
|
|
75
75
|
* }
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* 为属性设置 transition 变量
|
|
80
|
+
* @desc {en} set the transition variable for the attribute
|
|
81
|
+
* @param @transitionVariable transition 变量名
|
|
82
|
+
* @param @transitionVariable {en} transition variable name
|
|
83
|
+
* @param @backupVariable 备份变量名
|
|
84
|
+
* @param @backupVariable {en} backup variable name
|
|
85
|
+
* @param @property css属性名
|
|
86
|
+
* @param @property {en} css property
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* @import '@arco-design/mobile-react/style/mixin.less';
|
|
90
|
+
*
|
|
91
|
+
* .demo {
|
|
92
|
+
* .use-transition-var(builtin-transition-fade-enter-duration, transition-fade-duration);
|
|
93
|
+
* }
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
78
96
|
/**
|
|
79
97
|
* 在常规模式和 rtl 模式下为属性设置 arco 提供的 token 变量
|
|
80
98
|
* @desc {en} set the token variable provided by Arco for the attribute in regular mode and RTL mode
|
package/esm/tabs/tab-cell.js
CHANGED
|
@@ -51,7 +51,8 @@ var TabCell = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
51
51
|
tabBarStyle = props.tabBarStyle,
|
|
52
52
|
tabBarClass = props.tabBarClass,
|
|
53
53
|
translateZ = props.translateZ,
|
|
54
|
-
tabBarStopPropagation = props.tabBarStopPropagation
|
|
54
|
+
tabBarStopPropagation = props.tabBarStopPropagation,
|
|
55
|
+
onUnderlineFirstShow = props.onUnderlineFirstShow;
|
|
55
56
|
var prefix = prefixCls + "-tab-cell";
|
|
56
57
|
|
|
57
58
|
var _useContext = useContext(GlobalContext),
|
|
@@ -130,6 +131,13 @@ var TabCell = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
130
131
|
useEffect(function () {
|
|
131
132
|
updateScrollPosition();
|
|
132
133
|
}, [activeIndex, wrapSize]);
|
|
134
|
+
useEffect(function () {
|
|
135
|
+
// underline 首次展示时,通知父组件启用 cellTrans
|
|
136
|
+
// @en When underline is first shown, notify parent component to enable cellTrans
|
|
137
|
+
if (showLine && onUnderlineFirstShow) {
|
|
138
|
+
onUnderlineFirstShow();
|
|
139
|
+
}
|
|
140
|
+
}, [showLine]);
|
|
133
141
|
useUpdateEffect(function () {
|
|
134
142
|
var _underlineRef$current2;
|
|
135
143
|
|
package/esm/tabs/type.d.ts
CHANGED
|
@@ -533,6 +533,11 @@ export interface TabCellProps extends Pick<TabsProps, 'tabs' | 'type' | 'onTabCl
|
|
|
533
533
|
* @en Does the touch event of the current TabBar require stopPropagation
|
|
534
534
|
*/
|
|
535
535
|
tabBarStopPropagation: boolean;
|
|
536
|
+
/**
|
|
537
|
+
* underline 首次展示时的回调
|
|
538
|
+
* @en Callback when underline is first shown
|
|
539
|
+
*/
|
|
540
|
+
onUnderlineFirstShow?: () => void;
|
|
536
541
|
}
|
|
537
542
|
export interface TabCellRef {
|
|
538
543
|
/**
|