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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/Address.js +5 -5
  3. package/dist/esm/Audio.js +5 -5
  4. package/dist/esm/AvatarContext-7153ad2b.js +3 -1
  5. package/dist/esm/AvatarGroup.js +4 -4
  6. package/dist/esm/Calendar.js +5 -5
  7. package/dist/esm/CalendarItem.js +4 -4
  8. package/dist/esm/Card.js +4 -3
  9. package/dist/esm/Cell.js +2 -2
  10. package/dist/esm/ConfigProvider.js +3 -3
  11. package/dist/esm/CountDown.js +4 -4
  12. package/dist/esm/DatePicker.js +5 -5
  13. package/dist/esm/Dialog.js +4 -4
  14. package/dist/esm/Ellipsis.js +4 -4
  15. package/dist/esm/Empty.js +4 -4
  16. package/dist/esm/FixedNav.js +4 -4
  17. package/dist/esm/Form.js +4 -4
  18. package/dist/esm/FormItem.js +3 -3
  19. package/dist/esm/Grid.js +4 -4
  20. package/dist/esm/GridItem.js +4 -4
  21. package/dist/esm/Image.js +4 -4
  22. package/dist/esm/Infiniteloading.js +4 -4
  23. package/dist/esm/Input.js +4 -4
  24. package/dist/esm/MenuItem.js +4 -4
  25. package/dist/esm/NoticeBar.js +2 -2
  26. package/dist/esm/NumberKeyboard.js +4 -4
  27. package/dist/esm/Pagination.js +4 -4
  28. package/dist/esm/Picker.js +4 -4
  29. package/dist/esm/PullToRefresh.js +4 -4
  30. package/dist/esm/Range.js +4 -4
  31. package/dist/esm/SearchBar.js +4 -4
  32. package/dist/esm/ShortPassword.js +4 -4
  33. package/dist/esm/SideNavBar.js +4 -4
  34. package/dist/esm/Signature.js +4 -4
  35. package/dist/esm/Sticky.js +4 -4
  36. package/dist/esm/Table.js +4 -4
  37. package/dist/esm/Tag.js +3 -2
  38. package/dist/esm/TextArea.js +4 -4
  39. package/dist/esm/TimeDetail.js +4 -4
  40. package/dist/esm/TimePannel.js +4 -4
  41. package/dist/esm/TimeSelect.js +6 -6
  42. package/dist/esm/Uploader.js +4 -4
  43. package/dist/esm/UserContext-68f62e66.js +3 -1
  44. package/dist/esm/UserContext-b4181162.js +3 -1
  45. package/dist/esm/UserContext-be8097d2.js +3 -1
  46. package/dist/esm/VirtualList.js +6 -4
  47. package/dist/esm/WaterMark.js +4 -4
  48. package/dist/esm/actionsheet.taro-a58d3d12.js +45 -83
  49. package/dist/esm/address.taro-79cc7c96.js +461 -0
  50. package/dist/esm/animate.taro-b0e83dd5.js +32 -46
  51. package/dist/esm/animatingnumbers.taro-6f40a2e9.js +93 -134
  52. package/dist/esm/audio.taro-4fadc583.js +161 -0
  53. package/dist/esm/avatar.taro-85ced995.js +93 -119
  54. package/dist/esm/avatargroup-1d900174.js +34 -0
  55. package/dist/esm/backtop.taro-99107c30.js +39 -62
  56. package/dist/esm/badge.taro-fe9171ec.js +40 -58
  57. package/dist/esm/barrage.taro-0e157b5e.js +61 -91
  58. package/dist/esm/bem-893ad28d.js +3 -6
  59. package/dist/esm/button.taro-4ce133b9.js +87 -98
  60. package/dist/esm/calendar.taro-4ed72058.js +38 -0
  61. package/dist/esm/calendaritem.taro-1ebe428d.js +571 -0
  62. package/dist/esm/card.taro-39055e82.js +32 -0
  63. package/dist/esm/cascader.taro-d8cb1c3e.js +397 -636
  64. package/dist/esm/cell.taro-9a04a92e.js +64 -0
  65. package/dist/esm/cellgroup.taro-e094471c.js +18 -27
  66. package/dist/esm/checkbox.taro-0bda9796.js +160 -232
  67. package/dist/esm/circleprogress.taro-47db537c.js +99 -120
  68. package/dist/esm/col.taro-b61c7cba.js +33 -50
  69. package/dist/esm/collapse.taro-af58206c.js +73 -86
  70. package/dist/esm/collapseitem-ce1849d2.js +75 -139
  71. package/dist/esm/configprovider-5eea4f5d.js +19 -0
  72. package/dist/esm/configprovider.taro-26882dd2.js +42 -0
  73. package/dist/esm/countdown.taro-9e40de9c.js +225 -0
  74. package/dist/esm/datepicker.taro-7220e495.js +270 -0
  75. package/dist/esm/dialog.taro-1c03960e.js +123 -0
  76. package/dist/esm/divider.taro-5236fe6a.js +27 -27
  77. package/dist/esm/drag.taro-82b6b27a.js +99 -138
  78. package/dist/esm/elevator.taro-d7d65470.js +185 -259
  79. package/dist/esm/ellipsis.taro-49b6db0c.js +232 -0
  80. package/dist/esm/empty.taro-7bd813f9.js +62 -0
  81. package/dist/esm/fixednav.taro-5ad15202.js +53 -0
  82. package/dist/esm/form.taro-71d32671.js +179 -0
  83. package/dist/esm/formitem.taro-3089489b.js +89 -0
  84. package/dist/esm/grid.taro-e6decfce.js +58 -0
  85. package/dist/esm/grid.taro.context-39636af9.js +4 -2
  86. package/dist/esm/griditem.taro-4cade72e.js +90 -0
  87. package/dist/esm/icon-8dc4de10.js +43 -51
  88. package/dist/esm/icon.taro-1d0d4fb7.js +43 -51
  89. package/dist/esm/image.taro-e6dc5867.js +64 -0
  90. package/dist/esm/imagepreview.taro-3400ea03.js +158 -205
  91. package/dist/esm/index.taro-a36f96fb.js +149 -210
  92. package/dist/esm/indicator.taro-183ea169.js +29 -43
  93. package/dist/esm/infiniteloading.taro-6c2a2e95.js +142 -0
  94. package/dist/esm/input.taro-fd566407.js +243 -0
  95. package/dist/esm/inputnumber.taro-dc39b853.js +129 -177
  96. package/dist/esm/layout.taro-358f014f.js +6 -9
  97. package/dist/esm/menu.taro-4abed328.js +89 -132
  98. package/dist/esm/menuitem.taro-6e8b27c3.js +130 -0
  99. package/dist/esm/navbar.taro-c931c078.js +69 -105
  100. package/dist/esm/noticebar.taro-69ea7673.js +450 -0
  101. package/dist/esm/notify.taro-308e5892.js +66 -97
  102. package/dist/esm/numberkeyboard.taro-194519e4.js +158 -0
  103. package/dist/esm/nutui-react.es.js +44 -44
  104. package/dist/esm/offsetContext-bfb02c25.js +3 -1
  105. package/dist/esm/overlay.taro-98367bc1.js +59 -74
  106. package/dist/esm/pagination.taro-bb490de9.js +124 -0
  107. package/dist/esm/picker.taro-2a8ded7c.js +420 -0
  108. package/dist/esm/popover.taro-46d813e8.js +132 -222
  109. package/dist/esm/popup.taro-cb777e09.js +125 -178
  110. package/dist/esm/price.taro-8801462e.js +75 -86
  111. package/dist/esm/progress.taro-623bc807.js +84 -118
  112. package/dist/esm/pulltorefresh.taro-cab7b51c.js +221 -0
  113. package/dist/esm/range.taro-5d6ff217.js +332 -0
  114. package/dist/esm/rate.taro-10197384.js +64 -111
  115. package/dist/esm/row.taro-37a895de.js +38 -42
  116. package/dist/esm/searchbar.taro-839dd622.js +148 -0
  117. package/dist/esm/shortpassword.taro-182d46f7.js +111 -0
  118. package/dist/esm/sidenavbar.taro-006cf38b.js +35 -0
  119. package/dist/esm/sidenavbaritem.taro-fee11d26.js +9 -22
  120. package/dist/esm/signature.taro-33632585.js +143 -0
  121. package/dist/esm/skeleton.taro-853ce460.js +51 -88
  122. package/dist/esm/step.taro-1c94e067.js +49 -78
  123. package/dist/esm/steps.taro-acf205a0.js +21 -30
  124. package/dist/esm/sticky.taro-d0553f48.js +13 -0
  125. package/dist/esm/subsidenavbar.taro-f46b4c73.js +58 -75
  126. package/dist/esm/swipe.taro-83bc248f.js +164 -254
  127. package/dist/esm/swiper.taro-852f6615.js +424 -505
  128. package/dist/esm/swiperitem-86a3578a.js +20 -28
  129. package/dist/esm/switch.taro-bae2dca0.js +43 -64
  130. package/dist/esm/tabbar.taro-86cece39.js +47 -57
  131. package/dist/esm/tabbaritem.taro-8dfb8055.js +51 -79
  132. package/dist/esm/table.taro-cb4dd2c3.js +92 -0
  133. package/dist/esm/tabpane.taro-91cd6cf4.js +17 -22
  134. package/dist/esm/tabs.taro-e71875fa.js +121 -165
  135. package/dist/esm/tag.taro-00fe554d.js +89 -0
  136. package/dist/esm/textarea.taro-42600f8c.js +74 -0
  137. package/dist/esm/timedetail.taro-c5f564fd.js +44 -0
  138. package/dist/esm/timepannel.taro-29f9dd86.js +22 -0
  139. package/dist/esm/timeselect.taro-3ecce65d.js +133 -0
  140. package/dist/esm/toast.taro-0804b6b4.js +99 -137
  141. package/dist/esm/trendarrow.taro-5a7153e4.js +63 -90
  142. package/dist/esm/types/src/packages/cell/cell.taro.d.ts +0 -1
  143. package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +5 -4
  144. package/dist/esm/types/src/packages/noticebar/noticebar.taro.d.ts +5 -4
  145. package/dist/esm/types/src/packages/uploader/uploader.d.ts +1 -1
  146. package/dist/esm/types/src/packages/virtuallist/virtuallist.taro.d.ts +13 -2
  147. package/dist/esm/typings-1c5f2628.js +7 -6
  148. package/dist/esm/uploader.taro-f80d76d9.js +392 -0
  149. package/dist/esm/useClientRect-bf69d7b3.js +5 -25
  150. package/dist/esm/useTouch-a2ea68c6.js +63 -93
  151. package/dist/esm/video-8a3518c5.js +59 -83
  152. package/dist/esm/virtuallist.taro-e3345ced.js +215 -0
  153. package/dist/esm/watermark.taro-cd9db98a.js +114 -0
  154. package/dist/esm/zh-CN-dfc384d0.js +128 -133
  155. package/dist/locales/base.js +1 -1
  156. package/dist/locales/en-US.js +1 -1
  157. package/dist/locales/id-ID.js +1 -1
  158. package/dist/locales/zh-CN.js +1 -1
  159. package/dist/locales/zh-TW.js +1 -1
  160. package/dist/locales/zh-UG.js +1 -1
  161. package/dist/nutui.react.es.js +634 -5664
  162. package/dist/nutui.react.umd.js +634 -5664
  163. package/dist/packages/noticebar/noticebar.scss +17 -0
  164. package/dist/packages/radio/radio.scss +3 -1
  165. package/dist/packages/row/row.scss +2 -0
  166. package/dist/packages/searchbar/searchbar.scss +1 -1
  167. package/dist/packages/tag/tag.scss +13 -5
  168. package/dist/packages/virtuallist/virtuallist.scss +24 -0
  169. package/dist/style.css +1 -1
  170. package/dist/style.es.js +1 -1
  171. package/dist/styles/temp.scss +2340 -0
  172. package/dist/styles/theme-dark.scss +7 -0
  173. package/dist/styles/theme-default.scss +11 -0
  174. package/dist/styles/variables.scss +1945 -710
  175. package/dist/types/index.d.ts +16 -23
  176. package/package.json +9 -4
  177. package/dist/esm/address.taro-1e2aea24.js +0 -615
  178. package/dist/esm/audio.taro-fddcdfc0.js +0 -228
  179. package/dist/esm/avatargroup-f7f600ff.js +0 -42
  180. package/dist/esm/calendar.taro-72974415.js +0 -83
  181. package/dist/esm/calendaritem.taro-84e889eb.js +0 -580
  182. package/dist/esm/card.taro-a530dfb3.js +0 -61
  183. package/dist/esm/cell.taro-cf50c4f2.js +0 -109
  184. package/dist/esm/configprovider-c7d60e20.js +0 -18
  185. package/dist/esm/configprovider.taro-8bdb3a28.js +0 -50
  186. package/dist/esm/countdown.taro-d7dc8681.js +0 -246
  187. package/dist/esm/datepicker.taro-7199f521.js +0 -304
  188. package/dist/esm/dialog.taro-f54cfbf0.js +0 -187
  189. package/dist/esm/ellipsis.taro-c0de6ff4.js +0 -309
  190. package/dist/esm/empty.taro-dbc66496.js +0 -81
  191. package/dist/esm/fixednav.taro-9e759320.js +0 -97
  192. package/dist/esm/form.taro-880014b1.js +0 -181
  193. package/dist/esm/formitem.taro-3695f4a7.js +0 -136
  194. package/dist/esm/grid.taro-c2cc12d6.js +0 -81
  195. package/dist/esm/griditem.taro-892153cd.js +0 -122
  196. package/dist/esm/image.taro-c30973d5.js +0 -105
  197. package/dist/esm/infiniteloading.taro-b5ddf3cc.js +0 -188
  198. package/dist/esm/input.taro-104130c1.js +0 -361
  199. package/dist/esm/menuitem.taro-216e9f7d.js +0 -193
  200. package/dist/esm/noticebar.taro-94002898.js +0 -368
  201. package/dist/esm/numberkeyboard.taro-5e8f0ddf.js +0 -245
  202. package/dist/esm/pagination.taro-9925ffab.js +0 -169
  203. package/dist/esm/picker.taro-3b5cc054.js +0 -540
  204. package/dist/esm/pulltorefresh.taro-f26a20dd.js +0 -302
  205. package/dist/esm/range.taro-c41e9b90.js +0 -469
  206. package/dist/esm/searchbar.taro-01ed4ea4.js +0 -236
  207. package/dist/esm/shortpassword.taro-3a3bf412.js +0 -190
  208. package/dist/esm/sidenavbar.taro-06026f31.js +0 -66
  209. package/dist/esm/signature.taro-17648cac.js +0 -192
  210. package/dist/esm/sticky.taro-36013e97.js +0 -16
  211. package/dist/esm/table.taro-adda6622.js +0 -139
  212. package/dist/esm/tag.taro-bd900990.js +0 -104
  213. package/dist/esm/textarea.taro-83d5fe73.js +0 -102
  214. package/dist/esm/timedetail.taro-105f5380.js +0 -68
  215. package/dist/esm/timepannel.taro-c66c63dd.js +0 -30
  216. package/dist/esm/timeselect.taro-fc7ec6ee.js +0 -172
  217. package/dist/esm/uploader.taro-a1edf38f.js +0 -529
  218. package/dist/esm/virtuallist.taro-4add61c3.js +0 -315
  219. package/dist/esm/watermark.taro-323d1cf3.js +0 -132
