@nutui/nutui-react-taro 3.0.5 → 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.
Files changed (204) hide show
  1. package/CHANGELOG.md +59 -1
  2. package/dist/cjs/packages/actionsheet/style/style.css +4 -4
  3. package/dist/cjs/packages/address/style/style.css +4 -4
  4. package/dist/cjs/packages/audio/style/style.css +4 -16
  5. package/dist/cjs/packages/badge/badge.js +4 -3
  6. package/dist/cjs/packages/badge/style/badge.scss +4 -0
  7. package/dist/cjs/packages/badge/style/style.css +9 -6
  8. package/dist/cjs/packages/badge/style/style.harmony.css +3 -0
  9. package/dist/cjs/packages/button/style/button.scss +4 -20
  10. package/dist/cjs/packages/button/style/style.css +4 -16
  11. package/dist/cjs/packages/button/style/style.harmony.css +2 -14
  12. package/dist/cjs/packages/calendar/style/style.css +4 -4
  13. package/dist/cjs/packages/cascader/style/style.css +4 -4
  14. package/dist/cjs/packages/collapse/style/style.css +22 -7
  15. package/dist/cjs/packages/collapseitem/collapseitem.js +63 -77
  16. package/dist/cjs/packages/collapseitem/style/collapseitem.scss +22 -5
  17. package/dist/cjs/packages/collapseitem/style/style.css +22 -7
  18. package/dist/cjs/packages/collapseitem/style/style.harmony.css +22 -7
  19. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  20. package/dist/cjs/packages/datepicker/style/style.css +7 -4
  21. package/dist/cjs/packages/datepickerview/style/style.css +3 -0
  22. package/dist/cjs/packages/dialog/content.d.ts +11 -3
  23. package/dist/cjs/packages/dialog/content.js +4 -4
  24. package/dist/cjs/packages/dialog/dialog.d.ts +39 -4
  25. package/dist/cjs/packages/dialog/dialog.js +14 -13
  26. package/dist/cjs/packages/dialog/index.d.ts +1 -1
  27. package/dist/cjs/packages/dialog/style/style.css +4 -16
  28. package/dist/cjs/packages/empty/style/style.css +4 -16
  29. package/dist/cjs/packages/fixednav/style/style.css +9 -6
  30. package/dist/cjs/packages/imagepreview/style/style.css +4 -4
  31. package/dist/cjs/packages/indicator/indicator.js +1 -1
  32. package/dist/cjs/packages/lottie/index.js +5 -5
  33. package/dist/cjs/packages/lottie/{mp.js → lottiemp.js} +1 -1
  34. package/dist/cjs/packages/notify/notify.js +44 -13
  35. package/dist/cjs/packages/notify/style/notify.scss +39 -36
  36. package/dist/cjs/packages/notify/style/style.css +36 -31
  37. package/dist/cjs/packages/notify/style/style.harmony.css +36 -31
  38. package/dist/cjs/packages/numberkeyboard/style/style.css +4 -4
  39. package/dist/cjs/packages/picker/style/style.css +7 -4
  40. package/dist/cjs/packages/pickerview/pickerroller.js +7 -2
  41. package/dist/cjs/packages/pickerview/style/pickerview.scss +3 -0
  42. package/dist/cjs/packages/pickerview/style/style.css +3 -0
  43. package/dist/cjs/packages/pickerview/style/style.harmony.css +3 -0
  44. package/dist/cjs/packages/popover/popover.d.ts +0 -7
  45. package/dist/cjs/packages/popover/popover.js +114 -141
  46. package/dist/cjs/packages/popover/style/popover.scss +48 -51
  47. package/dist/cjs/packages/popover/style/style.css +64 -70
  48. package/dist/cjs/packages/popover/style/style.harmony.css +64 -60
  49. package/dist/cjs/packages/popup/style/popup.scss +4 -4
  50. package/dist/cjs/packages/popup/style/style.css +4 -4
  51. package/dist/cjs/packages/popup/style/style.harmony.css +4 -4
  52. package/dist/cjs/packages/resultpage/style/style.css +4 -16
  53. package/dist/cjs/packages/searchbar/searchbar.js +8 -2
  54. package/dist/cjs/packages/shortpassword/style/style.css +4 -4
  55. package/dist/cjs/packages/skeleton/skeleton.js +63 -52
  56. package/dist/cjs/packages/skeleton/style/index.js +0 -1
  57. package/dist/cjs/packages/skeleton/style/skeleton.scss +40 -46
  58. package/dist/cjs/packages/skeleton/style/style.css +32 -175
  59. package/dist/cjs/packages/skeleton/style/style.harmony.css +32 -42
  60. package/dist/cjs/packages/switch/style/style.css +5 -0
  61. package/dist/cjs/packages/switch/style/style.harmony.css +5 -0
  62. package/dist/cjs/packages/switch/style/switch.scss +5 -0
  63. package/dist/cjs/packages/switch/switch.js +22 -11
  64. package/dist/cjs/packages/tabbar/style/style.css +54 -45
  65. package/dist/cjs/packages/tabbar/style/style.harmony.css +24 -18
  66. package/dist/cjs/packages/tabbar/style/tabbar.scss +28 -19
  67. package/dist/cjs/packages/tabbar/tabbar.js +28 -10
  68. package/dist/cjs/packages/tabbaritem/style/style.css +30 -27
  69. package/dist/cjs/packages/tabbaritem/style/style.harmony.css +21 -21
  70. package/dist/cjs/packages/tabbaritem/style/tabbaritem.scss +32 -29
  71. package/dist/cjs/packages/tabbaritem/tabbaritem.js +38 -14
  72. package/dist/cjs/packages/tabpane/tabpane.js +2 -2
  73. package/dist/cjs/packages/timeselect/style/style.css +4 -4
  74. package/dist/cjs/packages/tour/style/style.css +64 -70
  75. package/dist/cjs/packages/tour/tour.js +3 -4
  76. package/dist/cjs/types/spec/badge/base.d.ts +1 -0
  77. package/dist/cjs/types/spec/dialog/base.d.ts +50 -1
  78. package/dist/cjs/types/spec/dialog/base.js +7 -0
  79. package/dist/cjs/types/spec/dialog/h5.d.ts +4 -1
  80. package/dist/cjs/types/spec/dialog/taro.d.ts +8 -2
  81. package/dist/cjs/types/spec/indicator/base.d.ts +1 -1
  82. package/dist/cjs/types/spec/notify/base.d.ts +7 -2
  83. package/dist/cjs/types/spec/popover/base.d.ts +7 -0
  84. package/dist/cjs/types/spec/searchbar/taro.d.ts +10 -7
  85. package/dist/cjs/types/spec/skeleton/base.d.ts +7 -5
  86. package/dist/cjs/types/spec/switch/base.d.ts +3 -2
  87. package/dist/cjs/types/spec/switch/h5.d.ts +1 -1
  88. package/dist/cjs/types/spec/switch/taro.d.ts +1 -4
  89. package/dist/cjs/types/spec/tabbar/base.d.ts +7 -4
  90. package/dist/cjs/utils/get-rect-by-taro.js +10 -0
  91. package/dist/cjs/utils/lru.d.ts +8 -0
  92. package/dist/cjs/utils/lru.js +58 -0
  93. package/dist/es/packages/actionsheet/style/style.css +4 -4
  94. package/dist/es/packages/address/style/style.css +4 -4
  95. package/dist/es/packages/audio/style/style.css +4 -16
  96. package/dist/es/packages/badge/badge.js +4 -3
  97. package/dist/es/packages/badge/style/badge.scss +4 -0
  98. package/dist/es/packages/badge/style/style.css +9 -6
  99. package/dist/es/packages/badge/style/style.harmony.css +3 -0
  100. package/dist/es/packages/button/style/button.scss +4 -20
  101. package/dist/es/packages/button/style/style.css +4 -16
  102. package/dist/es/packages/button/style/style.harmony.css +2 -14
  103. package/dist/es/packages/calendar/style/style.css +4 -4
  104. package/dist/es/packages/cascader/style/style.css +4 -4
  105. package/dist/es/packages/collapse/style/style.css +22 -7
  106. package/dist/es/packages/collapseitem/collapseitem.js +65 -79
  107. package/dist/es/packages/collapseitem/style/collapseitem.scss +22 -5
  108. package/dist/es/packages/collapseitem/style/style.css +22 -7
  109. package/dist/es/packages/collapseitem/style/style.harmony.css +22 -7
  110. package/dist/es/packages/configprovider/types.d.ts +1 -1
  111. package/dist/es/packages/datepicker/style/style.css +7 -4
  112. package/dist/es/packages/datepickerview/style/style.css +3 -0
  113. package/dist/es/packages/dialog/content.d.ts +11 -3
  114. package/dist/es/packages/dialog/content.js +4 -4
  115. package/dist/es/packages/dialog/dialog.d.ts +39 -4
  116. package/dist/es/packages/dialog/dialog.js +14 -13
  117. package/dist/es/packages/dialog/index.d.ts +1 -1
  118. package/dist/es/packages/dialog/style/style.css +4 -16
  119. package/dist/es/packages/empty/style/style.css +4 -16
  120. package/dist/es/packages/fixednav/style/style.css +9 -6
  121. package/dist/es/packages/imagepreview/style/style.css +4 -4
  122. package/dist/es/packages/indicator/indicator.js +1 -1
  123. package/dist/es/packages/lottie/index.js +3 -3
  124. package/dist/es/packages/lottie/{mp.js → lottiemp.js} +1 -1
  125. package/dist/es/packages/notify/notify.js +45 -14
  126. package/dist/es/packages/notify/style/notify.scss +39 -36
  127. package/dist/es/packages/notify/style/style.css +36 -31
  128. package/dist/es/packages/notify/style/style.harmony.css +36 -31
  129. package/dist/es/packages/numberkeyboard/style/style.css +4 -4
  130. package/dist/es/packages/picker/style/style.css +7 -4
  131. package/dist/es/packages/pickerview/pickerroller.js +7 -2
  132. package/dist/es/packages/pickerview/style/pickerview.scss +3 -0
  133. package/dist/es/packages/pickerview/style/style.css +3 -0
  134. package/dist/es/packages/pickerview/style/style.harmony.css +3 -0
  135. package/dist/es/packages/popover/popover.d.ts +0 -7
  136. package/dist/es/packages/popover/popover.js +115 -142
  137. package/dist/es/packages/popover/style/popover.scss +48 -51
  138. package/dist/es/packages/popover/style/style.css +64 -70
  139. package/dist/es/packages/popover/style/style.harmony.css +64 -60
  140. package/dist/es/packages/popup/style/popup.scss +4 -4
  141. package/dist/es/packages/popup/style/style.css +4 -4
  142. package/dist/es/packages/popup/style/style.harmony.css +4 -4
  143. package/dist/es/packages/resultpage/style/style.css +4 -16
  144. package/dist/es/packages/searchbar/searchbar.js +7 -2
  145. package/dist/es/packages/shortpassword/style/style.css +4 -4
  146. package/dist/es/packages/skeleton/skeleton.js +62 -52
  147. package/dist/es/packages/skeleton/style/index.js +0 -1
  148. package/dist/es/packages/skeleton/style/skeleton.scss +40 -46
  149. package/dist/es/packages/skeleton/style/style.css +32 -175
  150. package/dist/es/packages/skeleton/style/style.harmony.css +32 -42
  151. package/dist/es/packages/switch/style/style.css +5 -0
  152. package/dist/es/packages/switch/style/style.harmony.css +5 -0
  153. package/dist/es/packages/switch/style/switch.scss +5 -0
  154. package/dist/es/packages/switch/switch.js +21 -11
  155. package/dist/es/packages/tabbar/style/style.css +54 -45
  156. package/dist/es/packages/tabbar/style/style.harmony.css +24 -18
  157. package/dist/es/packages/tabbar/style/tabbar.scss +28 -19
  158. package/dist/es/packages/tabbar/tabbar.js +27 -10
  159. package/dist/es/packages/tabbaritem/style/style.css +30 -27
  160. package/dist/es/packages/tabbaritem/style/style.harmony.css +21 -21
  161. package/dist/es/packages/tabbaritem/style/tabbaritem.scss +32 -29
  162. package/dist/es/packages/tabbaritem/tabbaritem.js +38 -14
  163. package/dist/es/packages/tabpane/tabpane.js +2 -2
  164. package/dist/es/packages/timeselect/style/style.css +4 -4
  165. package/dist/es/packages/tour/style/style.css +64 -70
  166. package/dist/es/packages/tour/tour.js +3 -4
  167. package/dist/es/types/spec/badge/base.d.ts +4 -0
  168. package/dist/es/types/spec/dialog/base.d.ts +83 -1
  169. package/dist/es/types/spec/dialog/base.js +1 -1
  170. package/dist/es/types/spec/dialog/h5.d.ts +4 -1
  171. package/dist/es/types/spec/dialog/taro.d.ts +8 -2
  172. package/dist/es/types/spec/indicator/base.d.ts +1 -1
  173. package/dist/es/types/spec/notify/base.d.ts +22 -5
  174. package/dist/es/types/spec/popover/base.d.ts +7 -0
  175. package/dist/es/types/spec/searchbar/taro.d.ts +10 -7
  176. package/dist/es/types/spec/skeleton/base.d.ts +19 -14
  177. package/dist/es/types/spec/switch/base.d.ts +6 -2
  178. package/dist/es/types/spec/switch/h5.d.ts +1 -1
  179. package/dist/es/types/spec/switch/taro.d.ts +1 -4
  180. package/dist/es/types/spec/tabbar/base.d.ts +7 -4
  181. package/dist/es/utils/get-rect-by-taro.js +9 -0
  182. package/dist/es/utils/lru.d.ts +8 -0
  183. package/dist/es/utils/lru.js +49 -0
  184. package/dist/nutui.react.umd.js +683 -552
  185. package/dist/style.css +1 -1
  186. package/dist/style.scss +46 -46
  187. package/dist/styles/theme-jmapp.scss +1 -0
  188. package/dist/styles/themes/jmapp.css +1 -1
  189. package/dist/styles/variables-jmapp.scss +237 -50
  190. package/dist/styles/variables-jrkf.scss +25 -14
  191. package/dist/styles/variables.scss +38 -51
  192. package/package.json +1 -1
  193. package/dist/cjs/packages/dialog/types.d.ts +0 -57
  194. package/dist/cjs/packages/dialog/types.js +0 -4
  195. package/dist/cjs/packages/dialog/types.taro.d.ts +0 -10
  196. package/dist/es/packages/dialog/types.d.ts +0 -57
  197. package/dist/es/packages/dialog/types.js +0 -1
  198. package/dist/es/packages/dialog/types.taro.d.ts +0 -10
  199. /package/dist/cjs/packages/lottie/{mp.d.ts → lottiemp.d.ts} +0 -0
  200. /package/dist/cjs/packages/lottie/{web.d.ts → lottieweb.d.ts} +0 -0
  201. /package/dist/cjs/packages/lottie/{web.js → lottieweb.js} +0 -0
  202. /package/dist/es/packages/lottie/{mp.d.ts → lottiemp.d.ts} +0 -0
  203. /package/dist/es/packages/lottie/{web.d.ts → lottieweb.d.ts} +0 -0
  204. /package/dist/es/packages/lottie/{web.js → lottieweb.js} +0 -0
