@nutui/nutui-react-taro 1.5.2 → 1.5.3-beta.1

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 (232) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/esm/ActionSheet.js +14 -90
  3. package/dist/esm/Address.js +21 -620
  4. package/dist/esm/Animate.js +7 -53
  5. package/dist/esm/AnimatingNumbers.js +7 -125
  6. package/dist/esm/Audio.js +19 -264
  7. package/dist/esm/Avatar.js +11 -130
  8. package/dist/esm/{AvatarContext-15733596.js → AvatarContext-c96afdcc.js} +3 -1
  9. package/dist/esm/AvatarGroup.js +11 -41
  10. package/dist/esm/BackTop.js +10 -138
  11. package/dist/esm/Badge.js +9 -71
  12. package/dist/esm/Barrage.js +8 -97
  13. package/dist/esm/Button.js +9 -108
  14. package/dist/esm/Calendar.js +20 -128
  15. package/dist/esm/CalendarItem.js +12 -674
  16. package/dist/esm/Card.js +11 -61
  17. package/dist/esm/Cascader.js +16 -671
  18. package/dist/esm/Cell.js +9 -101
  19. package/dist/esm/CellGroup.js +5 -2
  20. package/dist/esm/Checkbox.js +7 -5
  21. package/dist/esm/CheckboxGroup.js +8 -111
  22. package/dist/esm/CircleProgress.js +8 -114
  23. package/dist/esm/Col.js +7 -57
  24. package/dist/esm/Collapse.js +7 -97
  25. package/dist/esm/CollapseItem.js +8 -146
  26. package/dist/esm/ConfigProvider.js +8 -187
  27. package/dist/esm/CountDown.js +9 -247
  28. package/dist/esm/DatePicker.js +25 -309
  29. package/dist/esm/Dialog.js +17 -296
  30. package/dist/esm/Divider.js +7 -34
  31. package/dist/esm/Drag.js +7 -118
  32. package/dist/esm/Elevator.js +8 -234
  33. package/dist/esm/Ellipsis.js +10 -176
  34. package/dist/esm/Empty.js +8 -79
  35. package/dist/esm/FixedNav.js +14 -103
  36. package/dist/esm/Form.js +10 -215
  37. package/dist/esm/FormItem.js +10 -3
  38. package/dist/esm/Grid.js +11 -81
  39. package/dist/esm/GridItem.js +13 -123
  40. package/dist/esm/Icon.js +5 -2
  41. package/dist/esm/Image.js +11 -169
  42. package/dist/esm/ImagePreview.js +19 -225
  43. package/dist/esm/Indicator.js +7 -50
  44. package/dist/esm/Infiniteloading.js +14 -215
  45. package/dist/esm/Input.js +12 -362
  46. package/dist/esm/InputNumber.js +9 -275
  47. package/dist/esm/Layout.js +5 -13
  48. package/dist/esm/Menu.js +10 -153
  49. package/dist/esm/MenuItem.js +15 -175
  50. package/dist/esm/NavBar.js +9 -114
  51. package/dist/esm/NoticeBar.js +10 -568
  52. package/dist/esm/Notify.js +8 -234
  53. package/dist/esm/NumberKeyboard.js +17 -247
  54. package/dist/esm/Overlay.js +6 -2
  55. package/dist/esm/Pagination.js +9 -168
  56. package/dist/esm/Picker.js +22 -494
  57. package/dist/esm/Popover.js +12 -223
  58. package/dist/esm/Popup.js +13 -193
  59. package/dist/esm/Price.js +6 -84
  60. package/dist/esm/Progress.js +9 -122
  61. package/dist/esm/PullToRefresh.js +13 -276
  62. package/dist/esm/Radio.js +8 -4
  63. package/dist/esm/RadioGroup.js +7 -120
  64. package/dist/esm/Range.js +15 -406
  65. package/dist/esm/Rate.js +9 -121
  66. package/dist/esm/Row.js +7 -49
  67. package/dist/esm/SearchBar.js +12 -235
  68. package/dist/esm/ShortPassword.js +17 -191
  69. package/dist/esm/SideNavBar.js +19 -57
  70. package/dist/esm/SideNavBarItem.js +5 -24
  71. package/dist/esm/Signature.js +13 -153
  72. package/dist/esm/Skeleton.js +12 -98
  73. package/dist/esm/Step.js +10 -87
  74. package/dist/esm/Steps.js +8 -38
  75. package/dist/esm/Sticky.js +11 -190
  76. package/dist/esm/SubSideNavBar.js +6 -78
  77. package/dist/esm/Swipe.js +10 -230
  78. package/dist/esm/Swiper.js +9 -490
  79. package/dist/esm/SwiperItem.js +8 -36
  80. package/dist/esm/Switch.js +6 -71
  81. package/dist/esm/TabPane.js +5 -2
  82. package/dist/esm/Tabbar.js +6 -68
  83. package/dist/esm/TabbarItem.js +9 -78
  84. package/dist/esm/Table.js +12 -140
  85. package/dist/esm/Tabs.js +8 -5
  86. package/dist/esm/Tag.js +10 -110
  87. package/dist/esm/TextArea.js +9 -148
  88. package/dist/esm/TimeDetail.js +9 -67
  89. package/dist/esm/TimePannel.js +9 -29
  90. package/dist/esm/TimeSelect.js +19 -171
  91. package/dist/esm/Toast.js +7 -268
  92. package/dist/esm/TrendArrow.js +7 -99
  93. package/dist/esm/Uploader.js +17 -566
  94. package/dist/esm/{UserContext-101ad4a4.js → UserContext-0aac9a82.js} +3 -1
  95. package/dist/esm/{UserContext-2629d479.js → UserContext-e402e1a6.js} +3 -1
  96. package/dist/esm/{UserContext-b33bcf21.js → UserContext-e8176108.js} +3 -1
  97. package/dist/esm/Video.js +7 -90
  98. package/dist/esm/VirtualList.js +9 -313
  99. package/dist/esm/WaterMark.js +11 -111
  100. package/dist/esm/actionsheet.taro-e6a51446.js +53 -0
  101. package/dist/esm/address.taro-3a9b6396.js +461 -0
  102. package/dist/esm/animate.taro-fb7986d6.js +40 -0
  103. package/dist/esm/animatingnumbers.taro-03e5d61d.js +104 -0
  104. package/dist/esm/audio.taro-87ec8bf2.js +161 -0
  105. package/dist/esm/avatar.taro-3676f38f.js +103 -0
  106. package/dist/esm/avatargroup-f3574510.js +34 -0
  107. package/dist/esm/backtop.taro-66394a36.js +48 -0
  108. package/dist/esm/badge.taro-a4e59c11.js +52 -0
  109. package/dist/esm/barrage.taro-0495a1b2.js +94 -0
  110. package/dist/esm/{bem-3b438e61.js → bem-350c1702.js} +3 -6
  111. package/dist/esm/button.taro-9244d065.js +100 -0
  112. package/dist/esm/calendar.taro-670842ea.js +65 -0
  113. package/dist/esm/calendaritem.taro-2a603571.js +787 -0
  114. package/dist/esm/can-use-dom-3eeb5af4.js +6 -0
  115. package/dist/esm/card.taro-e4c76dad.js +33 -0
  116. package/dist/esm/cascader.taro-a5553aa5.js +437 -0
  117. package/dist/esm/cell.taro-a10a74d3.js +64 -0
  118. package/dist/esm/cellgroup.taro-abe501bc.js +25 -0
  119. package/dist/esm/checkbox.taro-6120e3e3.js +171 -0
  120. package/dist/esm/circleprogress.taro-79854448.js +109 -0
  121. package/dist/esm/col.taro-53eed3cc.js +41 -0
  122. package/dist/esm/collapse.taro-1a9e4ba2.js +83 -0
  123. package/dist/esm/collapseitem-4d0bc55d.js +83 -0
  124. package/dist/esm/configprovider-67d19d3a.js +19 -0
  125. package/dist/esm/configprovider.taro-8d71eb49.js +42 -0
  126. package/dist/esm/countdown.taro-5b17c607.js +226 -0
  127. package/dist/esm/datepicker.taro-477ad357.js +275 -0
  128. package/dist/esm/dialog.taro-a3267d29.js +118 -0
  129. package/dist/esm/divider.taro-26d1d8b4.js +35 -0
  130. package/dist/esm/drag.taro-79bb8744.js +110 -0
  131. package/dist/esm/elevator.taro-6019669e.js +178 -0
  132. package/dist/esm/ellipsis.taro-f15f26da.js +241 -0
  133. package/dist/esm/empty.taro-04ae4389.js +62 -0
  134. package/dist/esm/fixednav.taro-1f05acaf.js +53 -0
  135. package/dist/esm/form.taro-0b399b30.js +178 -0
  136. package/dist/esm/formitem.taro-190a3326.js +89 -0
  137. package/dist/esm/get-scroll-parent-b4a07e65.js +25 -0
  138. package/dist/esm/grid.taro-3503b82c.js +61 -0
  139. package/dist/esm/{grid.context-2ee27d95.js → grid.taro.context-c2bbfb4f.js} +4 -2
  140. package/dist/esm/griditem.taro-cdb3f119.js +98 -0
  141. package/dist/esm/icon-296a1bec.js +63 -0
  142. package/dist/esm/icon.taro-296a1bec.js +63 -0
  143. package/dist/esm/image.taro-142cf512.js +64 -0
  144. package/dist/esm/imagepreview.taro-c50bb0a3.js +167 -0
  145. package/dist/esm/index-5bcb0ff8.js +7 -0
  146. package/dist/esm/indicator.taro-cba8b010.js +37 -0
  147. package/dist/esm/infiniteloading.taro-183bccbf.js +144 -0
  148. package/dist/esm/input.taro-97af6c96.js +240 -0
  149. package/dist/esm/inputnumber.taro-91f65d17.js +130 -0
  150. package/dist/esm/layout.taro-9046d093.js +11 -0
  151. package/dist/esm/menu.taro-7e4038a1.js +99 -0
  152. package/dist/esm/menuitem.taro-96cc4f15.js +130 -0
  153. package/dist/esm/navbar.taro-777c4705.js +79 -0
  154. package/dist/esm/noticebar.taro-4a23cdee.js +448 -0
  155. package/dist/esm/notify.taro-e17c6f82.js +75 -0
  156. package/dist/esm/numberkeyboard.taro-1bc24744.js +159 -0
  157. package/dist/esm/nutui-react.es.js +119 -94
  158. package/dist/esm/offsetContext-c2a746fa.js +5 -0
  159. package/dist/esm/overlay.taro-21e87fb1.js +69 -0
  160. package/dist/esm/pagination.taro-715a173b.js +124 -0
  161. package/dist/esm/picker.taro-0073eeaa.js +472 -0
  162. package/dist/esm/popover.taro-ad5e76ea.js +156 -0
  163. package/dist/esm/popup.taro-01676bff.js +137 -0
  164. package/dist/esm/price.taro-776ed16e.js +83 -0
  165. package/dist/esm/progress.taro-f0ce38e9.js +90 -0
  166. package/dist/esm/pulltorefresh.taro-a294f656.js +181 -0
  167. package/dist/esm/radio.taro-a6eff96c.js +168 -0
  168. package/dist/esm/range.taro-d8fc7656.js +332 -0
  169. package/dist/esm/rate.taro-6cdf03bd.js +75 -0
  170. package/dist/esm/row.taro-f64d4a13.js +46 -0
  171. package/dist/esm/searchbar.taro-0c25927b.js +152 -0
  172. package/dist/esm/shortpassword.taro-9ee034f7.js +111 -0
  173. package/dist/esm/sidenavbar.taro-c307b35e.js +35 -0
  174. package/dist/esm/sidenavbaritem.taro-5a7965d0.js +12 -0
  175. package/dist/esm/signature.taro-ec4e713b.js +143 -0
  176. package/dist/esm/skeleton.taro-76faf63f.js +62 -0
  177. package/dist/esm/step.taro-b7903e8c.js +59 -0
  178. package/dist/esm/steps.taro-c82d2252.js +30 -0
  179. package/dist/esm/sticky.taro-218bda37.js +138 -0
  180. package/dist/esm/subsidenavbar.taro-69cb9752.js +63 -0
  181. package/dist/esm/supports-passive-c85ef996.js +18 -0
  182. package/dist/esm/swipe.taro-ea35f07f.js +177 -0
  183. package/dist/esm/swiper.taro-7a94e211.js +451 -0
  184. package/dist/esm/swiperitem-c9e3d0d5.js +29 -0
  185. package/dist/esm/switch.taro-34ca8228.js +50 -0
  186. package/dist/esm/tabbar.taro-9acfc2fa.js +59 -0
  187. package/dist/esm/tabbaritem.taro-bf517487.js +58 -0
  188. package/dist/esm/table.taro-91fc0c01.js +93 -0
  189. package/dist/esm/tabpane.taro-4ca340ef.js +23 -0
  190. package/dist/esm/tabs.taro-6a7524a4.js +140 -0
  191. package/dist/esm/tag.taro-23ba0834.js +92 -0
  192. package/dist/esm/textarea.taro-442e7350.js +94 -0
  193. package/dist/esm/timedetail.taro-5b2f2269.js +44 -0
  194. package/dist/esm/timepannel.taro-d6e40180.js +22 -0
  195. package/dist/esm/timeselect.taro-a07036f4.js +133 -0
  196. package/dist/esm/toast.taro-d6c14811.js +109 -0
  197. package/dist/esm/trendarrow.taro-b8c5ccd9.js +73 -0
  198. package/dist/esm/typings-b9828dba.js +9 -0
  199. package/dist/esm/uploader.taro-587e6bf3.js +492 -0
  200. package/dist/esm/useClientRect-1f8ed1fe.js +18 -0
  201. package/dist/esm/useTouch-db24bb5c.js +69 -0
  202. package/dist/esm/video-f1be8a91.js +67 -0
  203. package/dist/esm/virtuallist.taro-f0b0270d.js +214 -0
  204. package/dist/esm/watermark.taro-9ce2ae37.js +114 -0
  205. package/dist/esm/zh-CN-c779e6c1.js +131 -0
  206. package/dist/locales/base.js +1 -1
  207. package/dist/locales/en-US.js +1 -1
  208. package/dist/locales/id-ID.js +1 -1
  209. package/dist/locales/zh-CN.js +1 -1
  210. package/dist/locales/zh-TW.js +1 -1
  211. package/dist/locales/zh-UG.js +1 -1
  212. package/dist/nutui.react.mjs +13028 -14863
  213. package/dist/nutui.react.umd.js +13027 -14864
  214. package/dist/style.mjs +1 -1
  215. package/dist/types/index.d.ts +176 -183
  216. package/package.json +1 -1
  217. package/dist/esm/cellgroup-fcc72767.js +0 -34
  218. package/dist/esm/checkbox-44e13cd0.js +0 -137
  219. package/dist/esm/date-c7aad4c0.js +0 -97
  220. package/dist/esm/formitem-8a73a5fb.js +0 -157
  221. package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
  222. package/dist/esm/icon-4ef1581c.js +0 -70
  223. package/dist/esm/index-030b7245.js +0 -11
  224. package/dist/esm/offsetContext-3ab00d40.js +0 -16
  225. package/dist/esm/overlay-de6c79d5.js +0 -83
  226. package/dist/esm/radio-9f141e6b.js +0 -118
  227. package/dist/esm/render-bbebb760.js +0 -79
  228. package/dist/esm/tabpane-01075e6c.js +0 -29
  229. package/dist/esm/tabs-e1b4e4b1.js +0 -181
  230. package/dist/esm/typings-f27b58f4.js +0 -8
  231. package/dist/esm/useClientRect-56bb675b.js +0 -39
  232. package/dist/esm/useTouch-cf73a407.js +0 -99
