@nutui/nutui-react-taro 3.0.19-cpp.28-beta.1 → 3.0.19-cpp.29-beta.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/packages/calendar/style/calendar.scss +32 -1
  3. package/dist/cjs/packages/calendar/style/style.css +21 -1
  4. package/dist/cjs/packages/calendar/style/style.harmony.css +21 -1
  5. package/dist/cjs/packages/calendar/style-jmapp/calendar.scss +32 -1
  6. package/dist/cjs/packages/calendar/style-jmapp/style.css +21 -1
  7. package/dist/cjs/packages/calendar/style-jrkf/calendar.scss +32 -1
  8. package/dist/cjs/packages/calendar/style-jrkf/style.css +21 -1
  9. package/dist/cjs/packages/calendarcard/icon.js +4 -10
  10. package/dist/cjs/packages/calendarcard/style/calendarcard.scss +13 -0
  11. package/dist/cjs/packages/calendarcard/style/style.css +8 -0
  12. package/dist/cjs/packages/calendarcard/style/style.harmony.css +8 -0
  13. package/dist/cjs/packages/calendarcard/style-jmapp/calendarcard.scss +13 -0
  14. package/dist/cjs/packages/calendarcard/style-jmapp/style.css +8 -0
  15. package/dist/cjs/packages/calendarcard/style-jrkf/calendarcard.scss +13 -0
  16. package/dist/cjs/packages/calendarcard/style-jrkf/style.css +8 -0
  17. package/dist/cjs/packages/popup/popup.js +16 -8
  18. package/dist/cjs/packages/price/price.js +14 -3
  19. package/dist/cjs/types/spec/popup/base.d.ts +2 -0
  20. package/dist/cjs/utils/should-render-price-raw.d.ts +1 -0
  21. package/dist/cjs/utils/should-render-price-raw.js +34 -0
  22. package/dist/cjs/utils/taro/ConfigurableCSSTransition copy.d.ts +15 -0
  23. package/dist/cjs/utils/taro/ConfigurableCSSTransition copy.js +130 -0
  24. package/dist/es/packages/calendar/style/calendar.scss +32 -1
  25. package/dist/es/packages/calendar/style/style.css +21 -1
  26. package/dist/es/packages/calendar/style/style.harmony.css +21 -1
  27. package/dist/es/packages/calendar/style-jmapp/calendar.scss +32 -1
  28. package/dist/es/packages/calendar/style-jmapp/style.css +21 -1
  29. package/dist/es/packages/calendar/style-jrkf/calendar.scss +32 -1
  30. package/dist/es/packages/calendar/style-jrkf/style.css +21 -1
  31. package/dist/es/packages/calendarcard/icon.js +5 -11
  32. package/dist/es/packages/calendarcard/style/calendarcard.scss +13 -0
  33. package/dist/es/packages/calendarcard/style/style.css +8 -0
  34. package/dist/es/packages/calendarcard/style/style.harmony.css +8 -0
  35. package/dist/es/packages/calendarcard/style-jmapp/calendarcard.scss +13 -0
  36. package/dist/es/packages/calendarcard/style-jmapp/style.css +8 -0
  37. package/dist/es/packages/calendarcard/style-jrkf/calendarcard.scss +13 -0
  38. package/dist/es/packages/calendarcard/style-jrkf/style.css +8 -0
  39. package/dist/es/packages/popup/popup.js +16 -8
  40. package/dist/es/packages/price/price.js +14 -3
  41. package/dist/es/types/spec/popup/base.d.ts +2 -0
  42. package/dist/es/utils/should-render-price-raw.d.ts +1 -0
  43. package/dist/es/utils/should-render-price-raw.js +24 -0
  44. package/dist/es/utils/taro/ConfigurableCSSTransition copy.d.ts +15 -0
  45. package/dist/es/utils/taro/ConfigurableCSSTransition copy.js +119 -0
  46. package/dist/nutui.react.umd.js +57 -21
  47. package/dist/style-jmapp.css +1 -1
  48. package/dist/style-jmapp.scss +27 -27
  49. package/dist/style-jrkf.css +1 -1
  50. package/dist/style-jrkf.scss +27 -27
  51. package/dist/style.css +1 -1
  52. package/dist/style.scss +33 -33
  53. package/package.json +1 -1
@@ -125,9 +125,20 @@
125
125
  font-weight: $calendar-day-font-weight;
126
126
  margin-bottom: 4px;
127
127
 