@@ -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-s, 6px);
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-xs, 4px);
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));
@@ -107,6 +107,9 @@
107
107
  background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23));
108
108
  z-index: 1;
109
109
  }
110
+ .nut-badge-disabled {
111
+ background: var(--nutui-badge-background-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
112
+ }
110
113
  .nut-badge-number {
111
114
  font-family: "JD";
112
115
  }
@@ -132,14 +135,14 @@
132
135
  height: var(--nutui-badge-dot-width, 6px);
133
136
  }
134
137
  .nut-badge-dot-small {
135
- min-width: var(--nutui-badge-dot-width, 4px);
136
- width: var(--nutui-badge-dot-width, 4px);
137
- height: var(--nutui-badge-dot-width, 4px);
138
+ min-width: var(--nutui-badge-dot-small-width, 4px);
139
+ width: var(--nutui-badge-dot-small-width, 4px);
140
+ height: var(--nutui-badge-dot-small-width, 4px);
138
141
  }
139
142
  .nut-badge-dot-large {
140
- min-width: var(--nutui-badge-dot-width, 8px);
141
- width: var(--nutui-badge-dot-width, 8px);
142
- height: var(--nutui-badge-dot-width, 8px);
143
+ min-width: var(--nutui-badge-dot-large-width, 8px);
144
+ width: var(--nutui-badge-dot-large-width, 8px);
145
+ height: var(--nutui-badge-dot-large-width, 8px);
143
146
  }
