@nutui/nutui-react-taro 1.4.4 → 1.4.5-beta.0

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 (219) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/Address.js +5 -5
  3. package/dist/esm/Audio.js +5 -5
  4. package/dist/esm/AvatarContext-7153ad2b.js +3 -1
  5. package/dist/esm/AvatarGroup.js +4 -4
  6. package/dist/esm/Calendar.js +5 -5
  7. package/dist/esm/CalendarItem.js +4 -4
  8. package/dist/esm/Card.js +4 -3
  9. package/dist/esm/Cell.js +2 -2
  10. package/dist/esm/ConfigProvider.js +3 -3
  11. package/dist/esm/CountDown.js +4 -4
  12. package/dist/esm/DatePicker.js +5 -5
  13. package/dist/esm/Dialog.js +4 -4
  14. package/dist/esm/Ellipsis.js +4 -4
  15. package/dist/esm/Empty.js +4 -4
  16. package/dist/esm/FixedNav.js +4 -4
  17. package/dist/esm/Form.js +4 -4
  18. package/dist/esm/FormItem.js +3 -3
  19. package/dist/esm/Grid.js +4 -4
  20. package/dist/esm/GridItem.js +4 -4
  21. package/dist/esm/Image.js +4 -4
  22. package/dist/esm/Infiniteloading.js +4 -4
  23. package/dist/esm/Input.js +4 -4
  24. package/dist/esm/MenuItem.js +4 -4
  25. package/dist/esm/NoticeBar.js +2 -2
  26. package/dist/esm/NumberKeyboard.js +4 -4
  27. package/dist/esm/Pagination.js +4 -4
  28. package/dist/esm/Picker.js +4 -4
  29. package/dist/esm/PullToRefresh.js +4 -4
  30. package/dist/esm/Range.js +4 -4
  31. package/dist/esm/SearchBar.js +4 -4
  32. package/dist/esm/ShortPassword.js +4 -4
  33. package/dist/esm/SideNavBar.js +4 -4
  34. package/dist/esm/Signature.js +4 -4
  35. package/dist/esm/Sticky.js +4 -4
  36. package/dist/esm/Table.js +4 -4
  37. package/dist/esm/Tag.js +3 -2
  38. package/dist/esm/TextArea.js +4 -4
  39. package/dist/esm/TimeDetail.js +4 -4
  40. package/dist/esm/TimePannel.js +4 -4
  41. package/dist/esm/TimeSelect.js +6 -6
  42. package/dist/esm/Uploader.js +4 -4
  43. package/dist/esm/UserContext-68f62e66.js +3 -1
  44. package/dist/esm/UserContext-b4181162.js +3 -1
  45. package/dist/esm/UserContext-be8097d2.js +3 -1
  46. package/dist/esm/VirtualList.js +6 -4
  47. package/dist/esm/WaterMark.js +4 -4
  48. package/dist/esm/actionsheet.taro-a58d3d12.js +45 -83
  49. package/dist/esm/address.taro-79cc7c96.js +461 -0
  50. package/dist/esm/animate.taro-b0e83dd5.js +32 -46
  51. package/dist/esm/animatingnumbers.taro-6f40a2e9.js +93 -134
  52. package/dist/esm/audio.taro-4fadc583.js +161 -0
  53. package/dist/esm/avatar.taro-85ced995.js +93 -119
  54. package/dist/esm/avatargroup-1d900174.js +34 -0
  55. package/dist/esm/backtop.taro-99107c30.js +39 -62
  56. package/dist/esm/badge.taro-fe9171ec.js +40 -58
  57. package/dist/esm/barrage.taro-0e157b5e.js +61 -91
  58. package/dist/esm/bem-893ad28d.js +3 -6
  59. package/dist/esm/button.taro-4ce133b9.js +87 -98
  60. package/dist/esm/calendar.taro-4ed72058.js +38 -0
  61. package/dist/esm/calendaritem.taro-1ebe428d.js +571 -0
  62. package/dist/esm/card.taro-39055e82.js +32 -0
  63. package/dist/esm/cascader.taro-d8cb1c3e.js +397 -636
  64. package/dist/esm/cell.taro-9a04a92e.js +64 -0
  65. package/dist/esm/cellgroup.taro-e094471c.js +18 -27
  66. package/dist/esm/checkbox.taro-0bda9796.js +160 -232
  67. package/dist/esm/circleprogress.taro-47db537c.js +99 -120
  68. package/dist/esm/col.taro-b61c7cba.js +33 -50
  69. package/dist/esm/collapse.taro-af58206c.js +73 -86
  70. package/dist/esm/collapseitem-ce1849d2.js +75 -139
  71. package/dist/esm/configprovider-5eea4f5d.js +19 -0
  72. package/dist/esm/configprovider.taro-26882dd2.js +42 -0
  73. package/dist/esm/countdown.taro-9e40de9c.js +225 -0
  74. package/dist/esm/datepicker.taro-7220e495.js +270 -0
  75. package/dist/esm/dialog.taro-1c03960e.js +123 -0
  76. package/dist/esm/divider.taro-5236fe6a.js +27 -27
  77. package/dist/esm/drag.taro-82b6b27a.js +99 -138
  78. package/dist/esm/elevator.taro-d7d65470.js +185 -259
  79. package/dist/esm/ellipsis.taro-49b6db0c.js +232 -0
  80. package/dist/esm/empty.taro-7bd813f9.js +62 -0
  81. package/dist/esm/fixednav.taro-5ad15202.js +53 -0
  82. package/dist/esm/form.taro-71d32671.js +179 -0
  83. package/dist/esm/formitem.taro-3089489b.js +89 -0
  84. package/dist/esm/grid.taro-e6decfce.js +58 -0
  85. package/dist/esm/grid.taro.context-39636af9.js +4 -2
  86. package/dist/esm/griditem.taro-4cade72e.js +90 -0
  87. package/dist/esm/icon-8dc4de10.js +43 -51
  88. package/dist/esm/icon.taro-1d0d4fb7.js +43 -51
  89. package/dist/esm/image.taro-e6dc5867.js +64 -0
  90. package/dist/esm/imagepreview.taro-3400ea03.js +158 -205
  91. package/dist/esm/index.taro-a36f96fb.js +149 -210
  92. package/dist/esm/indicator.taro-183ea169.js +29 -43
  93. package/dist/esm/infiniteloading.taro-6c2a2e95.js +142 -0
  94. package/dist/esm/input.taro-fd566407.js +243 -0
  95. package/dist/esm/inputnumber.taro-dc39b853.js +129 -177
  96. package/dist/esm/layout.taro-358f014f.js +6 -9
  97. package/dist/esm/menu.taro-4abed328.js +89 -132
  98. package/dist/esm/menuitem.taro-6e8b27c3.js +130 -0
  99. package/dist/esm/navbar.taro-c931c078.js +69 -105
  100. package/dist/esm/noticebar.taro-69ea7673.js +450 -0
  101. package/dist/esm/notify.taro-308e5892.js +66 -97
  102. package/dist/esm/numberkeyboard.taro-194519e4.js +158 -0
  103. package/dist/esm/nutui-react.es.js +44 -44
  104. package/dist/esm/offsetContext-bfb02c25.js +3 -1
  105. package/dist/esm/overlay.taro-98367bc1.js +59 -74
  106. package/dist/esm/pagination.taro-bb490de9.js +124 -0
  107. package/dist/esm/picker.taro-2a8ded7c.js +420 -0
  108. package/dist/esm/popover.taro-46d813e8.js +132 -222
  109. package/dist/esm/popup.taro-cb777e09.js +125 -178
  110. package/dist/esm/price.taro-8801462e.js +75 -86
  111. package/dist/esm/progress.taro-623bc807.js +84 -118
  112. package/dist/esm/pulltorefresh.taro-cab7b51c.js +221 -0
  113. package/dist/esm/range.taro-5d6ff217.js +332 -0
  114. package/dist/esm/rate.taro-10197384.js +64 -111
  115. package/dist/esm/row.taro-37a895de.js +38 -42
  116. package/dist/esm/searchbar.taro-839dd622.js +148 -0
  117. package/dist/esm/shortpassword.taro-182d46f7.js +111 -0
  118. package/dist/esm/sidenavbar.taro-006cf38b.js +35 -0
  119. package/dist/esm/sidenavbaritem.taro-fee11d26.js +9 -22
  120. package/dist/esm/signature.taro-33632585.js +143 -0
  121. package/dist/esm/skeleton.taro-853ce460.js +51 -88
  122. package/dist/esm/step.taro-1c94e067.js +49 -78
  123. package/dist/esm/steps.taro-acf205a0.js +21 -30
  124. package/dist/esm/sticky.taro-d0553f48.js +13 -0
  125. package/dist/esm/subsidenavbar.taro-f46b4c73.js +58 -75
  126. package/dist/esm/swipe.taro-83bc248f.js +164 -254
  127. package/dist/esm/swiper.taro-852f6615.js +424 -505
  128. package/dist/esm/swiperitem-86a3578a.js +20 -28
  129. package/dist/esm/switch.taro-bae2dca0.js +43 -64
  130. package/dist/esm/tabbar.taro-86cece39.js +47 -57
  131. package/dist/esm/tabbaritem.taro-8dfb8055.js +51 -79
  132. package/dist/esm/table.taro-cb4dd2c3.js +92 -0
  133. package/dist/esm/tabpane.taro-91cd6cf4.js +17 -22
  134. package/dist/esm/tabs.taro-e71875fa.js +121 -165
  135. package/dist/esm/tag.taro-00fe554d.js +89 -0
  136. package/dist/esm/textarea.taro-42600f8c.js +74 -0
  137. package/dist/esm/timedetail.taro-c5f564fd.js +44 -0
  138. package/dist/esm/timepannel.taro-29f9dd86.js +22 -0
  139. package/dist/esm/timeselect.taro-3ecce65d.js +133 -0
  140. package/dist/esm/toast.taro-0804b6b4.js +99 -137
  141. package/dist/esm/trendarrow.taro-5a7153e4.js +63 -90
  142. package/dist/esm/types/src/packages/cell/cell.taro.d.ts +0 -1
  143. package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +5 -4
  144. package/dist/esm/types/src/packages/noticebar/noticebar.taro.d.ts +5 -4
  145. package/dist/esm/types/src/packages/uploader/uploader.d.ts +1 -1
  146. package/dist/esm/types/src/packages/virtuallist/virtuallist.taro.d.ts +13 -2
  147. package/dist/esm/typings-1c5f2628.js +7 -6
  148. package/dist/esm/uploader.taro-f80d76d9.js +392 -0
  149. package/dist/esm/useClientRect-bf69d7b3.js +5 -25
  150. package/dist/esm/useTouch-a2ea68c6.js +63 -93
  151. package/dist/esm/video-8a3518c5.js +59 -83
  152. package/dist/esm/virtuallist.taro-e3345ced.js +215 -0
  153. package/dist/esm/watermark.taro-cd9db98a.js +114 -0
  154. package/dist/esm/zh-CN-dfc384d0.js +128 -133
  155. package/dist/locales/base.js +1 -1
  156. package/dist/locales/en-US.js +1 -1
  157. package/dist/locales/id-ID.js +1 -1
  158. package/dist/locales/zh-CN.js +1 -1
  159. package/dist/locales/zh-TW.js +1 -1
  160. package/dist/locales/zh-UG.js +1 -1
  161. package/dist/nutui.react.es.js +634 -5664
  162. package/dist/nutui.react.umd.js +634 -5664
  163. package/dist/packages/noticebar/noticebar.scss +17 -0
  164. package/dist/packages/radio/radio.scss +3 -1
  165. package/dist/packages/row/row.scss +2 -0
  166. package/dist/packages/searchbar/searchbar.scss +1 -1
  167. package/dist/packages/tag/tag.scss +13 -5
  168. package/dist/packages/virtuallist/virtuallist.scss +24 -0
  169. package/dist/style.css +1 -1
  170. package/dist/style.es.js +1 -1
  171. package/dist/styles/temp.scss +2340 -0
  172. package/dist/styles/theme-dark.scss +7 -0
  173. package/dist/styles/theme-default.scss +11 -0
  174. package/dist/styles/variables.scss +1945 -710
  175. package/dist/types/index.d.ts +16 -23
  176. package/package.json +9 -4
  177. package/dist/esm/address.taro-1e2aea24.js +0 -615
  178. package/dist/esm/audio.taro-fddcdfc0.js +0 -228
  179. package/dist/esm/avatargroup-f7f600ff.js +0 -42
  180. package/dist/esm/calendar.taro-72974415.js +0 -83
  181. package/dist/esm/calendaritem.taro-84e889eb.js +0 -580
  182. package/dist/esm/card.taro-a530dfb3.js +0 -61
  183. package/dist/esm/cell.taro-cf50c4f2.js +0 -109
  184. package/dist/esm/configprovider-c7d60e20.js +0 -18
  185. package/dist/esm/configprovider.taro-8bdb3a28.js +0 -50
  186. package/dist/esm/countdown.taro-d7dc8681.js +0 -246
  187. package/dist/esm/datepicker.taro-7199f521.js +0 -304
  188. package/dist/esm/dialog.taro-f54cfbf0.js +0 -187
  189. package/dist/esm/ellipsis.taro-c0de6ff4.js +0 -309
  190. package/dist/esm/empty.taro-dbc66496.js +0 -81
  191. package/dist/esm/fixednav.taro-9e759320.js +0 -97
  192. package/dist/esm/form.taro-880014b1.js +0 -181
  193. package/dist/esm/formitem.taro-3695f4a7.js +0 -136
  194. package/dist/esm/grid.taro-c2cc12d6.js +0 -81
  195. package/dist/esm/griditem.taro-892153cd.js +0 -122
  196. package/dist/esm/image.taro-c30973d5.js +0 -105
  197. package/dist/esm/infiniteloading.taro-b5ddf3cc.js +0 -188
  198. package/dist/esm/input.taro-104130c1.js +0 -361
  199. package/dist/esm/menuitem.taro-216e9f7d.js +0 -193
  200. package/dist/esm/noticebar.taro-94002898.js +0 -368
  201. package/dist/esm/numberkeyboard.taro-5e8f0ddf.js +0 -245
  202. package/dist/esm/pagination.taro-9925ffab.js +0 -169
  203. package/dist/esm/picker.taro-3b5cc054.js +0 -540
  204. package/dist/esm/pulltorefresh.taro-f26a20dd.js +0 -302
  205. package/dist/esm/range.taro-c41e9b90.js +0 -469
  206. package/dist/esm/searchbar.taro-01ed4ea4.js +0 -236
  207. package/dist/esm/shortpassword.taro-3a3bf412.js +0 -190
  208. package/dist/esm/sidenavbar.taro-06026f31.js +0 -66
  209. package/dist/esm/signature.taro-17648cac.js +0 -192
  210. package/dist/esm/sticky.taro-36013e97.js +0 -16
  211. package/dist/esm/table.taro-adda6622.js +0 -139
  212. package/dist/esm/tag.taro-bd900990.js +0 -104
  213. package/dist/esm/textarea.taro-83d5fe73.js +0 -102
  214. package/dist/esm/timedetail.taro-105f5380.js +0 -68
  215. package/dist/esm/timepannel.taro-c66c63dd.js +0 -30
  216. package/dist/esm/timeselect.taro-fc7ec6ee.js +0 -172
  217. package/dist/esm/uploader.taro-a1edf38f.js +0 -529
  218. package/dist/esm/virtuallist.taro-4add61c3.js +0 -315
  219. package/dist/esm/watermark.taro-323d1cf3.js +0 -132