@@ -0,0 +1,270 @@
1
+ import React__default, { useState, useRef, useEffect } from 'react';
2
+ import { P as Picker } from './picker.taro-2a8ded7c.js';
3
+
4
+ const currentYear = new Date().getFullYear();
5
+ const defaultProps = {
6
+ modelValue: null,
7
+ visible: false,
8
+ title: '',
9
+ type: 'date',
10
+ isShowChinese: false,
11
+ threeDimensional: true,
12
+ minuteStep: 1,
13
+ minDate: new Date(currentYear - 10, 0, 1),
14
+ maxDate: new Date(currentYear + 10, 11, 31),
15
+ };
16
+ const DatePicker = (props) => {
17
+ const { minDate, maxDate, type, isShowChinese, minuteStep, modelValue, visible, title, formatter, onCloseDatePicker, onConfirmDatePicker, filter, onChange, threeDimensional, className, style, ...rest } = {
18
+ ...defaultProps,
19
+ ...props,
20
+ };
21
+ const [show, setShow] = useState(false);
22
+ const [currentDate, setCurrentDate] = useState(modelValue);
23
+ const [defaultValue, setDefaultValue] = useState([]);
24
+ const [listData, setListData] = useState([]);
25
+ const pickerRef = useRef(null);
26
+ const isDate = (val) => {
27
+ return (Object.prototype.toString.call(val) === '[object Date]' &&
28
+ !Number.isNaN(val.getTime()));
29
+ };
30
+ const zhCNType = {
31
+ day: '日',
32
+ year: '年',
33
+ month: '月',
34
+ hour: '时',
35
+ minute: '分',
36
+ seconds: '秒',
37
+ };
38
+ const formatValue = (value) => {
39
+ let cvalue = value;
40
+ if (!cvalue || (cvalue && !isDate(cvalue))) {
41
+ cvalue = minDate;
42
+ }
43
+ let timestmp = Math.max(cvalue.getTime(), minDate.getTime());
44
+ timestmp = Math.min(timestmp, maxDate.getTime());
45
+ return new Date(timestmp);
46
+ };
47
+ function getMonthEndDay(year, month) {
48
+ return new Date(year, month, 0).getDate();
49
+ }
50
+ const getBoundary = (type, value) => {
51
+ const boundary = type === 'min' ? minDate : maxDate;
52
+ const year = boundary.getFullYear();
53
+ let month = 1;
54
+ let date = 1;
55
+ let hour = 0;
56
+ let minute = 0;
57
+ if (type === 'max') {
58
+ month = 12;
59
+ date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
60
+ hour = 23;
61
+ minute = 59;
62
+ }
63
+ const seconds = minute;
64
+ if (value.getFullYear() === year) {
65
+ month = boundary.getMonth() + 1;
66
+ if (value.getMonth() + 1 === month) {
67
+ date = boundary.getDate();
68
+ if (value.getDate() === date) {
69
+ hour = boundary.getHours();
70
+ if (value.getHours() === hour) {
71
+ minute = boundary.getMinutes();
72
+ }
73
+ }
74
+ }
75
+ }
76
+ return {
77
+ [`${type}Year`]: year,
78
+ [`${type}Month`]: month,
79
+ [`${type}Date`]: date,
80
+ [`${type}Hour`]: hour,
81
+ [`${type}Minute`]: minute,
82
+ [`${type}Seconds`]: seconds,
83
+ };
84
+ };
85
+ const ranges = (date) => {
86
+ const curDate = date || currentDate;
87
+ console.log(11, currentDate);
88
+ if (!curDate)
89
+ return [];
90
+ const { maxYear, maxDate, maxMonth, maxHour, maxMinute, maxSeconds } = getBoundary('max', curDate);
91
+ const { minYear, minDate, minMonth, minHour, minMinute, minSeconds } = getBoundary('min', curDate);
92
+ let result = [
93
+ {
94
+ type: 'year',
95
+ range: [minYear, maxYear],
96
+ },
97
+ {
98
+ type: 'month',
99
+ range: [minMonth, maxMonth],
100
+ },
101
+ {
102
+ type: 'day',
103
+ range: [minDate, maxDate],
104
+ },
105
+ {
106
+ type: 'hour',
107
+ range: [minHour, maxHour],
108
+ },
109
+ {
110
+ type: 'minute',
111
+ range: [minMinute, maxMinute],
112
+ },
113
+ {
114
+ type: 'seconds',
115
+ range: [minSeconds, maxSeconds],
116
+ },
117
+ ];
118
+ switch (type.toLocaleLowerCase()) {
119
+ case 'date':
120
+ result = result.slice(0, 3);
121
+ break;
122
+ case 'datetime':
123
+ result = result.slice(0, 5);
124
+ break;
125
+ case 'time':
126
+ result = result.slice(3, 6);
127
+ break;
128
+ case 'year-month':
129
+ result = result.slice(0, 2);
130
+ break;
131
+ case 'month-day':
132
+ result = result.slice(1, 3);
133
+ break;
134
+ case 'datehour':
135
+ result = result.slice(0, 4);
136
+ break;
137
+ }
138
+ return result;
139
+ };
140
+ const updateChooseValueCustmer = (index, selectedValue, cacheValueData) => {
141
+ if (['date', 'datetime', 'datehour', 'month-day', 'year-month'].includes(type.toLocaleLowerCase())) {
142
+ const formatDate = [];
143
+ selectedValue.forEach((item) => {
144
+ formatDate.push(item);
145
+ });
146
+ if (type.toLocaleLowerCase() === 'month-day' && formatDate.length < 3) {
147
+ formatDate.unshift(new Date(modelValue || minDate || maxDate).getFullYear());
148
+ }
149
+ if (type.toLocaleLowerCase() === 'year-month' && formatDate.length < 3) {
150
+ formatDate.push(new Date(modelValue || minDate || maxDate).getDate());
151
+ }
152
+ const year = Number(formatDate[0]);
153
+ const month = Number(formatDate[1]) - 1;
154
+ const day = Math.min(Number(formatDate[2]), getMonthEndDay(Number(formatDate[0]), Number(formatDate[1])));
155
+ let date = null;
156
+ if (type.toLocaleLowerCase() === 'date' ||
157
+ type.toLocaleLowerCase() === 'month-day' ||
158
+ type.toLocaleLowerCase() === 'year-month') {
159
+ date = new Date(year, month, day);
160
+ }
161
+ else if (type.toLocaleLowerCase() === 'datetime') {
162
+ date = new Date(year, month, day, Number(formatDate[3]), Number(formatDate[4]));
163
+ }
164
+ else if (type.toLocaleLowerCase() === 'datehour') {
165
+ date = new Date(year, month, day, Number(formatDate[3]));
166
+ }
167
+ const isEqual = currentDate?.getTime() === date?.getTime();
168
+ date &&
169
+ isDate(date) &&
170
+ !isEqual &&
171
+ setCurrentDate(formatValue(date));
172
+ }
173
+ props.onChange && props.onChange(index, selectedValue, cacheValueData);
174
+ };
175
+ const padZero = (num, targetLength = 2) => {
176
+ let str = `${num}`;
177
+ while (str.length < targetLength) {
178
+ str = `0${str}`;
179
+ }
180
+ return str;
181
+ };
182
+ const formatterOption = (type, value) => {
183
+ let fOption = null;
184
+ if (formatter) {
185
+ fOption = formatter(type, {
186
+ text: padZero(value, 2),
187
+ value: padZero(value, 2),
188
+ });
189
+ }
190
+ else {
191
+ const padMin = padZero(value, 2);
192
+ const fatter = isShowChinese ? zhCNType[type] : '';
193
+ fOption = { text: padMin + fatter, value: padMin };
194
+ }
195
+ return fOption;
196
+ };
197
+ const generateValue = (min, max, val, type, columnIndex) => {
198
+ let cmin = min;
199
+ const arr = [];
200
+ let index = 0;
201
+ while (cmin <= max) {
202
+ arr.push(formatterOption(type, cmin));
203
+ if (type === 'minute') {
204
+ cmin += minuteStep;
205
+ }
206
+ else {
207
+ cmin++;
208
+ }
209
+ if (cmin <= val) {
210
+ index++;
211
+ }
212
+ }
213
+ defaultValue[columnIndex] = arr[index].value;
214
+ setDefaultValue([...defaultValue]);
215
+ if (props.filter && props.filter(type, arr)) {
216
+ return props.filter(type, arr);
217
+ }
218
+ return arr;
219
+ };
220
+ const getDateIndex = (type) => {
221
+ if (!currentDate)
222
+ return 0;
223
+ let d = 0;
224
+ if (type === 'year') {
225
+ d = currentDate.getFullYear();
226
+ }
227
+ else if (type === 'month') {
228
+ d = currentDate.getMonth() + 1;
229
+ }
230
+ else if (type === 'day') {
231
+ d = currentDate.getDate();
232
+ }
233
+ else if (type === 'hour') {
234
+ d = currentDate.getHours();
235
+ }
236
+ else if (type === 'minute') {
237
+ d = currentDate.getMinutes();
238
+ }
239
+ else if (type === 'seconds') {
240
+ d = currentDate.getSeconds();
241
+ }
242
+ return d;
243
+ };
244
+ const columns = (date) => {
245
+ const val = ranges(date).map((res, columnIndex) => {
246
+ return generateValue(res.range[0], res.range[1], getDateIndex(res.type), res.type, columnIndex);
247
+ });
248
+ return val || [];
249
+ };
250
+ useEffect(() => {
251
+ setCurrentDate(formatValue(modelValue));
252
+ // initDefault()
253
+ }, []);
254
+ useEffect(() => {
255
+ setCurrentDate(formatValue(modelValue));
256
+ }, [modelValue]);
257
+ useEffect(() => {
258
+ setShow(visible);
259
+ }, [visible]);
260
+ useEffect(() => {
261
+ if (currentDate) {
262
+ setListData(columns());
263
+ }
264
+ }, [currentDate]);
265
+ return (React__default.createElement("div", { className: `nut-datepicker ${className || ''}`, style: style, ...rest }, listData.length > 0 && (React__default.createElement(Picker, { isVisible: show, listData: listData, onClose: onCloseDatePicker, defaultValueData: defaultValue, onConfirm: (values, options) => onConfirmDatePicker && onConfirmDatePicker(values, options), onChange: (index, value, list) => updateChooseValueCustmer(index, value, list), threeDimensional: threeDimensional, ref: pickerRef }))));
266
+ };
267
+ DatePicker.defaultProps = defaultProps;
268
+ DatePicker.displayName = 'NutDatePicker';
269
+
270
+ export { DatePicker as D };
@@ -0,0 +1,123 @@
1
+ import * as React from 'react';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { B as Button } from './button.taro-4ce133b9.js';
5
+ import { CSSTransition } from 'react-transition-group';
6
+ import { u as useConfig } from './configprovider.taro-26882dd2.js';
7
+
8
+ const Content = (props) => {
9
+ const { visible, title, footer, textAlign, footerDirection, onClickSelf, children, } = props;
10
+ let headerNode;
11
+ if (title) {
12
+ headerNode = React__default.createElement("div", { className: "nut-dialog__header" }, title);
13
+ }
14
+ let footerNode;
15
+ if (footer) {
16
+ footerNode = (React__default.createElement("div", { className: classNames('nut-dialog__footer', {
17
+ [footerDirection]: footerDirection,
18
+ }) }, footer));
19
+ }
20
+ const handleClick = () => {
21
+ onClickSelf && onClickSelf();
22
+ };
23
+ return (React__default.createElement("div", { className: "nut-dialog__outer", onClick: handleClick },
24
+ React__default.createElement("div", { className: "nut-dialog", style: { display: visible ? 'flex' : 'none' } },
25
+ headerNode,
26
+ React__default.createElement("div", { className: "nut-dialog__content", style: { textAlign } },
27
+ React__default.createElement("div", null, children)),
28
+ footerNode)));
29
+ };
30
+ Content.displayName = 'NutContent';
31
+
32
+ function Mask(props) {
33
+ return React.createElement("div", { className: "nut-dialog__mask" });
34
+ }
35
+
36
+ const DialogWrap = (props) => {
37
+ const { className, style, visible, mask, closeOnClickOverlay, lockScroll, onClosed, onCancel, } = props;
38
+ const handleClick = (e) => {
39
+ if (closeOnClickOverlay && visible && e.target === e.currentTarget) {
40
+ onClosed?.();
41
+ onCancel?.();
42
+ lockScroll && document.body.classList.remove('nut-overflow-hidden');
43
+ }
44
+ };
45
+ const wrapStyle = {
46
+ ...style,
47
+ display: visible ? 'block' : 'none',
48
+ };
49
+ if (lockScroll && visible) {
50
+ document.body.classList.add('nut-overflow-hidden');
51
+ }
52
+ return (React__default.createElement(React__default.Fragment, null,
53
+ mask ? (React__default.createElement(CSSTransition, { in: visible, timeout: 300, classNames: "fadeDialog", unmountOnExit: true, appear: true },
54
+ React__default.createElement(Mask, null))) : null,
55
+ React__default.createElement("div", { className: classNames('nut-dialog__wrap', className), onClick: handleClick, style: wrapStyle },
56
+ React__default.createElement(Content, { ...props, visible: visible }))));
57
+ };
58
+ DialogWrap.displayName = 'NutDialogWrap';
59
+
60
+ const DialogWrapper = (props) => {
61
+ const { visible, lockScroll } = props;
62
+ if (lockScroll &&
63
+ !visible &&
64
+ document.body.classList.value.includes('nut-overflow-hidden')) {
65
+ document.body.classList.remove('nut-overflow-hidden');
66
+ }
67
+ return (React__default.createElement("div", { style: { display: visible ? 'block' : 'none' } },
68
+ React__default.createElement(DialogWrap, { ...props })));
69
+ };
70
+ DialogWrapper.displayName = 'NutDialogWrapper';
71
+
72
+ const defaultProps = {
73
+ okText: '',
74
+ cancelText: '',
75
+ mask: true,
76
+ closeOnClickOverlay: true,
77
+ noFooter: false,
78
+ noOkBtn: false,
79
+ noCancelBtn: false,
80
+ okBtnDisabled: false,
81
+ cancelAutoClose: true,
82
+ textAlign: 'center',
83
+ footerDirection: 'horizontal',
84
+ lockScroll: false,
85
+ };
86
+ const BaseDialog = (props, ref) => {
87
+ const { locale } = useConfig();
88
+ const { visible, footer, noOkBtn, noCancelBtn, lockScroll, okBtnDisabled, cancelAutoClose, okText, cancelText, onClosed, onCancel, onOk, ...restProps } = props;
89
+ const renderFooter = function () {
90
+ if (footer === null)
91
+ return '';
92
+ const handleCancel = function (e) {
93
+ e.stopPropagation();
94
+ if (!cancelAutoClose)
95
+ return;
96
+ onClosed?.();
97
+ onCancel?.();
98
+ if (lockScroll && visible) {
99
+ document.body.classList.remove('nut-overflow-hidden');
100
+ }
101
+ };
102
+ const handleOk = function (e) {
103
+ e.stopPropagation();
104
+ onClosed?.();
105
+ onOk?.(e);
106
+ if (lockScroll && visible) {
107
+ document.body.classList.remove('nut-overflow-hidden');
108
+ }
109
+ };
110
+ const footerContent = footer || (React__default.createElement(React__default.Fragment, null,
111
+ !noCancelBtn && (React__default.createElement(Button, { size: "small", plain: true, type: "primary", className: "nut-dialog__footer-cancel", onClick: (e) => handleCancel(e) }, cancelText || locale.cancel)),
112
+ !noOkBtn && (React__default.createElement(Button, { size: "small", type: "primary", className: classNames('nut-dialog__footer-ok', {
113
+ disabled: okBtnDisabled,
114
+ }), disabled: okBtnDisabled, onClick: (e) => handleOk(e) }, okText || locale.confirm))));
115
+ return footerContent;
116
+ };
117
+ return (React__default.createElement(DialogWrapper, { ...restProps, visible: visible, lockScroll: lockScroll, footer: renderFooter(), onClosed: onClosed, onCancel: onCancel }));
118
+ };
119
+ const Dialog = forwardRef(BaseDialog);
120
+ Dialog.defaultProps = defaultProps;
121
+ Dialog.displayName = 'NutDialog';
122
+
123
+ export { Dialog as D };
@@ -1,35 +1,35 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "contentPosition", "dashed", "hairline", "styles", "className", "direction"];
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 classNames from 'classnames';
8
3
  import { c as cn } from './bem-893ad28d.js';
