@nutui/nutui-react-taro 3.0.6 → 3.0.7
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 +34 -15
- package/dist/cjs/packages/actionsheet/style/style.css +4 -4
- package/dist/cjs/packages/address/style/style.css +4 -4
- package/dist/cjs/packages/audio/style/style.css +4 -16
- package/dist/cjs/packages/button/style/button.scss +4 -20
- package/dist/cjs/packages/button/style/style.css +4 -16
- package/dist/cjs/packages/button/style/style.harmony.css +2 -14
- package/dist/cjs/packages/calendar/style/style.css +4 -4
- package/dist/cjs/packages/cascader/style/style.css +4 -4
- package/dist/cjs/packages/collapse/style/style.css +22 -7
- package/dist/cjs/packages/collapseitem/collapseitem.js +63 -77
- package/dist/cjs/packages/collapseitem/style/collapseitem.scss +22 -5
- package/dist/cjs/packages/collapseitem/style/style.css +22 -7
- package/dist/cjs/packages/collapseitem/style/style.harmony.css +22 -7
- package/dist/cjs/packages/configprovider/types.d.ts +1 -1
- package/dist/cjs/packages/datepicker/style/style.css +4 -4
- package/dist/cjs/packages/dialog/content.d.ts +11 -3
- package/dist/cjs/packages/dialog/content.js +4 -4
- package/dist/cjs/packages/dialog/dialog.d.ts +39 -4
- package/dist/cjs/packages/dialog/dialog.js +14 -13
- package/dist/cjs/packages/dialog/index.d.ts +1 -1
- package/dist/cjs/packages/dialog/style/style.css +4 -16
- package/dist/cjs/packages/empty/style/style.css +4 -16
- package/dist/cjs/packages/imagepreview/style/style.css +4 -4
- package/dist/cjs/packages/numberkeyboard/style/style.css +4 -4
- package/dist/cjs/packages/picker/style/style.css +4 -4
- package/dist/cjs/packages/popover/popover.d.ts +0 -7
- package/dist/cjs/packages/popover/popover.js +114 -141
- package/dist/cjs/packages/popover/style/popover.scss +48 -51
- package/dist/cjs/packages/popover/style/style.css +64 -70
- package/dist/cjs/packages/popover/style/style.harmony.css +64 -60
- package/dist/cjs/packages/popup/style/popup.scss +4 -4
- package/dist/cjs/packages/popup/style/style.css +4 -4
- package/dist/cjs/packages/popup/style/style.harmony.css +4 -4
- package/dist/cjs/packages/resultpage/style/style.css +4 -16
- package/dist/cjs/packages/shortpassword/style/style.css +4 -4
- package/dist/cjs/packages/switch/switch.js +2 -2
- package/dist/cjs/packages/tabpane/tabpane.js +2 -2
- package/dist/cjs/packages/timeselect/style/style.css +4 -4
- package/dist/cjs/packages/tour/style/style.css +64 -70
- package/dist/cjs/packages/tour/tour.js +3 -4
- package/dist/cjs/types/spec/dialog/base.d.ts +50 -1
- package/dist/cjs/types/spec/dialog/base.js +7 -0
- package/dist/cjs/types/spec/dialog/h5.d.ts +4 -1
- package/dist/cjs/types/spec/dialog/taro.d.ts +8 -2
- package/dist/cjs/types/spec/popover/base.d.ts +7 -0
- package/dist/cjs/utils/get-rect-by-taro.js +10 -0
- package/dist/cjs/utils/lru.d.ts +8 -0
- package/dist/cjs/utils/lru.js +58 -0
- package/dist/es/packages/actionsheet/style/style.css +4 -4
- package/dist/es/packages/address/style/style.css +4 -4
- package/dist/es/packages/audio/style/style.css +4 -16
- package/dist/es/packages/button/style/button.scss +4 -20
- package/dist/es/packages/button/style/style.css +4 -16
- package/dist/es/packages/button/style/style.harmony.css +2 -14
- package/dist/es/packages/calendar/style/style.css +4 -4
- package/dist/es/packages/cascader/style/style.css +4 -4
- package/dist/es/packages/collapse/style/style.css +22 -7
- package/dist/es/packages/collapseitem/collapseitem.js +65 -79
- package/dist/es/packages/collapseitem/style/collapseitem.scss +22 -5
- package/dist/es/packages/collapseitem/style/style.css +22 -7
- package/dist/es/packages/collapseitem/style/style.harmony.css +22 -7
- package/dist/es/packages/configprovider/types.d.ts +1 -1
- package/dist/es/packages/datepicker/style/style.css +4 -4
- package/dist/es/packages/dialog/content.d.ts +11 -3
- package/dist/es/packages/dialog/content.js +4 -4
- package/dist/es/packages/dialog/dialog.d.ts +39 -4
- package/dist/es/packages/dialog/dialog.js +14 -13
- package/dist/es/packages/dialog/index.d.ts +1 -1
- package/dist/es/packages/dialog/style/style.css +4 -16
- package/dist/es/packages/empty/style/style.css +4 -16
- package/dist/es/packages/imagepreview/style/style.css +4 -4
- package/dist/es/packages/numberkeyboard/style/style.css +4 -4
- package/dist/es/packages/picker/style/style.css +4 -4
- package/dist/es/packages/popover/popover.d.ts +0 -7
- package/dist/es/packages/popover/popover.js +115 -142
- package/dist/es/packages/popover/style/popover.scss +48 -51
- package/dist/es/packages/popover/style/style.css +64 -70
- package/dist/es/packages/popover/style/style.harmony.css +64 -60
- package/dist/es/packages/popup/style/popup.scss +4 -4
- package/dist/es/packages/popup/style/style.css +4 -4
- package/dist/es/packages/popup/style/style.harmony.css +4 -4
- package/dist/es/packages/resultpage/style/style.css +4 -16
- package/dist/es/packages/shortpassword/style/style.css +4 -4
- package/dist/es/packages/switch/switch.js +2 -2
- package/dist/es/packages/tabpane/tabpane.js +2 -2
- package/dist/es/packages/timeselect/style/style.css +4 -4
- package/dist/es/packages/tour/style/style.css +64 -70
- package/dist/es/packages/tour/tour.js +3 -4
- package/dist/es/types/spec/dialog/base.d.ts +83 -1
- package/dist/es/types/spec/dialog/base.js +1 -1
- package/dist/es/types/spec/dialog/h5.d.ts +4 -1
- package/dist/es/types/spec/dialog/taro.d.ts +8 -2
- package/dist/es/types/spec/popover/base.d.ts +7 -0
- package/dist/es/utils/get-rect-by-taro.js +9 -0
- package/dist/es/utils/lru.d.ts +8 -0
- package/dist/es/utils/lru.js +49 -0
- package/dist/nutui.react.umd.js +266 -260
- package/dist/style.css +1 -1
- package/dist/style.scss +46 -46
- package/dist/styles/theme-jmapp.scss +1 -0
- package/dist/styles/themes/jmapp.css +1 -1
- package/dist/styles/variables-jmapp.scss +214 -49
- package/dist/styles/variables-jrkf.scss +2 -13
- package/dist/styles/variables.scss +3 -14
- package/package.json +1 -1
- package/dist/cjs/packages/dialog/types.d.ts +0 -57
- package/dist/cjs/packages/dialog/types.js +0 -4
- package/dist/cjs/packages/dialog/types.taro.d.ts +0 -10
- package/dist/es/packages/dialog/types.d.ts +0 -57
- package/dist/es/packages/dialog/types.js +0 -1
- package/dist/es/packages/dialog/types.taro.d.ts +0 -10
|
@@ -101,22 +101,6 @@
|
|
|
101
101
|
|
|
102
102
|
&-round {
|
|
103
103
|
border-radius: $button-border-radius;
|
|
104
|
-
|
|
105
|
-
&-xlarge {
|
|
106
|
-
border-radius: $button-xlarge-border-radius;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
&-large {
|
|
110
|
-
border-radius: $button-large-border-radius;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
&-small {
|
|
114
|
-
border-radius: $button-small-border-radius;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&-mini {
|
|
118
|
-
border-radius: $button-mini-border-radius;
|
|
119
|
-
}
|
|
120
104
|
}
|
|
121
105
|
|
|
122
106
|
&-default {
|
|
@@ -155,7 +139,7 @@
|
|
|
155
139
|
height: $button-xlarge-height;
|
|
156
140
|
padding: $button-xlarge-padding;
|
|
157
141
|
font-size: $button-xlarge-font-size;
|
|
158
|
-
border-radius: $radius
|
|
142
|
+
border-radius: $button-xlarge-border-radius;
|
|
159
143
|
|
|
160
144
|
.nut-button-text {
|
|
161
145
|
margin-left: $button-xlarge-text-icon-margin;
|
|
@@ -178,7 +162,7 @@
|
|
|
178
162
|
height: $button-large-height;
|
|
179
163
|
padding: $button-large-padding;
|
|
180
164
|
font-size: $button-large-font-size;
|
|
181
|
-
border-radius: $radius
|
|
165
|
+
border-radius: $button-large-border-radius;
|
|
182
166
|
|
|
183
167
|
.nut-button-text {
|
|
184
168
|
margin-left: $button-xlarge-text-icon-margin;
|
|
@@ -202,7 +186,7 @@
|
|
|
202
186
|
height: $button-small-height;
|
|
203
187
|
padding: $button-small-padding;
|
|
204
188
|
font-size: $button-small-font-size;
|
|
205
|
-
border-radius: $radius
|
|
189
|
+
border-radius: $button-small-border-radius;
|
|
206
190
|
|
|
207
191
|
.nut-icon {
|
|
208
192
|
font-size: $button-small-font-size;
|
|
@@ -219,7 +203,7 @@
|
|
|
219
203
|
height: $button-mini-height;
|
|
220
204
|
padding: $button-mini-padding;
|
|
221
205
|
font-size: $button-mini-font-size;
|
|
222
|
-
border-radius: $radius
|
|
206
|
+
border-radius: $button-mini-border-radius;
|
|
223
207
|
|
|
224
208
|
.nut-icon {
|
|
225
209
|
font-size: $button-mini-font-size;
|
|
@@ -94,18 +94,6 @@
|
|
|
94
94
|
.nut-button-round {
|
|
95
95
|
border-radius: var(--nutui-button-border-radius, var(--nutui-radius-s, 6px));
|
|
96
96
|
}
|
|
97
|
-
.nut-button-round-xlarge {
|
|
98
|
-
border-radius: var(--nutui-button-xlarge-border-radius, var(--nutui-radius-base, 8px));
|
|
99
|
-
}
|
|
100
|
-
.nut-button-round-large {
|
|
101
|
-
border-radius: var(--nutui-button-large-border-radius, var(--nutui-radius-base, 8px));
|
|
102
|
-
}
|
|
103
|
-
.nut-button-round-small {
|
|
104
|
-
border-radius: var(--nutui-button-small-border-radius, var(--nutui-radius-s, 6px));
|
|
105
|
-
}
|
|
106
|
-
.nut-button-round-mini {
|
|
107
|
-
border-radius: var(--nutui-button-mini-border-radius, var(--nutui-radius-xs, 4px));
|
|
108
|
-
}
|
|
109
97
|
.nut-button-default {
|
|
110
98
|
padding: var(--nutui-button-default-padding, 0px 12px);
|
|
111
99
|
border-style: solid;
|
|
@@ -131,7 +119,7 @@
|
|
|
131
119
|
height: var(--nutui-button-xlarge-height, 48px);
|
|
132
120
|
padding: var(--nutui-button-xlarge-padding, 0px 24px);
|
|
133
121
|
font-size: var(--nutui-button-xlarge-font-size, var(--nutui-font-size-xl, 18px));
|
|
134
|
-
border-radius: var(--nutui-radius-base, 8px);
|
|
122
|
+
border-radius: var(--nutui-button-xlarge-border-radius, var(--nutui-radius-base, 8px));
|
|
135
123
|
}
|
|
136
124
|
.nut-button-xlarge .nut-button-text {
|
|
137
125
|
margin-left: var(--nutui-button-xlarge-text-icon-margin, 6px);
|
|
@@ -151,7 +139,7 @@
|
|
|
151
139
|
height: var(--nutui-button-large-height, 40px);
|
|
152
140
|
padding: var(--nutui-button-large-padding, 0px 16px);
|
|
153
141
|
font-size: var(--nutui-button-large-font-size, var(--nutui-font-size-l, 16px));
|
|
154
|
-
border-radius: var(--nutui-radius-
|
|
142
|
+
border-radius: var(--nutui-button-large-border-radius, var(--nutui-radius-base, 8px));
|
|
155
143
|
}
|
|
156
144
|
.nut-button-large .nut-button-text {
|
|
157
145
|
margin-left: var(--nutui-button-xlarge-text-icon-margin, 6px);
|
|
@@ -171,7 +159,7 @@
|
|
|
171
159
|
height: var(--nutui-button-small-height, 28px);
|
|
172
160
|
padding: var(--nutui-button-small-padding, 0px 8px);
|
|
173
161
|
font-size: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
|
|
174
|
-
border-radius: var(--nutui-radius-
|
|
162
|
+
border-radius: var(--nutui-button-small-border-radius, var(--nutui-radius-s, 6px));
|
|
175
163
|
}
|
|
176
164
|
.nut-button-small .nut-icon {
|
|
177
165
|
font-size: var(--nutui-button-small-font-size, var(--nutui-font-size-s, 12px));
|
|
@@ -185,7 +173,7 @@
|
|
|
185
173
|
height: var(--nutui-button-mini-height, 24px);
|
|
186
174
|
padding: var(--nutui-button-mini-padding, 0px 8px);
|
|
187
175
|
font-size: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
|
|
188
|
-
border-radius: var(--nutui-radius-xs, 4px);
|
|
176
|
+
border-radius: var(--nutui-button-mini-border-radius, var(--nutui-radius-xs, 4px));
|
|
189
177
|
}
|
|
190
178
|
.nut-button-mini .nut-icon {
|
|
191
179
|
font-size: var(--nutui-button-mini-font-size, var(--nutui-font-size-xs, 11px));
|
|
@@ -94,18 +94,6 @@
|
|
|
94
94
|
.nut-button-round {
|
|
95
95
|
border-radius: 6px;
|
|
96
96
|
}
|
|
97
|
-
.nut-button-round-xlarge {
|
|
98
|
-
border-radius: 8px;
|
|
99
|
-
}
|
|
100
|
-
.nut-button-round-large {
|
|
101
|
-
border-radius: 8px;
|
|
102
|
-
}
|
|
103
|
-
.nut-button-round-small {
|
|
104
|
-
border-radius: 6px;
|
|
105
|
-
}
|
|
106
|
-
.nut-button-round-mini {
|
|
107
|
-
border-radius: 4px;
|
|
108
|
-
}
|
|
109
97
|
.nut-button-default {
|
|
110
98
|
padding: 0px 12px;
|
|
111
99
|
border-style: solid;
|
|
@@ -161,7 +149,7 @@
|
|
|
161
149
|
height: 40px;
|
|
162
150
|
padding: 0px 16px;
|
|
163
151
|
font-size: 16px;
|
|
164
|
-
border-radius:
|
|
152
|
+
border-radius: 8px;
|
|
165
153
|
}
|
|
166
154
|
.nut-button-large .nut-button-text {
|
|
167
155
|
margin-left: 6px;
|
|
@@ -181,7 +169,7 @@
|
|
|
181
169
|
height: 28px;
|
|
182
170
|
padding: 0px 8px;
|
|
183
171
|
font-size: 12px;
|
|
184
|
-
border-radius:
|
|
172
|
+
border-radius: 6px;
|
|
185
173
|
}
|
|
186
174
|
.nut-button-small .nut-icon {
|
|
187
175
|
font-size: 12px;
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
|
|
61
61
|
.nut-popup {
|
|
62
62
|
position: fixed;
|
|
63
|
-
min-height:
|
|
63
|
+
min-height: 26%;
|
|
64
64
|
max-height: 100%;
|
|
65
65
|
background-color: var(--nutui-overlay-content-bg-color, var(--nutui-color-background-overlay, #ffffff));
|
|
66
66
|
-webkit-overflow-scrolling: touch;
|
|
@@ -198,12 +198,12 @@
|
|
|
198
198
|
transform: scale(0.8);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
|
-
.nut-popup-slide-
|
|
201
|
+
.nut-popup-slide-none-enter-active {
|
|
202
202
|
animation-fill-mode: both;
|
|
203
203
|
animation-name: popup-scale-fade-in;
|
|
204
204
|
animation-duration: var(--nutui-popup-animation-duration, 0.3s);
|
|
205
205
|
}
|
|
206
|
-
.nut-popup-slide-
|
|
206
|
+
.nut-popup-slide-none-exit-active {
|
|
207
207
|
animation-fill-mode: both;
|
|
208
208
|
animation-name: popup-scale-fade-out;
|
|
209
209
|
animation-duration: var(--nutui-popup-animation-duration, 0.3s);
|
|
@@ -330,7 +330,7 @@
|
|
|
330
330
|
animation-name: popup-slide-left-exit;
|
|
331
331
|
animation-duration: var(--nutui-popup-animation-duration, 0.3s);
|
|
332
332
|
}
|
|
333
|
-
.nut-popup-slide-
|
|
333
|
+
.nut-popup-slide-none-exit-done.nut-popup, .nut-popup-slide-center-exit-done.nut-popup, .nut-popup-slide-left-exit-done.nut-popup, .nut-popup-slide-right-exit-done.nut-popup, .nut-popup-slide-top-exit-done.nut-popup, .nut-popup-slide-bottom-exit-done.nut-popup {
|
|
334
334
|
display: none;
|
|
335
335
|
}
|
|
336
336
|
.nut-popup .nut-overflow-hidden {
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
|
|
61
61
|
.nut-popup {
|
|
62
62
|
position: fixed;
|
|
63
|
-
min-height:
|
|
63
|
+
min-height: 26%;
|
|
64
64
|
max-height: 100%;
|
|
65
65
|
background-color: var(--nutui-overlay-content-bg-color, var(--nutui-color-background-overlay, #ffffff));
|
|
66
66
|
-webkit-overflow-scrolling: touch;
|
|
@@ -198,12 +198,12 @@
|
|
|
198
198
|
transform: scale(0.8);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
|
-
.nut-popup-slide-
|
|
201
|
+
.nut-popup-slide-none-enter-active {
|
|
202
202
|
animation-fill-mode: both;
|
|
203
203
|
animation-name: popup-scale-fade-in;
|
|
204
204
|
animation-duration: var(--nutui-popup-animation-duration, 0.3s);
|
|
205
205
|
}
|
|
206
|
-
.nut-popup-slide-
|
|
206
|
+
.nut-popup-slide-none-exit-active {
|
|
207
207
|
animation-fill-mode: both;
|
|
208
208
|
animation-name: popup-scale-fade-out;
|
|
209
209
|
animation-duration: var(--nutui-popup-animation-duration, 0.3s);
|
|
@@ -330,7 +330,7 @@
|
|
|
330
330
|
animation-name: popup-slide-left-exit;
|
|
331
331
|
animation-duration: var(--nutui-popup-animation-duration, 0.3s);
|
|
332
332
|
}
|
|
333
|
-
.nut-popup-slide-
|
|
333
|
+
.nut-popup-slide-none-exit-done.nut-popup, .nut-popup-slide-center-exit-done.nut-popup, .nut-popup-slide-left-exit-done.nut-popup, .nut-popup-slide-right-exit-done.nut-popup, .nut-popup-slide-top-exit-done.nut-popup, .nut-popup-slide-bottom-exit-done.nut-popup {
|
|
334
334
|
display: none;
|
|
335
335
|
}
|
|
336
336
|
.nut-popup .nut-overflow-hidden {
|
|
@@ -40,8 +40,12 @@
|
|
|
40
40
|
left: 16px;
|
|
41
41
|
bottom: 0;
|
|
42
42
|
border-bottom: var(--nutui-collapse-item-header-border-bottom, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
|
|
43
|
-
|
|
44
|
-
transform:
|
|
43
|
+
/* #ifdef harmony */
|
|
44
|
+
transform: scale(1, 1);
|
|
45
|
+
/* #endif */
|
|
46
|
+
/* #ifndef harmony */
|
|
47
|
+
transform: scale(1, 0.5);
|
|
48
|
+
/* #endif */
|
|
45
49
|
}
|
|
46
50
|
.nut-collapse-item-title {
|
|
47
51
|
color: var(--nutui-collapse-item-color, var(--nutui-color-title, #1a1a1a));
|
|
@@ -74,23 +78,34 @@
|
|
|
74
78
|
transform-origin: center;
|
|
75
79
|
transition: transform 0.3s;
|
|
76
80
|
}
|
|
77
|
-
.nut-collapse-item-header
|
|
81
|
+
.nut-collapse-item-header-disabled {
|
|
78
82
|
color: var(--nutui-collapse-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
79
83
|
}
|
|
80
|
-
.nut-collapse-item-header
|
|
84
|
+
.nut-collapse-item-header-disabled .nut-collapse-item-title {
|
|
81
85
|
color: var(--nutui-collapse-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
82
86
|
}
|
|
83
|
-
.nut-collapse-item-header
|
|
87
|
+
.nut-collapse-item-header-disabled .nut-collapse-item-icon {
|
|
84
88
|
color: var(--nutui-collapse-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
85
89
|
}
|
|
86
|
-
.nut-collapse-item-content {
|
|
90
|
+
.nut-collapse-item-content-wrapper {
|
|
91
|
+
width: 100%;
|
|
92
|
+
position: relative;
|
|
93
|
+
box-sizing: border-box;
|
|
87
94
|
overflow: hidden;
|
|
95
|
+
}
|
|
96
|
+
.nut-collapse-item-content-wrapper-tran {
|
|
97
|
+
transition: all 0.3s linear;
|
|
98
|
+
}
|
|
99
|
+
.nut-collapse-item-content {
|
|
88
100
|
display: block;
|
|
101
|
+
position: absolute;
|
|
102
|
+
height: auto;
|
|
103
|
+
width: 100%;
|
|
104
|
+
box-sizing: border-box;
|
|
89
105
|
color: var(--nutui-collapse-wrapper-content-color, var(--nutui-color-text, #505259));
|
|
90
106
|
font-size: var(--nutui-collapse-wrapper-content-font-size, var(--nutui-font-size-base, 14px));
|
|
91
107
|
line-height: var(--nutui-collapse-wrapper-content-line-height, 1.5);
|
|
92
108
|
background-color: var(--nutui-collapse-wrapper-content-background-color, var(--nutui-color-background-overlay, #ffffff));
|
|
93
|
-
transition: all 0.3s linear;
|
|
94
109
|
}
|
|
95
110
|
.nut-collapse-item-content-text {
|
|
96
111
|
color: var(--nutui-collapse-wrapper-content-color, var(--nutui-color-text, #505259));
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
1
3
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
4
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
3
5
|
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
4
6
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
5
|
-
import
|
|
7
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
8
|
+
import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
6
9
|
import { View } from "@tarojs/components";
|
|
7
10
|
import classNames from "classnames";
|
|
8
|
-
import {
|
|
11
|
+
import { nextTick } from "@tarojs/taro";
|
|
9
12
|
import { ComponentDefaults } from "../../utils/typings";
|
|
10
13
|
import CollapseContext from "../collapse/context";
|
|
14
|
+
import { getRectByTaro } from "../../utils/get-rect-by-taro";
|
|
15
|
+
import useUuid from "../../hooks/use-uuid";
|
|
16
|
+
import { useRefState } from "../../hooks/use-ref-state";
|
|
11
17
|
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
12
18
|
title: null,
|
|
13
19
|
name: '',
|
|
@@ -31,10 +37,8 @@ export var CollapseItem = function(props) {
|
|
|
31
37
|
var context = useContext(CollapseContext);
|
|
32
38
|
var wrapperRef = useRef(null);
|
|
33
39
|
var contentRef = useRef(null);
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
}), 1), refRandomId = _useState[0];
|
|
37
|
-
var target = "#nut-collapse-content-".concat(refRandomId);
|
|
40
|
+
var uid = useUuid();
|
|
41
|
+
var target = "nut-collapse-content-".concat(uid);
|
|
38
42
|
var expanded = useMemo(function() {
|
|
39
43
|
if (context) {
|
|
40
44
|
return context.isOpen(name);
|
|
@@ -54,83 +58,64 @@ export var CollapseItem = function(props) {
|
|
|
54
58
|
expanded,
|
|
55
59
|
rotate
|
|
56
60
|
]);
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
61
|
+
var _useState = _sliced_to_array(useState(0), 2), tran = _useState[0], setTran = _useState[1];
|
|
62
|
+
var _useRefState = _sliced_to_array(useRefState(0), 2), currentHeight = _useRefState[0], setCurrentHeight = _useRefState[1];
|
|
63
|
+
var _useState1 = _sliced_to_array(useState(0), 2), wrapperHeight = _useState1[0], setWrapperHeight = _useState1[1];
|
|
64
|
+
var updateRectHeight = /*#__PURE__*/ function() {
|
|
65
|
+
var _ref = _async_to_generator(function() {
|
|
66
|
+
var res;
|
|
67
|
+
return _ts_generator(this, function(_state) {
|
|
68
|
+
switch(_state.label){
|
|
69
|
+
case 0:
|
|
70
|
+
return [
|
|
71
|
+
4,
|
|
72
|
+
getRectByTaro(contentRef.current, target)
|
|
73
|
+
];
|
|
74
|
+
case 1:
|
|
75
|
+
res = _state.sent();
|
|
76
|
+
if (res === null || res === void 0 ? void 0 : res.height) {
|
|
77
|
+
setCurrentHeight(res.height);
|
|
78
|
+
setWrapperHeight(expanded ? res.height : 0);
|
|
79
|
+
nextTick(function() {
|
|
80
|
+
setTran(1);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return [
|
|
84
|
+
2
|
|
85
|
+
];
|
|
86
|
+
}
|
|
73
87
|
});
|
|
74
88
|
});
|
|
75
|
-
|
|
89
|
+
return function updateRectHeight() {
|
|
90
|
+
return _ref.apply(this, arguments);
|
|
91
|
+
};
|
|
92
|
+
}();
|
|
76
93
|
useEffect(function() {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
setCurrentHeight("".concat(res.height, "px"));
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}, 200);
|
|
94
|
+
nextTick(function() {
|
|
95
|
+
updateRectHeight();
|
|
96
|
+
});
|
|
84
97
|
}, [
|
|
85
|
-
children
|
|
98
|
+
children,
|
|
99
|
+
expanded
|
|
86
100
|
]);
|
|
87
|
-
useEffect(function() {
|
|
88
|
-
setTimeout(function() {
|
|
89
|
-
getRect(target).then(function(res) {
|
|
90
|
-
if (res === null || res === void 0 ? void 0 : res.height) {
|
|
91
|
-
setCurrentHeight("".concat(res.height, "px"));
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}, 100);
|
|
95
|
-
}, []);
|
|
96
101
|
var toggle = function() {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
clearTimeout(timer);
|
|
100
|
-
setTimer(timer);
|
|
101
|
-
}
|
|
102
|
-
var start = expanded ? '0px' : currentHeight;
|
|
103
|
-
var end = expanded ? currentHeight : '0px';
|
|
104
|
-
inAnimation.current = true;
|
|
105
|
-
setWrapperHeight(start);
|
|
106
|
-
setTimeout(function() {
|
|
107
|
-
setWrapperHeight(end);
|
|
108
|
-
inAnimation.current = false;
|
|
109
|
-
if (expanded) {
|
|
110
|
-
var timer = setTimeout(function() {
|
|
111
|
-
setWrapperHeight('auto');
|
|
112
|
-
}, 300);
|
|
113
|
-
setTimer(timer);
|
|
114
|
-
}
|
|
115
|
-
}, 100);
|
|
102
|
+
var end = !expanded ? currentHeight.current : 0;
|
|
103
|
+
setWrapperHeight(end);
|
|
116
104
|
};
|
|
117
|
-
var
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
105
|
+
var handleClick = function() {
|
|
106
|
+
if (!disabled) {
|
|
107
|
+
context.updateValue(name);
|
|
108
|
+
setTimeout(function() {
|
|
109
|
+
toggle();
|
|
110
|
+
}, 150);
|
|
123
111
|
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
]);
|
|
112
|
+
};
|
|
113
|
+
var _obj;
|
|
127
114
|
return /*#__PURE__*/ React.createElement("div", _object_spread({
|
|
128
115
|
className: classNames(classPrefix, className),
|
|
129
116
|
style: style
|
|
130
117
|
}, rest), /*#__PURE__*/ React.createElement(View, {
|
|
131
|
-
className: classNames("".concat(classPrefix, "-header"), {
|
|
132
|
-
disabled: disabled
|
|
133
|
-
}),
|
|
118
|
+
className: classNames("".concat(classPrefix, "-header"), _define_property({}, "".concat(classPrefix, "-header-disabled"), disabled)),
|
|
134
119
|
onClick: handleClick
|
|
135
120
|
}, /*#__PURE__*/ React.createElement(View, {
|
|
136
121
|
className: "".concat(classPrefix, "-title")
|
|
@@ -142,16 +127,17 @@ export var CollapseItem = function(props) {
|
|
|
142
127
|
className: "".concat(classPrefix, "-icon"),
|
|
143
128
|
style: iconStyle
|
|
144
129
|
}, expandIcon || context.expandIcon))), /*#__PURE__*/ React.createElement(View, {
|
|
145
|
-
className: "".concat(classPrefix, "-content"),
|
|
146
|
-
|
|
147
|
-
style: {
|
|
148
|
-
willChange: 'height',
|
|
130
|
+
className: classNames((_obj = {}, _define_property(_obj, "".concat(classPrefix, "-content-wrapper"), true), _define_property(_obj, "".concat(classPrefix, "-content-wrapper-tran"), true), _obj)),
|
|
131
|
+
style: tran ? {
|
|
149
132
|
height: wrapperHeight
|
|
150
|
-
}
|
|
133
|
+
} : {},
|
|
134
|
+
ref: wrapperRef
|
|
151
135
|
}, /*#__PURE__*/ React.createElement(View, {
|
|
136
|
+
className: "".concat(classPrefix, "-content"),
|
|
152
137
|
ref: contentRef,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
138
|
+
id: target
|
|
139
|
+
}, /*#__PURE__*/ React.createElement(View, {
|
|
140
|
+
className: "".concat(classPrefix, "-content-text")
|
|
141
|
+
}, children))));
|
|
156
142
|
};
|
|
157
143
|
CollapseItem.displayName = 'NutCollapseItem';
|
|
@@ -38,8 +38,12 @@
|
|
|
38
38
|
left: 16px;
|
|
39
39
|
bottom: 0;
|
|
40
40
|
border-bottom: $collapse-item-header-border-bottom;
|
|
41
|
-
|
|
42
|
-
transform:
|
|
41
|
+
/* #ifdef harmony */
|
|
42
|
+
transform: scale(1, 1);
|
|
43
|
+
/* #endif */
|
|
44
|
+
/* #ifndef harmony */
|
|
45
|
+
transform: scale(1, 0.5);
|
|
46
|
+
/* #endif */
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
|
|
@@ -78,7 +82,7 @@
|
|
|
78
82
|
transition: transform 0.3s;
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
&-header
|
|
85
|
+
&-header-disabled {
|
|
82
86
|
color: $collapse-item-disabled-color;
|
|
83
87
|
|
|
84
88
|
.nut-collapse-item-title {
|
|
@@ -90,14 +94,26 @@
|
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
|
|
93
|
-
&-content {
|
|
97
|
+
&-content-wrapper {
|
|
98
|
+
width: 100%;
|
|
99
|
+
position: relative;
|
|
100
|
+
box-sizing: border-box;
|
|
94
101
|
overflow: hidden;
|
|
102
|
+
&-tran {
|
|
103
|
+
transition: all 0.3s linear;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&-content {
|
|
95
108
|
display: block;
|
|
109
|
+
position: absolute;
|
|
110
|
+
height: auto;
|
|
111
|
+
width: 100%;
|
|
112
|
+
box-sizing: border-box;
|
|
96
113
|
color: $collapse-wrapper-content-color;
|
|
97
114
|
font-size: $collapse-wrapper-content-font-size;
|
|
98
115
|
line-height: $collapse-wrapper-content-line-height;
|
|
99
116
|
background-color: $collapse-wrapper-content-background-color;
|
|
100
|
-
transition: all 0.3s linear;
|
|
101
117
|
|
|
102
118
|
&-text {
|
|
103
119
|
color: $collapse-wrapper-content-color;
|
|
@@ -105,6 +121,7 @@
|
|
|
105
121
|
}
|
|
106
122
|
}
|
|
107
123
|
}
|
|
124
|
+
|
|
108
125
|
[dir='rtl'] .nut-collapse-item,
|
|
109
126
|
.nut-rtl .nut-collapse-item {
|
|
110
127
|
&-icon {
|
|
@@ -40,8 +40,12 @@
|
|
|
40
40
|
left: 16px;
|
|
41
41
|
bottom: 0;
|
|
42
42
|
border-bottom: var(--nutui-collapse-item-header-border-bottom, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
|
|
43
|
-
|
|
44
|
-
transform:
|
|
43
|
+
/* #ifdef harmony */
|
|
44
|
+
transform: scale(1, 1);
|
|
45
|
+
/* #endif */
|
|
46
|
+
/* #ifndef harmony */
|
|
47
|
+
transform: scale(1, 0.5);
|
|
48
|
+
/* #endif */
|
|
45
49
|
}
|
|
46
50
|
.nut-collapse-item-title {
|
|
47
51
|
color: var(--nutui-collapse-item-color, var(--nutui-color-title, #1a1a1a));
|
|
@@ -74,23 +78,34 @@
|
|
|
74
78
|
transform-origin: center;
|
|
75
79
|
transition: transform 0.3s;
|
|
76
80
|
}
|
|
77
|
-
.nut-collapse-item-header
|
|
81
|
+
.nut-collapse-item-header-disabled {
|
|
78
82
|
color: var(--nutui-collapse-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
79
83
|
}
|
|
80
|
-
.nut-collapse-item-header
|
|
84
|
+
.nut-collapse-item-header-disabled .nut-collapse-item-title {
|
|
81
85
|
color: var(--nutui-collapse-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
82
86
|
}
|
|
83
|
-
.nut-collapse-item-header
|
|
87
|
+
.nut-collapse-item-header-disabled .nut-collapse-item-icon {
|
|
84
88
|
color: var(--nutui-collapse-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
85
89
|
}
|
|
86
|
-
.nut-collapse-item-content {
|
|
90
|
+
.nut-collapse-item-content-wrapper {
|
|
91
|
+
width: 100%;
|
|
92
|
+
position: relative;
|
|
93
|
+
box-sizing: border-box;
|
|
87
94
|
overflow: hidden;
|
|
95
|
+
}
|
|
96
|
+
.nut-collapse-item-content-wrapper-tran {
|
|
97
|
+
transition: all 0.3s linear;
|
|
98
|
+
}
|
|
99
|
+
.nut-collapse-item-content {
|
|
88
100
|
display: block;
|
|
101
|
+
position: absolute;
|
|
102
|
+
height: auto;
|
|
103
|
+
width: 100%;
|
|
104
|
+
box-sizing: border-box;
|
|
89
105
|
color: var(--nutui-collapse-wrapper-content-color, var(--nutui-color-text, #505259));
|
|
90
106
|
font-size: var(--nutui-collapse-wrapper-content-font-size, var(--nutui-font-size-base, 14px));
|
|
91
107
|
line-height: var(--nutui-collapse-wrapper-content-line-height, 1.5);
|
|
92
108
|
background-color: var(--nutui-collapse-wrapper-content-background-color, var(--nutui-color-background-overlay, #ffffff));
|
|
93
|
-
transition: all 0.3s linear;
|
|
94
109
|
}
|
|
95
110
|
.nut-collapse-item-content-text {
|
|
96
111
|
color: var(--nutui-collapse-wrapper-content-color, var(--nutui-color-text, #505259));
|
|
@@ -40,8 +40,12 @@
|
|
|
40
40
|
left: 16px;
|
|
41
41
|
bottom: 0;
|
|
42
42
|
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
|
|
43
|
-
|
|
44
|
-
transform:
|
|
43
|
+
/* #ifdef harmony */
|
|
44
|
+
transform: scale(1, 1);
|
|
45
|
+
/* #endif */
|
|
46
|
+
/* #ifndef harmony */
|
|
47
|
+
transform: scale(1, 0.5);
|
|
48
|
+
/* #endif */
|
|
45
49
|
}
|
|
46
50
|
.nut-collapse-item-title {
|
|
47
51
|
color: #1a1a1a;
|
|
@@ -74,23 +78,34 @@
|
|
|
74
78
|
transform-origin: center;
|
|
75
79
|
transition: transform 0.3s;
|
|
76
80
|
}
|
|
77
|
-
.nut-collapse-item-header
|
|
81
|
+
.nut-collapse-item-header-disabled {
|
|
78
82
|
color: #c2c4cc;
|
|
79
83
|
}
|
|
80
|
-
.nut-collapse-item-header
|
|
84
|
+
.nut-collapse-item-header-disabled .nut-collapse-item-title {
|
|
81
85
|
color: #c2c4cc;
|
|
82
86
|
}
|
|
83
|
-
.nut-collapse-item-header
|
|
87
|
+
.nut-collapse-item-header-disabled .nut-collapse-item-icon {
|
|
84
88
|
color: #c2c4cc;
|
|
85
89
|
}
|
|
86
|
-
.nut-collapse-item-content {
|
|
90
|
+
.nut-collapse-item-content-wrapper {
|
|
91
|
+
width: 100%;
|
|
92
|
+
position: relative;
|
|
93
|
+
box-sizing: border-box;
|
|
87
94
|
overflow: hidden;
|
|
95
|
+
}
|
|
96
|
+
.nut-collapse-item-content-wrapper-tran {
|
|
97
|
+
transition: all 0.3s linear;
|
|
98
|
+
}
|
|
99
|
+
.nut-collapse-item-content {
|
|
88
100
|
display: block;
|
|
101
|
+
position: absolute;
|
|
102
|
+
height: auto;
|
|
103
|
+
width: 100%;
|
|
104
|
+
box-sizing: border-box;
|
|
89
105
|
color: #505259;
|
|
90
106
|
font-size: 14px;
|
|
91
107
|
line-height: 1.5;
|
|
92
108
|
background-color: #ffffff;
|
|
93
|
-
transition: all 0.3s linear;
|
|
94
109
|
}
|
|
95
110
|
.nut-collapse-item-content-text {
|
|
96
111
|
color: #505259;
|