zartui 2.0.79 → 2.0.80-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 (304) hide show
  1. package/es/action-sheet/index.js +15 -26
  2. package/es/area/index.js +5 -41
  3. package/es/avatar/index.js +3 -16
  4. package/es/back-top/index.js +4 -19
  5. package/es/badge/index.js +4 -12
  6. package/es/button/index.js +20 -40
  7. package/es/calendar/components/Header.js +3 -12
  8. package/es/calendar/components/Month.js +12 -65
  9. package/es/calendar/index.js +23 -94
  10. package/es/calendar/types.js +0 -6
  11. package/es/calendar/utils.js +5 -16
  12. package/es/cascader/index.js +4 -37
  13. package/es/cell/index.js +19 -37
  14. package/es/cell-group/index.js +5 -8
  15. package/es/checkbox/index.js +4 -11
  16. package/es/checkbox-group/index.js +4 -9
  17. package/es/col/index.js +6 -11
  18. package/es/collapse/index.js +2 -5
  19. package/es/collapse-item/index.js +19 -35
  20. package/es/count-down/index.js +2 -15
  21. package/es/count-down/utils.js +3 -10
  22. package/es/datetime-picker/DatePicker.js +12 -70
  23. package/es/datetime-picker/TimePicker.js +10 -23
  24. package/es/datetime-picker/index.js +2 -4
  25. package/es/datetime-picker/shared.js +5 -19
  26. package/es/datetime-picker/utils.js +0 -5
  27. package/es/dialog/Dialog.js +6 -21
  28. package/es/dialog/index.js +0 -16
  29. package/es/divider/index.js +5 -6
  30. package/es/dropdown-item/index.js +22 -35
  31. package/es/dropdown-menu/index.js +4 -9
  32. package/es/empty/index.js +3 -11
  33. package/es/field/index.js +20 -83
  34. package/es/fold-dialog/index.js +5 -20
  35. package/es/form/index.js +2 -18
  36. package/es/grid/index.js +2 -6
  37. package/es/grid-item/index.js +17 -30
  38. package/es/hierarchy-select/breadcrumb.js +2 -6
  39. package/es/hierarchy-select/index.js +3 -12
  40. package/es/hierarchy-select/markList.js +2 -25
  41. package/es/hierarchy-select/svg/SubIcon.js +0 -1
  42. package/es/icon/index.js +9 -13
  43. package/es/image/index.js +2 -17
  44. package/es/image-preview/ImagePreview.js +4 -8
  45. package/es/image-preview/ImagePreviewItem.js +14 -30
  46. package/es/image-preview/index.js +0 -12
  47. package/es/image-preview/shared.js +2 -4
  48. package/es/index-anchor/index.js +2 -6
  49. package/es/index-bar/IndexIndicate.js +0 -1
  50. package/es/index-bar/index.js +7 -28
  51. package/es/index.js +1 -4
  52. package/es/info/index.js +6 -8
  53. package/es/list/index.js +11 -27
  54. package/es/loading/index.js +7 -15
  55. package/es/locale/index.js +0 -2
  56. package/es/media-picker/index.js +33 -117
  57. package/es/media-picker/media-util.js +2 -5
  58. package/es/media-picker/type.js +0 -5
  59. package/es/media-player/index.js +7 -17
  60. package/es/mixins/bind-event.js +0 -3
  61. package/es/mixins/checkbox.js +5 -11
  62. package/es/mixins/click-outside.js +0 -2
  63. package/es/mixins/close-on-popstate.js +0 -1
  64. package/es/mixins/field.js +0 -2
  65. package/es/mixins/popup/index.js +12 -28
  66. package/es/mixins/popup/overlay.js +1 -11
  67. package/es/mixins/portal.js +2 -8
  68. package/es/mixins/relation.js +0 -8
  69. package/es/mixins/slots.js +1 -4
  70. package/es/mixins/touch.js +4 -9
  71. package/es/multiple-picker/MultiplePickerOptions.js +2 -18
  72. package/es/multiple-picker/index.js +5 -17
  73. package/es/nav-bar/index.js +4 -12
  74. package/es/notice-bar/index.js +10 -28
  75. package/es/number-keyboard/Key.js +2 -10
  76. package/es/number-keyboard/index.js +4 -19
  77. package/es/overlay/index.js +5 -8
  78. package/es/password-input/index.js +10 -16
  79. package/es/picker/PickerColumn.js +20 -54
  80. package/es/picker/index.js +13 -42
  81. package/es/popover/index.js +11 -20
  82. package/es/popup/index.js +5 -21
  83. package/es/pull-refresh/index.js +15 -32
  84. package/es/radio/index.js +2 -4
  85. package/es/radio-group/index.js +2 -4
  86. package/es/rate/index.js +12 -26
  87. package/es/row/index.js +3 -9
  88. package/es/search/index.js +8 -13
  89. package/es/signature/bezier.js +5 -12
  90. package/es/signature/force-landscape.js +0 -5
  91. package/es/signature/index.js +5 -24
  92. package/es/signature/point.js +1 -6
  93. package/es/signature/throttle.js +1 -10
  94. package/es/skeleton/index.js +5 -15
  95. package/es/slider/index.js +19 -55
  96. package/es/step/index.js +5 -12
  97. package/es/stepper/index.js +10 -37
  98. package/es/steps/index.js +2 -4
  99. package/es/sticky/index.js +8 -50
  100. package/es/swipe/index.js +19 -62
  101. package/es/swipe-cell/index.js +7 -23
  102. package/es/swipe-item/index.js +9 -19
  103. package/es/switch/index.js +8 -10
  104. package/es/switch/shared.js +1 -0
  105. package/es/switch-cell/index.js +7 -7
  106. package/es/tab/index.js +4 -15
  107. package/es/tabbar/index.js +4 -14
  108. package/es/tabbar-item/index.js +7 -15
  109. package/es/table/index.js +10 -35
  110. package/es/tabs/Content.js +5 -9
  111. package/es/tabs/Title.js +11 -19
  112. package/es/tabs/index.js +16 -51
  113. package/es/tabs/utils.js +0 -8
  114. package/es/tag/index.js +13 -17
  115. package/es/timeline/index.js +2 -25
  116. package/es/toast/Toast.js +11 -23
  117. package/es/toast/index.js +6 -33
  118. package/es/toast/lock-click.js +0 -2
  119. package/es/uploader/index.js +11 -62
  120. package/es/uploader/utils.js +0 -10
  121. package/es/utils/constant.js +2 -1
  122. package/es/utils/create/bem.js +1 -5
  123. package/es/utils/create/component.js +4 -7
  124. package/es/utils/create/i18n.js +0 -2
  125. package/es/utils/deep-assign.js +0 -4
  126. package/es/utils/deep-clone.js +0 -3
  127. package/es/utils/dom/event.js +2 -5
  128. package/es/utils/dom/node.js +0 -1
  129. package/es/utils/dom/raf.js +7 -6
  130. package/es/utils/dom/reset-scroll.js +2 -1
  131. package/es/utils/dom/scroll.js +8 -17
  132. package/es/utils/dom/style.js +3 -2
  133. package/es/utils/easings.js +2 -4
  134. package/es/utils/format/date-util.js +54 -122
  135. package/es/utils/format/number.js +2 -11
  136. package/es/utils/format/string.js +0 -3
  137. package/es/utils/format/unit.js +2 -12
  138. package/es/utils/functional.js +6 -9
  139. package/es/utils/getScroll.js +0 -5
  140. package/es/utils/index.js +3 -5
  141. package/es/utils/interceptor.js +2 -4
  142. package/es/utils/media/image-util.js +7 -19
  143. package/es/utils/raf.js +4 -12
  144. package/es/utils/router.js +7 -6
  145. package/es/utils/scrollTo.js +7 -12
  146. package/es/utils/validate/number.js +2 -2
  147. package/es/utils/vnodes.js +2 -8
  148. package/lib/action-sheet/index.js +11 -35
  149. package/lib/area/index.js +5 -45
  150. package/lib/avatar/index.js +3 -18
  151. package/lib/back-top/index.js +4 -25
  152. package/lib/badge/index.js +4 -15
  153. package/lib/button/index.js +19 -50
  154. package/lib/calendar/components/Header.js +3 -18
  155. package/lib/calendar/components/Month.js +12 -71
  156. package/lib/calendar/index.js +21 -106
  157. package/lib/calendar/types.js +0 -7
  158. package/lib/calendar/utils.js +5 -32
  159. package/lib/cascader/index.js +4 -46
  160. package/lib/cell/index.js +18 -48
  161. package/lib/cell-group/index.js +5 -15
  162. package/lib/checkbox/index.js +4 -14
  163. package/lib/checkbox-group/index.js +4 -13
  164. package/lib/col/index.js +6 -14
  165. package/lib/collapse/index.js +2 -8
  166. package/lib/collapse-item/index.js +18 -43
  167. package/lib/count-down/index.js +2 -19
  168. package/lib/count-down/utils.js +3 -15
  169. package/lib/datetime-picker/DatePicker.js +12 -81
  170. package/lib/datetime-picker/TimePicker.js +10 -30
  171. package/lib/datetime-picker/index.js +2 -10
  172. package/lib/datetime-picker/shared.js +5 -27
  173. package/lib/datetime-picker/utils.js +0 -9
  174. package/lib/dialog/Dialog.js +6 -28
  175. package/lib/dialog/index.js +0 -22
  176. package/lib/divider/index.js +5 -12
  177. package/lib/dropdown-item/index.js +21 -44
  178. package/lib/dropdown-menu/index.js +4 -15
  179. package/lib/empty/index.js +3 -23
  180. package/lib/field/index.js +20 -96
  181. package/lib/fold-dialog/index.js +5 -22
  182. package/lib/form/index.js +2 -21
  183. package/lib/grid/index.js +2 -10
  184. package/lib/grid-item/index.js +16 -37
  185. package/lib/hierarchy-select/breadcrumb.js +3 -10
  186. package/lib/hierarchy-select/index.js +4 -20
  187. package/lib/hierarchy-select/markList.js +3 -31
  188. package/lib/hierarchy-select/svg/SubIcon.js +0 -1
  189. package/lib/icon/index.js +8 -19
  190. package/lib/image/index.js +2 -22
  191. package/lib/image-preview/ImagePreview.js +0 -16
  192. package/lib/image-preview/ImagePreviewItem.js +13 -36
  193. package/lib/image-preview/index.js +0 -16
  194. package/lib/image-preview/shared.js +2 -5
  195. package/lib/index-anchor/index.js +2 -11
  196. package/lib/index-bar/IndexIndicate.js +0 -1
  197. package/lib/index-bar/index.js +7 -37
  198. package/lib/index.js +1 -157
  199. package/lib/info/index.js +6 -14
  200. package/lib/lazyload/index.js +0 -3
  201. package/lib/list/index.js +10 -33
  202. package/lib/loading/index.js +7 -21
  203. package/lib/locale/index.js +0 -7
  204. package/lib/media-picker/index.js +27 -153
  205. package/lib/media-picker/media-util.js +2 -15
  206. package/lib/media-picker/type.js +0 -5
  207. package/lib/media-player/index.js +6 -22
  208. package/lib/mixins/bind-event.js +1 -6
  209. package/lib/mixins/checkbox.js +6 -18
  210. package/lib/mixins/click-outside.js +1 -5
  211. package/lib/mixins/close-on-popstate.js +0 -4
  212. package/lib/mixins/field.js +0 -2
  213. package/lib/mixins/popup/index.js +11 -36
  214. package/lib/mixins/popup/overlay.js +1 -23
  215. package/lib/mixins/portal.js +2 -9
  216. package/lib/mixins/relation.js +0 -11
  217. package/lib/mixins/slots.js +1 -5
  218. package/lib/mixins/touch.js +4 -11
  219. package/lib/multiple-picker/MultiplePickerOptions.js +2 -23
  220. package/lib/multiple-picker/index.js +5 -26
  221. package/lib/nav-bar/index.js +4 -16
  222. package/lib/notice-bar/index.js +10 -40
  223. package/lib/number-keyboard/Key.js +2 -17
  224. package/lib/number-keyboard/index.js +4 -26
  225. package/lib/overlay/index.js +5 -16
  226. package/lib/password-input/index.js +10 -23
  227. package/lib/picker/PickerColumn.js +19 -63
  228. package/lib/picker/index.js +13 -53
  229. package/lib/popover/index.js +9 -27
  230. package/lib/popup/index.js +5 -27
  231. package/lib/pull-refresh/index.js +14 -38
  232. package/lib/radio/index.js +2 -7
  233. package/lib/radio-group/index.js +2 -8
  234. package/lib/rate/index.js +11 -31
  235. package/lib/row/index.js +3 -12
  236. package/lib/search/index.js +7 -21
  237. package/lib/signature/bezier.js +5 -15
  238. package/lib/signature/force-landscape.js +0 -11
  239. package/lib/signature/index.js +6 -31
  240. package/lib/signature/point.js +0 -8
  241. package/lib/signature/throttle.js +1 -11
  242. package/lib/skeleton/index.js +5 -21
  243. package/lib/slider/index.js +19 -63
  244. package/lib/step/index.js +5 -18
  245. package/lib/stepper/index.js +10 -46
  246. package/lib/steps/index.js +2 -7
  247. package/lib/sticky/index.js +8 -59
  248. package/lib/swipe/index.js +19 -70
  249. package/lib/swipe-cell/index.js +7 -29
  250. package/lib/swipe-item/index.js +9 -24
  251. package/lib/switch/index.js +7 -14
  252. package/lib/switch/shared.js +1 -1
  253. package/lib/switch-cell/index.js +6 -16
  254. package/lib/tab/index.js +4 -21
  255. package/lib/tabbar/index.js +4 -19
  256. package/lib/tabbar-item/index.js +5 -21
  257. package/lib/table/index.js +10 -38
  258. package/lib/tabs/Content.js +5 -15
  259. package/lib/tabs/Title.js +11 -23
  260. package/lib/tabs/index.js +15 -65
  261. package/lib/tabs/utils.js +0 -13
  262. package/lib/tag/index.js +12 -23
  263. package/lib/timeline/index.js +2 -32
  264. package/lib/toast/Toast.js +10 -30
  265. package/lib/toast/index.js +6 -38
  266. package/lib/toast/lock-click.js +0 -3
  267. package/lib/uploader/index.js +10 -72
  268. package/lib/uploader/utils.js +0 -17
  269. package/lib/utils/constant.js +2 -1
  270. package/lib/utils/create/bem.js +1 -6
  271. package/lib/utils/create/component.js +5 -14
  272. package/lib/utils/create/i18n.js +0 -8
  273. package/lib/utils/create/index.js +0 -4
  274. package/lib/utils/deep-assign.js +0 -6
  275. package/lib/utils/deep-clone.js +0 -5
  276. package/lib/utils/device.js +0 -2
  277. package/lib/utils/dom/event.js +2 -10
  278. package/lib/utils/dom/node.js +0 -2
  279. package/lib/utils/dom/raf.js +7 -11
  280. package/lib/utils/dom/reset-scroll.js +2 -4
  281. package/lib/utils/dom/scroll.js +8 -28
  282. package/lib/utils/dom/style.js +3 -3
  283. package/lib/utils/easings.js +2 -5
  284. package/lib/utils/format/date-util.js +54 -168
  285. package/lib/utils/format/number.js +2 -13
  286. package/lib/utils/format/string.js +0 -5
  287. package/lib/utils/format/unit.js +2 -16
  288. package/lib/utils/functional.js +6 -14
  289. package/lib/utils/getScroll.js +0 -7
  290. package/lib/utils/index.js +3 -19
  291. package/lib/utils/interceptor.js +2 -6
  292. package/lib/utils/media/image-util.js +7 -25
  293. package/lib/utils/raf.js +4 -13
  294. package/lib/utils/router.js +7 -9
  295. package/lib/utils/scrollTo.js +9 -21
  296. package/lib/utils/validate/date.js +0 -2
  297. package/lib/utils/validate/email.js +0 -1
  298. package/lib/utils/validate/mobile.js +0 -1
  299. package/lib/utils/validate/number.js +2 -4
  300. package/lib/utils/validate/system.js +0 -3
  301. package/lib/utils/vnodes.js +2 -9
  302. package/lib/zart.js +57 -18
  303. package/lib/zart.min.js +1 -1
  304. package/package.json +17 -18