128
+ // 部分 Taro 机型下子节点不会稳定继承父级 color,颜色直接落到最内层文案。
129
+ &-day,
130
+ &-info-curr {
131
+ color: $color-title;
132
+ }
133
+
128
134
  &:nth-child(7n + 0),
129
135
  &:nth-child(7n + 1) {
130
136
  color: $color-primary;
137
+
138
+ .nut-calendar-day-day,
139
+ .nut-calendar-day-info-curr {
140
+ color: $color-primary;
141
+ }
131
142
  }
132
143
 
133
144
  &-info,
@@ -168,7 +179,12 @@
168
179
  border-bottom-right-radius: $calendar-day-active-border-radius;
169
180
  }
170
181
 
171
- .nut-calendar-day-info {
182
+ &.nut-calendar-day-active .nut-calendar-day-info {
183
+ color: $color-primary-text;
184
+ }
185
+
186
+ &.nut-calendar-day-active .nut-calendar-day-day,
187
+ &.nut-calendar-day-active .nut-calendar-day-info-curr {
172
188
  color: $color-primary-text;
173
189
  }
174
190
  }
@@ -176,6 +192,11 @@
176
192
  &-disabled {
177
193
  color: $calendar-disable-color !important;
178
194
 
195
+ &.nut-calendar-day-disabled .nut-calendar-day-day,
196
+ &.nut-calendar-day-disabled .nut-calendar-day-info-curr {
197
+ color: $calendar-disable-color;
198
+ }
199
+
179
200
  .nut-calendar-day-info-curr {
180
201
  display: none;
181
202
  }
@@ -185,10 +206,20 @@
185
206
  background-color: $calendar-choose-background-color;
186
207
  color: $calendar-choose-color;
187
208
 
209
+ &.nut-calendar-day-choose .nut-calendar-day-day,
210
+ &.nut-calendar-day-choose .nut-calendar-day-info-curr {
211
+ color: $calendar-choose-color;
212
+ }
213
+
188
214
  &-disabled {
189
215
  background-color: $calendar-choose-disable-background-color;
190
216
  color: $calendar-disable-color !important;
191
217
 
218
+ &.nut-calendar-day-choose-disabled .nut-calendar-day-day,
219
+ &.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
220
+ color: $calendar-disable-color;
221
+ }
222
+
192
223
  .nut-calendar-day-info-curr {
193
224
  display: none;
194
225
  }
@@ -104,9 +104,17 @@
104
104
  font-weight: var(--nutui-calendar-day-font-weight, var(--nutui-font-weight-bold));
105
105
  margin-bottom: 4px;
106
106
  }
107
+ .nut-calendar-day-day, .nut-calendar-day-info-curr {
108
+ color: var(--nutui-color-title);
109
+ }
107
110
  .nut-calendar-day:nth-child(7n+0), .nut-calendar-day:nth-child(7n+1) {
108
111
  color: var(--nutui-color-primary, #ff6666);
109
112
  }
113
+ .nut-calendar-day:nth-child(7n+0) .nut-calendar-day-day,
114
+ .nut-calendar-day:nth-child(7n+0) .nut-calendar-day-info-curr, .nut-calendar-day:nth-child(7n+1) .nut-calendar-day-day,
115
+ .nut-calendar-day:nth-child(7n+1) .nut-calendar-day-info-curr {
116
+ color: var(--nutui-color-primary, #ff6666);
117
+ }
110
118
  .nut-calendar-day-info, .nut-calendar-day-info-curr {
111
119
  position: absolute;
112
120
  bottom: 5px;
@@ -139,12 +147,18 @@
139
147
  border-top-right-radius: var(--nutui-calendar-day-active-border-radius, 4px);
140
148
  border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, 4px);
141
149
  }
142
- .nut-calendar-day-active .nut-calendar-day-info {
150
+ .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info {
151
+ color: var(--nutui-color-text-dark);
152
+ }
153
+ .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-day, .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info-curr {
143
154
  color: var(--nutui-color-text-dark);
144
155
  }
145
156
  .nut-calendar-day-disabled {
146
157
  color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled)) !important;
147
158
  }
159
+ .nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-day, .nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-info-curr {
160
+ color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled));
161
+ }
148
162
  .nut-calendar-day-disabled .nut-calendar-day-info-curr {
149
163
  display: none;
150
164
  }
@@ -152,10 +166,16 @@
152
166
  background-color: var(--nutui-calendar-choose-background-color, var(--nutui-color-primary-light, #ffe5e5));
153
167
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff6666));
154
168
  }