144
147
  .nut-badge-outline {
145
148
  background: #ffffff;
@@ -60,7 +60,7 @@
60
60
 
61
61
  .nut-popup {
62
62
  position: fixed;
63
- min-height: 46%;
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-default-enter-active {
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-default-exit-active {
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-default-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 {
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 {
@@ -15,7 +15,7 @@ var defaultProps = {
15
15
  var classPrefix = "nut-indicator";
16
16
  export var Indicator = function(props) {
17
17
  var maybeFixedWidth = function maybeFixedWidth() {
18
- if (total === 2 || type === 'slide') {
18
+ if (type === 'dualScreen' || type === 'slide') {
19
19
  return "".concat(classPrefix, "-fixed-width");
20
20
  }
21
21
  return '';
@@ -1,10 +1,10 @@
1
- import { Lottie as LottieWeb } from "./web";
2
- import { Lottie as LottieMp } from "./mp";
1
+ import { Lottie as LottieWeb } from "./lottieweb";
2
+ import { Lottie as LottieMp } from "./lottiemp";
3
3
  var implementation;
4
4
  if (process.env.TARO_ENV === 'h5') {
5
5
  // @ts-ignore
6
6
  implementation = LottieWeb;
7
- } else if (process.env.TARO_ENV === 'weapp') {
7
+ } else if (process.env.TARO_ENV === 'weapp' || process.env.TARO_ENV === 'jd') {
8
8
  // @ts-ignore
9
9
  implementation = LottieMp;
10
10
  } else {
@@ -1,6 +1,6 @@
1
1
  import React, { useImperativeHandle, useRef } from "react";
2
2
  import { createSelectorQuery, getEnv, useReady, useUnload } from "@tarojs/taro";
3
- import lottie from "lottie-miniprogram";
3
+ import lottie from "@nutui/lottie-miniprogram";
4
4
  import { getWindowInfo } from "../../utils/get-system-info";
5
5
  import useUuid from "../../hooks/use-uuid";
6
6
  export var Lottie = /*#__PURE__*/ React.forwardRef(function(props, ref) {
@@ -2,31 +2,37 @@ import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
- import React, { useState, useEffect, useRef } from "react";
5
+ import React, { useState, useEffect, useMemo } from "react";
6
6
  import classNames from "classnames";
7
7
  import { CSSTransition } from "react-transition-group";
8
8
  import { View } from "@tarojs/components";
9
+ import { Close } from "@nutui/icons-react-taro";
10
+ import { web } from "../../utils/platform-taro";
11
+ import pxTransform from "../../utils/px-transform";
9
12
  import { ComponentDefaults } from "../../utils/typings";
10
13
  import { customEvents, useCustomEvent, useCustomEventsPath } from "../../hooks/use-custom-event";
11
14
  import { mergeProps } from "../../utils/merge-props";
12
15
  var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
13
16
  id: '',
14
- duration: 3000,
15
- type: 'danger',
17
+ distance: 8,
18
+ navHeight: 57,
16
19
  position: 'top',
17
20
  visible: false,
21
+ closeable: false,
22
+ leftIcon: null,
23
+ rightIcon: null,
24
+ duration: 3000,
18
25
  onClose: function() {},
19
26
  onClick: function() {}
20
27
  });
21
28
  var classPrefix = 'nut-notify';
22
29
  export var Notify = function(props) {
23
- var _mergeProps = mergeProps(defaultProps, props), id = _mergeProps.id, children = _mergeProps.children, style = _mergeProps.style, type = _mergeProps.type, className = _mergeProps.className, position = _mergeProps.position, visible = _mergeProps.visible, duration = _mergeProps.duration, onClose = _mergeProps.onClose, onClick = _mergeProps.onClick;
30
+ var _mergeProps = mergeProps(defaultProps, props), id = _mergeProps.id, style = _mergeProps.style, children = _mergeProps.children, distance = _mergeProps.distance, navHeight = _mergeProps.navHeight, closeable = _mergeProps.closeable, leftIcon = _mergeProps.leftIcon, rightIcon = _mergeProps.rightIcon, position = _mergeProps.position, visible = _mergeProps.visible, duration = _mergeProps.duration, className = _mergeProps.className, onClose = _mergeProps.onClose, onClick = _mergeProps.onClick;
24
31
  useCustomEvent(id, function(status) {
25
32
  status ? show() : hide();
26
33
  });
27
34
  var timer;
28
35
  var _useState = _sliced_to_array(useState(false), 2), showNotify = _useState[0], setShowNotify = _useState[1];
29
- var cssRef = useRef(null);
30
36
  useEffect(function() {
31
37
  if (visible) {
32
38
  show();
@@ -36,9 +42,6 @@ export var Notify = function(props) {
36
42
  }, [
37
43
  visible
38
44
  ]);
39
- var clickHandle = function() {
40
- onClick();
41
- };
42
45
  var show = function() {
43
46
  setShowNotify(true);
44
47
  clearTimer();
@@ -58,10 +61,29 @@ export var Notify = function(props) {
58
61
  setShowNotify(false);
59
62
  onClose();
60
63
  };
64
+ var getDistance = useMemo(function() {
65
+ if (position === 'top') {
66
+ return {
67
+ top: pxTransform(web() ? Number(distance) + navHeight : Number(distance))
68
+ };
69
+ }
70
+ return {
71
+ bottom: pxTransform(Number(distance))
72
+ };
73
+ }, [
74
+ distance,
75
+ position
76
+ ]);
61
77
  var _obj;
62
- var classes = classNames((_obj = {}, _define_property(_obj, "".concat(classPrefix, "-popup-top"), position === 'top'), _define_property(_obj, "".concat(classPrefix, "-popup-bottom"), position === 'bottom'), _define_property(_obj, "".concat(classPrefix), true), _define_property(_obj, "".concat(classPrefix, "-").concat(type), true), _obj));
78
+ var classes = classNames((_obj = {}, _define_property(_obj, "".concat(classPrefix), true), _define_property(_obj, "".concat(className), true), _obj));
79
+ var handleClick = function() {
80
+ onClick === null || onClick === void 0 ? void 0 : onClick();
81
+ };
82
+ var handleClickIcon = function() {
83
+ hide();
84
+ };
85
+ var _obj1;
63
86
  return /*#__PURE__*/ React.createElement(CSSTransition, {
64
- nodeRef: cssRef,
65
87
  in: showNotify,
66
88
  timeout: 300,
67
89
  classNames: "fade",
@@ -70,10 +92,19 @@ export var Notify = function(props) {
70
92
  position: position,
71
93
  id: id
72
94
  }, /*#__PURE__*/ React.createElement(View, {
73
- className: "".concat(classes, " ").concat(className),
74
- style: style,
75
- onClick: clickHandle
76
- }, children));
95
+ className: classes,
96
+ style: _object_spread({}, style, getDistance),
97
+ onClick: handleClick
98
+ }, leftIcon ? /*#__PURE__*/ React.createElement(View, {
99
+ className: "".concat(classPrefix, "-left-icon")
100
+ }, leftIcon) : null, /*#__PURE__*/ React.createElement(View, {
101
+ className: classNames((_obj1 = {}, _define_property(_obj1, "".concat(classPrefix, "-content"), true), _define_property(_obj1, "".concat(classPrefix, "-ellipsis"), closeable || rightIcon), _define_property(_obj1, "".concat(classPrefix, "-layout-left"), leftIcon || rightIcon), _obj1))
102
+ }, children), rightIcon || closeable ? /*#__PURE__*/ React.createElement(View, {
103
+ className: "".concat(classPrefix, "-right-icon"),
104
+ onClick: handleClickIcon
105
+ }, rightIcon || (closeable ? /*#__PURE__*/ React.createElement(Close, {
106
+ size: 12
107
+ }) : null)) : null));
77
108
  };
78
109
  export function open(selector) {
79
110
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -6,7 +6,7 @@
6
6
  /*入场动画过程*/
7
7
  .fade-enter-active {
8
8
  opacity: 1;
9
- transition: opacity 1s;
9
+ transition: opacity 300ms ease-in;
10
10
  }
11
11
 
12
12
  /*入场动画结束*/
@@ -22,7 +22,7 @@
22
22
  /*离场动画过程*/
23
23
  .fade-exit-active {
24
24
  opacity: 0;
25
- transition: opacity 1s;
25
+ transition: opacity 300ms ease-out;
26
26
  }
27
27
 
28
28
  /*离场动画结束*/
@@ -38,56 +38,59 @@
38
38
  /*页面第一次加载时的动画过程*/
39
39
  .fade-appear-active {
40
40
  opacity: 1;
41
- transition: opacity 1s;
41
+ transition: opacity 300ms;
42
42
  }
43
43
 
44
44
  .nut-notify {
45
+ position: fixed;
46
+ left: 8px;
47
+ right: 8px;
48
+ z-index: $notify-z-index;
45
49
  display: flex;
46
- justify-content: center;
47
50
  align-items: center;
48
51
  box-sizing: border-box;
49
- padding: $notify-padding;
50
- color: $notify-text-color;
51
- font-size: $notify-font-size;
52
- white-space: pre-wrap;
53
- word-wrap: break-word;
54
52
  height: $notify-height;
55
-
56
- &-popup-top,
57
- &-popup-bottom {
58
- position: fixed;
59
- left: 0;
60
- right: 0;
61
- overflow-y: auto;
62
- transition: transform 0.3s;
63
- z-index: 9999;
64
- }
65
-
66
- &-popup-top {
67
- top: 0;
68
- }
69
-
70
- &-popup-bottom {
71
- bottom: 0;
53
+ padding: $notify-padding;
54
+ border-radius: $notify-border-radius;
55
+ box-shadow: $notify-box-shadow;
56
+ background-color: $notify-background-color;
57
+
58
+ &-content {
59
+ flex: 1;
60
+ text-align: center;
61
+ min-width: 0;
62
+ font-size: $notify-font-size;
63
+ color: $notify-text-color;
64
+ white-space: nowrap;
65
+ overflow: hidden;
72
66
  }
73
67
 
74
- &-base {
75
- background: $notify-base-background-color;
68
+ &-ellipsis {
69
+ text-overflow: ellipsis;
76
70
  }
77
71
 
78
- &-primary {
79
- background: $notify-primary-background-color;
72
+ &-layout-left {
73
+ text-align: left;
80
74
  }
81
75
 
82
- &-success {
83
- background: $notify-success-background-color;
76
+ &-left-icon,
77
+ &-right-icon {
78
+ display: inline-flex;
84
79
  }
85
80
 
86
- &-danger {
87
- background: $notify-danger-background-color;
81
+ &-left-icon {
82
+ margin-right: 6px;
83
+ .nut-icon {
84
+ height: 16px;
85
+ width: 16px;
86
+ }
88
87
  }
89
88
 
90
- &-warning {
91
- background: $notify-warning-background-color;
89
+ &-right-icon {
90
+ margin-left: 6px;
91
+ .nut-icon {
92
+ height: 12px;
93
+ width: 12px;
94
+ }
92
95
  }
93
96
  }
@@ -11,7 +11,7 @@
11
11
  /*入场动画过程*/
12
12
  .fade-enter-active {
13
13
  opacity: 1;
14
- transition: opacity 1s;
14
+ transition: opacity 300ms ease-in;
15
15
  }
16
16
 
17
17
  /*入场动画结束*/
@@ -27,7 +27,7 @@
27
27
  /*离场动画过程*/
28
28
  .fade-exit-active {
29
29
  opacity: 0;
30
- transition: opacity 1s;
30
+ transition: opacity 300ms ease-out;
31
31
  }
32
32
 
33
33
  /*离场动画结束*/
@@ -43,47 +43,52 @@
43
43
  /*页面第一次加载时的动画过程*/
44
44
  .fade-appear-active {
45
45
  opacity: 1;
46
- transition: opacity 1s;
46
+ transition: opacity 300ms;
47
47
  }
48
48
 
49
49
  .nut-notify {
50
+ position: fixed;
51
+ left: 8px;
52
+ right: 8px;
53
+ z-index: var(--nutui-notify-z-index, 1000);
50
54
  display: flex;
51
- justify-content: center;
52
55
  align-items: center;
53
56
  box-sizing: border-box;
54
- padding: var(--nutui-notify-padding, 0px 10px);
55
- color: var(--nutui-notify-text-color, #ffffff);
56
- font-size: var(--nutui-notify-font-size, var(--nutui-font-size-base, 14px));
57
- white-space: pre-wrap;
58
- word-wrap: break-word;
59
57
  height: var(--nutui-notify-height, 40px);
58
+ padding: var(--nutui-notify-padding, 0px 12px);
59
+ border-radius: var(--nutui-notify-border-radius, 8px);
60
+ box-shadow: var(--nutui-notify-box-shadow, 0px 4px 12px 0px rgba(0, 0, 0, 0.06));
61
+ background-color: var(--nutui-notify-background-color, #ffffff);
62
+ }
63
+ .nut-notify-content {
64
+ flex: 1;
65
+ text-align: center;
66
+ min-width: 0;
67
+ font-size: var(--nutui-notify-font-size, var(--nutui-font-size-base, 14px));
68
+ color: var(--nutui-notify-text-color, var(--nutui-color-title, #1a1a1a));
69
+ white-space: nowrap;
70
+ overflow: hidden;
60
71
  }
61
- .nut-notify-popup-top, .nut-notify-popup-bottom {
62
- position: fixed;
63
- left: 0;
64
- right: 0;
65
- overflow-y: auto;
66
- transition: transform 0.3s;
67
- z-index: 9999;
68
- }
69
- .nut-notify-popup-top {
70
- top: 0;
72
+ .nut-notify-ellipsis {
73
+ text-overflow: ellipsis;
71
74
  }
72
- .nut-notify-popup-bottom {
73
- bottom: 0;
75
+ .nut-notify-layout-left {
76
+ text-align: left;
74
77
  }
75
- .nut-notify-base {
76
- background: var(--nutui-notify-base-background-color, var(--nutui-color-primary, #ff0f23));
78
+ .nut-notify-left-icon, .nut-notify-right-icon {
79
+ display: inline-flex;
77
80
  }
78
- .nut-notify-primary {
79
- background: var(--nutui-notify-primary-background-color, var(--nutui-color-info, #0073ff));
81
+ .nut-notify-left-icon {
82
+ margin-right: 6px;
80
83
  }
81
- .nut-notify-success {
82
- background: var(--nutui-notify-success-background-color, var(--nutui-color-success, #00d900));
84
+ .nut-notify-left-icon .nut-icon {
85
+ height: 16px;
86
+ width: 16px;
83
87
  }
84
- .nut-notify-danger {
85
- background: var(--nutui-notify-danger-background-color, var(--nutui-color-primary, #ff0f23));
88
+ .nut-notify-right-icon {
89
+ margin-left: 6px;
86
90
  }
87
- .nut-notify-warning {
88
- background: var(--nutui-notify-warning-background-color, var(--nutui-color-warning, #ffbf00));
91
+ .nut-notify-right-icon .nut-icon {
92
+ height: 12px;
93
+ width: 12px;
89
94
  }
@@ -12,7 +12,7 @@
12
12
  /*入场动画过程*/
13
13
  .fade-enter-active {
14
14
  opacity: 1;
15
- transition: opacity 1s;
15
+ transition: opacity 300ms ease-in;
16
16
  }
17
17
 
18
18
  /*入场动画结束*/
@@ -28,7 +28,7 @@
28
28
  /*离场动画过程*/
29
29
  .fade-exit-active {
30
30
  opacity: 0;
31
- transition: opacity 1s;
31
+ transition: opacity 300ms ease-out;
32
32
  }
33
33
 
34
34
  /*离场动画结束*/
@@ -44,47 +44,52 @@
44
44
  /*页面第一次加载时的动画过程*/
45
45
  .fade-appear-active {
46
46
  opacity: 1;
47
- transition: opacity 1s;
47
+ transition: opacity 300ms;
48
48
  }
49
49
 
50
50
  .nut-notify {
51
+ position: fixed;
52
+ left: 8px;
53
+ right: 8px;
54
+ z-index: 1000;
51
55
  display: flex;
52
- justify-content: center;
53
56
  align-items: center;
54
57
  box-sizing: border-box;
55
- padding: 0px 10px;
56
- color: #ffffff;
57
- font-size: 14px;
58
- white-space: pre-wrap;
59
- word-wrap: break-word;
60
58
  height: 40px;
59
+ padding: 0px 12px;
60
+ border-radius: 8px;
61
+ box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.06);
62
+ background-color: #ffffff;
63
+ }
64
+ .nut-notify-content {
65
+ flex: 1;
66
+ text-align: center;
67
+ min-width: 0;
68
+ font-size: 14px;
69
+ color: #1a1a1a;
70
+ white-space: nowrap;
71
+ overflow: hidden;
61
72
  }
62
- .nut-notify-popup-top, .nut-notify-popup-bottom {
63
- position: fixed;
64
- left: 0;
65
- right: 0;
66
- overflow-y: auto;
67
- transition: transform 0.3s;
68
- z-index: 9999;
69
- }
70
- .nut-notify-popup-top {
71
- top: 0;
73
+ .nut-notify-ellipsis {
74
+ text-overflow: ellipsis;
72
75
  }
73
- .nut-notify-popup-bottom {
74
- bottom: 0;
76
+ .nut-notify-layout-left {
77
+ text-align: left;
75
78
  }
76
- .nut-notify-base {
77
- background: #ff0f23;
79
+ .nut-notify-left-icon, .nut-notify-right-icon {
80
+ display: inline-flex;
78
81
  }
79
- .nut-notify-primary {
80
- background: #0073ff;
82
+ .nut-notify-left-icon {
83
+ margin-right: 6px;
81
84
  }
82
- .nut-notify-success {
83
- background: #00d900;
85
+ .nut-notify-left-icon .nut-icon {
86
+ height: 16px;
87
+ width: 16px;
84
88
  }
85
- .nut-notify-danger {
86
- background: #ff0f23;
89
+ .nut-notify-right-icon {
90
+ margin-left: 6px;
87
91
  }
88
- .nut-notify-warning {
89
- background: #ffbf00;
92
+ .nut-notify-right-icon .nut-icon {
93
+ height: 12px;
94
+ width: 12px;
90
95
  }
@@ -60,7 +60,7 @@
60
60
 
61
61
  .nut-popup {
62
62
  position: fixed;
63
- min-height: 46%;
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-default-enter-active {
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-default-exit-active {
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-default-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 {
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: 46%;
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-default-enter-active {
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-default-exit-active {
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-default-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 {
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 {
@@ -429,6 +429,9 @@
429
429
  z-index: 1;
430
430
  transform-style: preserve-3d;
431
431
  }
432
+ .nut-pickerview-roller-placeholder {
433
+ height: var(--nutui-picker-item-height, 36px);
434
+ }
432
435
  .nut-pickerview-roller-item {
433
436
  position: absolute;
434
437
  top: 0;