@@ -1,18 +1,18 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  // Utils
3
3
  import { createNamespace } from '../utils';
4
- import { raf, doubleRaf } from '../utils/dom/raf'; // Mixins
4
+ import { raf, doubleRaf } from '../utils/dom/raf';
5
5
 
6
- import { ChildrenMixin } from '../mixins/relation'; // Components
6
+ // Mixins
7
+ import { ChildrenMixin } from '../mixins/relation';
7
8
 
9
+ // Components
8
10
  import Cell from '../cell';
9
11
  import { cellProps } from '../cell/shared';
10
12
  import Icon from "../icon";
11
-
12
13
  var _createNamespace = createNamespace('collapse-item'),
13
- createComponent = _createNamespace[0],
14
- bem = _createNamespace[1];
15
-
14
+ createComponent = _createNamespace[0],
15
+ bem = _createNamespace[1];
16
16
  var CELL_SLOTS = ['title', 'icon', 'right-icon'];
17
17
  export default createComponent({
18
18
  mixins: [ChildrenMixin('ztCollapse')],
@@ -37,25 +37,20 @@ export default createComponent({
37
37
  computed: {
38
38
  currentName: function currentName() {
39
39
  var _this$name;
40
-
41
40
  return (_this$name = this.name) != null ? _this$name : this.index;
42
41
  },
43
42
  expanded: function expanded() {
44
43
  var _this = this;
45
-
46
44
  if (!this.parent) {
47
45
  return null;
48
46
  }
49
-
50
47
  var _this$parent = this.parent,
51
- value = _this$parent.value,
52
- accordion = _this$parent.accordion;
53
-
48
+ value = _this$parent.value,
49
+ accordion = _this$parent.accordion;
54
50
  if (process.env.NODE_ENV === 'development' && !accordion && !Array.isArray(value)) {
55
51
  console.error('[zart] Collapse: type of prop "value" should be Array');
56
52
  return;
57
53
  }
58
-
59
54
  return accordion ? value === this.currentName : value.some(function (name) {
60
55
  return name === _this.currentName;
61
56
  });
@@ -68,34 +63,30 @@ export default createComponent({
68
63
  watch: {
69
64
  expanded: function expanded(_expanded, prev) {
70
65
  var _this2 = this;
71
-
72
66
  if (prev === null) {
73
67
  return;
74
68
  }
75
-
76
69
  if (_expanded) {
77
70
  this.show = true;
78
71
  this.inited = true;
79
- } // Use raf: flick when opened in safari
80
- // Use nextTick: closing animation failed when set `user-select: none`
81
-
72
+ }
82
73
 
74
+ // Use raf: flick when opened in safari
75
+ // Use nextTick: closing animation failed when set `user-select: none`
83
76
  var nextTick = _expanded ? this.$nextTick : raf;
84
77
  nextTick(function () {
85
78
  var _this2$$refs = _this2.$refs,
86
- content = _this2$$refs.content,
87
- wrapper = _this2$$refs.wrapper;
88
-
79
+ content = _this2$$refs.content,
80
+ wrapper = _this2$$refs.wrapper;
89
81
  if (!content || !wrapper) {
90
82
  return;
91
83
  }
92
-
93
84
  var offsetHeight = content.offsetHeight;
94
-
95
85
  if (offsetHeight) {
96
86
  var contentHeight = offsetHeight + "px";
97
- wrapper.style.height = _expanded ? 0 : contentHeight; // use double raf to ensure animation can start
87
+ wrapper.style.height = _expanded ? 0 : contentHeight;
98
88
 
89
+ // use double raf to ensure animation can start
99
90
  doubleRaf(function () {
100
91
  wrapper.style.height = _expanded ? contentHeight : 0;
101
92
  });
@@ -116,9 +107,8 @@ export default createComponent({
116
107
  if (expanded === void 0) {
117
108
  expanded = !this.expanded;
118
109
  }
119
-
120
110
  var parent = this.parent,
121
- currentName = this.currentName;
111
+ currentName = this.currentName;
122
112
  var close = parent.accordion && currentName === parent.value;
123
113
  var name = close ? '' : currentName;
124
114
  this.parent.switch(name, expanded);
@@ -132,12 +122,11 @@ export default createComponent({
132
122
  },
133
123
  genTitle: function genTitle() {
134
124
  var _this3 = this;
135
-
136
125
  var h = this.$createElement;
137
126
  var border = this.border,
138
- disabled = this.disabled,
139
- expanded = this.expanded,
140
- titleBG = this.titleBG;
127
+ disabled = this.disabled,
128
+ expanded = this.expanded,
129
+ titleBG = this.titleBG;
141
130
  var titleSlots = CELL_SLOTS.reduce(function (slots, name) {
142
131
  slots['right-icon'] = function () {
143
132
  return h(Icon, {
@@ -147,22 +136,18 @@ export default createComponent({
147
136
  }
148
137
  });
149
138
  };
150
-
151
139
  if (_this3.slots(name)) {
152
140
  slots[name] = function () {
153
141
  return _this3.slots(name);
154
142
  };
155
143
  }
156
-
157
144
  return slots;
158
145
  }, {});
159
-
160
146
  if (this.slots('value')) {
161
147
  titleSlots.default = function () {
162
148
  return _this3.slots('value');
163
149
  };
164
150
  }
165
-
166
151
  return h("div", {
167
152
  "class": bem("container") + " half-border-bottom",
168
153
  "style": titleBG ? "background:" + titleBG + ";color:#fff;" : ""
@@ -192,7 +177,6 @@ export default createComponent({
192
177
  },
193
178
  genContent: function genContent() {
194
179
  var h = this.$createElement;
195
-
196
180
  if (this.inited) {
197
181
  return h("div", {
198
182
  "directives": [{
@@ -1,11 +1,9 @@
1
1
  import { createNamespace, inBrowser } from '../utils';
2
2
  import { raf, cancelRaf } from '../utils/dom/raf';
3
3
  import { isSameSecond, parseTimeData, parseFormat } from './utils';
4
-
5
4
  var _createNamespace = createNamespace('count-down'),
6
- createComponent = _createNamespace[0],
7
- bem = _createNamespace[1];
8
-
5
+ createComponent = _createNamespace[0],
6
+ bem = _createNamespace[1];
9
7
  export default createComponent({
10
8
  props: {
11
9
  millisecond: Boolean,
@@ -67,7 +65,6 @@ export default createComponent({
67
65
  if (this.counting) {
68
66
  return;
69
67
  }
70
-
71
68
  this.counting = true;
72
69
  this.endTime = Date.now() + this.remain;
73
70
  this.tick();
@@ -81,7 +78,6 @@ export default createComponent({
81
78
  reset: function reset() {
82
79
  this.pause();
83
80
  this.remain = +this.time;
84
-
85
81
  if (this.autoStart) {
86
82
  this.start();
87
83
  }
@@ -92,7 +88,6 @@ export default createComponent({
92
88
  if (!inBrowser) {
93
89
  return;
94
90
  }
95
-
96
91
  if (this.millisecond) {
97
92
  this.microTick();
98
93
  } else {
@@ -101,16 +96,13 @@ export default createComponent({
101
96
  },
102
97
  microTick: function microTick() {
103
98
  var _this = this;
104
-
105
99
  this.rafId = raf(function () {
106
100
  /* istanbul ignore if */
107
101
  // in case of call reset immediately after finish
108
102
  if (!_this.counting) {
109
103
  return;
110
104
  }
111
-
112
105
  _this.setRemain(_this.getRemain());
113
-
114
106
  if (_this.remain > 0) {
115
107
  _this.microTick();
116
108
  }
@@ -118,20 +110,16 @@ export default createComponent({
118
110
  },
119
111
  macroTick: function macroTick() {
120
112
  var _this2 = this;
121
-
122
113
  this.rafId = raf(function () {
123
114
  /* istanbul ignore if */
124
115
  // in case of call reset immediately after finish
125
116
  if (!_this2.counting) {
126
117
  return;
127
118
  }
128
-
129
119
  var remain = _this2.getRemain();
130
-
131
120
  if (!isSameSecond(remain, _this2.remain) || remain === 0) {
132
121
  _this2.setRemain(remain);
133
122
  }
134
-
135
123
  if (_this2.remain > 0) {
136
124
  _this2.macroTick();
137
125
  }
@@ -143,7 +131,6 @@ export default createComponent({
143
131
  setRemain: function setRemain(remain) {
144
132
  this.remain = remain;
145
133
  this.$emit('change', this.timeData);
146
-
147
134
  if (remain === 0) {
148
135
  this.pause();
149
136
  this.$emit('finish');
@@ -20,37 +20,31 @@ export function parseTimeData(time) {
20
20
  export function parseFormat(format, timeData) {
21
21
  var days = timeData.days;
22
22
  var hours = timeData.hours,
23
- minutes = timeData.minutes,
24
- seconds = timeData.seconds,
25
- milliseconds = timeData.milliseconds;
26
-
23
+ minutes = timeData.minutes,
24
+ seconds = timeData.seconds,
25
+ milliseconds = timeData.milliseconds;
27
26
  if (format.indexOf('DD') === -1) {
28
27
  hours += days * 24;
29
28
  } else {
30
29
  format = format.replace('DD', padZero(days));
31
30
  }
32
-
33
31
  if (format.indexOf('HH') === -1) {
34
32
  minutes += hours * 60;
35
33
  } else {
36
34
  format = format.replace('HH', padZero(hours));
37
35
  }
38
-
39
36
  if (format.indexOf('mm') === -1) {
40
37
  seconds += minutes * 60;
41
38
  } else {
42
39
  format = format.replace('mm', padZero(minutes));
43
40
  }
44
-
45
41
  if (format.indexOf('ss') === -1) {
46
42
  milliseconds += seconds * 1000;
47
43
  } else {
48
44
  format = format.replace('ss', padZero(seconds));
49
45
  }
50
-
51
46
  if (format.indexOf('S') !== -1) {
52
47
  var ms = padZero(milliseconds, 3);
53
-
54
48
  if (format.indexOf('SSS') !== -1) {
55
49
  format = format.replace('SSS', ms);
56
50
  } else if (format.indexOf('SS') !== -1) {
@@ -59,7 +53,6 @@ export function parseFormat(format, timeData) {
59
53
  format = format.replace('S', ms.charAt(0));
60
54
  }
61
55
  }
62
-
63
56
  return format;
64
57
  }
65
58
  export function isSameSecond(time1, time2) {
@@ -7,10 +7,8 @@ import { getTrueValue, getMonthEndDay } from './utils';
7
7
  import { sharedProps, TimePickerMixin } from './shared';
8
8
  import { formatDateByDate, FORMAT } from '../utils/format/date-util';
9
9
  var currentYear = new Date().getFullYear();
10
-
11
10
  var _createNamespace = createNamespace('date-picker'),
12
- createComponent = _createNamespace[0];
13
-
11
+ createComponent = _createNamespace[0];
14
12
  export default createComponent({
15
13
  mixins: [TimePickerMixin],
16
14
  props: _extends({}, sharedProps, {
@@ -37,7 +35,6 @@ export default createComponent({
37
35
  filter: 'updateInnerValue',
38
36
  minDate: function minDate() {
39
37
  var _this = this;
40
-
41
38
  this.$nextTick(function () {
42
39
  _this.updateInnerValue();
43
40
  });
@@ -45,14 +42,12 @@ export default createComponent({
45
42
  maxDate: function maxDate(value) {
46
43
  var value1 = "";
47
44
  var value2 = "";
48
-
49
45
  try {
50
46
  value1 = this.innerValue.valueOf();
51
47
  value2 = value.valueOf();
52
48
  } catch (error) {
53
49
  console.warn("zartui datetime-picker maxDate valueOf error", error);
54
50
  }
55
-
56
51
  if (value1 && value2 && value1 >= value2) {
57
52
  this.innerValue = value;
58
53
  } else {
@@ -61,14 +56,12 @@ export default createComponent({
61
56
  },
62
57
  value: function value(val) {
63
58
  val = this.formatValue(val);
64
-
65
59
  try {
66
60
  if (val && val.valueOf() !== this.innerValue.valueOf()) {
67
61
  this.innerValue = val;
68
62
  }
69
63
  } catch (error) {
70
64
  console.warn("zartui datetime-picker value valueOf error", error);
71
-
72
65
  if (val && this.innerValue === null) {
73
66
  this.innerValue = val;
74
67
  }
@@ -78,19 +71,17 @@ export default createComponent({
78
71
  computed: {
79
72
  ranges: function ranges() {
80
73
  var _this$getBoundary = this.getBoundary('max', this.innerValue ? this.innerValue : this.minDate),
81
- maxYear = _this$getBoundary.maxYear,
82
- maxDate = _this$getBoundary.maxDate,
83
- maxMonth = _this$getBoundary.maxMonth,
84
- maxHour = _this$getBoundary.maxHour,
85
- maxMinute = _this$getBoundary.maxMinute;
86
-
74
+ maxYear = _this$getBoundary.maxYear,
75
+ maxDate = _this$getBoundary.maxDate,
76
+ maxMonth = _this$getBoundary.maxMonth,
77
+ maxHour = _this$getBoundary.maxHour,
78
+ maxMinute = _this$getBoundary.maxMinute;
87
79
  var _this$getBoundary2 = this.getBoundary('min', this.innerValue ? this.innerValue : this.minDate),
88
- minYear = _this$getBoundary2.minYear,
89
- minDate = _this$getBoundary2.minDate,
90
- minMonth = _this$getBoundary2.minMonth,
91
- minHour = _this$getBoundary2.minHour,
92
- minMinute = _this$getBoundary2.minMinute;
93
-
80
+ minYear = _this$getBoundary2.minYear,
81
+ minDate = _this$getBoundary2.minDate,
82
+ minMonth = _this$getBoundary2.minMonth,
83
+ minHour = _this$getBoundary2.minHour,
84
+ minMinute = _this$getBoundary2.minMinute;
94
85
  var result = [{
95
86
  type: 'year',
96
87
  range: [minYear, maxYear]
@@ -107,25 +98,20 @@ export default createComponent({
107
98
  type: 'minute',
108
99
  range: [minMinute, maxMinute]
109
100
  }];
110
-
111
101
  switch (this.type) {
112
102
  case 'date':
113
103
  result = result.slice(0, 3);
114
104
  break;
115
-
116
105
  case 'year-month':
117
106
  result = result.slice(0, 2);
118
107
  break;
119
-
120
108
  case 'month-day':
121
109
  result = result.slice(1, 3);
122
110
  break;
123
-
124
111
  case 'datehour':
125
112
  result = result.slice(0, 4);
126
113
  break;
127
114
  }
128
-
129
115
  if (this.columnsOrder) {
130
116
  var columnsOrder = this.columnsOrder.concat(result.map(function (column) {
131
117
  return column.type;
@@ -134,14 +120,12 @@ export default createComponent({
134
120
  return columnsOrder.indexOf(a.type) - columnsOrder.indexOf(b.type);
135
121
  });
136
122
  }
137
-
138
123
  return result;
139
124
  }
140
125
  },
141
126
  methods: {
142
127
  formatValue: function formatValue(value) {
143
128
  var _this2 = this;
144
-
145
129
  if (typeof value === "string") {
146
130
  try {
147
131
  value = value.replace(/-/g, "/");
@@ -150,11 +134,9 @@ export default createComponent({
150
134
  console.error("datetime-picker strToDate error", error);
151
135
  }
152
136
  }
153
-
154
137
  if (!isDate(value)) {
155
138
  return null;
156
139
  }
157
-
158
140
  var minDate = new Date(this.minDate);
159
141
  var maxDate = new Date(this.maxDate);
160
142
  var dateMethods = {
@@ -164,11 +146,10 @@ export default createComponent({
164
146
  hour: 'getHours',
165
147
  minute: 'getMinutes'
166
148
  };
167
-
168
149
  if (this.originColumns) {
169
150
  var dateColumns = this.originColumns.map(function (_ref, index) {
170
151
  var type = _ref.type,
171
- values = _ref.values;
152
+ values = _ref.values;
172
153
  var range = _this2.ranges[index].range;
173
154
  var minDateVal = minDate[dateMethods[type]]();
174
155
  var maxDateVal = maxDate[dateMethods[type]]();
@@ -179,7 +160,6 @@ export default createComponent({
179
160
  values: [minDateVal < range[0] ? Math.max(minDateVal, min) : min || minDateVal, maxDateVal > range[1] ? Math.min(maxDateVal, max) : max || maxDateVal]
180
161
  };
181
162
  });
182
-
183
163
  if (this.type === 'month-day') {
184
164
  var year = (this.innerValue || this.minDate).getFullYear();
185
165
  dateColumns.unshift({
@@ -187,10 +167,8 @@ export default createComponent({
187
167
  values: [year, year]
188
168
  });
189
169
  }
190
-
191
170
  var dates = Object.keys(dateMethods).map(function (type) {
192
171
  var _dateColumns$filter$;
193
-
194
172
  return (_dateColumns$filter$ = dateColumns.filter(function (item) {
195
173
  return item.type === type;
196
174
  })[0]) == null ? void 0 : _dateColumns$filter$.values;
@@ -204,73 +182,58 @@ export default createComponent({
204
182
  return getTrueValue(val[1]);
205
183
  }));
206
184
  }
207
-
208
185
  value = Math.max(value, minDate.getTime());
209
186
  value = Math.min(value, maxDate.getTime());
210
187
  return new Date(value);
211
188
  },
212
189
  getBoundary: function getBoundary(type, value) {
213
190
  var _ref2;
214
-
215
191
  var boundary = this[type + "Date"];
216
192
  var year = boundary.getFullYear();
217
193
  var month = 1;
218
194
  var date = 1;
219
195
  var hour = 0;
220
196
  var minute = 0;
221
-
222
197
  if (type === 'max') {
223
198
  month = 12;
224
199
  date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);
225
200
  hour = 23;
226
201
  minute = 59;
227
202
  }
228
-
229
203
  if (value.getFullYear() === year) {
230
204
  month = boundary.getMonth() + 1;
231
-
232
205
  if (value.getMonth() + 1 === month) {
233
206
  date = boundary.getDate();
234
-
235
207
  if (value.getDate() === date) {
236
208
  hour = boundary.getHours();
237
-
238
209
  if (value.getHours() === hour) {
239
210
  minute = boundary.getMinutes();
240
211
  }
241
212
  }
242
213
  }
243
214
  }
244
-
245
215
  return _ref2 = {}, _ref2[type + "Year"] = year, _ref2[type + "Month"] = month, _ref2[type + "Date"] = date, _ref2[type + "Hour"] = hour, _ref2[type + "Minute"] = minute, _ref2;
246
216
  },
247
217
  updateInnerValue: function updateInnerValue() {
248
218
  var _this3 = this;
249
-
250
219
  var type = this.type;
251
220
  var indexes = this.getPicker().getIndexes();
252
-
253
221
  if (!indexes || indexes.length === 0) {
254
222
  return;
255
223
  }
256
-
257
224
  var getValue = function getValue(type) {
258
225
  var index = 0;
259
-
260
226
  _this3.originColumns.forEach(function (column, columnIndex) {
261
227
  if (type === column.type) {
262
228
  index = columnIndex;
263
229
  }
264
230
  });
265
-
266
231
  var values = _this3.originColumns[index].values;
267
232
  return getTrueValue(values[indexes[index]]);
268
233
  };
269
-
270
234
  var year;
271
235
  var month;
272
236
  var day;
273
-
274
237
  if (type === 'month-day') {
275
238
  year = (this.innerValue || this.minDate).getFullYear();
276
239
  month = getValue('month');
@@ -280,110 +243,89 @@ export default createComponent({
280
243
  month = getValue('month');
281
244
  day = type === 'year-month' ? 1 : getValue('day');
282
245
  }
283
-
284
246
  var maxDay = getMonthEndDay(year, month);
285
247
  day = day > maxDay ? maxDay : day;
286
248
  var hour = 0;
287
249
  var minute = 0;
288
-
289
250
  if (type === 'datehour') {
290
251
  hour = getValue('hour');
291
252
  }
292
-
293
253
  if (type === 'datetime') {
294
254
  hour = getValue('hour');
295
255
  minute = getValue('minute');
296
256
  }
297
-
298
257
  var value = new Date(year, month - 1, day, hour, minute);
299
258
  this.innerValue = this.formatValue(value);
300
259
  },
301
260
  onChange: function onChange(picker) {
302
261
  var _this4 = this;
303
-
304
262
  this.updateInnerValue();
305
263
  this.$nextTick(function () {
306
264
  _this4.$nextTick(function () {
307
265
  // https://github.com/vant-ui/vant/issues/9775
308
266
  _this4.updateInnerValue();
309
-
310
267
  _this4.$emit('change', picker);
311
268
  });
312
269
  });
313
270
  },
314
271
  updateColumnValue: function updateColumnValue() {
315
272
  var _this5 = this;
316
-
317
273
  // 根据type将默认时间和最大最小时间转换后再比较
318
274
  // 如果调用者传入new Date(),与此处new Date()会有时间差,目前只支持到分钟,可以忽略时间差
319
275
  var now = new Date();
320
276
  var dStr = "";
321
277
  var minStr = "";
322
278
  var maxStr = "";
323
-
324
279
  switch (this.type) {
325
280
  case "date":
326
281
  dStr = formatDateByDate(now, FORMAT.FORMAT_YMD);
327
282
  minStr = formatDateByDate(this.minDate, FORMAT.FORMAT_YMD);
328
283
  maxStr = formatDateByDate(this.maxDate, FORMAT.FORMAT_YMD);
329
284
  break;
330
-
331
285
  case "year-month":
332
286
  dStr = formatDateByDate(now, FORMAT.FORMAT_YM);
333
287
  minStr = formatDateByDate(this.minDate, FORMAT.FORMAT_YM);
334
288
  maxStr = formatDateByDate(this.maxDate, FORMAT.FORMAT_YM);
335
289
  break;
336
-
337
290
  case "month-day":
338
291
  dStr = formatDateByDate(now, FORMAT.FORMAT_MD);
339
292
  minStr = formatDateByDate(this.minDate, FORMAT.FORMAT_MD);
340
293
  maxStr = formatDateByDate(this.maxDate, FORMAT.FORMAT_MD);
341
294
  break;
342
-
343
295
  case "datetime":
344
296
  dStr = formatDateByDate(now, FORMAT.FORMAT_YMDHM);
345
297
  minStr = formatDateByDate(this.minDate, FORMAT.FORMAT_YMDHM);
346
298
  maxStr = formatDateByDate(this.maxDate, FORMAT.FORMAT_YMDHM);
347
299
  break;
348
-
349
300
  case "datehour":
350
301
  // "2022/11/11 14"这种格式无法使用new Date
351
302
  dStr = formatDateByDate(now, FORMAT.FORMAT_YMDH) + ":00:00";
352
303
  minStr = formatDateByDate(this.minDate, FORMAT.FORMAT_YMDH) + ":00:00";
353
304
  maxStr = formatDateByDate(this.maxDate, FORMAT.FORMAT_YMDH) + ":00:00";
354
305
  break;
355
-
356
306
  default:
357
307
  break;
358
308
  }
359
-
360
309
  var defaultValue = new Date(dStr.replace(/-/g, "/"));
361
310
  var minDate = new Date(minStr.replace(/-/g, "/"));
362
311
  var maxDate = new Date(maxStr.replace(/-/g, "/"));
363
-
364
312
  if (defaultValue < minDate || defaultValue > maxDate) {
365
313
  defaultValue = this.minDate;
366
314
  }
367
-
368
315
  var value = this.innerValue ? this.innerValue : defaultValue;
369
316
  var formatter = this.formatter;
370
317
  var values = this.originColumns.map(function (column) {
371
318
  switch (column.type) {
372
319
  case 'year':
373
320
  return formatter('year', "" + value.getFullYear());
374
-
375
321
  case 'month':
376
322
  return formatter('month', padZero(value.getMonth() + 1));
377
-
378
323
  case 'day':
379
324
  return formatter('day', padZero(value.getDate()));
380
-
381
325
  case 'hour':
382
326
  return formatter('hour', padZero(value.getHours()));
383
-
384
327
  case 'minute':
385
328
  return formatter('minute', padZero(value.getMinutes()));
386
-
387
329
  default:
388
330
  // no default
389
331
  return null;