169
+ .nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-day, .nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-info-curr {
170
+ color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff6666));
171
+ }
155
172
  .nut-calendar-day-choose-disabled {
156
173
  background-color: var(--nutui-calendar-choose-disable-background-color, rgba(191, 191, 191, 0.09));
157
174
  color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled)) !important;
158
175
  }
176
+ .nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-day, .nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
177
+ color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled));
178
+ }
159
179
  .nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
160
180
  display: none;
161
181
  }
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Image, View } from "@tarojs/components";
2
+ import { Image } from "@tarojs/components";
3
3
  var left = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBkPSJNNi42MDUgOS40OWEuNzcxLjc3MSAwIDAgMSAwLS45OGwzLjYtNC4zNzJhLjc3MS43NzEgMCAwIDEgMS4xOS45ODFMOC4yIDlsMy4xOTcgMy44ODFhLjc3MS43NzEgMCAxIDEtMS4xOTEuOThsLTMuNi00LjM3eiIvPjwvc3ZnPg==';
4
4
  var right = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBkPSJNMTEuMzk2IDkuNDlhLjc3MS43NzEgMCAwIDAgMC0uOThsLTMuNi00LjM3MmEuNzcxLjc3MSAwIDAgMC0xLjE5MS45ODFMOS44IDlsLTMuMTk2IDMuODgxYS43NzEuNzcxIDAgMCAwIDEuMTkuOThsMy42LTQuMzd6Ii8+PC9zdmc+';
5
5
  var doubleLeft = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBkPSJNMTMuODUzIDQuMDI2YS43NzEuNzcxIDAgMCAxIC4xMiAxLjA4NUwxMC44NjQgOWwzLjExIDMuODg5YS43NzEuNzcxIDAgMSAxLTEuMjA0Ljk2M2wtMy40OTgtNC4zN2EuNzcxLjc3MSAwIDAgMSAwLS45NjRsMy40OTctNC4zNzFhLjc3MS43NzEgMCAwIDEgMS4wODQtLjEyem0tNS4yNDUgMGEuNzcxLjc3MSAwIDAgMSAuMTIgMS4wODVMNS42MTcgOWwzLjExMSAzLjg4OWEuNzcxLjc3MSAwIDAgMS0xLjIwNS45NjNsLTMuNDk3LTQuMzdhLjc3MS43NzEgMCAwIDEgMC0uOTY0bDMuNDk3LTQuMzcxYS43NzEuNzcxIDAgMCAxIDEuMDg1LS4xMnoiLz48L3N2Zz4=';