@@ -1,676 +1,14 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
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, { useState, useRef, useEffect } from 'react';
7
- import classNames from 'classnames';
8
- import { c as cn } from './bem-3b438e61.js';
9
- import { U as Utils } from './date-c7aad4c0.js';
10
- import { useConfig } from './ConfigProvider.js';
1
+ import { C as CalendarItem } from './calendaritem.taro-2a603571.js';
2
+ import 'react';
3
+ import 'classnames';
4
+ import '@tarojs/components';
5
+ import './bem-350c1702.js';
11
6
  import '@bem-react/classname';
12
- function requestAniFrame() {
13
- if (typeof window !== 'undefined') {
14
- return window.requestAnimationFrame || function (callback) {
15
- window.setTimeout(callback, 1000 / 60);
16
- };
17
- }
18
- return function (callback) {
19
- setTimeout(callback, 1000 / 60);
20
- };
21
- }
22
- var requestAniFrame$1 = requestAniFrame();
23
- var defaultProps = {
24
- type: 'one',
25
- isAutoBackFill: false,
26
- poppable: true,
27
- visible: false,
28
- title: '日历选择',
29
- defaultValue: '',
30
- startDate: Utils.getDay(0),
31
- endDate: Utils.getDay(365),
32
- showToday: true,
33
- startText: '开始',
34
- endText: '结束',
35
- confirmText: '确认',
36
- showTitle: true,
37
- showSubTitle: true,
38
- toDateAnimation: true,
39
- onBtn: undefined,
40
- onDay: undefined,
41
- onTopInfo: undefined,
42
- onBottomInfo: undefined,
43
- onChoose: function onChoose(data) {},
44
- onUpdate: function onUpdate() {},
45
- onSelected: function onSelected(data) {},
46
- onYearMonthChange: function onYearMonthChange(data) {}
47
- };
48
- var CalendarItem = React__default.forwardRef(function (props, ref) {
49
- var _classNames, _classNames2;
50
- var _useConfig = useConfig(),
51
- locale = _useConfig.locale;
52
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
53
- type = _defaultProps$props.type,
54
- isAutoBackFill = _defaultProps$props.isAutoBackFill,
55
- poppable = _defaultProps$props.poppable,
56
- title = _defaultProps$props.title,
57
- defaultValue = _defaultProps$props.defaultValue,
58
- showToday = _defaultProps$props.showToday,
59
- startText = _defaultProps$props.startText,
60
- endText = _defaultProps$props.endText,
61
- confirmText = _defaultProps$props.confirmText,
62
- showTitle = _defaultProps$props.showTitle,
63
- showSubTitle = _defaultProps$props.showSubTitle,
64
- toDateAnimation = _defaultProps$props.toDateAnimation,
65
- onBtn = _defaultProps$props.onBtn,
66
- onDay = _defaultProps$props.onDay,
67
- onTopInfo = _defaultProps$props.onTopInfo,
68
- onBottomInfo = _defaultProps$props.onBottomInfo,
69
- onChoose = _defaultProps$props.onChoose,
70
- onUpdate = _defaultProps$props.onUpdate,
71
- onSelected = _defaultProps$props.onSelected,
72
- onYearMonthChange = _defaultProps$props.onYearMonthChange;
73
- var weeks = locale.calendaritem.weekdays;
74
- var _useState = useState(''),
75
- _useState2 = _slicedToArray(_useState, 2),
76
- yearMonthTitle = _useState2[0],
77
- setYearMonthTitle = _useState2[1];
78
- var _useState3 = useState([]),
79
- _useState4 = _slicedToArray(_useState3, 2),
80
- monthsData = _useState4[0],
81
- setMonthsData = _useState4[1];
82
- var _useState5 = useState(0),
83
- _useState6 = _slicedToArray(_useState5, 2),
84
- translateY = _useState6[0],
85
- setTranslateY = _useState6[1];
86
- var _useState7 = useState([]),
87
- _useState8 = _slicedToArray(_useState7, 2),
88
- monthDefaultRange = _useState8[0],
89
- setMonthDefaultRange = _useState8[1];
90
- var _useState9 = useState({
91
- currDate: '',
92
- propStartDate: '',
93
- propEndDate: '',
94
- unLoadPrev: false,
95
- touchParams: {
96
- startY: 0,
97
- endY: 0,
98
- startTime: 0,
99
- endTime: 0,
100
- lastY: 0,
101
- lastTime: 0
102
- },
103
- transformY: 0,
104
- scrollDistance: 0,
105
- defaultData: [],
106
- chooseData: [],
107
- monthsData: [],
108
- dayPrefix: 'calendar-month-day',
109
- startData: '',
110
- endData: '',
111
- isRange: props.type === 'range',
112
- timer: 0,
113
- currentIndex: 0,
114
- avgHeight: 0,
115
- monthsNum: 0
116
- }),
117
- _useState10 = _slicedToArray(_useState9, 1),
118
- state = _useState10[0];
119
- var weeksPanel = useRef(null);
120
- var months = useRef(null);
121
- var monthsPanel = useRef(null);
122
- var viewArea = useRef(null);
123
- var viewHeight = 0;
124
- var b = cn('calendar');
125
- var classes = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(b(''), "-tile"), !poppable), _defineProperty(_classNames, "".concat(b(''), "-nofooter"), !!isAutoBackFill), _classNames), b(''));
126
- var headerClasses = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(b(''), "-header"), true), _defineProperty(_classNames2, "".concat(b(''), "-header-tile"), !poppable), _classNames2));
127
- var monthitemclasses = classNames(_defineProperty({
128
- 'calendar-month-item': true
129
- }, "".concat(type === 'range' ? 'month-item-range' : ''), true));
130
- var splitDate = function splitDate(date) {
131
- return date.split('-');
132
- };
133
- var isStart = function isStart(currDate) {
134
- return Utils.isEqual(state.currDate[0], currDate);
135
- };
136
- var isEnd = function isEnd(currDate) {
137
- return Utils.isEqual(state.currDate[1], currDate);
138
- };
139
- var isMultiple = function isMultiple(currDate) {
140
- if (state.currDate.length > 0) {
141
- return state.currDate.some(function (item) {
142
- return Utils.isEqual(item, currDate);
143
- });
144
- }
145
- return false;
146
- };
147
- var getCurrDate = function getCurrDate(day, month) {
148
- return "".concat(month.curData[0], "-").concat(month.curData[1], "-").concat(Utils.getNumTwoBit(+day.day));
149
- };
150
- var getClass = function getClass(day, month) {
151
- var currDate = getCurrDate(day, month);
152
- if (day.type === 'curr') {
153
- if (Utils.isEqual(state.currDate, currDate) || type === 'range' && (isStart(currDate) || isEnd(currDate)) || type === 'multiple' && isMultiple(currDate)) {
154
- return "".concat(state.dayPrefix, "-active");
155
- }
156
- if (state.propStartDate && Utils.compareDate(currDate, state.propStartDate) || state.propEndDate && Utils.compareDate(state.propEndDate, currDate)) {
157
- return "".concat(state.dayPrefix, "-disabled");
158
- }
159
- if (type === 'range' && Array.isArray(state.currDate) && Object.values(state.currDate).length === 2 && Utils.compareDate(state.currDate[0], currDate) && Utils.compareDate(currDate, state.currDate[1])) {
160
- return "".concat(state.dayPrefix, "-choose");
161
- }
162
- return null;
163
- }
164
- return "".concat(state.dayPrefix, "-disabled");
165
- };
166
- var isActive = function isActive(day, month) {
167
- return state.isRange && day.type === 'curr' && getClass(day, month) === 'calendar-month-day-active';
168
- };
169
- var isCurrDay = function isCurrDay(month, day) {
170
- var date = "".concat(month.curData[0], "-").concat(month.curData[1], "-").concat(day);
171
- return Utils.isEqual(date, Utils.date2Str(new Date()));
172
- };
173
- var confirm = function confirm() {
174
- var type = props.type;
175
- if (type === 'range' && state.chooseData.length === 2 || type !== 'range') {
176
- var chooseData = state.chooseData.slice(0);
177
- onChoose && onChoose(chooseData);
178
- if (poppable) {
179
- onUpdate && onUpdate();
180
- }
181
- }
182
- };
183
- var chooseDay = function chooseDay(day, month, isFirst) {
184
- if (getClass(day, month) !== "".concat(state.dayPrefix, "-disabled")) {
185
- var _type = props.type;
186
- var days = _toConsumableArray(month.curData);
187
- days[2] = typeof day.day === 'number' ? Utils.getNumTwoBit(day.day) : day.day;
188
- days[3] = "".concat(days[0], "-").concat(days[1], "-").concat(days[2]);
189
- days[4] = Utils.getWhatDay(+days[0], +days[1], +days[2]);
190
- if (_type === 'multiple') {
191
- if (state.currDate.length > 0) {
192
- var hasIndex = '';
193
- state.currDate.forEach(function (item, index) {
194
- if (item === days[3]) {
195
- hasIndex = index;
196
- }
197
- });
198
- if (isFirst) {
199
- state.chooseData.push(_toConsumableArray(days));
200
- } else if (hasIndex !== '') {
201
- state.currDate.splice(hasIndex, 1);
202
- state.chooseData.splice(hasIndex, 1);
203
- } else {
204
- state.currDate.push(days[3]);
205
- state.chooseData.push(_toConsumableArray(days));
206
- }
207
- } else {
208
- state.currDate = [days[3]];
209
- state.chooseData = [_toConsumableArray(days)];
210
- }
211
- } else if (_type === 'range') {
212
- var curDataLength = Object.values(state.currDate).length;
213
- if (curDataLength === 2 || curDataLength === 0) {
214
- state.currDate = [days[3]];
215
- } else if (Utils.compareDate(state.currDate[0], days[3])) {
216
- Array.isArray(state.currDate) && state.currDate.push(days[3]);
217
- } else {
218
- Array.isArray(state.currDate) && state.currDate.unshift(days[3]);
219
- }
220
- if (state.chooseData.length === 2 || !state.chooseData.length) {
221
- state.chooseData = [_toConsumableArray(days)];
222
- } else if (Utils.compareDate(state.chooseData[0][3], days[3])) {
223
- state.chooseData = [].concat(_toConsumableArray(state.chooseData), [_toConsumableArray(days)]);
224
- } else {
225
- state.chooseData = [_toConsumableArray(days)].concat(_toConsumableArray(state.chooseData));
226
- }
227
- } else {
228
- state.currDate = days[3];
229
- state.chooseData = _toConsumableArray(days);
230
- }
231
- if (!isFirst) {
232
- // 点击日期 触发
233
- onSelected && onSelected(state.chooseData);
234
- if (isAutoBackFill || !poppable) {
235
- confirm();
236
- }
237
- }
238
- setMonthsData(state.monthsData.slice());
239
- }
240
- };
241
- var isStartTip = function isStartTip(day, month) {
242
- return isActive(day, month) && isStart(getCurrDate(day, month));
243
- };
244
- // 是否有结束提示
245
- var isEndTip = function isEndTip(day, month) {
246
- if (state.currDate.length >= 2 && isEnd(getCurrDate(day, month))) {
247
- return isActive(day, month);
248
- }
249
- return false;
250
- };
251
- // 开始结束时间是否相等
252
- var rangeTip = function rangeTip() {
253
- if (state.currDate.length >= 2) {
254
- return Utils.isEqual(state.currDate[0], state.currDate[1]);
255
- }
256
- return false;
257
- };
258
- // 获取当前月数据
259
- var getCurrData = function getCurrData(type) {
260
- var monthData = type === 'prev' ? state.monthsData[0] : state.monthsData[state.monthsData.length - 1];
261
- var year = parseInt(monthData.curData[0]);
262
- var month = parseInt(monthData.curData[1].toString().replace(/^0/, ''));
263
- switch (type) {
264
- case 'prev':
265
- month === 1 && (year -= 1);
266
- month = month === 1 ? 12 : --month;
267
- break;
268
- case 'next':
269
- month === 12 && (year += 1);
270
- month = month === 12 ? 1 : ++month;
271
- break;
272
- }
273
- return [year, Utils.getNumTwoBit(month), Utils.getMonthDays(String(year), String(month))];
274
- };
275
- // 获取日期状态
276
- var getDaysStatus = function getDaysStatus(days, type, dateInfo) {
277
- // 修复:当某个月的1号是周日时,月份下方会空出来一行
278
- var year = dateInfo.year,
279
- month = dateInfo.month;
280
- if (type === 'prev' && days >= 7) {
281
- days -= 7;
282
- }
283
- return Array.from(Array(days), function (v, k) {
284
- return {
285
- day: k + 1,
286
- type: type,
287
- year: year,
288
- month: month
289
- };
290
- });
291
- };
292
- // 获取上一个月的最后一周天数,填充当月空白
293
- var getPreDaysStatus = function getPreDaysStatus(days, type, dateInfo, preCurrMonthDays) {
294
- // 修复:当某个月的1号是周日时,月份下方会空出来一行
295
- var year = dateInfo.year,
296
- month = dateInfo.month;
297
- if (type === 'prev' && days >= 7) {
298
- days -= 7;
299
- }
300
- var months = Array.from(Array(preCurrMonthDays), function (v, k) {
301
- return {
302
- day: k + 1,
303
- type: type,
304
- year: year,
305
- month: month
306
- };
307
- });
308
- return months.slice(preCurrMonthDays - days);
309
- };
310
- // 获取月数据
311
- var getMonth = function getMonth(curData, type) {
312
- var preMonthDays = Utils.getMonthPreDay(+curData[0], +curData[1]);
313
- var preMonth = +curData[1] - 1;
314
- var preYear = curData[0];
315
- if (preMonth <= 0) {
316
- preMonth = 12;
317
- preYear += 1;
318
- }
319
- var currMonthDays = Utils.getMonthDays(curData[0], curData[1]);
320
- var preCurrMonthDays = Utils.getMonthDays("".concat(preYear), "".concat(preMonth));
321
- var title = {
322
- year: curData[0],
323
- month: curData[1]
324
- };
325
- var monthInfo = {
326
- curData: curData,
327
- title: locale.calendaritem.monthTitle(title.year, title.month),
328
- monthData: [].concat(_toConsumableArray(getPreDaysStatus(preMonthDays, 'prev', {
329
- month: preMonth,
330
- year: preYear
331
- }, preCurrMonthDays)), _toConsumableArray(getDaysStatus(currMonthDays, 'curr', title)))
332
- };
333
- monthInfo.cssHeight = 39 + (monthInfo.monthData.length > 35 ? 384 : 320);
334
- var cssScrollHeight = 0;
335
- if (state.monthsData.length > 0) {
336
- cssScrollHeight = state.monthsData[state.monthsData.length - 1].cssScrollHeight + state.monthsData[state.monthsData.length - 1].cssHeight;
337
- }
338
- monthInfo.cssScrollHeight = cssScrollHeight;
339
- if (type === 'next') {
340
- if (!state.endData || !Utils.compareDate("".concat(state.endData[0], "-").concat(state.endData[1], "-").concat(Utils.getMonthDays(state.endData[0], state.endData[1])), "".concat(curData[0], "-").concat(curData[1], "-").concat(curData[2]))) {
341
- state.monthsData.push(monthInfo);
342
- }
343
- } else if (!state.startData || !Utils.compareDate("".concat(curData[0], "-").concat(curData[1], "-").concat(curData[2]), "".concat(state.startData[0], "-").concat(state.startData[1], "-01"))) {
344
- state.monthsData.unshift(monthInfo);
345
- }
346
- setMonthsData(state.monthsData);
347
- };
348
- var setReachedYearMonthInfo = function setReachedYearMonthInfo() {
349
- var currentMonthsData = state.monthsData[state.currentIndex];
350
- var _currentMonthsData$cu = _slicedToArray(currentMonthsData.curData, 2),
351
- year = _currentMonthsData$cu[0],
352
- month = _currentMonthsData$cu[1];
353
- if (currentMonthsData.title === yearMonthTitle) return;
354
- onYearMonthChange && onYearMonthChange([year, month, "".concat(year, "-").concat(month)]);
355
- setYearMonthTitle(currentMonthsData.title);
356
- };
357
- var setDefaultRange = function setDefaultRange(monthsNum, current) {
358
- var start = 0;
359
- var end = 0;
360
- if (monthsNum >= 3) {
361
- if (current > 0 && current < monthsNum) {
362
- start = current - 1;
363
- end = current + 3;
364
- } else if (current === 0) {
365
- start = current;
366
- end = current + 4;
367
- } else if (current === monthsNum) {
368
- start = current - 2;
369
- end = current + 2;
370
- }
371
- } else {
372
- start = 0;
373
- end = monthsNum + 2;
374
- }
375
- setMonthDefaultRange([start, end]);
376
- setTranslateY(state.monthsData[start].cssScrollHeight);
377
- };
378
- var monthsViewScroll = function monthsViewScroll(e) {
379
- if (state.monthsData.length <= 1) {
380
- return;
381
- }
382
- var target = e.target;
383
- var currentScrollTop = target.scrollTop;
384
- var current = Math.floor(currentScrollTop / state.avgHeight);
385
- if (current === 0) {
386
- if (currentScrollTop >= state.monthsData[current + 1].cssScrollHeight) {
387
- current += 1;
388
- }
389
- } else if (current > 0 && current < state.monthsNum - 1) {
390
- if (currentScrollTop >= state.monthsData[current + 1].cssScrollHeight) {
391
- current += 1;
392
- }
393
- if (currentScrollTop < state.monthsData[current].cssScrollHeight) {
394
- current -= 1;
395
- }
396
- } else {
397
- var viewPosition = Math.round(currentScrollTop + viewHeight);
398
- if (viewPosition < state.monthsData[current].cssScrollHeight + state.monthsData[current].cssHeight && currentScrollTop > state.monthsData[current - 1].cssScrollHeight) {
399
- current -= 1;
400
- }
401
- if (current + 1 <= state.monthsNum && viewPosition >= state.monthsData[current + 1].cssScrollHeight + state.monthsData[current + 1].cssHeight) {
402
- current += 1;
403
- }
404
- if (current >= 1 && currentScrollTop < state.monthsData[current - 1].cssScrollHeight) {
405
- current -= 1;
406
- }
407
- }
408
- if (state.currentIndex !== current) {
409
- state.currentIndex = current;
410
- setDefaultRange(state.monthsNum, current);
411
- }
412
- setReachedYearMonthInfo();
413
- };
414
- var initData = function initData() {
415
- // 初始化开始结束数据
416
- var propStartDate = props.startDate ? props.startDate : Utils.getDay(0);
417
- var propEndDate = props.endDate ? props.endDate : Utils.getDay(365);
418
- state.propStartDate = propStartDate;
419
- state.propEndDate = propEndDate;
420
- state.startData = splitDate(propStartDate);
421
- state.endData = splitDate(propEndDate);
422
- // 根据是否存在默认时间,初始化当前日期
423
- if (defaultValue || Array.isArray(defaultValue) && defaultValue.length > 0) {
424
- state.currDate = props.type !== 'one' ? _toConsumableArray(props.defaultValue) : props.defaultValue;
425
- }
426
- // 判断时间范围内存在多少个月
427
- var startDate = {
428
- year: Number(state.startData[0]),
429
- month: Number(state.startData[1])
430
- };
431
- var endDate = {
432
- year: Number(state.endData[0]),
433
- month: Number(state.endData[1])
434
- };
435
- var monthsNum = endDate.month - startDate.month;
436
- if (endDate.year - startDate.year > 0) {
437
- monthsNum += 12 * (endDate.year - startDate.year);
438
- }
439
- if (monthsNum <= 0) {
440
- monthsNum = 1;
441
- }
442
- // 设置月份数据
443
- getMonth(state.startData, 'next');
444
- var i = 1;
445
- do {
446
- getMonth(getCurrData('next'), 'next');
447
- } while (i++ < monthsNum);
448
- state.monthsNum = monthsNum;
449
- // 日期转化为数组,限制初始日期。判断时间范围
450
- if (type === 'range' && Array.isArray(state.currDate)) {
451
- if (state.currDate.length > 0) {
452
- if (propStartDate && Utils.compareDate(state.currDate[0], propStartDate)) {
453
- state.currDate.splice(0, 1, propStartDate);
454
- }
455
- if (propEndDate && Utils.compareDate(propEndDate, state.currDate[1])) {
456
- state.currDate.splice(1, 1, propEndDate);
457
- }
458
- state.defaultData = [].concat(_toConsumableArray(splitDate(state.currDate[0])), _toConsumableArray(splitDate(state.currDate[1])));
459
- }
460
- } else if (props.type === 'multiple' && Array.isArray(state.currDate)) {
461
- if (state.currDate.length > 0) {
462
- var defaultArr = [];
463
- var obj = {};
464
- state.currDate.forEach(function (item) {
465
- if (propStartDate && !Utils.compareDate(item, propStartDate) && propEndDate && !Utils.compareDate(propEndDate, item)) {
466
- if (!Object.hasOwnProperty.call(obj, item)) {
467
- defaultArr.push(item);
468
- obj[item] = item;
469
- }
470
- }
471
- });
472
- state.currDate = [].concat(defaultArr);
473
- state.defaultData = _toConsumableArray(splitDate(defaultArr[0]));
474
- }
475
- } else if (state.currDate) {
476
- if (propStartDate && Utils.compareDate(state.currDate, propStartDate)) {
477
- state.currDate = propStartDate;
478
- } else if (propEndDate && !Utils.compareDate(state.currDate, propEndDate)) {
479
- state.currDate = propEndDate;
480
- }
481
- state.defaultData = _toConsumableArray(splitDate(state.currDate));
482
- }
483
- // 设置默认可见区域
484
- var current = 0;
485
- var lastCurrent = 0;
486
- if (state.defaultData.length > 0) {
487
- state.monthsData.forEach(function (item, index) {
488
- if (item.title === locale.calendaritem.monthTitle(state.defaultData[0], state.defaultData[1])) {
489
- current = index;
490
- }
491
- if (props.type === 'range') {
492
- if (item.title === locale.calendaritem.monthTitle(state.defaultData[3], state.defaultData[4])) {
493
- lastCurrent = index;
494
- }
495
- }
496
- });
497
- } else {
498
- // 当 defaultValue 为空时,如果月份列表包含当月,则默认定位到当月
499
- var currentYear = new Date().getFullYear();
500
- var currentMonth = new Date().getMonth() + 1;
501
- var currentYearMonthIndex = state.monthsData.findIndex(function (item) {
502
- return +item.curData[0] === currentYear && +item.curData[1] === currentMonth;
503
- });
504
- if (currentYearMonthIndex > -1) {
505
- current = currentYearMonthIndex;
506
- }
507
- }
508
- setDefaultRange(monthsNum, current);
509
- state.currentIndex = current;
510
- setReachedYearMonthInfo();
511
- if (state.defaultData.length > 0) {
512
- // 设置当前选中日期
513
- if (type === 'range') {
514
- chooseDay({
515
- day: state.defaultData[2],
516
- type: 'curr'
517
- }, state.monthsData[state.currentIndex], true);
518
- chooseDay({
519
- day: state.defaultData[5],
520
- type: 'curr'
521
- }, state.monthsData[lastCurrent], true);
522
- } else if (type === 'multiple') {
523
- _toConsumableArray(state.currDate).forEach(function (item) {
524
- var dateArr = splitDate(item);
525
- var current = state.currentIndex;
526
- state.monthsData.forEach(function (item, index) {
527
- if (item.title === locale.calendaritem.monthTitle(dateArr[0], dateArr[1])) {
528
- current = index;
529
- }
530
- });
531
- chooseDay({
532
- day: dateArr[2],
533
- type: 'curr'
534
- }, state.monthsData[current], true);
535
- });
536
- } else {
537
- chooseDay({
538
- day: state.defaultData[2],
539
- type: 'curr'
540
- }, state.monthsData[state.currentIndex], true);
541
- }
542
- }
543
- var lastItem = state.monthsData[state.monthsData.length - 1];
544
- var containerHeight = lastItem.cssHeight + lastItem.cssScrollHeight;
545
- requestAniFrame$1(function () {
546
- // 初始化 日历位置
547
- if (months && monthsPanel && viewArea) {
548
- viewHeight = months.current.clientHeight;
549
- monthsPanel.current.style.height = "".concat(containerHeight, "px");
550
- months.current.scrollTop = state.monthsData[state.currentIndex].cssScrollHeight;
551
- }
552
- });
553
- state.avgHeight = Math.floor(containerHeight / (monthsNum + 1));
554
- };
555
- var resetRender = function resetRender() {
556
- state.chooseData.splice(0);
557
- state.monthsData.splice(0);
558
- initData();
559
- };
560
- // 暴露出的API
561
- var scrollToDate = function scrollToDate(date) {
562
- if (Utils.compareDate(date, state.propStartDate)) {
563
- date = state.propStartDate;
564
- } else if (!Utils.compareDate(date, state.propEndDate)) {
565
- date = state.propEndDate;
566
- }
567
- var dateArr = splitDate(date);
568
- state.monthsData.forEach(function (item, index) {
569
- if (item.title === locale.calendaritem.monthTitle(dateArr[0], dateArr[1])) {
570
- if (months.current) {
571
- var distance = state.monthsData[index].cssScrollHeight - months.current.scrollTop;
572
- if (toDateAnimation) {
573
- var flag = 0;
574
- var interval = setInterval(function () {
575
- flag++;
576
- if (months.current) {
577
- var offset = distance / 10;
578
- months.current.scrollTop += offset;
579
- }
580
- if (flag >= 10) {
581
- clearInterval(interval);
582
- if (months.current) {
583
- months.current.scrollTop = state.monthsData[index].cssScrollHeight;
584
- }
585
- }
586
- }, 40);
587
- } else {
588
- months.current.scrollTop = state.monthsData[index].cssScrollHeight;
589
- }
590
- }
591
- }
592
- });
593
- };
594
- useEffect(function () {
595
- initData();
596
- }, []);
597
- useEffect(function () {
598
- poppable && resetRender();
599
- }, [defaultValue]);
600
- React__default.useImperativeHandle(ref, function () {
601
- return {
602
- scrollToDate: scrollToDate
603
- };
604
- });
605
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
606
- className: classes
607
- }, React__default.createElement("div", {
608
- className: headerClasses
609
- }, showTitle && React__default.createElement("div", {
610
- className: "calendar-title"
611
- }, title || locale.calendaritem.title), onBtn && React__default.createElement("div", {
612
- className: "calendar-top-slot"
613
- }, onBtn()), showSubTitle && React__default.createElement("div", {
614
- className: "calendar-curr-month"
615
- }, yearMonthTitle), React__default.createElement("div", {
616
- className: "calendar-weeks",
617
- ref: weeksPanel
618
- }, weeks.map(function (item) {
619
- return React__default.createElement("div", {
620
- className: "calendar-week-item",
621
- key: item
622
- }, item);
623
- }))), React__default.createElement("div", {
624
- className: "nut-calendar-content",
625
- onScroll: monthsViewScroll,
626
- ref: months
627
- }, React__default.createElement("div", {
628
- className: "calendar-months-panel",
629
- ref: monthsPanel
630
- }, React__default.createElement("div", {
631
- className: "viewArea",
632
- ref: viewArea,
633
- style: {
634
- transform: "translateY(".concat(translateY, "px)")
635
- }
636
- }, state.monthsData.slice(monthDefaultRange[0], monthDefaultRange[1]).map(function (month, key) {
637
- return React__default.createElement("div", {
638
- className: "calendar-month",
639
- key: key
640
- }, React__default.createElement("div", {
641
- className: "calendar-month-title"
642
- }, month.title), React__default.createElement("div", {
643
- className: "calendar-month-con"
644
- }, React__default.createElement("div", {
645
- className: monthitemclasses
646
- }, month.monthData.map(function (day, i) {
647
- return React__default.createElement("div", {
648
- className: ['calendar-month-day', getClass(day, month)].join(' '),
649
- onClick: function onClick() {
650
- chooseDay(day, month);
651
- },
652
- key: i
653
- }, React__default.createElement("div", {
654
- className: "calendar-day"
655
- }, onDay ? onDay(day) : day.day), onTopInfo && React__default.createElement("div", {
656
- className: "calendar-curr-tips calendar-curr-tips-top"
657
- }, onTopInfo(day)), onBottomInfo && React__default.createElement("div", {
658
- className: "calendar-curr-tips calendar-curr-tips-bottom"
659
- }, onBottomInfo(day)), !onBottomInfo && showToday && isCurrDay(month, day.day) && React__default.createElement("div", {
660
- className: "calendar-curr-tip-curr"
661
- }, locale.calendaritem.today), isStartTip(day, month) && React__default.createElement("div", {
662
- className: "calendar-day-tip ".concat(rangeTip() ? 'calendar-curr-tips-top' : '')
663
- }, startText || locale.calendaritem.start), isEndTip(day, month) && React__default.createElement("div", {
664
- className: "calendar-day-tip"
665
- }, endText || locale.calendaritem.end));
666
- }))));
667
- })))), poppable && !isAutoBackFill ? React__default.createElement("div", {
668
- className: "nut-calendar-footer"
669
- }, React__default.createElement("div", {
670
- className: "calendar-confirm-btn",
671
- onClick: confirm
672
- }, confirmText || locale.confirm)) : ''));
673
- });
674
- CalendarItem.defaultProps = defaultProps;
675
- CalendarItem.displayName = 'NutCalendarItem';
7
+ import './configprovider.taro-8d71eb49.js';
8
+ import 'lodash.kebabcase';
9
+ import './zh-CN-c779e6c1.js';
10
+ import '@tarojs/taro';
11
+
12
+
13
+
676
14
  export { CalendarItem as default };