@@ -1,19 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
6
- import _createClass from "@babel/runtime/helpers/createClass";
7
- import _inherits from "@babel/runtime/helpers/inherits";
8
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
9
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
10
- import _typeof from "@babel/runtime/helpers/typeof";
11
- var _excluded = ["children", "list", "theme", "location", "visible", "offset", "className", "style", "onClick", "onChoose", "iconClassPrefix", "iconFontClassName"];
12
- import _regeneratorRuntime from "@babel/runtime/regenerator";
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
16
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
17
1
  import React__default, { useRef, useState, useEffect } from 'react';
18
2
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
19
3
  import { O as Overlay } from './overlay.taro-98367bc1.js';
@@ -24,221 +8,147 @@ import { C as ComponentDefaults } from './typings-1c5f2628.js';
24
8
  * 过滤ref
25
9
  */
26
10
  function fillRef(ref, node) {
27
- if (typeof ref === 'function') {
28
- ref(node);
29
- } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {
30
- ref.current = node;
31
- }
11
+ if (typeof ref === 'function') {
12
+ ref(node);
13
+ }
14
+ else if (typeof ref === 'object' && ref && 'current' in ref) {
15
+ ref.current = node;
16
+ }
32
17
  }
33
18
  /**
34
19
  * 将ref合并到一个ref函数中以支持ref传递
35
20
  */