@@ -13,19 +13,13 @@ if (process.env.TARO_ENV === 'jdharmony_cpp') {
13
13
  var Icon = function(param) {
14
14
  var url = param.url;
15
15
  var style = {
16
- background: "url('".concat(url, "') no-repeat center"),
17
- backgroundSize: '100% 100%',
18
16
  width: 18,
19
17
  height: 18
20
18
  };
21
- if (process.env.TARO_ENV === 'jdharmony_cpp') {
22
- return /*#__PURE__*/ React.createElement(Image, {
23
- src: url,
24
- style: style
25
- });
26
- }
27
- return /*#__PURE__*/ React.createElement(View, {
28
- style: style
19
+ return /*#__PURE__*/ React.createElement(Image, {
20
+ src: url,
21
+ style: style,
22
+ mode: "aspectFit"
29
23
  });
30
24
  };
31
25
  export var ArrowLeft = function() {
@@ -49,6 +49,13 @@
49
49
  margin-bottom: 4px;
50
50
  text-align: center;
51
51
 
52
+ // 部分 Taro 机型下子节点不会稳定继承父级 color,颜色直接落到最内层文案。
53
+ &-top,
54
+ &-inner,
55
+ &-bottom {
56
+ color: $color-title;
57
+ }
58
+
52
59
  &.header {
53
60
  cursor: auto;
54
61
  }
@@ -66,6 +73,12 @@
66
73
 
67
74
  &.weekend {
68
75
  color: $calendar-choose-color;
76
+
77
+ .nut-calendarcard-day-top,
78
+ .nut-calendarcard-day-inner,
79
+ .nut-calendarcard-day-bottom {
80
+ color: $calendar-choose-color;
81
+ }
69
82
  }
70
83
 
71
84
  &.active {
@@ -47,6 +47,9 @@
47
47
  margin-bottom: 4px;
48
48
  text-align: center;
49
49
  }
50
+ .nut-calendarcard-day-top, .nut-calendarcard-day-inner, .nut-calendarcard-day-bottom {
51
+ color: var(--nutui-color-title, #1a1a1a);
52
+ }
50
53
  .nut-calendarcard-day.header {
51
54
  cursor: auto;
52
55
  }
@@ -62,6 +65,11 @@
62
65
  .nut-calendarcard-day.weekend {
63
66
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
64
67
  }
68
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-top,
69
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-inner,
70
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-bottom {
71
+ color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
72
+ }
65
73
  .nut-calendarcard-day.active {
66
74
  background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary, #ff0f23));
67
75
  border-radius: var(--nutui-calendar-day-active-border-radius, 4px);
@@ -47,6 +47,9 @@
47
47
  margin-bottom: 4px;
48
48
  text-align: center;
49
49
  }
50
+ .nut-calendarcard-day-top, .nut-calendarcard-day-inner, .nut-calendarcard-day-bottom {
51
+ color: var(--nutui-color-title, #1a1a1a);
52
+ }
50
53
  .nut-calendarcard-day.header {
51
54
  cursor: auto;
52
55
  }
@@ -62,6 +65,11 @@
62
65
  .nut-calendarcard-day.weekend {
63
66
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
64
67
  }
68
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-top,
69
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-inner,
70
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-bottom {
71
+ color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
72
+ }
65
73
  .nut-calendarcard-day.active {
66
74
  background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary, #ff0f23));
67
75
  border-radius: var(--nutui-calendar-day-active-border-radius, 4px);
@@ -49,6 +49,13 @@
49
49
  margin-bottom: 4px;
50
50
  text-align: center;
51
51
 
52
+ // 部分 Taro 机型下子节点不会稳定继承父级 color,颜色直接落到最内层文案。
53
+ &-top,
54
+ &-inner,
55
+ &-bottom {
56
+ color: $color-title;
57
+ }
58
+
52
59
  &.header {
53
60
  cursor: auto;
54
61
  }
@@ -66,6 +73,12 @@
66
73
 
67
74
  &.weekend {
68
75
  color: $calendar-choose-color;
76
+
77
+ .nut-calendarcard-day-top,
78
+ .nut-calendarcard-day-inner,
79
+ .nut-calendarcard-day-bottom {
80
+ color: $calendar-choose-color;
81
+ }
69
82
  }
70
83
 
71
84
  &.active {
@@ -47,6 +47,9 @@
47
47
  margin-bottom: 4px;
48
48
  text-align: center;
49
49
  }
50
+ .nut-calendarcard-day-top, .nut-calendarcard-day-inner, .nut-calendarcard-day-bottom {
51
+ color: var(--nutui-color-title);
52
+ }
50
53
  .nut-calendarcard-day.header {
51
54
  cursor: auto;
52
55
  }
@@ -62,6 +65,11 @@
62
65
  .nut-calendarcard-day.weekend {
63
66
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary));
64
67
  }
68
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-top,
69
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-inner,
70
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-bottom {
71
+ color: var(--nutui-calendar-choose-color, var(--nutui-color-primary));
72
+ }
65
73
  .nut-calendarcard-day.active {
66
74
  background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary));
67
75
  border-radius: var(--nutui-calendar-day-active-border-radius, 4px);
@@ -49,6 +49,13 @@
49
49
  margin-bottom: 4px;
50
50
  text-align: center;
51
51
 
52
+ // 部分 Taro 机型下子节点不会稳定继承父级 color,颜色直接落到最内层文案。
53
+ &-top,
54
+ &-inner,
55
+ &-bottom {
56
+ color: $color-title;
57
+ }
58
+
52
59
  &.header {
53
60
  cursor: auto;
54
61
  }
@@ -66,6 +73,12 @@
66
73
 
67
74
  &.weekend {
68
75
  color: $calendar-choose-color;
76
+
77
+ .nut-calendarcard-day-top,
78
+ .nut-calendarcard-day-inner,
79
+ .nut-calendarcard-day-bottom {
80
+ color: $calendar-choose-color;
81
+ }
69
82
  }
70
83
 
71
84
  &.active {
@@ -47,6 +47,9 @@
47
47
  margin-bottom: 4px;
48
48
  text-align: center;
49
49
  }
50
+ .nut-calendarcard-day-top, .nut-calendarcard-day-inner, .nut-calendarcard-day-bottom {
51
+ color: var(--nutui-color-title);
52
+ }
50
53
  .nut-calendarcard-day.header {
51
54
  cursor: auto;
52
55
  }
@@ -62,6 +65,11 @@
62
65
  .nut-calendarcard-day.weekend {
63
66
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff6666));
64
67
  }
68
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-top,
69
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-inner,
70
+ .nut-calendarcard-day.weekend .nut-calendarcard-day-bottom {
71
+ color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff6666));
72
+ }
65
73
  .nut-calendarcard-day.active {
66
74
  background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary, #ff6666));
67
75
  border-radius: var(--nutui-calendar-day-active-border-radius, 4px);
@@ -42,13 +42,21 @@ var defaultProps = _object_spread_props(_object_spread({}, defaultOverlayProps),
42
42
  },
43
43
  onTouchStart: function() {},
44
44
  onTouchMove: function() {},
45
- onTouchEnd: function() {}
45
+ onTouchEnd: function() {},
46
+ overlayProps: {},
47
+ animated: true
46
48
  });
