@nutui/nutui-react-taro 1.4.4 → 1.4.5

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,7 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- 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; }
4
- 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; }
5
1
  import React__default, { useState, useEffect } from 'react';
6
2
  import { createPortal } from 'react-dom';
7
3
  import { CSSTransition } from 'react-transition-group';
@@ -10,181 +6,132 @@ import { d as defaultOverlayProps, O as Overlay } from './overlay.taro-98367bc1.
10
6
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
11
7
  import { c as cn } from './bem-893ad28d.js';
12
8
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
13
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
14
- position: 'center',
15
- transition: '',
16
- style: {},
17
- popClass: '',
18
- closeable: false,
19
- closeIconPosition: 'top-right',
20
- closeIcon: 'close',
21
- destroyOnClose: true,
22
- teleport: null,
23
- overlay: true,
24
- round: false,
25
- onOpen: function onOpen() {},
26
- onClose: function onClose() {},
27
- onClick: function onClick(e) {},
28
- onOpened: function onOpened(e) {},
29
- onClosed: function onClosed(e) {},
30
- onClickOverlay: function onClickOverlay(e) {},
31
- onClickCloseIcon: function onClickCloseIcon(e) {}
32
- }, defaultOverlayProps);
33
- var _zIndex = 2000;
34
- var Popup = function Popup(props) {
35
- var _classNames;
36
- var children = props.children,
37
- visible = props.visible,
38
- overlay = props.overlay,
39
- closeOnClickOverlay = props.closeOnClickOverlay,
40
- overlayStyle = props.overlayStyle,
41
- overlayClass = props.overlayClass,
42
- zIndex = props.zIndex,
43
- lockScroll = props.lockScroll,
44
- duration = props.duration,
45
- closeable = props.closeable,
46
- closeIconPosition = props.closeIconPosition,
47
- closeIcon = props.closeIcon,
48
- style = props.style,
49
- transition = props.transition,
50
- round = props.round,
51
- position = props.position,
52
- popClass = props.popClass,
53
- className = props.className,
54
- destroyOnClose = props.destroyOnClose,
55
- teleport = props.teleport,
56
- onOpen = props.onOpen,
57
- onClose = props.onClose,
58
- onClickOverlay = props.onClickOverlay,
59
- onClickCloseIcon = props.onClickCloseIcon,
60
- onOpened = props.onOpened,
61
- onClosed = props.onClosed,
62
- onClick = props.onClick,
63
- iconClassPrefix = props.iconClassPrefix,
64
- iconFontClassName = props.iconFontClassName;
65
- var _useState = useState(zIndex || _zIndex),
66
- _useState2 = _slicedToArray(_useState, 2),
67
- index = _useState2[0],
68
- setIndex = _useState2[1];
69
- var _useState3 = useState(visible),
70
- _useState4 = _slicedToArray(_useState3, 2),
71
- innerVisible = _useState4[0],
72
- setInnerVisible = _useState4[1];
73
- var _useState5 = useState(true),
74
- _useState6 = _slicedToArray(_useState5, 2),
75
- showChildren = _useState6[0],
76
- setShowChildren = _useState6[1];
77
- var _useState7 = useState(''),
78
- _useState8 = _slicedToArray(_useState7, 2),
79
- transitionName = _useState8[0],
80
- setTransitionName = _useState8[1];
81
- var b = cn('popup');
82
- var baseStyle = {
83
- zIndex: index,
84
- animationDuration: "".concat(duration, "s")
85
- };
86
- var overlayStyles = _objectSpread(_objectSpread({}, overlayStyle), baseStyle);
87
- var popStyles = _objectSpread(_objectSpread({}, style), baseStyle);
88
- var classes = classNames((_classNames = {
89
- round: round
90
- }, _defineProperty(_classNames, "popup-".concat(position), true), _defineProperty(_classNames, "".concat(popClass), true), _defineProperty(_classNames, "".concat(className), true), _classNames), b(''));
91
- var closeClasses = classNames(_defineProperty({
92
- 'nutui-popup__close-icon': true
93
- }, "nutui-popup__close-icon--".concat(closeIconPosition), true));
94
- var open = function open() {
95
- if (!innerVisible) {
96
- setInnerVisible(true);
97
- setIndex(++_zIndex);
98
- }
99
- if (destroyOnClose) {
100
- setShowChildren(true);
101
- }
102
- onOpen && onOpen();
103
- };
104
- var close = function close() {
105
- if (innerVisible) {
106
- setInnerVisible(false);
107
- if (destroyOnClose) {
108
- setTimeout(function () {
109
- setShowChildren(false);
110
- onClose && onClose();
111
- }, Number(duration) * 1000);
112
- }
113
- }
114
- };
115
- var onHandleClickOverlay = function onHandleClickOverlay(e) {
116
- if (closeOnClickOverlay) {
117
- onClickOverlay && onClickOverlay(e);
118
- close();
119
- }
120
- };
121
- var onHandleClick = function onHandleClick(e) {
122
- onClick && onClick(e);
123
- };
124
- var onHandleClickCloseIcon = function onHandleClickCloseIcon(e) {
125
- onClickCloseIcon && onClickCloseIcon(e);
126
- close();
127
- };
128
- var onHandleOpened = function onHandleOpened(e) {
129
- onOpened && onOpened(e);
130
- };
131
- var onHandleClosed = function onHandleClosed(e) {
132
- onClosed && onClosed(e);
133
- };
134
- var resolveContainer = function resolveContainer(getContainer) {
135
- var container = typeof getContainer === 'function' ? getContainer() : getContainer;
136
- return container || document.body;
137
- };
138
- var renderToContainer = function renderToContainer(getContainer, node) {
139
- if (getContainer) {
140
- var container = resolveContainer(getContainer);
141
- return createPortal(node, container);
142
- }
143
- return node;
144
- };
145
- var renderPop = function renderPop() {
146
- return React__default.createElement(CSSTransition, {
147
- classNames: transitionName,
148
- unmountOnExit: true,
149
- timeout: 500,
150
- "in": innerVisible,
151
- onEntered: onHandleOpened,
152
- onExited: onHandleClosed
153
- }, React__default.createElement("div", {
154
- style: popStyles,
155
- className: classes,
156
- onClick: onHandleClick
157
- }, showChildren ? children : '', closeable ? React__default.createElement("div", {
158
- className: closeClasses,
159
- onClick: onHandleClickCloseIcon
160
- }, React__default.createElement(Icon, {
161
- classPrefix: iconClassPrefix,
162
- fontClassName: iconFontClassName,
163
- name: closeIcon,
164
- size: "12px"
165
- })) : ''));
166
- };
167
- var renderNode = function renderNode() {
168
- return React__default.createElement(React__default.Fragment, null, overlay ? React__default.createElement(React__default.Fragment, null, React__default.createElement(Overlay, {
169
- style: overlayStyles,
170
- overlayClass: overlayClass,
171
- visible: innerVisible,
172
- closeOnClickOverlay: closeOnClickOverlay,
173
- zIndex: zIndex,
174
- lockScroll: lockScroll,
175
- duration: duration,
176
- onClick: onHandleClickOverlay
177
- }), renderPop()) : React__default.createElement(React__default.Fragment, null, renderPop()));
178
- };
179
- useEffect(function () {
180
- visible && open();
181
- !visible && close();
182
- }, [visible]);
183
- useEffect(function () {
184
- setTransitionName(transition || "popup-slide-".concat(position));
185
- }, [position]);
186
- return React__default.createElement(React__default.Fragment, null, renderToContainer(teleport, renderNode()));
9
+
10
+ const defaultProps = {
11
+ ...ComponentDefaults,
12
+ position: 'center',
13
+ transition: '',
14
+ style: {},
15
+ popClass: '',
16
+ closeable: false,
17
+ closeIconPosition: 'top-right',
18
+ closeIcon: 'close',
19
+ destroyOnClose: true,
20
+ teleport: null,
21
+ overlay: true,
22
+ round: false,
23
+ onOpen: () => { },
24
+ onClose: () => { },
25
+ onClick: (e) => { },
26
+ onOpened: (e) => { },
27
+ onClosed: (e) => { },
28
+ onClickOverlay: (e) => { },
29
+ onClickCloseIcon: (e) => { },
30
+ ...defaultOverlayProps,
31
+ };
32
+ let _zIndex = 2000;
33
+ const Popup = (props) => {
34
+ const { children, visible, overlay, closeOnClickOverlay, overlayStyle, overlayClass, zIndex, lockScroll, duration, closeable, closeIconPosition, closeIcon, style, transition, round, position, popClass, className, destroyOnClose, teleport, onOpen, onClose, onClickOverlay, onClickCloseIcon, onOpened, onClosed, onClick, iconClassPrefix, iconFontClassName, } = props;
35
+ const [index, setIndex] = useState(zIndex || _zIndex);
36
+ const [innerVisible, setInnerVisible] = useState(visible);
37
+ const [showChildren, setShowChildren] = useState(true);
38
+ const [transitionName, setTransitionName] = useState('');
39
+ const b = cn('popup');
40
+ const baseStyle = {
41
+ zIndex: index,
42
+ animationDuration: `${duration}s`,
43
+ };
44
+ const overlayStyles = {
45
+ ...overlayStyle,
46
+ ...baseStyle,
47
+ };
48
+ const popStyles = {
49
+ ...style,
50
+ ...baseStyle,
51
+ };
52
+ const classes = classNames({
53
+ round,
54
+ [`popup-${position}`]: true,
55
+ [`${popClass}`]: true,
56
+ [`${className}`]: true,
57
+ }, b(''));
58
+ const closeClasses = classNames({
59
+ 'nutui-popup__close-icon': true,
60
+ [`nutui-popup__close-icon--${closeIconPosition}`]: true,
61
+ });
62
+ const open = () => {
63
+ if (!innerVisible) {
64
+ setInnerVisible(true);
65
+ setIndex(++_zIndex);
66
+ }
67
+ if (destroyOnClose) {
68
+ setShowChildren(true);
69
+ }
70
+ onOpen && onOpen();
71
+ };
72
+ const close = () => {
73
+ if (innerVisible) {
74
+ setInnerVisible(false);
75
+ if (destroyOnClose) {
76
+ setTimeout(() => {
77
+ setShowChildren(false);
78
+ onClose && onClose();
79
+ }, Number(duration) * 1000);
80
+ }
81
+ }
82
+ };
83
+ const onHandleClickOverlay = (e) => {
84
+ if (closeOnClickOverlay) {
85
+ onClickOverlay && onClickOverlay(e);
86
+ close();
87
+ }
88
+ };
89
+ const onHandleClick = (e) => {
90
+ onClick && onClick(e);
91
+ };
92
+ const onHandleClickCloseIcon = (e) => {
93
+ onClickCloseIcon && onClickCloseIcon(e);
94
+ close();
95
+ };
96
+ const onHandleOpened = (e) => {
97
+ onOpened && onOpened(e);
98
+ };
99
+ const onHandleClosed = (e) => {
100
+ onClosed && onClosed(e);
101
+ };
102
+ const resolveContainer = (getContainer) => {
103
+ const container = typeof getContainer === 'function' ? getContainer() : getContainer;
104
+ return container || document.body;
105
+ };
106
+ const renderToContainer = (getContainer, node) => {
107
+ if (getContainer) {
108
+ const container = resolveContainer(getContainer);
109
+ return createPortal(node, container);
110
+ }
111
+ return node;
112
+ };
113
+ const renderPop = () => {
114
+ return (React__default.createElement(CSSTransition, { classNames: transitionName, unmountOnExit: true, timeout: 500, in: innerVisible, onEntered: onHandleOpened, onExited: onHandleClosed },
115
+ React__default.createElement("div", { style: popStyles, className: classes, onClick: onHandleClick },
116
+ showChildren ? children : '',
117
+ closeable ? (React__default.createElement("div", { className: closeClasses, onClick: onHandleClickCloseIcon },
118
+ React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, name: closeIcon, size: "12px" }))) : (''))));
119
+ };
120
+ const renderNode = () => {
121
+ return (React__default.createElement(React__default.Fragment, null, overlay ? (React__default.createElement(React__default.Fragment, null,
122
+ React__default.createElement(Overlay, { style: overlayStyles, overlayClass: overlayClass, visible: innerVisible, closeOnClickOverlay: closeOnClickOverlay, zIndex: zIndex, lockScroll: lockScroll, duration: duration, onClick: onHandleClickOverlay }),
123
+ renderPop())) : (React__default.createElement(React__default.Fragment, null, renderPop()))));
124
+ };
125
+ useEffect(() => {
126
+ visible && open();
127
+ !visible && close();
128
+ }, [visible]);
129
+ useEffect(() => {
130
+ setTransitionName(transition || `popup-slide-${position}`);
131
+ }, [position]);
132
+ return React__default.createElement(React__default.Fragment, null, renderToContainer(teleport, renderNode()));
187
133
  };