36
- function composeRef() {
37
- for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
38
- refs[_key] = arguments[_key];
39
- }
40
- return function (node) {
41
- refs.forEach(function (ref) {
42
- fillRef(ref, node);
43
- });
44
- };
21
+ function composeRef(...refs) {
22
+ return (node) => {
23
+ refs.forEach((ref) => {
24
+ fillRef(ref, node);
25
+ });
26
+ };
45
27
  }
46
- var Trigger = /*#__PURE__*/function (_React__default$Compo) {
47
- _inherits(Trigger, _React__default$Compo);
48
- var _super = _createSuper(Trigger);
49
- function Trigger() {
50
- _classCallCheck(this, Trigger);
51
- return _super.apply(this, arguments);
52
- }
53
- _createClass(Trigger, [{
54
- key: "fireEvents",
55
- value: function fireEvents(type, e) {
56
- var childCallback = this.props.children.props[type];
57
- if (childCallback) {
58
- childCallback(e);
59
- }
60
- var callback = this.props[type];
61
- if (callback) {
62
- callback(e);
63
- }
64
- }
65
- }, {
66
- key: "render",
67
- value: function render() {
68
- var _this$props = this.props,
69
- children = _this$props.children,
70
- _this$props$className = _this$props.className,
71
- className = _this$props$className === void 0 ? '' : _this$props$className;
72
- var child = React__default.Children.only(children);
73
- var newChildProps = {
74
- key: 'trigger'
75
- };
76
- if (child && child.props && child.props.className) {
77
- newChildProps.className = className;
78
- }
79
- var cloneProps = _objectSpread({}, newChildProps);
80
- cloneProps.ref = composeRef(this.props.forwardedRef, child.ref);
81
- var trigger = React__default.cloneElement(child, cloneProps);
82
- return trigger;
83
- }
84
- }]);
85
- return Trigger;
86
- }(React__default.Component);
87
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
88
- list: [],
89
- theme: 'light',
90
- location: 'bottom',
91
- visible: false,
92
- offset: 20,
93
- className: '',
94
- onClick: function onClick(e) {},
95
- onChoose: function onChoose(item, index) {}
96
- });
97
- var Popover = function Popover(props) {
98
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
99
- children = _defaultProps$props.children,
100
- list = _defaultProps$props.list,
101
- theme = _defaultProps$props.theme,
102
- location = _defaultProps$props.location,
103
- visible = _defaultProps$props.visible,
104
- offset = _defaultProps$props.offset,
105
- className = _defaultProps$props.className,
106
- style = _defaultProps$props.style,
107
- onClick = _defaultProps$props.onClick,
108
- onChoose = _defaultProps$props.onChoose,
109
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
110
- iconFontClassName = _defaultProps$props.iconFontClassName,
111
- reset = _objectWithoutProperties(_defaultProps$props, _excluded);
112
- var goodItem = useRef(null);
113
- setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
114
- var res;
115
- return _regeneratorRuntime.wrap(function _callee$(_context) {
116
- while (1) {
117
- switch (_context.prev = _context.next) {
118
- case 0:
119
- if (!goodItem.current) {
120
- _context.next = 6;
121
- break;
122
- }
123
- _context.next = 3;
124
- return getRectByTaro(goodItem.current);
125
- case 3:
126
- res = _context.sent;
127
- setElWidth(res === null || res === void 0 ? void 0 : res.width);
128
- setElHeight(res === null || res === void 0 ? void 0 : res.height);
129
- case 6:
130
- case "end":
131
- return _context.stop();
28
+ class Trigger extends React__default.Component {
29
+ fireEvents(type, e) {
30
+ const childCallback = this.props.children.props[type];
31
+ if (childCallback) {
32
+ childCallback(e);
33
+ }
34
+ const callback = this.props[type];
35
+ if (callback) {
36
+ callback(e);
132
37
  }
133
- }
134
- }, _callee);
135
- })));
136
- var _useState = useState(''),
137
- _useState2 = _slicedToArray(_useState, 2),
138
- classes = _useState2[0],
139
- setClasses = _useState2[1];
140
- var _useState3 = useState(0),
141
- _useState4 = _slicedToArray(_useState3, 2),
142
- elWidth = _useState4[0],
143
- setElWidth = _useState4[1];
144
- var _useState5 = useState(0),
145
- _useState6 = _slicedToArray(_useState5, 2),
146
- elHeight = _useState6[0],
147
- setElHeight = _useState6[1];
148
- var _useState7 = useState(''),
149
- _useState8 = _slicedToArray(_useState7, 2),
150
- popoverContent = _useState8[0],
151
- setPopoverContent = _useState8[1];
152
- var _useState9 = useState(''),
153
- _useState10 = _slicedToArray(_useState9, 2),
154
- popoverArrow = _useState10[0],
155
- setPopoverArrow = _useState10[1];
156
- useEffect(function () {
157
- setClasses(classesSelf());
158
- setPopoverContent(popoverContentSelf());
159
- setPopoverArrow(popoverArrowSelf());
160
- }, [list, theme]);
161
- var getStyle = function getStyle() {
162
- var offNumer = Number(offset) ? Number(offset) : 0;
163
- var style = {};
164
- if (location.includes('top')) {
165
- style.bottom = "".concat(elHeight + offNumer, "px");
166
- } else if (location.includes('right')) {
167
- style.left = "".concat(elWidth + offNumer, "px");
168
- } else if (location.includes('left')) {
169
- style.right = "".concat(elWidth + offNumer, "px");
170
- } else {
171
- style.top = "".concat(elHeight + offNumer, "px");
172
- }
173
- return style;
174
- };
175
- var classesSelf = function classesSelf() {
176
- var prefixCls = 'nut-popover';
177
- return "".concat(prefixCls, " ").concat(theme ? "".concat(prefixCls, "--").concat(theme) : '');
178
- };
179
- var popoverContentSelf = function popoverContentSelf() {
180
- var prefixCls = 'popover-content';
181
- return "".concat(prefixCls, "-show ").concat(prefixCls, " ").concat(location ? "".concat(prefixCls, "--").concat(location) : '');
182
- };
183
- var filter = function filter() {
184
- var ms = ['top', 'bottom', 'left', 'right'];
185
- return ms.filter(function (m) {
186
- return location.includes(m);
187
- })[0];
188
- };
189
- var popoverArrowSelf = function popoverArrowSelf() {
190
- var prefixCls = 'popover-arrow';
191
- return "".concat(prefixCls, " ").concat(prefixCls, "-").concat(filter(), " ").concat(location ? "".concat(prefixCls, "--").concat(location) : '');
192
- };
193
- var handleClick = function handleClick(e) {
194
- if (props.onClick) {
195
- props.onClick(e);
196
- }
197
- };
198
- var handleChoose = function handleChoose(item, index) {
199
- if (!item.disabled) {
200
- onChoose(item, index);
201
- }
202
- };
203
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", _objectSpread({
204
- className: "".concat(classes, " ").concat(className),
205
- style: _objectSpread({}, style)
206
- }, reset), React__default.createElement(Trigger, {
207
- forwardedRef: goodItem
208
- }, React__default.createElement("div", {
209
- onClick: function onClick(e) {
210
- return handleClick(e);
211
38
  }
212
- }, Array.isArray(children) ? children[0] : children, visible ? React__default.createElement("div", {
213
- className: "".concat(popoverContent),
214
- style: getStyle()
215
- }, React__default.createElement("div", {
216
- className: "".concat(popoverArrow)
217
- }), Array.isArray(children) ? children[1] : '', list.map(function (item, i) {
218
- return React__default.createElement("div", {
219
- key: item.name,
220
- className: "popover-menu-item ".concat(item.disabled ? 'disabled' : ''),
221
- onClick: function onClick() {
222
- handleChoose(item, i);
223
- }
224
- }, item.icon ? React__default.createElement(Icon, {
225
- classPrefix: iconClassPrefix,
226
- fontClassName: iconFontClassName,
227
- className: "popover-menu-item-img",
228
- name: item.icon
229
- }) : '', React__default.createElement("div", {
230
- className: "popover-menu-item-name"
231
- }, item.name));
232
- })) : null))), visible ? React__default.createElement(Overlay, {
233
- visible: visible,
234
- onClick: function onClick(e) {
235
- return handleClick(e);
236
- },
237
- style: {
238
- background: 'transparent'
39
+ render() {
40
+ const { children, className = '' } = this.props;
41
+ const child = React__default.Children.only(children);
42
+ const newChildProps = {
43
+ key: 'trigger',
44
+ };
45
+ if (child && child.props && child.props.className) {
46
+ newChildProps.className = className;
47
+ }
48
+ const cloneProps = {
49
+ ...newChildProps,
50
+ };
51
+ cloneProps.ref = composeRef(this.props.forwardedRef, child.ref);
52
+ const trigger = React__default.cloneElement(child, cloneProps);
53
+ return trigger;
239
54
  }
240
- }) : '');
55
+ }
56
+
57
+ const defaultProps = {
58
+ ...ComponentDefaults,
59
+ list: [],
60
+ theme: 'light',
61
+ location: 'bottom',
62
+ visible: false,
63
+ offset: 20,
64
+ className: '',
65
+ onClick: (e) => { },
66
+ onChoose: (item, index) => { },
67
+ };
68
+ const Popover = (props) => {
69
+ const { children, list, theme, location, visible, offset, className, style, onClick, onChoose, iconClassPrefix, iconFontClassName, ...reset } = {
70
+ ...defaultProps,
71
+ ...props,
72
+ };
73
+ const goodItem = useRef(null);
74
+ setTimeout(async () => {
75
+ if (goodItem.current) {
76
+ const res = await getRectByTaro(goodItem.current);
77
+ setElWidth(res?.width);
78
+ setElHeight(res?.height);
79
+ }
80
+ });
81
+ const [classes, setClasses] = useState('');
82
+ const [elWidth, setElWidth] = useState(0);
83
+ const [elHeight, setElHeight] = useState(0);
84
+ const [popoverContent, setPopoverContent] = useState('');
85
+ const [popoverArrow, setPopoverArrow] = useState('');
86
+ useEffect(() => {
87
+ setClasses(classesSelf());
88
+ setPopoverContent(popoverContentSelf());
89
+ setPopoverArrow(popoverArrowSelf());
90
+ }, [list, theme]);
91
+ const getStyle = () => {
92
+ const offNumer = Number(offset) ? Number(offset) : 0;
93
+ const style = {};
94
+ if (location.includes('top')) {
95
+ style.bottom = `${elHeight + offNumer}px`;
96
+ }
97
+ else if (location.includes('right')) {
98
+ style.left = `${elWidth + offNumer}px`;
99
+ }
100
+ else if (location.includes('left')) {
101
+ style.right = `${elWidth + offNumer}px`;
102
+ }
103
+ else {
104
+ style.top = `${elHeight + offNumer}px`;
105
+ }
106
+ return style;
107
+ };
108
+ const classesSelf = () => {
109
+ const prefixCls = 'nut-popover';
110
+ return `${prefixCls} ${theme ? `${prefixCls}--${theme}` : ''}`;
111
+ };
112
+ const popoverContentSelf = () => {
113
+ const prefixCls = 'popover-content';
114
+ return `${prefixCls}-show ${prefixCls} ${location ? `${prefixCls}--${location}` : ''}`;
115
+ };
116
+ const filter = () => {
117
+ const ms = ['top', 'bottom', 'left', 'right'];
118
+ return ms.filter((m) => location.includes(m))[0];
119
+ };
120
+ const popoverArrowSelf = () => {
121
+ const prefixCls = 'popover-arrow';
122
+ return `${prefixCls} ${prefixCls}-${filter()} ${location ? `${prefixCls}--${location}` : ''}`;
123
+ };
124
+ const handleClick = (e) => {
125
+ if (props.onClick) {
126
+ props.onClick(e);
127
+ }
128
+ };
129
+ const handleChoose = (item, index) => {
130
+ if (!item.disabled) {
131
+ onChoose(item, index);
132
+ }
133
+ };
134
+ return (React__default.createElement(React__default.Fragment, null,
135
+ React__default.createElement("div", { className: `${classes} ${className}`, style: { ...style }, ...reset },
136
+ React__default.createElement(Trigger, { forwardedRef: goodItem },
137
+ React__default.createElement("div", { onClick: (e) => handleClick(e) },
138
+ Array.isArray(children) ? children[0] : children,
139
+ visible ? (React__default.createElement("div", { className: `${popoverContent}`, style: getStyle() },
140
+ React__default.createElement("div", { className: `${popoverArrow}` }),
141
+ Array.isArray(children) ? children[1] : '',
142
+ list.map((item, i) => {
143
+ return (React__default.createElement("div", { key: item.name, className: `popover-menu-item ${item.disabled ? 'disabled' : ''}`, onClick: () => {
144
+ handleChoose(item, i);
145
+ } },
146
+ item.icon ? (React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, className: "popover-menu-item-img", name: item.icon })) : (''),
147
+ React__default.createElement("div", { className: "popover-menu-item-name" }, item.name)));
148
+ }))) : null))),
149
+ visible ? (React__default.createElement(Overlay, { visible: visible, onClick: (e) => handleClick(e), style: { background: 'transparent' } })) : ('')));
241
150
  };
242
151
  Popover.defaultProps = defaultProps;
243
152
  Popover.displayName = 'NutPopover';
153
+
244
154
  export { Popover as P };