47
49
  // 默认1000,参看variables
48
50
  var _zIndex = 1100;
49
51
  export var Popup = function(props) {
50
- var _$_object_spread = _object_spread({}, defaultProps, props), children = _$_object_spread.children, visible = _$_object_spread.visible, overlay = _$_object_spread.overlay, closeOnOverlayClick = _$_object_spread.closeOnOverlayClick, overlayStyle = _$_object_spread.overlayStyle, overlayClassName = _$_object_spread.overlayClassName, zIndex = _$_object_spread.zIndex, lockScroll = _$_object_spread.lockScroll, duration = _$_object_spread.duration, closeable = _$_object_spread.closeable, closeIconPosition = _$_object_spread.closeIconPosition, closeIcon = _$_object_spread.closeIcon, left = _$_object_spread.left, title = _$_object_spread.title, top = _$_object_spread.top, description = _$_object_spread.description, style = _$_object_spread.style, transition = _$_object_spread.transition, round = _$_object_spread.round, position = _$_object_spread.position, className = _$_object_spread.className, destroyOnClose = _$_object_spread.destroyOnClose, portal = _$_object_spread.portal, resizable = _$_object_spread.resizable, minHeight = _$_object_spread.minHeight, onOpen = _$_object_spread.onOpen, onClose = _$_object_spread.onClose, onOverlayClick = _$_object_spread.onOverlayClick, onCloseIconClick = _$_object_spread.onCloseIconClick, afterShow = _$_object_spread.afterShow, afterClose = _$_object_spread.afterClose, onClick = _$_object_spread.onClick, onTouchStart = _$_object_spread.onTouchStart, onTouchMove = _$_object_spread.onTouchMove, onTouchEnd = _$_object_spread.onTouchEnd, closeAriaLabel = _$_object_spread.closeAriaLabel;
52
+ var _$_object_spread = _object_spread({}, defaultProps, props), children = _$_object_spread.children, visible = _$_object_spread.visible, overlay = _$_object_spread.overlay, closeOnOverlayClick = _$_object_spread.closeOnOverlayClick, overlayStyle = _$_object_spread.overlayStyle, overlayClassName = _$_object_spread.overlayClassName, zIndex = _$_object_spread.zIndex, lockScroll = _$_object_spread.lockScroll, duration = _$_object_spread.duration, closeable = _$_object_spread.closeable, closeIconPosition = _$_object_spread.closeIconPosition, closeIcon = _$_object_spread.closeIcon, left = _$_object_spread.left, title = _$_object_spread.title, top = _$_object_spread.top, description = _$_object_spread.description, style = _$_object_spread.style, transition = _$_object_spread.transition, round = _$_object_spread.round, position = _$_object_spread.position, className = _$_object_spread.className, destroyOnClose = _$_object_spread.destroyOnClose, portal = _$_object_spread.portal, resizable = _$_object_spread.resizable, minHeight = _$_object_spread.minHeight, onOpen = _$_object_spread.onOpen, onClose = _$_object_spread.onClose, onOverlayClick = _$_object_spread.onOverlayClick, onCloseIconClick = _$_object_spread.onCloseIconClick, afterShow = _$_object_spread.afterShow, afterClose = _$_object_spread.afterClose, onClick = _$_object_spread.onClick, onTouchStart = _$_object_spread.onTouchStart, onTouchMove = _$_object_spread.onTouchMove, onTouchEnd = _$_object_spread.onTouchEnd, closeAriaLabel = _$_object_spread.closeAriaLabel, overlayProps = _$_object_spread.overlayProps, animated = _$_object_spread.animated;
51
53
  var locale = useConfig().locale;
54
+ var transitionDuration = useMemo(function() {
55
+ return animated ? Number(duration) : 0;
56
+ }, [
57
+ animated,
58
+ duration
59
+ ]);
52
60
  var _useState = _sliced_to_array(useState(zIndex || _zIndex), 2), index = _useState[0], setIndex = _useState[1];
53
61
  var _useState1 = _sliced_to_array(useState(visible), 2), innerVisible = _useState1[0], setInnerVisible = _useState1[1];
54
62
  var _useState2 = _sliced_to_array(useState(true), 2), showChildren = _useState2[0], setShowChildren = _useState2[1];
@@ -153,14 +161,14 @@ export var Popup = function(props) {
153
161
  if (destroyOnClose) {
154
162
  setTimeout(function() {
155
163
  setShowChildren(false);
156
- }, Number(duration));
164
+ }, transitionDuration);
157
165
  }