188
134
  Popup.defaultProps = defaultProps;
189
135
  Popup.displayName = 'NutPopup';
136
+
190
137
  export { Popup as P };
@@ -1,94 +1,83 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["price", "needSymbol", "symbol", "decimalDigits", "thousands", "position", "size", "className"];
4
- 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; }
5
- 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; }
6
1
  import React__default from 'react';
7
2
  import { c as cn } from './bem-893ad28d.js';
8
- var defaultProps = {
9
- price: 0,
10
- needSymbol: true,
11
- symbol: '&yen;',
12
- decimalDigits: 2,
13
- thousands: false,
14
- position: 'before',
15
- size: 'large',
16
- className: ''
3
+
4
+ const defaultProps = {
5
+ price: 0,
6
+ needSymbol: true,
7
+ symbol: '&yen;',
8
+ decimalDigits: 2,
9
+ thousands: false,
10
+ position: 'before',
11
+ size: 'large',
12
+ className: '',
17
13
  };
18
- var Price = function Price(props) {
19
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
20
- price = _defaultProps$props.price,
21
- needSymbol = _defaultProps$props.needSymbol,
22
- symbol = _defaultProps$props.symbol,
23
- decimalDigits = _defaultProps$props.decimalDigits,
24
- thousands = _defaultProps$props.thousands,
25
- position = _defaultProps$props.position,
26
- size = _defaultProps$props.size,
27
- className = _defaultProps$props.className,
28
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
29
- var b = cn('price');
30
- var replaceSpecialChar = function replaceSpecialChar(url) {
31
- url = url.replace(/&quot;/g, '"');
32
- url = url.replace(/&amp;/g, '&');
33
- url = url.replace(/&lt;/g, '<');
34
- url = url.replace(/&gt;/g, '>');
35
- url = url.replace(/&nbsp;/g, ' ');
36
- url = url.replace(/&yen;/g, '¥');
37
- return url;
38
- };
39
- var showSymbol = function showSymbol() {
40
- return {
41
- __html: needSymbol ? replaceSpecialChar(symbol) : ''
14
+ const Price = (props) => {
15
+ const { price, needSymbol, symbol, decimalDigits, thousands, position, size, className, ...rest } = {
16
+ ...defaultProps,
17
+ ...props,
42
18
  };
43
- };
44
- var checkPoint = function checkPoint(price) {
45
- return String(price).indexOf('.') > 0;
46
- };
47
- var formatThousands = function formatThousands(num) {
48
- if (Number(num) === 0) {
49
- num = 0;
50
- }
51
- if (checkPoint(num)) {
52
- num = Number(num).toFixed(decimalDigits);
53
- num = typeof num.split('.') === 'string' ? num.split('.') : num.split('.')[0];
54
- } else {
55
- num = num.toString();
56
- }
57
- if (thousands) {
58
- return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
59
- }
60
- return num;
61
- };
62
- var formatDecimal = function formatDecimal(decimalNum) {
63
- if (Number(decimalNum) === 0) {
64
- decimalNum = 0;
65
- }
66
- if (checkPoint(decimalNum)) {
67
- decimalNum = Number(decimalNum).toFixed(decimalDigits);
68
- decimalNum = typeof decimalNum.split('.') === 'string' ? 0 : decimalNum.split('.')[1] || 0;
69
- } else {
70
- decimalNum = 0;
71
- }
72
- var result = "0.".concat(decimalNum);
73
- var resultFixed = Number(result).toFixed(decimalDigits);
74
- return String(resultFixed).substring(2, resultFixed.length);
75
- };
76
- var renderSymbol = function renderSymbol() {
77
- return React__default.createElement("div", {
78
- className: "".concat(b('symbol'), " ").concat(b("symbol-".concat(size))),
79
- dangerouslySetInnerHTML: showSymbol()
80
- });
81
- };
82
- return React__default.createElement("div", _objectSpread({
83
- className: "".concat(b(), " ").concat(className)
84
- }, rest), needSymbol && position === 'before' ? renderSymbol() : null, React__default.createElement("div", {
85
- className: "".concat(b('integer'), " ").concat(b("integer-".concat(size)))
86
- }, formatThousands(price)), decimalDigits !== 0 ? React__default.createElement("div", {
87
- className: "".concat(b('decimal'), " ").concat(b("decimal-".concat(size)))
88
- }, ".") : null, React__default.createElement("div", {
89
- className: "".concat(b('decimal'), " ").concat(b("decimal-".concat(size)))
90
- }, formatDecimal(price)), needSymbol && position === 'after' ? renderSymbol() : null);
19
+ const b = cn('price');
20
+ const replaceSpecialChar = (url) => {
21
+ url = url.replace(/&quot;/g, '"');
22
+ url = url.replace(/&amp;/g, '&');
23
+ url = url.replace(/&lt;/g, '<');
24
+ url = url.replace(/&gt;/g, '>');
25
+ url = url.replace(/&nbsp;/g, ' ');
26
+ url = url.replace(/&yen;/g, '¥');
27
+ return url;
28
+ };
29
+ const showSymbol = () => {
30
+ return { __html: needSymbol ? replaceSpecialChar(symbol) : '' };
31
+ };
32
+ const checkPoint = (price) => {
33
+ return String(price).indexOf('.') > 0;
34
+ };
35
+ const formatThousands = (num) => {
36
+ if (Number(num) === 0) {
37
+ num = 0;
38
+ }
39
+ if (checkPoint(num)) {
40
+ num = Number(num).toFixed(decimalDigits);
41
+ num =
42
+ typeof num.split('.') === 'string' ? num.split('.') : num.split('.')[0];
43
+ }
44
+ else {
45
+ num = num.toString();
46
+ }
47
+ if (thousands) {
48
+ return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
49
+ }
50
+ return num;
51
+ };
52
+ const formatDecimal = (decimalNum) => {
53
+ if (Number(decimalNum) === 0) {
54
+ decimalNum = 0;
55
+ }
56
+ if (checkPoint(decimalNum)) {
57
+ decimalNum = Number(decimalNum).toFixed(decimalDigits);
58
+ decimalNum =
59
+ typeof decimalNum.split('.') === 'string'
60
+ ? 0
61
+ : decimalNum.split('.')[1] || 0;
62
+ }
63
+ else {
64
+ decimalNum = 0;
65
+ }
66
+ const result = `0.${decimalNum}`;
67
+ const resultFixed = Number(result).toFixed(decimalDigits);
68
+ return String(resultFixed).substring(2, resultFixed.length);
69
+ };
70
+ const renderSymbol = () => {
71
+ return (React__default.createElement("div", { className: `${b('symbol')} ${b(`symbol-${size}`)}`, dangerouslySetInnerHTML: showSymbol() }));
72
+ };
73
+ return (React__default.createElement("div", { className: `${b()} ${className}`, ...rest },
74
+ needSymbol && position === 'before' ? renderSymbol() : null,
75
+ React__default.createElement("div", { className: `${b('integer')} ${b(`integer-${size}`)}` }, formatThousands(price)),
76
+ decimalDigits !== 0 ? (React__default.createElement("div", { className: `${b('decimal')} ${b(`decimal-${size}`)}` }, ".")) : null,
77
+ React__default.createElement("div", { className: `${b('decimal')} ${b(`decimal-${size}`)}` }, formatDecimal(price)),
78
+ needSymbol && position === 'after' ? renderSymbol() : null));
91
79
  };
92
80
  Price.defaultProps = defaultProps;
93
81
  Price.displayName = 'NutPrice';
82
+
94
83
  export { Price as P };