@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,109 +0,0 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- var _excluded = ["children", "click", "onClick", "title", "subTitle", "desc", "descTextAlign", "isLink", "icon", "roundRadius", "url", "to", "replace", "center", "size", "className", "iconSlot", "linkSlot", "iconClassPrefix", "iconFontClassName"];
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
- import React__default from 'react';
7
- import Taro from '@tarojs/taro';
8
- import { c as cn } from './bem-893ad28d.js';
9
- import { I as Icon } from './icon.taro-1d0d4fb7.js';
10
- import { C as ComponentDefaults } from './typings-1c5f2628.js';
11
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
12
- title: null,
13
- subTitle: null,
14
- desc: '',
15
- descTextAlign: 'right',
16
- isLink: false,
17
- icon: '',
18
- roundRadius: '6px',
19
- url: '',
20
- to: '',
21
- replace: false,
22
- center: false,
23
- size: '',
24
- className: '',
25
- iconSlot: null,
26
- linkSlot: null,
27
- click: function click(event) {},
28
- onClick: function onClick(event) {}
29
- });
30
- var Cell = function Cell(props) {
31
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
32
- children = _defaultProps$props.children,
33
- click = _defaultProps$props.click,
34
- onClick = _defaultProps$props.onClick,
35
- title = _defaultProps$props.title,
36
- subTitle = _defaultProps$props.subTitle,
37
- desc = _defaultProps$props.desc,
38
- descTextAlign = _defaultProps$props.descTextAlign,
39
- isLink = _defaultProps$props.isLink,
40
- icon = _defaultProps$props.icon,
41
- roundRadius = _defaultProps$props.roundRadius,
42
- url = _defaultProps$props.url,
43
- to = _defaultProps$props.to,
44
- replace = _defaultProps$props.replace,
45
- center = _defaultProps$props.center,
46
- size = _defaultProps$props.size,
47
- className = _defaultProps$props.className,
48
- iconSlot = _defaultProps$props.iconSlot,
49
- linkSlot = _defaultProps$props.linkSlot,
50
- iconClassPrefix = _defaultProps$props.iconClassPrefix,
51
- iconFontClassName = _defaultProps$props.iconFontClassName,
52
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
53
- var b = cn('cell');
54
- var handleClick = function handleClick(event) {
55
- onClick(event);
56
- var link = to || url;
57
- if (link) {
58
- replace ? Taro.redirectTo({
59
- url: link
60
- }) : Taro.navigateTo({
61
- url: link
62
- });
63
- }
64
- };
65
- var baseStyle = {
66
- borderRadius: Number.isNaN(Number(roundRadius)) ? String(roundRadius) : "".concat(roundRadius, "px")
67
- };
68
- var styles = title || subTitle || icon ? {} : {
69
- textAlign: descTextAlign,
70
- flex: 1
71
- };
72
- return React__default.createElement("div", _objectSpread({
73
- className: "".concat(b({
74
- clickable: !!(isLink || to),
75
- center: center,
76
- large: size === 'large'
77
- }, [className]), " "),
78
- onClick: function onClick(event) {
79
- return handleClick(event);
80
- },
81
- style: baseStyle
82
- }, rest), children || React__default.createElement(React__default.Fragment, null, icon || iconSlot ? React__default.createElement("div", {
83
- className: b('icon')
84
- }, iconSlot || (icon ? React__default.createElement(Icon, {
85
- classPrefix: iconClassPrefix,
86
- fontClassName: iconFontClassName,
87
- name: icon,
88
- className: "icon"
89
- }) : null)) : null, title || subTitle ? React__default.createElement("div", {
90
- className: "".concat(b('title'))
91
- }, title ? React__default.createElement("div", {
92
- className: b('maintitle')
93
- }, title) : null, subTitle ? React__default.createElement("div", {
94
- className: b('subtitle')
95
- }, subTitle) : null) : null, desc ? React__default.createElement("div", {
96
- className: b('value', {
97
- alone: !title && !subTitle
98
- }),
99
- style: styles
100
- }, desc) : null, !linkSlot && (isLink || to) ? React__default.createElement(Icon, {
101
- classPrefix: iconClassPrefix,
102
- fontClassName: iconFontClassName,
103
- name: "right",
104
- className: b('link')
105
- }) : linkSlot));
106
- };
107
- Cell.defaultProps = defaultProps;
108
- Cell.displayName = 'NutCell';
109
- export { Cell as C };
@@ -1,18 +0,0 @@
1
- import { createContext, useContext } from 'react';
2
- import 'lodash';
3
- import { z as zhCN } from './zh-CN-dfc384d0.js';
4
- var defaultConfigRef = {
5
- current: {
6
- locale: zhCN
7
- }
8
- };
9
- var getDefaultConfig = function getDefaultConfig() {
10
- return defaultConfigRef.current;
11
- };
12
- // 创建一个 Context 对象
13
- var ConfigContext = createContext(null);
14
- var useConfig = function useConfig() {
15
- var _useContext;
16
- return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
17
- };
18
- export { useConfig as u };
@@ -1,50 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children"];
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
- import React__default, { createContext, useContext, useMemo } from 'react';
7
- import _ from 'lodash';
8
- import { z as zhCN } from './zh-CN-dfc384d0.js';
9
- var defaultProps = {
10
- locale: zhCN
11
- };
12
- var defaultConfigRef = {
13
- current: {
14
- locale: zhCN
15
- }
16
- };
17
- var getDefaultConfig = function getDefaultConfig() {
18
- return defaultConfigRef.current;
19
- };
20
- // 创建一个 Context 对象
21
- var ConfigContext = createContext(null);
22
- var useConfig = function useConfig() {
23
- var _useContext;
24
- return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
25
- };
26
- function convertThemeVarsToCSSVars(themeVars) {
27
- var cssVars = {};
28
- Object.keys(themeVars).forEach(function (key) {
29
- cssVars["--".concat(_.kebabCase(key))] = themeVars[key];
30
- });
31
- return cssVars;
32
- }
33
- var ConfigProvider = function ConfigProvider(props) {
34
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
35
- children = _defaultProps$props.children,
36
- config = _objectWithoutProperties(_defaultProps$props, _excluded);
37
- var parentConfig = useConfig();
38
- var theme = config.theme || {};
39
- var style = useMemo(function () {
40
- return convertThemeVarsToCSSVars(theme);
41
- }, [theme]);
42
- return React__default.createElement(ConfigContext.Provider, {
43
- value: _objectSpread(_objectSpread({}, parentConfig), config)
44
- }, React__default.createElement("div", {
45
- style: style
46
- }, children));
47
- };
48
- ConfigProvider.defaultProps = defaultProps;
49
- ConfigProvider.displayName = 'NutConfigProvider';
50
- export { ConfigProvider as C, useConfig as u };
@@ -1,246 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["paused", "startTime", "endTime", "millisecond", "format", "autoStart", "time", "className", "style", "onEnd", "onPaused", "onRestart", "onUpdate", "children"];
5
- 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; }
6
- 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; }
7
- import React__default, { useState, useRef, useImperativeHandle, useEffect } from 'react';
8
- import { c as cn } from './bem-893ad28d.js';
9
- import { u as useConfig } from './configprovider.taro-8bdb3a28.js';
10
- var defaultProps = {
11
- paused: false,
12
- startTime: Date.now(),
13
- endTime: Date.now(),
14
- millisecond: false,
15
- format: 'HH:mm:ss',
16
- autoStart: true,
17
- time: 0
18
- };
19
- var InternalCountDown = function InternalCountDown(props, ref) {
20
- useConfig();
21
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
22
- paused = _defaultProps$props.paused,
23
- startTime = _defaultProps$props.startTime,
24
- endTime = _defaultProps$props.endTime,
25
- millisecond = _defaultProps$props.millisecond,
26
- format = _defaultProps$props.format,
27
- autoStart = _defaultProps$props.autoStart,
28
- time = _defaultProps$props.time,
29
- className = _defaultProps$props.className,
30
- style = _defaultProps$props.style,
31
- onEnd = _defaultProps$props.onEnd,
32
- onPaused = _defaultProps$props.onPaused,
33
- onRestart = _defaultProps$props.onRestart,
34
- onUpdate = _defaultProps$props.onUpdate,
35
- children = _defaultProps$props.children,
36
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
37
- var b = cn('countdown');
38
- var _useState = useState(0),
39
- _useState2 = _slicedToArray(_useState, 2),
40
- restTimeStamp = _useState2[0],
41
- setRestTime = _useState2[1];
42
- var stateRef = useRef({
43
- pauseTime: 0,
44
- curr: 0,
45
- isPaused: paused,
46
- isIninted: false,
47
- timer: 0,
48
- restTime: 0,
49
- counting: !paused && autoStart,
50
- handleEndTime: Date.now(),
51
- diffTime: 0 // 设置了 startTime 时,与 date.now() 的差异
52
- });
53
- // 时间戳转换 或 获取当前时间的时间戳
54
- var getTimeStamp = function getTimeStamp(timeStr) {
55
- if (!timeStr) return Date.now();
56
- var t = timeStr;
57
- t = t > 0 ? +t : t.toString().replace(/-/g, '/');
58
- return new Date(t).getTime();
59
- };
60
- // 倒计时 interval
61
- var initTime = function initTime() {
62
- stateRef.current.handleEndTime = endTime;
63
- stateRef.current.diffTime = Date.now() - getTimeStamp(startTime); // 时间差
64
- if (!stateRef.current.counting) stateRef.current.counting = true;
65
- tick();
66
- };
67
- var tick = function tick() {
68
- stateRef.current.timer = requestAnimationFrame(function () {
69
- if (stateRef.current.counting) {
70
- var currentTime = Date.now() - stateRef.current.diffTime;
71
- var remainTime = Math.max(stateRef.current.handleEndTime - currentTime, 0);
72
- stateRef.current.restTime = remainTime;
73
- setRestTime(remainTime);
74
- if (!remainTime) {
75
- stateRef.current.counting = false;
76
- pause();
77
- onEnd && onEnd();
78
- }
79
- if (remainTime > 0) {
80
- tick();
81
- }
82
- }
83
- });
84
- };
85
- // 将倒计时剩余时间格式化 参数: t 时间戳 type custom 自定义类型
86
- var formatRemainTime = function formatRemainTime(t, type) {
87
- var ts = t;
88
- var rest = {
89
- d: 0,
90
- h: 0,
91
- m: 0,
92
- s: 0,
93
- ms: 0
94
- };
95
- var SECOND = 1000;
96
- var MINUTE = 60 * SECOND;
97
- var HOUR = 60 * MINUTE;
98
- var DAY = 24 * HOUR;
99
- if (ts > 0) {
100
- rest.d = ts >= SECOND ? Math.floor(ts / DAY) : 0;
101
- rest.h = Math.floor(ts % DAY / HOUR);
102
- rest.m = Math.floor(ts % HOUR / MINUTE);
103
- rest.s = Math.floor(ts % MINUTE / SECOND);
104
- rest.ms = Math.floor(ts % SECOND);
105
- }
106
- return type === 'custom' ? rest : parseFormat(_objectSpread({}, rest));
107
- };
108
- var parseFormat = function parseFormat(time) {
109
- var d = time.d;
110
- var h = time.h,
111
- m = time.m,
112
- s = time.s,
113
- ms = time.ms;
114
- var formatCache = format;
115
- if (formatCache.includes('DD')) {
116
- formatCache = formatCache.replace('DD', padZero(d));
117
- } else {
118
- h += Number(d) * 24;
119
- }
120
- if (formatCache.includes('HH')) {
121
- formatCache = formatCache.replace('HH', padZero(h));
122
- } else {
123
- m += Number(h) * 60;
124
- }
125
- if (formatCache.includes('mm')) {
126
- formatCache = formatCache.replace('mm', padZero(m));
127
- } else {
128
- s += Number(m) * 60;
129
- }
130
- if (formatCache.includes('ss')) {
131
- formatCache = formatCache.replace('ss', padZero(s));
132
- } else {
133
- ms += Number(s) * 1000;
134
- }
135
- if (formatCache.includes('S')) {
136
- var msC = padZero(ms, 3).toString();
137
- if (formatCache.includes('SSS')) {
138
- formatCache = formatCache.replace('SSS', msC);
139
- } else if (formatCache.includes('SS')) {
140
- formatCache = formatCache.replace('SS', msC.slice(0, 2));
141
- } else if (formatCache.includes('S')) {
142
- formatCache = formatCache.replace('SS', msC.slice(0, 1));
143
- }
144
- }
145
- return formatCache;
146
- };
147
- var padZero = function padZero(num) {
148
- var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
149
- num += '';
150
- while (num.length < length) {
151
- num = "0".concat(num);
152
- }
153
- return num.toString();
154
- };
155
- // 暂定
156
- var pause = function pause() {
157
- cancelAnimationFrame(stateRef.current.timer);
158
- stateRef.current.counting = false;
159
- onPaused && onPaused(stateRef.current.restTime);
160
- };
161
- useImperativeHandle(ref, function () {
162
- return {
163
- start: function start() {
164
- if (!stateRef.current.counting && !autoStart) {
165
- stateRef.current.counting = true;
166
- stateRef.current.handleEndTime = Date.now() + Number(stateRef.current.restTime);
167
- tick();
168
- onRestart && onRestart(stateRef.current.restTime);
169
- }
170
- },
171
- pause: function pause() {
172
- cancelAnimationFrame(stateRef.current.timer);
173
- stateRef.current.counting = false;
174
- onPaused && onPaused(stateRef.current.restTime);
175
- },
176
- reset: function reset() {
177
- if (!autoStart) {
178
- pause();
179
- stateRef.current.restTime = time;
180
- setRestTime(time);
181
- }
182
- }
183
- };
184
- });
185
- // 监听值变更
186
- useEffect(function () {
187
- var tranTime = formatRemainTime(stateRef.current.restTime, 'custom');
188
- onUpdate && onUpdate(tranTime);
189
- }, [restTimeStamp]);
190
- // 监听暂停
191
- useEffect(function () {
192
- if (stateRef.current.isIninted) {
193
- if (paused) {
194
- if (stateRef.current.counting) {
195
- pause();
196
- }
197
- } else {
198
- if (!stateRef.current.counting) {
199
- stateRef.current.counting = true;
200
- stateRef.current.handleEndTime = Date.now() + Number(stateRef.current.restTime);
201
- tick();
202
- }
203
- onRestart && onRestart(stateRef.current.restTime);
204
- }
205
- }
206
- }, [paused]);
207
- // 监听开始结束时间变更
208
- useEffect(function () {
209
- if (stateRef.current.isIninted) {
210
- initTime();
211
- }
212
- }, [endTime, startTime]);
213
- // 初始化
214
- useEffect(function () {
215
- if (autoStart) {
216
- initTime();
217
- } else {
218
- stateRef.current.restTime = time;
219
- setRestTime(time);
220
- }
221
- if (!stateRef.current.isIninted) {
222
- stateRef.current.isIninted = true;
223
- }
224
- return componentWillUnmount;
225
- }, []);
226
- var componentWillUnmount = function componentWillUnmount() {
227
- clearInterval(stateRef.current.timer);
228
- };
229
- var renderTime = function () {
230
- return formatRemainTime(stateRef.current.restTime);
231
- }();
232
- return React__default.createElement("div", _objectSpread({
233
- className: "".concat(b(), " ").concat(className || ''),
234
- style: _objectSpread({}, style)
235
- }, rest), children || React__default.createElement("div", {
236
- className: b('block'),
237
- // eslint-disable-next-line react/no-danger
238
- dangerouslySetInnerHTML: {
239
- __html: "".concat(renderTime)
240
- }
241
- }));
242
- };
243
- var CountDown = React__default.forwardRef(InternalCountDown);
244
- CountDown.defaultProps = defaultProps;
245
- CountDown.displayName = 'NutCountDown';
246
- export { CountDown as C };