158
166
  onClose === null || onClose === void 0 ? void 0 : onClose();
159
167
  }
160
168
  }, [
161
169
  innerVisible,
162
170
  destroyOnClose,
163
- duration,
171
+ transitionDuration,
164
172
  onClose,
165
173
  setInnerVisible,
166
174
  setShowChildren
@@ -340,7 +348,7 @@ export var Popup = function(props) {
340
348
  classNames: transitionName,
341
349
  mountOnEnter: true,
342
350
  unmountOnExit: destroyOnClose,
343
- timeout: Number(duration),
351
+ timeout: Number(transitionDuration),
344
352
  in: innerVisible,
345
353
  onEntered: afterShow,
346
354
  onExited: afterClose
@@ -359,16 +367,16 @@ export var Popup = function(props) {
359
367
  }, renderTop(), renderTitle(), showChildren ? children : null));
360
368
  };
361
369
  var renderNode = function() {
362
- return /*#__PURE__*/ React.createElement(React.Fragment, null, overlay ? /*#__PURE__*/ React.createElement(Overlay, {
370
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, overlay ? /*#__PURE__*/ React.createElement(Overlay, _object_spread({
363
371
  zIndex: index,
364
372
  style: overlayStyles,
365
373
  className: overlayClassName,
366
374
  visible: innerVisible,
367
375
  closeOnOverlayClick: closeOnOverlayClick,
368
376
  lockScroll: lockScroll,
369
- duration: duration,
377
+ duration: transitionDuration,
370
378
  onClick: handleOverlayClick
371
- }) : null, renderPop());
379
+ }, overlayProps)) : null, renderPop());
372
380
  };
373
381
  var resolveContainer = function(getContainer) {
374
382
  return (typeof getContainer === 'function' ? getContainer() : getContainer) || document.body;
@@ -8,6 +8,7 @@ import { ComponentDefaults } from "../../utils/typings";
8
8
  import { useRtl } from "../configprovider/index";
9
9
  import { PriceColorEnum } from "../../types";
10
10
  import { harmony } from "../../utils/taro/platform";
11
+ import { shouldRenderPriceAsRaw } from "../../utils/should-render-price-raw";
11
12
  var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
12
13
  color: 'primary',
13
14
  price: 0,
@@ -22,10 +23,17 @@ export var Price = function(props) {
22
23
  var _$_object_spread = _object_spread({}, defaultProps, props), color = _$_object_spread.color, originalPrice = _$_object_spread.price, symbol = _$_object_spread.symbol, digits = _$_object_spread.digits, thousands = _$_object_spread.thousands, position = _$_object_spread.position, size = _$_object_spread.size, line = _$_object_spread.line, className = _$_object_spread.className, style = _$_object_spread.style;
23
24
  var classPrefix = 'nut-price';
24
25
  var rtl = useRtl();
26
+ var isRenderPriceRaw = useMemo(function() {
27
+ return typeof originalPrice === 'string' && shouldRenderPriceAsRaw(originalPrice);
28
+ }, [
29
+ originalPrice
30
+ ]);
25
31
  var price = useMemo(function() {
32
+ if (isRenderPriceRaw) return '';
26
33
  return originalPrice.toString().replace(/[^\d.]/g, '');
27
34
  }, [
28
- originalPrice
35
+ originalPrice,
36
+ isRenderPriceRaw
29
37
  ]);
30
38
  var isCustomPriceColor = useMemo(function() {
31
39
  var specificPriceColor = Object.values(PriceColorEnum);
@@ -106,12 +114,15 @@ export var Price = function(props) {
106
114
  style: priceColorStyle
107
115
  }, formatDecimal(price))) : null, symbol && position === 'after' ? renderSymbol() : null);
108
116
  };
