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
@@ -3,10 +3,8 @@ import { createNamespace } from '../utils';
3
3
  import { padZero } from '../utils/format/string';
4
4
  import { range } from '../utils/format/number';
5
5
  import { sharedProps, TimePickerMixin } from './shared';
6
-
7
6
  var _createNamespace = createNamespace('time-picker'),
8
- createComponent = _createNamespace[0];
9
-
7
+ createComponent = _createNamespace[0];
10
8
  export default createComponent({
11
9
  mixins: [TimePickerMixin],
12
10
  props: _extends({}, sharedProps, {
@@ -46,16 +44,14 @@ export default createComponent({
46
44
  filter: 'updateInnerValue',
47
45
  minHour: function minHour() {
48
46
  var _this = this;
49
-
50
47
  this.$nextTick(function () {
51
48
  _this.updateInnerValue();
52
49
  });
53
50
  },
54
51
  maxHour: function maxHour(value) {
55
52
  var _this$innerValue$spli = this.innerValue.split(':'),
56
- hour = _this$innerValue$spli[0],
57
- minute = _this$innerValue$spli[1];
58
-
53
+ hour = _this$innerValue$spli[0],
54
+ minute = _this$innerValue$spli[1];
59
55
  if (hour >= value) {
60
56
  this.innerValue = this.formatValue(value + ":" + minute);
61
57
  this.updateColumnValue();
@@ -66,9 +62,8 @@ export default createComponent({
66
62
  minMinute: 'updateInnerValue',
67
63
  maxMinute: function maxMinute(value) {
68
64
  var _this$innerValue$spli2 = this.innerValue.split(':'),
69
- hour = _this$innerValue$spli2[0],
70
- minute = _this$innerValue$spli2[1];
71
-
65
+ hour = _this$innerValue$spli2[0],
66
+ minute = _this$innerValue$spli2[1];
72
67
  if (minute >= value) {
73
68
  this.innerValue = this.formatValue(hour + ":" + value);
74
69
  this.updateColumnValue();
@@ -78,7 +73,6 @@ export default createComponent({
78
73
  },
79
74
  value: function value(val) {
80
75
  val = this.formatValue(val);
81
-
82
76
  if (val !== this.innerValue) {
83
77
  this.innerValue = val;
84
78
  this.updateColumnValue();
@@ -90,27 +84,23 @@ export default createComponent({
90
84
  if (!value) {
91
85
  value = padZero(this.minHour) + ":" + padZero(this.minMinute);
92
86
  }
93
-
94
87
  var _value$split = value.split(':'),
95
- hour = _value$split[0],
96
- minute = _value$split[1];
97
-
88
+ hour = _value$split[0],
89
+ minute = _value$split[1];
98
90
  hour = padZero(range(hour, this.minHour, this.maxHour));
99
91
  minute = padZero(range(minute, this.minMinute, this.maxMinute));
100
92
  return hour + ":" + minute;
101
93
  },
102
94
  updateInnerValue: function updateInnerValue() {
103
95
  var indexes = this.getPicker().getIndexes();
104
-
105
96
  if (!indexes || indexes.length === 0) {
106
97
  return;
107
98
  }
108
-
109
99
  var hourIndex = indexes[0],
110
- minuteIndex = indexes[1];
100
+ minuteIndex = indexes[1];
111
101
  var _this$originColumns = this.originColumns,
112
- hourColumn = _this$originColumns[0],
113
- minuteColumn = _this$originColumns[1];
102
+ hourColumn = _this$originColumns[0],
103
+ minuteColumn = _this$originColumns[1];
114
104
  var hour = hourColumn.values[hourIndex] || hourColumn.values[0];
115
105
  var minute = minuteColumn.values[minuteIndex] || minuteColumn.values[0];
116
106
  this.innerValue = this.formatValue(hour + ":" + minute);
@@ -118,20 +108,17 @@ export default createComponent({
118
108
  },
119
109
  onChange: function onChange(picker) {
120
110
  var _this2 = this;
121
-
122
111
  this.updateInnerValue();
123
112
  this.$nextTick(function () {
124
113
  _this2.$nextTick(function () {
125
114
  // https://github.com/vant-ui/vant/issues/9775
126
115
  _this2.updateInnerValue();
127
-
128
116
  _this2.$emit('change', picker);
129
117
  });
130
118
  });
131
119
  },
132
120
  updateColumnValue: function updateColumnValue() {
133
121
  var _this3 = this;
134
-
135
122
  var formatter = this.formatter;
136
123
  var pair = this.innerValue.split(':');
137
124
  var values = [formatter('hour', pair[0]), formatter('minute', pair[1])];
@@ -2,11 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { createNamespace } from '../utils';
3
3
  import TimePicker from './TimePicker';
4
4
  import DatePicker from './DatePicker';
5
-
6
5
  var _createNamespace = createNamespace('datetime-picker'),
7
- createComponent = _createNamespace[0],
8
- bem = _createNamespace[1];
9
-
6
+ createComponent = _createNamespace[0],
7
+ bem = _createNamespace[1];
10
8
  export default createComponent({
11
9
  props: _extends({}, TimePicker.props, DatePicker.props),
12
10
  methods: {
@@ -31,19 +31,16 @@ export var TimePickerMixin = {
31
31
  computed: {
32
32
  originColumns: function originColumns() {
33
33
  var _this = this;
34
-
35
34
  return this.ranges.map(function (_ref) {
36
35
  var type = _ref.type,
37
- rangeArr = _ref.range;
36
+ rangeArr = _ref.range;
38
37
  var values = times(rangeArr[1] - rangeArr[0] + 1, function (index) {
39
38
  var value = padZero(rangeArr[0] + index);
40
39
  return value;
41
40
  });
42
-
43
41
  if (_this.filter) {
44
42
  values = _this.filter(type, values);
45
43
  }
46
-
47
44
  return {
48
45
  type: type,
49
46
  values: values
@@ -52,7 +49,6 @@ export var TimePickerMixin = {
52
49
  },
53
50
  columns: function columns() {
54
51
  var _this2 = this;
55
-
56
52
  return this.originColumns.map(function (column) {
57
53
  return {
58
54
  values: column.values.map(function (value) {
@@ -66,7 +62,6 @@ export var TimePickerMixin = {
66
62
  if (this.columnsOrder) {
67
63
  return [];
68
64
  }
69
-
70
65
  var year = t('year');
71
66
  var month = t('month');
72
67
  var day = t('day');
@@ -79,8 +74,8 @@ export var TimePickerMixin = {
79
74
  'time': [hour, minute],
80
75
  'datetime': [year, month, day, hour, minute],
81
76
  'datehour': [year, month, day, hour]
82
- }; // console.log('type ' + this.type + ' ' + JSON.stringify(presetHeaders[this.type]))
83
-
77
+ };
78
+ // console.log('type ' + this.type + ' ' + JSON.stringify(presetHeaders[this.type]))
84
79
  return presetHeaders[this.type] || [];
85
80
  }
86
81
  },
@@ -95,12 +90,10 @@ export var TimePickerMixin = {
95
90
  },
96
91
  showPicker: function showPicker() {
97
92
  var _this3 = this;
98
-
99
93
  if (this.columnValueNotInited) {
100
94
  this.updateColumnValue();
101
95
  this.$nextTick(function () {
102
96
  _this3.updateInnerValue();
103
-
104
97
  _this3.columnValueNotInited = false;
105
98
  });
106
99
  }
@@ -108,16 +101,14 @@ export var TimePickerMixin = {
108
101
  },
109
102
  mounted: function mounted() {
110
103
  var _this4 = this;
111
-
112
- var picker = this.getPicker(); // picker UI元素没有准备好,没有columns
113
-
104
+ var picker = this.getPicker();
105
+ // picker UI元素没有准备好,没有columns
114
106
  if (!picker || !picker.getColumnCount()) {
115
107
  this.columnValueNotInited = true;
116
108
  } else {
117
109
  this.updateColumnValue();
118
110
  this.$nextTick(function () {
119
111
  _this4.updateInnerValue();
120
-
121
112
  _this4.columnValueNotInited = false;
122
113
  });
123
114
  }
@@ -129,18 +120,14 @@ export var TimePickerMixin = {
129
120
  // https://github.com/vant-ui/vant/issues/10013
130
121
  getProxiedPicker: function getProxiedPicker() {
131
122
  var _this5 = this;
132
-
133
123
  var picker = this.$refs.picker;
134
-
135
124
  if (picker) {
136
125
  var proxy = function proxy(fn) {
137
126
  return function () {
138
127
  picker[fn].apply(picker, arguments);
139
-
140
128
  _this5.updateInnerValue();
141
129
  };
142
130
  };
143
-
144
131
  return _extends({}, picker, {
145
132
  setValues: proxy('setValues'),
146
133
  setIndexes: proxy('setIndexes'),
@@ -160,7 +147,6 @@ export var TimePickerMixin = {
160
147
  },
161
148
  render: function render() {
162
149
  var _this6 = this;
163
-
164
150
  var h = arguments[0];
165
151
  var props = {};
166
152
  Object.keys(pickerProps).forEach(function (key) {
@@ -3,21 +3,17 @@ export function times(n, iteratee) {
3
3
  if (n < 0) {
4
4
  return [];
5
5
  }
6
-
7
6
  var index = -1;
8
7
  var result = Array(n);
9
-
10
8
  while (++index < n) {
11
9
  result[index] = iteratee(index);
12
10
  }
13
-
14
11
  return result;
15
12
  }
16
13
  export function getTrueValue(value) {
17
14
  if (!value) {
18
15
  return 0;
19
16
  }
20
-
21
17
  while (isNaN(parseInt(value, 10))) {
22
18
  if (value.length > 1) {
23
19
  value = value.slice(1);
@@ -25,7 +21,6 @@ export function getTrueValue(value) {
25
21
  return 0;
26
22
  }
27
23
  }
28
-
29
24
  return parseInt(value, 10);
30
25
  }
31
26
  export function getMonthEndDay(year, month) {
@@ -3,12 +3,10 @@ import { createNamespace, addUnit } from '../utils';
3
3
  import { BORDER_TOP, BORDER_LEFT } from '../utils/constant';
4
4
  import { PopupMixin } from '../mixins/popup';
5
5
  import Button from '../button';
6
-
7
6
  var _createNamespace = createNamespace('dialog'),
8
- createComponent = _createNamespace[0],
9
- bem = _createNamespace[1],
10
- t = _createNamespace[2];
11
-
7
+ createComponent = _createNamespace[0],
8
+ bem = _createNamespace[1],
9
+ t = _createNamespace[2];
12
10
  export default createComponent({
13
11
  mixins: [PopupMixin()],
14
12
  props: {
@@ -64,20 +62,18 @@ export default createComponent({
64
62
  },
65
63
  handleAction: function handleAction(action) {
66
64
  var _this = this;
65
+ this.$emit(action);
67
66
 
68
- this.$emit(action); // show not trigger close event when hidden
69
-
67
+ // show not trigger close event when hidden
70
68
  if (!this.value) {
71
69
  return;
72
70
  }
73
-
74
71
  if (this.beforeClose) {
75
72
  this.loading[action] = true;
76
73
  this.beforeClose(action, function (state) {
77
74
  if (state !== false && _this.loading[action]) {
78
75
  _this.onClose(action);
79
76
  }
80
-
81
77
  _this.loading.confirm = false;
82
78
  _this.loading.cancel = false;
83
79
  });
@@ -87,7 +83,6 @@ export default createComponent({
87
83
  },
88
84
  onClose: function onClose(action) {
89
85
  this.close();
90
-
91
86
  if (this.callback) {
92
87
  this.callback(action);
93
88
  }
@@ -100,13 +95,10 @@ export default createComponent({
100
95
  },
101
96
  genButtons: function genButtons() {
102
97
  var _this2 = this;
103
-
104
98
  var h = this.$createElement;
105
-
106
99
  if (!this.showCancelButton && !this.showConfirmButton) {
107
100
  return "";
108
101
  }
109
-
110
102
  return h("div", {
111
103
  "class": bem('footer')
112
104
  }, [this.showCancelButton && h(Button, {
@@ -148,19 +140,15 @@ export default createComponent({
148
140
  },
149
141
  genContent: function genContent(hasTitle, messageSlot) {
150
142
  var h = this.$createElement;
151
-
152
143
  if (messageSlot) {
153
144
  return h("div", {
154
145
  "class": bem('content')
155
146
  }, [messageSlot]);
156
147
  }
157
-
158
148
  var message = this.message,
159
- messageAlign = this.messageAlign;
160
-
149
+ messageAlign = this.messageAlign;
161
150
  if (message) {
162
151
  var _bem, _domProps;
163
-
164
152
  var data = {
165
153
  class: bem('message', (_bem = {
166
154
  'has-title': hasTitle
@@ -176,7 +164,6 @@ export default createComponent({
176
164
  },
177
165
  genBottom: function genBottom(bottomSlot) {
178
166
  var h = this.$createElement;
179
-
180
167
  if (bottomSlot) {
181
168
  return h("div", {
182
169
  "class": bem('bottom')
@@ -186,11 +173,9 @@ export default createComponent({
186
173
  },
187
174
  render: function render() {
188
175
  var h = arguments[0];
189
-
190
176
  if (!this.shouldRender) {
191
177
  return;
192
178
  }
193
-
194
179
  var message = this.message;
195
180
  var messageSlot = this.slots();
196
181
  var customTitle = this.slots('title');
@@ -3,16 +3,13 @@ import Vue from 'vue';
3
3
  import ZtDialog from './Dialog';
4
4
  import { isServer } from '../utils';
5
5
  var instance;
6
-
7
6
  function isInDocument(element) {
8
7
  return document.body.contains(element);
9
8
  }
10
-
11
9
  function initInstance() {
12
10
  if (instance) {
13
11
  instance.$destroy();
14
12
  }
15
-
16
13
  instance = new (Vue.extend(ZtDialog))({
17
14
  el: document.createElement('div'),
18
15
  // avoid missing animation when first rendered
@@ -24,25 +21,21 @@ function initInstance() {
24
21
  instance.value = value;
25
22
  });
26
23
  }
27
-
28
24
  function Dialog(options) {
29
25
  /* istanbul ignore if */
30
26
  if (isServer) {
31
27
  return Promise.resolve();
32
28
  }
33
-
34
29
  return new Promise(function (resolve, reject) {
35
30
  if (!instance || !isInDocument(instance.$el)) {
36
31
  initInstance();
37
32
  }
38
-
39
33
  _extends(instance, Dialog.currentOptions, options, {
40
34
  resolve: resolve,
41
35
  reject: reject
42
36
  });
43
37
  });
44
38
  }
45
-
46
39
  Dialog.defaultOptions = {
47
40
  value: true,
48
41
  title: '',
@@ -72,38 +65,29 @@ Dialog.defaultOptions = {
72
65
  }
73
66
  };
74
67
  Dialog.alert = Dialog;
75
-
76
68
  Dialog.confirm = function (options) {
77
69
  return Dialog(_extends({
78
70
  showCancelButton: true
79
71
  }, options));
80
72
  };
81
-
82
73
  Dialog.close = function () {
83
74
  if (instance) {
84
75
  instance.value = false;
85
76
  }
86
77
  };
87
-
88
78
  Dialog.setDefaultOptions = function (options) {
89
79
  _extends(Dialog.currentOptions, options);
90
80
  };
91
-
92
81
  Dialog.resetDefaultOptions = function () {
93
82
  Dialog.currentOptions = _extends({}, Dialog.defaultOptions);
94
83
  };
95
-
96
84
  Dialog.resetDefaultOptions();
97
-
98
85
  Dialog.install = function () {
99
86
  Vue.use(ZtDialog);
100
87
  };
101
-
102
88
  Dialog.Component = ZtDialog;
103
-
104
89
  if (typeof Vue.prototype.$dialog === "undefined") {
105
90
  Vue.prototype.$dialog = Dialog;
106
91
  }
107
-
108
92
  Vue.prototype.$ztDialog = Dialog;
109
93
  export default Dialog;
@@ -1,15 +1,15 @@
1
1
  import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
2
2
  // Utils
3
3
  import { createNamespace } from '../utils';
4
- import { inherit } from '../utils/functional'; // Types
4
+ import { inherit } from '../utils/functional';
5
5
 
6
- var _createNamespace = createNamespace('divider'),
7
- createComponent = _createNamespace[0],
8
- bem = _createNamespace[1];
6
+ // Types
9
7
 
8
+ var _createNamespace = createNamespace('divider'),
9
+ createComponent = _createNamespace[0],
10
+ bem = _createNamespace[1];
10
11
  function Divider(h, props, slots, ctx) {
11
12
  var _bem;
12
-
13
13
  return h("div", _mergeJSXProps([{
14
14
  "attrs": {
15
15
  "role": "separator"
@@ -23,7 +23,6 @@ function Divider(h, props, slots, ctx) {
23
23
  }, _bem["content-" + props.contentPosition] = slots.default, _bem))
24
24
  }, inherit(ctx, true)]), [slots.default && slots.default()]);
25
25
  }
26
-
27
26
  Divider.props = {
28
27
  dashed: Boolean,
29
28
  hairline: {
@@ -1,20 +1,20 @@
1
1
  // Utils
2
2
  import { createNamespace } from '../utils';
3
- import { off, on } from '../utils/dom/event'; // Mixins
3
+ import { off, on } from '../utils/dom/event';
4
4
 
5
+ // Mixins
5
6
  import { PortalMixin } from '../mixins/portal';
6
- import { ChildrenMixin } from '../mixins/relation'; // Components
7
+ import { ChildrenMixin } from '../mixins/relation';
7
8
 
9
+ // Components
8
10
  import Cell from '../cell';
9
11
  import Checkbox from '../checkbox';
10
12
  import Icon from '../icon';
11
13
  import Popup from '../popup';
12
14
  import Button from '../button';
13
-
14
15
  var _createNamespace = createNamespace('dropdown-item'),
15
- createComponent = _createNamespace[0],
16
- bem = _createNamespace[1];
17
-
16
+ createComponent = _createNamespace[0],
17
+ bem = _createNamespace[1];
18
18
  export default createComponent({
19
19
  mixins: [PortalMixin({
20
20
  ref: 'wrapper'
@@ -58,11 +58,9 @@ export default createComponent({
58
58
  computed: {
59
59
  displayTitle: function displayTitle() {
60
60
  var _this = this;
61
-
62
61
  if (this.title) {
63
62
  return this.title;
64
63
  }
65
-
66
64
  if (this.multiSelect) {
67
65
  if (this.value.length) {
68
66
  var value = '';
@@ -75,7 +73,6 @@ export default createComponent({
75
73
  return value;
76
74
  }
77
75
  }
78
-
79
76
  var match = this.options.filter(function (option) {
80
77
  return option.value === _this.value;
81
78
  });
@@ -89,13 +86,11 @@ export default createComponent({
89
86
  },
90
87
  beforeCreate: function beforeCreate() {
91
88
  var _this2 = this;
92
-
93
89
  var createEmitter = function createEmitter(eventName) {
94
90
  return function () {
95
91
  return _this2.$emit(eventName);
96
92
  };
97
93
  };
98
-
99
94
  this.onOpen = createEmitter('open');
100
95
  this.onClose = createEmitter('close');
101
96
  this.onOpened = createEmitter('opened');
@@ -106,23 +101,18 @@ export default createComponent({
106
101
  if (show === void 0) {
107
102
  show = !this.showPopup;
108
103
  }
109
-
110
104
  if (options === void 0) {
111
105
  options = {};
112
106
  }
113
-
114
107
  if (this.customToggle && show !== this.showPopup) {
115
108
  this.$emit('toggle');
116
109
  return;
117
110
  }
118
-
119
111
  if (show === this.showPopup) {
120
112
  return;
121
113
  }
122
-
123
114
  this.transition = !options.immediate;
124
115
  this.showPopup = show;
125
-
126
116
  if (show) {
127
117
  this.innerValue = [].concat(this.value);
128
118
  this.parent.updateOffset();
@@ -144,17 +134,20 @@ export default createComponent({
144
134
  }
145
135
  },
146
136
  select: function select(value) {
137
+ // 标识是否是取消选中这一元素
138
+ var isCancelSelect = true;
147
139
  if (this.innerValue.indexOf(value) >= 0) {
148
140
  this.innerValue.splice(this.innerValue.indexOf(value), 1);
149
141
  } else {
150
142
  this.innerValue.push(value);
143
+ isCancelSelect = false;
151
144
  }
145
+ this.$emit('item-select', value, isCancelSelect);
152
146
  },
153
147
  isSelect: function isSelect(value) {
154
148
  if (this.innerValue.indexOf(value) >= 0) {
155
149
  return true;
156
150
  }
157
-
158
151
  return false;
159
152
  },
160
153
  reset: function reset() {
@@ -165,22 +158,24 @@ export default createComponent({
165
158
  this.$emit('input', this.innerValue);
166
159
  this.$emit('change', this.innerValue);
167
160
  this.$emit('confirm', this.innerValue);
161
+ },
162
+ // @exposed-api 给灵珑侧提供的实现修改已选中值的函数
163
+ updateInnerValue: function updateInnerValue(updateValue) {
164
+ this.innerValue = updateValue;
168
165
  }
169
166
  },
170
167
  render: function render() {
171
168
  var _this3 = this;
172
-
173
169
  var h = arguments[0];
174
170
  var _this$parent = this.parent,
175
- zIndex = _this$parent.zIndex,
176
- offset = _this$parent.offset,
177
- overlay = _this$parent.overlay,
178
- duration = _this$parent.duration,
179
- direction = _this$parent.direction,
180
- activeColor = _this$parent.activeColor,
181
- closeOnClickOverlay = _this$parent.closeOnClickOverlay;
171
+ zIndex = _this$parent.zIndex,
172
+ offset = _this$parent.offset,
173
+ overlay = _this$parent.overlay,
174
+ duration = _this$parent.duration,
175
+ direction = _this$parent.direction,
176
+ activeColor = _this$parent.activeColor,
177
+ closeOnClickOverlay = _this$parent.closeOnClickOverlay;
182
178
  var Options;
183
-
184
179
  if (this.multiSelect) {
185
180
  Options = this.options.map(function (option, index) {
186
181
  var active = _this3.innerValue.indexOf(option.value) >= 0;
@@ -228,11 +223,10 @@ export default createComponent({
228
223
  "on": {
229
224
  "click": function click() {
230
225
  _this3.showPopup = false;
231
-
232
226
  if (option.value !== _this3.value) {
233
227
  _this3.$emit('input', option.value);
234
-
235
228
  _this3.$emit('change', option.value);
229
+ _this3.$emit('item-select', option.value);
236
230
  }
237
231
  }
238
232
  }
@@ -246,12 +240,9 @@ export default createComponent({
246
240
  })]);
247
241
  });
248
242
  }
249
-
250
243
  var popupStyle = {};
251
-
252
244
  if (this.multiSelect) {
253
245
  var optionsLength = this.options.length;
254
-
255
246
  if (this.options.length < 7) {
256
247
  var popupHeight = optionsLength * 44 + 68;
257
248
  popupStyle.height = popupHeight + "px";
@@ -261,11 +252,9 @@ export default createComponent({
261
252
  popupStyle.height = "378px";
262
253
  }
263
254
  }
264
-
265
255
  var style = {
266
256
  zIndex: zIndex
267
257
  };
268
-
269
258
  if (direction === 'down') {
270
259
  style.top = offset + "px";
271
260
  popupStyle.borderRadius = "0 0 16px 16px";
@@ -273,7 +262,6 @@ export default createComponent({
273
262
  style.bottom = offset + "px";
274
263
  popupStyle.borderRadius = "16px 16px 0 0";
275
264
  }
276
-
277
265
  return h("div", [h("div", {
278
266
  "directives": [{
279
267
  name: "show",
@@ -304,7 +292,6 @@ export default createComponent({
304
292
  "opened": this.onOpened,
305
293
  "closed": function closed() {
306
294
  _this3.showWrapper = false;
307
-
308
295
  _this3.$emit('closed');
309
296
  }
310
297
  },
@@ -1,15 +1,14 @@
1
1
  // Utils
2
2
  import { createNamespace, isDef } from '../utils';
3
- import { getScroller } from '../utils/dom/scroll'; // Mixins
3
+ import { getScroller } from '../utils/dom/scroll';
4
4
 
5
+ // Mixins
5
6
  import { ClickOutsideMixin } from '../mixins/click-outside';
6
7
  import { ParentMixin } from '../mixins/relation';
7
8
  import Icon from '../icon';
8
-
9
9
  var _createNamespace = createNamespace('dropdown-menu'),
10
- createComponent = _createNamespace[0],
11
- bem = _createNamespace[1];
12
-
10
+ createComponent = _createNamespace[0],
11
+ bem = _createNamespace[1];
13
12
  export default createComponent({
14
13
  mixins: [ParentMixin('ztDropdownMenu'), ClickOutsideMixin({
15
14
  event: 'click',
@@ -62,9 +61,7 @@ export default createComponent({
62
61
  if (!this.$refs.bar) {
63
62
  return;
64
63
  }
65
-
66
64
  var rect = this.$refs.bar.getBoundingClientRect();
67
-
68
65
  if (this.direction === 'down') {
69
66
  this.offset = rect.bottom;
70
67
  } else {
@@ -90,13 +87,11 @@ export default createComponent({
90
87
  },
91
88
  render: function render() {
92
89
  var _this = this;
93
-
94
90
  var h = arguments[0];
95
91
  var Titles = this.children.map(function (item, index) {
96
92
  if (item.slots('header')) {
97
93
  return item.slots('header', item != null ? item : {});
98
94
  }
99
-
100
95
  return h("div", {
101
96
  "attrs": {
102
97
  "role": "button",