@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
@@ -30,6 +30,7 @@ var InternalPickerRoller = function(props, ref) {
30
30
  var isMoving = useRef(false);
31
31
  var rollerRef = useRef(null);
32
32
  var pickerRollerRef = useRef(null);
33
+ var placeholderRef = useRef(null);
33
34
  var _useState3 = _sliced_to_array(useState(0), 2), startTime = _useState3[0], setStartTime = _useState3[1];
34
35
  var _useState4 = _sliced_to_array(useState(0), 2), startY = _useState4[0], setStartY = _useState4[1];
35
36
  var transformY = useRef(0);
@@ -124,7 +125,7 @@ var InternalPickerRoller = function(props, ref) {
124
125
  ]);
125
126
  return [
126
127
  4,
127
- getRectByTaro(rollerRef.current)
128
+ getRectByTaro(placeholderRef.current)
128
129
  ];
129
130
  case 1:
130
131
  placeholder = _state.sent();
@@ -172,7 +173,7 @@ var InternalPickerRoller = function(props, ref) {
172
173
  }
173
174
  }, [
174
175
  pickerRollerRef.current,
175
- rollerRef.current
176
+ placeholderRef.current
176
177
  ]);
177
178
  useEffect(function() {
178
179
  isMoving.current = false;
@@ -214,6 +215,10 @@ var InternalPickerRoller = function(props, ref) {
214
215
  className: "nut-pickerview-list",
215
216
  ref: pickerRollerRef
216
217
  }, /*#__PURE__*/ React.createElement(View, {
218
+ className: "".concat(classPrefix, "-placeholder"),
219
+ ref: placeholderRef,
220
+ id: "".concat(classPrefix, "-placeholder-").concat(uuid)
221
+ }), /*#__PURE__*/ React.createElement(View, {
217
222
  className: classPrefix,
218
223
  id: "".concat(classPrefix, "-").concat(uuid),
219
224
  ref: rollerRef,
@@ -49,6 +49,9 @@
49
49
  height: $picker-item-height;
50
50
  z-index: 1;
51
51
  transform-style: preserve-3d;
52
+ &-placeholder {
53
+ height: $picker-item-height;
54
+ }
52
55
  }
53
56
 
54
57
  &-roller-item {
@@ -48,6 +48,9 @@
48
48
  z-index: 1;
49
49
  transform-style: preserve-3d;
50
50
  }
51
+ .nut-pickerview-roller-placeholder {
52
+ height: var(--nutui-picker-item-height, 36px);
53
+ }
51
54
  .nut-pickerview-roller-item {
52
55
  position: absolute;
53
56
  top: 0;
@@ -48,6 +48,9 @@
48
48
  z-index: 1;
49
49
  transform-style: preserve-3d;
50
50
  }
51
+ .nut-pickerview-roller-placeholder {
52
+ height: 36px;
53
+ }
51
54
  .nut-pickerview-roller-item {
52
55
  position: absolute;
53
56
  top: 0;
@@ -1,10 +1,3 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  import { TaroPopoverProps } from "../../types";
3
- export interface RootPosition {
4
- width: number;
5
- height: number;
6
- left: number;
7
- top: number;
8
- right: number;
9
- }
10
3
  export declare const Popover: FunctionComponent<Partial<TaroPopoverProps> & Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'>>;
@@ -7,14 +7,15 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
7
7
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
8
8
  import React, { useEffect, useRef, useState } from "react";
9
9
  import classNames from "classnames";
10
- import Taro, { createSelectorQuery } from "@tarojs/taro";
11
- import { View } from "@tarojs/components";
10
+ import { nextTick } from "@tarojs/taro";
11
+ import { Text, View } from "@tarojs/components";
12
12
  import { ArrowRadius } from "@nutui/icons-react-taro";
13
13
  import Popup from "../popup/index";
14
14
  import { getRectByTaro } from "../../utils/get-rect-by-taro";
15
15
  import { ComponentDefaults } from "../../utils/typings";
16
- import { getRect } from "../../hooks/use-client-rect";
17
16
  import { useRtl } from "../configprovider/index";
17
+ import pxTransform from "../../utils/px-transform";
18
+ import useUuid from "../../hooks/use-uuid";
18
19
  var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
19
20
  list: [],
20
21
  theme: 'light',
@@ -26,7 +27,6 @@ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
26
27
  ],
27
28
  arrowOffset: 0,
28
29
  targetId: '',
29
- className: '',
30
30
  showArrow: true,
31
31
  closeOnOutsideClick: true,
32
32
  closeOnActionClick: true,
@@ -61,129 +61,100 @@ export var Popover = function(props) {
61
61
  var popoverRef = useRef(null);
62
62
  var popoverContentRef = useRef(null);
63
63
  var _useState = _sliced_to_array(useState(false), 2), showPopup = _useState[0], setShowPopup = _useState[1];
64
- var _useState1 = _sliced_to_array(useState(0), 2), elWidth = _useState1[0], setElWidth = _useState1[1];
65
- var _useState2 = _sliced_to_array(useState(0), 2), elHeight = _useState2[0], setElHeight = _useState2[1];
66
- var _useState3 = _sliced_to_array(useState(), 2), rootPosition = _useState3[0], setRootPosition = _useState3[1];
64
+ var _useState1 = _sliced_to_array(useState(0), 2), popWidth = _useState1[0], setPopWidth = _useState1[1];
65
+ var _useState2 = _sliced_to_array(useState(0), 2), popHeight = _useState2[0], setPopHeight = _useState2[1];
66
+ var _useState3 = _sliced_to_array(useState(), 2), wrapperPosition = _useState3[0], setWrapperPosition = _useState3[1];
67
67
  useEffect(function() {
68
68
  setShowPopup(visible);
69
69
  if (visible) {
70
- setTimeout(function() {
71
- getContentWidth();
72
- }, 0);
70
+ getWrapperPosition();
73
71
  }
74
72
  }, [
75
73
  visible
76
74
  ]);
77
- var getContentWidth = /*#__PURE__*/ function() {
75
+ var uid = useUuid();
76
+ var popoverId = "popover-".concat(uid);
77
+ var getWrapperPosition = /*#__PURE__*/ function() {
78
78
  var _ref = _async_to_generator(function() {
79
- var rect;
80
79
  return _ts_generator(this, function(_state) {
81
- createSelectorQuery().selectViewport().scrollOffset(/*#__PURE__*/ function() {
82
- var _ref = _async_to_generator(function(res) {
83
- var distance;
84
- return _ts_generator(this, function(_state) {
85
- switch(_state.label){
86
- case 0:
87
- distance = res.scrollTop;
88
- if (!targetId) return [
89
- 3,
90
- 4
91
- ];
92
- if (!(Taro.getEnv() === Taro.ENV_TYPE.WEB)) return [
93
- 3,
94
- 1
95
- ];
96
- rect = getRect(document.querySelector("#".concat(targetId)));
97
- return [
98
- 3,
99
- 3
100
- ];
101
- case 1:
102
- return [
103
- 4,
104
- getRectTaro(targetId)
105
- ];
106
- case 2:
107
- rect = _state.sent();
108
- _state.label = 3;
109
- case 3:
110
- return [
111
- 3,
112
- 6
113
- ];
114
- case 4:
115
- return [
116
- 4,
117
- getRectByTaro(popoverRef.current)
118
- ];
119
- case 5:
120
- rect = _state.sent();
121
- _state.label = 6;
122
- case 6:
123
- setRootPosition({
124
- width: rect.width,
125
- height: rect.height,
126
- left: rtl ? rect.right : rect.left,
127
- top: rect.top + distance,
128
- right: rtl ? rect.left : rect.right
129
- });
130
- return [
131
- 2
132
- ];
133
- }
134
- });
80
+ nextTick(/*#__PURE__*/ _async_to_generator(function() {
81
+ var rect, _tmp, width, height, right, left, top;
82
+ return _ts_generator(this, function(_state) {
83
+ switch(_state.label){
84
+ case 0:
85
+ if (!targetId) return [
86
+ 3,
87
+ 2
88
+ ];
89
+ return [
90
+ 4,
91
+ getRectByTaro(document.querySelector("#".concat(targetId)), targetId)
92
+ ];
93
+ case 1:
94
+ _tmp = _state.sent();
95
+ return [
96
+ 3,
97
+ 4
98
+ ];
99
+ case 2:
100
+ return [
101
+ 4,
102
+ getRectByTaro(popoverRef.current, popoverId)
103
+ ];
104
+ case 3:
105
+ _tmp = _state.sent();
106
+ _state.label = 4;
107
+ case 4:
108
+ rect = _tmp;
109
+ width = rect.width, height = rect.height, right = rect.right, left = rect.left, top = rect.top;
110
+ setWrapperPosition({
111
+ width: width,
112
+ height: height,
113
+ left: rtl ? right : left,
114
+ top: top,
115
+ right: rtl ? left : right
116
+ });
117
+ getPopoverContentW();
118
+ return [
119
+ 2
120
+ ];
121
+ }
135
122
  });
136
- return function(res) {
137
- return _ref.apply(this, arguments);
138
- };
139
- }()).exec();
140
- setTimeout(function() {
141
- getPopoverContentW();
142
- }, 300);
123
+ }));
143
124
  return [
144
125
  2
145
126
  ];
146
127
  });
147
128
  });
148
- return function getContentWidth() {
149
- return _ref.apply(this, arguments);
150
- };
151
- }();
152
- var getRectTaro = /*#__PURE__*/ function() {
153
- var _ref = _async_to_generator(function(targetId) {
154
- return _ts_generator(this, function(_state) {
155
- return [
156
- 2,
157
- new Promise(function(resolve) {
158
- createSelectorQuery().select("#".concat(targetId)).boundingClientRect().exec(function(res) {
159
- resolve(res[0]);
160
- });
161
- })
162
- ];
163
- });
164
- });
165
- return function getRectTaro(targetId) {
129
+ return function getWrapperPosition() {
166
130
  return _ref.apply(this, arguments);
167
131
  };
168
132
  }();
169
133
  var getPopoverContentW = /*#__PURE__*/ function() {
170
134
  var _ref = _async_to_generator(function() {
171
- var rectContent;
172
135
  return _ts_generator(this, function(_state) {
173
- switch(_state.label){
174
- case 0:
175
- return [
176
- 4,
177
- getRectByTaro(popoverContentRef.current)
178
- ];
179
- case 1:
180
- rectContent = _state.sent();
181
- setElWidth(rectContent.width);
182
- setElHeight(rectContent.height);
183
- return [
184
- 2
185
- ];
186
- }
136
+ nextTick(/*#__PURE__*/ _async_to_generator(function() {
137
+ var rectContent;
138
+ return _ts_generator(this, function(_state) {
139
+ switch(_state.label){
140
+ case 0:
141
+ return [
142
+ 4,
143
+ getRectByTaro(popoverContentRef.current)
144
+ ];
145
+ case 1:
146
+ rectContent = _state.sent();
147
+ setPopWidth(rectContent.width);
148
+ setPopHeight(rectContent.height);
149
+ return [
150
+ 2
151
+ ];
152
+ }
153
+ });
154
+ }));
155
+ return [
156
+ 2
157
+ ];
187
158
  });
188
159
  });
189
160
  return function getPopoverContentW() {
@@ -192,23 +163,23 @@ export var Popover = function(props) {
192
163
  }();
193
164
  var clickAway = function() {
194
165
  if (closeOnOutsideClick) {
195
- onClick && onClick();
196
- onClose && onClose();
166
+ onClick === null || onClick === void 0 ? void 0 : onClick();
167
+ onClose === null || onClose === void 0 ? void 0 : onClose();
197
168
  }
198
169
  };
199
- var _obj;
200
- var classes = classNames((_obj = {}, _define_property(_obj, "".concat(classPrefix), true), _define_property(_obj, "".concat(classPrefix, "-").concat(theme), theme === 'dark'), _obj), className);
170
+ var classes = classNames(classPrefix, _define_property({}, "".concat(classPrefix, "-").concat(theme), theme === 'dark'), className);
201
171
  var popoverArrow = function() {
202
172
  var prefixCls = 'nut-popover-arrow';
203
- return "".concat(prefixCls, " ").concat(prefixCls, "-").concat(location.split('-')[0], " ").concat(prefixCls, "-").concat(location);
173
+ var direction = location.split('-')[0];
174
+ return "".concat(prefixCls, " ").concat(prefixCls, "-").concat(direction, " ").concat(prefixCls, "-").concat(location);
204
175
  };
205
- var getRootPosition = function() {
176
+ var getPopoverPosition = function() {
206
177
  var styles = {};
207
- if (!rootPosition) {
178
+ if (!wrapperPosition) {
208
179
  styles.visibility = 'hidden';
209
180
  return styles;
210
181
  }
211
- var width = rootPosition.width, height = rootPosition.height, left = rootPosition.left, top = rootPosition.top, right = rootPosition.right;
182
+ var width = wrapperPosition.width, height = wrapperPosition.height, left = wrapperPosition.left, top = wrapperPosition.top, right = wrapperPosition.right;
212
183
  var direction = location.split('-')[0];
213
184
  var skew = location.split('-')[1];
214
185
  var cross = 0;
@@ -224,36 +195,36 @@ export var Popover = function(props) {
224
195
  'bottom',
225
196
  'top'
226
197
  ].includes(direction)) {
227
- var h = direction === 'bottom' ? height + cross : -(elHeight + cross);
228
- styles.top = "".concat(top + h, "px");
198
+ var h = direction === 'bottom' ? height + cross : -(popHeight + cross);
199
+ styles.top = pxTransform(top + h);
229
200
  if (!skew) {
230
- styles[dir] = "".concat(-(elWidth - width) / 2 + rootPosition[dir] + parallel, "px");
201
+ styles[dir] = pxTransform(-(popWidth - width) / 2 + wrapperPosition[dir] + parallel);
231
202
  }
232
- if (skew === 'start') {
233
- styles.left = "".concat(left + parallel, "px");
203
+ if (skew === 'left') {
204
+ styles.left = pxTransform(left + parallel);
234
205
  }
235
- if (skew === 'end') {
236
- styles.left = "".concat(right + parallel, "px");
206
+ if (skew === 'right') {
207
+ styles.left = pxTransform(right + parallel);
237
208
  }
238
209
  }
239
210
  if ([
240
211
  'left',
241
212
  'right'
242
213
  ].includes(direction)) {
243
- var contentW = direction === 'left' ? -(elWidth + cross) : width + cross;
244
- styles.left = "".concat(left + contentW, "px");
214
+ var contentW = direction === 'left' ? -(popWidth + cross) : width + cross;
215
+ styles.left = pxTransform(left + contentW);
245
216
  if (!skew) {
246
- styles.top = "".concat(top - elHeight / 2 + height / 2 - 4 + parallel, "px");
217
+ styles.top = pxTransform(top - popHeight / 2 + height / 2 - 4 + parallel);
247
218
  }
248
- if (skew === 'start') {
249
- styles.top = "".concat(top + parallel, "px");
219
+ if (skew === 'top') {
220
+ styles.top = pxTransform(top + parallel);
250
221
  }
251
- if (skew === 'end') {
252
- styles.top = "".concat(top + height + parallel, "px");
222
+ if (skew === 'bottom') {
223
+ styles.top = pxTransform(top + height + parallel);
253
224
  }
254
225
  }
255
226
  }
256
- styles.visibility = elWidth === 0 ? 'hidden' : 'initial';
227
+ styles.visibility = popWidth === 0 ? 'hidden' : 'initial';
257
228
  return styles;
258
229
  };
259
230
  var popoverArrowStyle = function() {
@@ -271,10 +242,10 @@ export var Popover = function(props) {
271
242
  if (!skew) {
272
243
  styles[dir] = "calc(50% + ".concat(arrowOffset, "px)");
273
244
  }
274
- if (skew === 'start') {
245
+ if (skew === 'left') {
275
246
  styles[dir] = "".concat(base + arrowOffset, "px");
276
247
  }
277
- if (skew === 'end') {
248
+ if (skew === 'right') {
278
249
  styles[dir2] = "".concat(base - arrowOffset, "px");
279
250
  }
280
251
  }
@@ -285,10 +256,10 @@ export var Popover = function(props) {
285
256
  if (!skew) {
286
257
  styles.top = "calc(50% - ".concat(arrowOffset, "px)");
287
258
  }
288
- if (skew === 'start') {
259
+ if (skew === 'top') {
289
260
  styles.top = "".concat(base - arrowOffset, "px");
290
261
  }
291
- if (skew === 'end') {
262
+ if (skew === 'bottom') {
292
263
  styles.bottom = "".concat(base + arrowOffset, "px");
293
264
  }
294
265
  }
@@ -307,6 +278,7 @@ export var Popover = function(props) {
307
278
  return /*#__PURE__*/ React.createElement(React.Fragment, null, !targetId && /*#__PURE__*/ React.createElement(View, {
308
279
  className: "nut-popover-wrapper",
309
280
  ref: popoverRef,
281
+ id: popoverId,
310
282
  onClick: function() {
311
283
  var _props_onClick;
312
284
  props === null || props === void 0 ? void 0 : (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props);
@@ -319,7 +291,7 @@ export var Popover = function(props) {
319
291
  style: style
320
292
  }, Array.isArray(children) ? children[0] : children), /*#__PURE__*/ React.createElement(View, {
321
293
  className: classes,
322
- style: getRootPosition()
294
+ style: _object_spread({}, getPopoverPosition(), style)
323
295
  }, /*#__PURE__*/ React.createElement(Popup, _object_spread({
324
296
  className: "nut-popover-content nut-popover-content-".concat(location),
325
297
  position: "none",
@@ -334,22 +306,23 @@ export var Popover = function(props) {
334
306
  }, /*#__PURE__*/ React.createElement(ArrowRadius, {
335
307
  width: 8,
336
308
  height: 4
337
- })), Array.isArray(children) ? children[1] : '', list.map(function(item, index) {
309
+ })), Array.isArray(children) ? children[1] : null, list.map(function(item, index) {
310
+ var _item_action;
338
311
  return /*#__PURE__*/ React.createElement(View, {
339
312
  className: classNames({
340
- 'nut-popover-menu-item': true,
341
- 'nut-popover-menu-disabled': item.disabled
313
+ 'nut-popover-item': true,
314
+ 'nut-popover-item-disabled': item.disabled
342
315
  }, item.className),
343
316
  key: item.key || index,
344
317
  onClick: function() {
345
318
  return handleSelect(item, index);
346
319
  }
347
320
  }, item.icon && /*#__PURE__*/ React.createElement(View, {
348
- className: "nut-popover-menu-item-icon"
349
- }, item.icon), /*#__PURE__*/ React.createElement(View, {
350
- className: "nut-popover-menu-item-name"
351
- }, item.name), item.action && item.action.icon && /*#__PURE__*/ React.createElement(View, {
352
- className: "nut-popover-menu-item-action-icon",
321
+ className: "nut-popover-item-icon"
322
+ }, item.icon), /*#__PURE__*/ React.createElement(Text, {
323
+ className: "nut-popover-item-name"
324
+ }, item.name), ((_item_action = item.action) === null || _item_action === void 0 ? void 0 : _item_action.icon) && /*#__PURE__*/ React.createElement(View, {
325
+ className: "nut-popover-item-action-icon",
353
326
  onClick: function(e) {
354
327
  var _item_action_onClick, _item_action;
355
328
  return (_item_action = item.action) === null || _item_action === void 0 ? void 0 : (_item_action_onClick = _item_action.onClick) === null || _item_action_onClick === void 0 ? void 0 : _item_action_onClick.call(_item_action, e);