117
+ var renderRawContent = function() {
118
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, originalPrice);
119
+ };
109
120
  return /*#__PURE__*/ React.createElement(React.Fragment, null, harmony() || process.env.TARO_ENV === 'dynamic' ? /*#__PURE__*/ React.createElement(Text, {
110
121
  className: "".concat(classPrefix, " ").concat(classPrefix, "-").concat(color, " ").concat(className),
111
122
  style: style
112
- }, renderInner()) : /*#__PURE__*/ React.createElement(View, {
123
+ }, isRenderPriceRaw ? renderRawContent() : renderInner()) : /*#__PURE__*/ React.createElement(View, {
113
124
  className: "".concat(classPrefix, " ").concat(classPrefix, "-").concat(color, " ").concat(className),
114
125
  style: style
115
- }, renderInner()));
126
+ }, isRenderPriceRaw ? renderRawContent() : renderInner()));
116
127
  };
117
128
  Price.displayName = 'NutPrice';
@@ -90,4 +90,6 @@ export interface BasePopup extends BaseProps, BaseOverlay {
90
90
  */
91
91
  onTouchEnd: (height: number, e: any) => void
92
92
  closeAriaLabel?: string;
93
+ overlayProps?: any;
94
+ animated?: boolean;
93
95
  }
@@ -0,0 +1 @@
1
+ export declare function shouldRenderPriceAsRaw(s: string): boolean;
@@ -0,0 +1,24 @@
1
+ var CJK = /[\u4E00-\u9FFF]/;
2
+ var RE_NUM = /\d+(?:\.\d+)?/g;
3
+ function hasNoExtractablePrice(s) {
4
+ var t = s.trim();
5
+ if (!t) return true;
6
+ if (!/\d/.test(t)) return true;
7
+ if (t.replace(/[^\d.]/g, '') === '') return true;
8
+ return false;
9
+ }
10
+ export function shouldRenderPriceAsRaw(s) {
11
+ if (hasNoExtractablePrice(s)) {
12
+ return true;
13
+ }
14
+ var t = s.trim();
15
+ if (!CJK.test(t)) return false;
16
+ var matches = Array.from(t.matchAll(RE_NUM));
17
+ if (matches.length < 2) return false;
18
+ var a = matches[0];
19
+ var b = matches[1];
20
+ var i0 = a.index;
21
+ var i1 = b.index;
22
+ var between = t.slice(i0 + a[0].length, i1);
23
+ return CJK.test(between);
24
+ }
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export type TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited' | 'unmounted';
3
+ interface CSSTransitionProps {
4
+ in?: boolean;
5
+ timeout?: number;
6
+ classNames?: string;
7
+ nodeRef?: React.RefObject<any>;
8
+ mountOnEnter?: boolean;
9
+ unmountOnExit?: boolean;
10
+ onEntered?: () => void;
11
+ onExited?: () => void;
12
+ children: React.ReactElement;
13
+ }
14
+ declare const ConfigurableCSSTransition: React.FC<CSSTransitionProps>;
15
+ export default ConfigurableCSSTransition;
@@ -0,0 +1,119 @@
1
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
+ import React, { useState, useEffect, useRef, cloneElement, useCallback } from "react";
3
+ var ConfigurableCSSTransition = function(props) {
4
+ var inPhase = props.in, _props_timeout = props.timeout, timeout = _props_timeout === void 0 ? 300 : _props_timeout, tmp = props.classNames, baseClassName = tmp === void 0 ? '' : tmp, nodeRef = props.nodeRef, mountOnEnter = props.mountOnEnter, unmountOnExit = props.unmountOnExit, onEntered = props.onEntered, onExited = props.onExited, children = props.children;
5
+ var _useState = _sliced_to_array(useState(function() {
6
+ if (inPhase) return 'entered';
7
+ return unmountOnExit || mountOnEnter ? 'unmounted' : 'exited';
8
+ }), 2), status = _useState[0], setStatus = _useState[1];
9
+ var _useState1 = _sliced_to_array(useState(function() {
10
+ if (inPhase) return "".concat(baseClassName, "-enter-done");
11
+ return "".concat(baseClassName, "-exit-done");
12
+ }), 2), classes = _useState1[0], setClasses = _useState1[1];
13
+ var fallbackTimerRef = useRef(null);
14
+ var statusRef = useRef(status);
15
+ var prevInPhase = useRef(inPhase);
16
+ var latestOnAnimationEnd = useRef(children.props.onAnimationEnd);
17
+ useEffect(function() {
18
+ latestOnAnimationEnd.current = children.props.onAnimationEnd;
19
+ });
20
+ var updateStatus = useCallback(function(nextStatus) {
21
+ statusRef.current = nextStatus;
22
+ setStatus(nextStatus);
23
+ }, []);
24
+ var handleAnimationEnd = useCallback(function(e) {
25
+ var _latestOnAnimationEnd_current;
26
+ (_latestOnAnimationEnd_current = latestOnAnimationEnd.current) === null || _latestOnAnimationEnd_current === void 0 ? void 0 : _latestOnAnimationEnd_current.call(latestOnAnimationEnd, e);
27
+ if (e && e.target !== e.currentTarget) return;
28
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
29
+ if (statusRef.current === 'entering') {
30
+ updateStatus('entered');
31
+ setClasses("".concat(baseClassName, "-enter-done"));
32
+ onEntered === null || onEntered === void 0 ? void 0 : onEntered();
33
+ } else if (statusRef.current === 'exiting') {
34
+ updateStatus('exited');
35
+ setClasses("".concat(baseClassName, "-exit-done"));
36
+ if (unmountOnExit) {
37
+ updateStatus('unmounted');
38
+ }
39
+ onExited === null || onExited === void 0 ? void 0 : onExited();
40
+ }
41
+ }, [
42
+ baseClassName,
43
+ onEntered,
44
+ onExited,
45
+ unmountOnExit,
46
+ updateStatus
47
+ ]);
48
+ var enter = useCallback(function() {
49
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
50
+ if (statusRef.current === 'unmounted') {
51
+ updateStatus('exited');
52
+ }
53
+ if (timeout === 0) {
54
+ updateStatus('entered');
55
+ setClasses("".concat(baseClassName, "-enter-done"));
56
+ onEntered === null || onEntered === void 0 ? void 0 : onEntered();
57
+ return;
58
+ }
59
+ updateStatus('entering');
60
+ setClasses("".concat(baseClassName, "-enter ").concat(baseClassName, "-enter-active"));
61
+ // Safety fallback: Give it extra time over the expected timeout in case onAnimationEnd misses
62
+ fallbackTimerRef.current = setTimeout(function() {
63
+ handleAnimationEnd(null);
64
+ }, timeout + 200);
65
+ }, [
66
+ baseClassName,
67
+ handleAnimationEnd,
68
+ onEntered,
69
+ timeout,
70
+ updateStatus
71
+ ]);
72
+ var exit = useCallback(function() {
73
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
74
+ if (timeout === 0) {
75
+ updateStatus('exited');
76
+ setClasses("".concat(baseClassName, "-exit-done"));
77
+ if (unmountOnExit) {
78
+ updateStatus('unmounted');
79
+ }
80
+ onExited === null || onExited === void 0 ? void 0 : onExited();
81
+ return;
82
+ }
83
+ updateStatus('exiting');
84
+ setClasses("".concat(baseClassName, "-exit ").concat(baseClassName, "-exit-active"));
85
+ fallbackTimerRef.current = setTimeout(function() {
86
+ handleAnimationEnd(null);
87
+ }, timeout + 200);
88
+ }, [
89
+ baseClassName,
90
+ handleAnimationEnd,
91
+ onExited,
92
+ timeout,
93
+ unmountOnExit,
94
+ updateStatus
95
+ ]);
96
+ useEffect(function() {
97
+ if (prevInPhase.current !== inPhase) {
98
+ if (inPhase) {
99
+ enter();
100
+ } else {
101
+ exit();
102
+ }
103
+ prevInPhase.current = inPhase;
104
+ }
105
+ return function() {
106
+ if (fallbackTimerRef.current) clearTimeout(fallbackTimerRef.current);
107
+ };
108
+ }, [
109
+ inPhase,
110
+ enter,
111
+ exit
112
+ ]);
113
+ if (status === 'unmounted') return null;
114
+ return /*#__PURE__*/ cloneElement(children, {
115
+ className: "".concat(children.props.className || '', " ").concat(classes),
116
+ onAnimationEnd: handleAnimationEnd
117
+ });
118
+ };
119
+ export default ConfigurableCSSTransition;