9
- var defaultProps = {
10
- contentPosition: 'center',
11
- dashed: false,
12
- hairline: true,
13
- direction: 'horizontal'
4
+
5
+ const defaultProps = {
6
+ contentPosition: 'center',
7
+ dashed: false,
8
+ hairline: true,
9
+ direction: 'horizontal',
14
10
  };
15
- var Divider = function Divider(props) {
16
- var _classNames, _classNames2;
17
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
18
- children = _defaultProps$props.children,
19
- contentPosition = _defaultProps$props.contentPosition,
20
- dashed = _defaultProps$props.dashed,
21
- hairline = _defaultProps$props.hairline,
22
- styles = _defaultProps$props.styles,
23
- className = _defaultProps$props.className,
24
- direction = _defaultProps$props.direction,
25
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
26
- var dividerBem = cn('divider');
27
- var classes = direction === 'horizontal' ? classNames((_classNames = {}, _defineProperty(_classNames, dividerBem(), true), _defineProperty(_classNames, dividerBem('center'), children), _defineProperty(_classNames, dividerBem('left'), contentPosition === 'left'), _defineProperty(_classNames, dividerBem('right'), contentPosition === 'right'), _defineProperty(_classNames, dividerBem('dashed'), dashed), _defineProperty(_classNames, dividerBem('hairline'), hairline), _classNames)) : classNames((_classNames2 = {}, _defineProperty(_classNames2, dividerBem(), true), _defineProperty(_classNames2, dividerBem('vertical'), direction === 'vertical'), _classNames2));
28
- return React__default.createElement("div", _objectSpread({
29
- className: "".concat(classes, " ").concat(className || ''),
30
- style: styles
31
- }, rest), children);
11
+ const Divider = (props) => {
12
+ const { children, contentPosition, dashed, hairline, styles, className, direction, ...rest } = {
13
+ ...defaultProps,
14
+ ...props,
15
+ };
16
+ const dividerBem = cn('divider');
17
+ const classes = direction === 'horizontal'
18
+ ? classNames({
19
+ [dividerBem()]: true,
20
+ [dividerBem('center')]: children,
21
+ [dividerBem('left')]: contentPosition === 'left',
22
+ [dividerBem('right')]: contentPosition === 'right',
23
+ [dividerBem('dashed')]: dashed,
24
+ [dividerBem('hairline')]: hairline,
25
+ })
26
+ : classNames({
27
+ [dividerBem()]: true,
28
+ [dividerBem('vertical')]: direction === 'vertical',
29
+ });
30
+ return (React__default.createElement("div", { className: `${classes} ${className || ''}`, style: styles, ...rest }, children));
32
31
  };
33
32
  Divider.defaultProps = defaultProps;
34
33
  Divider.displayName = 'NutDivider';
34
+
35
35
  export { Divider as D };