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
@@ -4,56 +4,46 @@ export function addUnit(value) {
4
4
  if (!isDef(value)) {
5
5
  return undefined;
6
6
  }
7
-
8
7
  value = String(value);
9
8
  return isNumeric(value) ? value + "px" : value;
10
- } // cache
9
+ }
11
10
 
11
+ // cache
12
12
  var rootFontSize;
13
-
14
13
  function getRootFontSize() {
15
14
  if (!rootFontSize) {
16
15
  var doc = document.documentElement;
17
16
  var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
18
17
  rootFontSize = parseFloat(fontSize);
19
18
  }
20
-
21
19
  return rootFontSize;
22
20
  }
23
-
24
21
  function convertRem(value) {
25
22
  value = value.replace(/rem/g, '');
26
23
  return +value * getRootFontSize();
27
24
  }
28
-
29
25
  function convertVw(value) {
30
26
  value = value.replace(/vw/g, '');
31
27
  return +value * window.innerWidth / 100;
32
28
  }
33
-
34
29
  function convertVh(value) {
35
30
  value = value.replace(/vh/g, '');
36
31
  return +value * window.innerHeight / 100;
37
32
  }
38
-
39
33
  export function unitToPx(value) {
40
34
  if (typeof value === 'number') {
41
35
  return value;
42
36
  }
43
-
44
37
  if (inBrowser) {
45
38
  if (value.indexOf('rem') !== -1) {
46
39
  return convertRem(value);
47
40
  }
48
-
49
41
  if (value.indexOf('vw') !== -1) {
50
42
  return convertVw(value);
51
43
  }
52
-
53
44
  if (value.indexOf('vh') !== -1) {
54
45
  return convertVh(value);
55
46
  }
56
47
  }
57
-
58
48
  return parseFloat(value);
59
49
  }
@@ -3,33 +3,29 @@ import Vue from 'vue';
3
3
  var inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];
4
4
  var mapInheritKey = {
5
5
  nativeOn: 'on'
6
- }; // inherit partial context, map nativeOn to on
6
+ };
7
7
 
8
+ // inherit partial context, map nativeOn to on
8
9
  export function inherit(context, inheritListeners) {
9
10
  var result = inheritKey.reduce(function (obj, key) {
10
11
  if (context.data[key]) {
11
12
  obj[mapInheritKey[key] || key] = context.data[key];
12
13
  }
13
-
14
14
  return obj;
15
15
  }, {});
16
-
17
16
  if (inheritListeners) {
18
17
  result.on = result.on || {};
19
-
20
18
  _extends(result.on, context.data.on);
21
19
  }
22
-
23
20
  return result;
24
- } // emit event
21
+ }
25
22
 
23
+ // emit event
26
24
  export function emit(context, eventName) {
27
25
  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
28
26
  args[_key - 2] = arguments[_key];
29
27
  }
30
-
31
28
  var listeners = context.listeners[eventName];
32
-
33
29
  if (listeners) {
34
30
  if (Array.isArray(listeners)) {
35
31
  listeners.forEach(function (listener) {
@@ -39,8 +35,9 @@ export function emit(context, eventName) {
39
35
  listeners.apply(void 0, args);
40
36
  }
41
37
  }
42
- } // mount functional component
38
+ }
43
39
 
40
+ // mount functional component
44
41
  export function mount(Component, data) {
45
42
  var instance = new Vue({
46
43
  el: document.createElement('div'),
@@ -5,10 +5,8 @@ export default function getScroll(target, top) {
5
5
  if (typeof window === 'undefined') {
6
6
  return 0;
7
7
  }
8
-
9
8
  var method = top ? 'scrollTop' : 'scrollLeft';
10
9
  var result = 0;
11
-
12
10
  if (isWindow(target)) {
13
11
  result = target[top ? 'pageYOffset' : 'pageXOffset'];
14
12
  } else if (target instanceof Document) {
@@ -16,12 +14,9 @@ export default function getScroll(target, top) {
16
14
  } else if (target) {
17
15
  result = target[method];
18
16
  }
19
-
20
17
  if (target && !isWindow(target) && typeof result !== 'number') {
21
18
  var _documentElement;
22
-
23
19
  result = (_documentElement = (target.ownerDocument || target).documentElement) == null ? void 0 : _documentElement[method];
24
20
  }
25
-
26
21
  return result;
27
22
  }
package/es/utils/index.js CHANGED
@@ -2,8 +2,9 @@ import Vue from 'vue';
2
2
  export { createNamespace } from './create';
3
3
  export { addUnit } from './format/unit';
4
4
  export var inBrowser = typeof window !== 'undefined';
5
- export var isServer = Vue.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function
5
+ export var isServer = Vue.prototype.$isServer;
6
6
 
7
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
7
8
  export function noop() {}
8
9
  export function isDef(val) {
9
10
  return val !== undefined && val !== null;
@@ -22,11 +23,11 @@ export function get(object, path) {
22
23
  var result = object;
23
24
  keys.forEach(function (key) {
24
25
  var _result$key;
25
-
26
26
  result = (_result$key = result[key]) != null ? _result$key : '';
27
27
  });
28
28
  return result;
29
29
  }
30
+
30
31
  /**
31
32
  * Checks if `value` is an empty object, collection, map, or set.
32
33
  *
@@ -57,16 +58,13 @@ export function get(object, path) {
57
58
  * _.isEmpty({ 'a': 1 });
58
59
  * // => false
59
60
  */
60
-
61
61
  export function isEmpty(value) {
62
62
  if (value == null) {
63
63
  return true;
64
64
  }
65
-
66
65
  if (typeof value !== 'object') {
67
66
  return true;
68
67
  }
69
-
70
68
  return Object.keys(value).length === 0;
71
69
  }
72
70
  export function resetObject(target, source) {
@@ -1,12 +1,10 @@
1
1
  import { isPromise, noop } from '.';
2
2
  export function callInterceptor(options) {
3
3
  var interceptor = options.interceptor,
4
- args = options.args,
5
- done = options.done;
6
-
4
+ args = options.args,
5
+ done = options.done;
7
6
  if (interceptor) {
8
7
  var returnVal = interceptor.apply(void 0, args);
9
-
10
8
  if (isPromise(returnVal)) {
11
9
  returnVal.then(function (value) {
12
10
  if (value) {
@@ -2,10 +2,10 @@
2
2
  * Convert File to data schema url
3
3
  * @param file
4
4
  */
5
+
5
6
  export function file2DataURL(file) {
6
7
  return new Promise(function (resolve, reject) {
7
8
  var a = new FileReader();
8
-
9
9
  a.onload = function (res) {
10
10
  if (res && res.target) {
11
11
  resolve(res.target.result);
@@ -13,21 +13,19 @@ export function file2DataURL(file) {
13
13
  reject(new Error('读取文件url失败'));
14
14
  }
15
15
  };
16
-
17
16
  a.readAsDataURL(file);
18
17
  });
19
18
  }
19
+
20
20
  /**
21
21
  * Convert file to image
22
22
  * @param file
23
23
  */
24
-
25
24
  export function file2Image(file) {
26
25
  return new Promise(function (resolve, reject) {
27
26
  file2DataURL(file).then(function (url) {
28
27
  var img = new Image();
29
28
  img.src = url;
30
-
31
29
  img.onload = function (e) {
32
30
  if (img.complete) {
33
31
  resolve(img);
@@ -42,37 +40,31 @@ export function image2file(img, fileName, lastModified, type, quality) {
42
40
  if (type === void 0) {
43
41
  type = "image/jpeg";
44
42
  }
45
-
46
43
  if (quality === void 0) {
47
44
  quality = 0.8;
48
45
  }
49
-
50
46
  return image2Canvas(img).then(function (canvas) {
51
47
  return canvas2File(canvas, fileName, lastModified, type, quality);
52
48
  });
53
49
  }
50
+
54
51
  /**
55
52
  * Draw image on canvas
56
53
  * @param img
57
54
  * @param width
58
55
  * @param height
59
56
  */
60
-
61
57
  export function image2Canvas(img, width, height) {
62
58
  var canvas = document.createElement('canvas');
63
-
64
59
  if (!width) {
65
60
  width = img.width;
66
61
  }
67
-
68
62
  if (!height) {
69
63
  height = img.height;
70
64
  }
71
-
72
65
  canvas.width = width;
73
66
  canvas.height = height;
74
67
  var ctx = canvas.getContext('2d');
75
-
76
68
  if (ctx) {
77
69
  ctx.drawImage(img, 0, 0, width, height);
78
70
  return Promise.resolve(canvas);
@@ -80,6 +72,7 @@ export function image2Canvas(img, width, height) {
80
72
  return Promise.reject(null);
81
73
  }
82
74
  }
75
+
83
76
  /**
84
77
  * Export Image from canvas
85
78
  * @param canvas
@@ -87,20 +80,18 @@ export function image2Canvas(img, width, height) {
87
80
  * @param quality
88
81
  * @see {@link https://meshworld.in/convert-canvas-to-an-image-using-javascript/}
89
82
  */
90
-
91
83
  export function canvas2Image(canvas, type, quality) {
92
84
  if (type === void 0) {
93
85
  type = "image/jpeg";
94
86
  }
95
-
96
87
  if (quality === void 0) {
97
88
  quality = 0.8;
98
89
  }
99
-
100
90
  var image = new Image();
101
91
  image.src = canvas.toDataURL(type, quality);
102
92
  return Promise.resolve(image);
103
93
  }
94
+
104
95
  /**
105
96
  * Export File from canvas
106
97
  * @param canvas
@@ -110,16 +101,13 @@ export function canvas2Image(canvas, type, quality) {
110
101
  * @param quality
111
102
  * @see {@link https://meshworld.in/convert-canvas-to-an-image-using-javascript/}
112
103
  */
113
-
114
104
  export function canvas2File(canvas, fileName, lastModified, type, quality) {
115
105
  if (type === void 0) {
116
106
  type = "image/jpeg";
117
107
  }
118
-
119
108
  if (quality === void 0) {
120
109
  quality = 0.8;
121
110
  }
122
-
123
111
  return new Promise(function (resolve, reject) {
124
112
  canvas.toBlob(function (blob) {
125
113
  if (!blob) {
@@ -128,9 +116,9 @@ export function canvas2File(canvas, fileName, lastModified, type, quality) {
128
116
  var file = new File([blob], fileName, {
129
117
  lastModified: lastModified,
130
118
  type: type
131
- }); // console.log("file size " + file.size / 1024 + "kb");
119
+ });
120
+ // console.log("file size " + file.size / 1024 + "kb");
132
121
  // console.log(file)
133
-
134
122
  resolve(file);
135
123
  }
136
124
  }, type, quality);
package/es/utils/raf.js CHANGED
@@ -1,56 +1,48 @@
1
1
  var raf = function raf(callback) {
2
2
  return +setTimeout(callback, 16);
3
3
  };
4
-
5
4
  var caf = function caf(num) {
6
5
  return clearTimeout(num);
7
6
  };
8
-
9
7
  if (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {
10
8
  raf = function raf(callback) {
11
9
  return window.requestAnimationFrame(callback);
12
10
  };
13
-
14
11
  caf = function caf(handle) {
15
12
  return window.cancelAnimationFrame(handle);
16
13
  };
17
14
  }
18
-
19
15
  var rafUUID = 0;
20
16
  var rafIds = new Map();
21
-
22
17
  function cleanup(id) {
23
18
  rafIds.delete(id);
24
19
  }
25
-
26
20
  export default function wrapperRaf(callback, times) {
27
21
  if (times === void 0) {
28
22
  times = 1;
29
23
  }
30
-
31
24
  rafUUID += 1;
32
25
  var id = rafUUID;
33
-
34
26
  function callRef(leftTimes) {
35
27
  if (leftTimes === 0) {
36
28
  // Clean up
37
- cleanup(id); // Trigger
29
+ cleanup(id);
38
30
 
31
+ // Trigger
39
32
  callback();
40
33
  } else {
41
34
  // Next raf
42
35
  var realId = raf(function () {
43
36
  callRef(leftTimes - 1);
44
- }); // Bind real raf id
37
+ });
45
38
 
39
+ // Bind real raf id
46
40
  rafIds.set(id, realId);
47
41
  }
48
42
  }
49
-
50
43
  callRef(times);
51
44
  return id;
52
45
  }
53
-
54
46
  wrapperRaf.cancel = function (id) {
55
47
  var realId = rafIds.get(id);
56
48
  cleanup(realId);
@@ -1,19 +1,20 @@
1
1
  /**
2
2
  * Vue Router support
3
3
  */
4
+
4
5
  function isRedundantNavigation(err) {
5
- return err.name === 'NavigationDuplicated' || err.message && err.message.indexOf('redundant navigation') !== -1;
6
+ return err.name === 'NavigationDuplicated' ||
7
+ // compatible with vue-router@3.3
8
+ err.message && err.message.indexOf('redundant navigation') !== -1;
6
9
  }
7
-
8
10
  export function route(router, config) {
9
11
  var to = config.to,
10
- url = config.url,
11
- replace = config.replace;
12
-
12
+ url = config.url,
13
+ replace = config.replace;
13
14
  if (to && router) {
14
15
  var promise = router[replace ? 'replace' : 'push'](to);
15
- /* istanbul ignore else */
16
16
 
17
+ /* istanbul ignore else */
17
18
  if (promise && promise.catch) {
18
19
  promise.catch(function (err) {
19
20
  if (err && !isRedundantNavigation(err)) {
@@ -5,24 +5,21 @@ export default function scrollTo(y, options) {
5
5
  if (options === void 0) {
6
6
  options = {};
7
7
  }
8
-
9
8
  var _options = options,
10
- _options$getContainer = _options.getContainer,
11
- getContainer = _options$getContainer === void 0 ? function () {
12
- return window;
13
- } : _options$getContainer,
14
- callback = _options.callback,
15
- _options$duration = _options.duration,
16
- duration = _options$duration === void 0 ? 450 : _options$duration;
9
+ _options$getContainer = _options.getContainer,
10
+ getContainer = _options$getContainer === void 0 ? function () {
11
+ return window;
12
+ } : _options$getContainer,
13
+ callback = _options.callback,
14
+ _options$duration = _options.duration,
15
+ duration = _options$duration === void 0 ? 450 : _options$duration;
17
16
  var container = getContainer();
18
17
  var scrollTop = getScroll(container, true);
19
18
  var startTime = Date.now();
20
-
21
19
  var frameFunc = function frameFunc() {
22
20
  var timestamp = Date.now();
23
21
  var time = timestamp - startTime;
24
22
  var nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);
25
-
26
23
  if (isWindow(container)) {
27
24
  container.scrollTo(window.pageXOffset, nextScrollTop);
28
25
  } else if (container instanceof HTMLDocument || container.constructor.name === 'HTMLDocument') {
@@ -30,13 +27,11 @@ export default function scrollTo(y, options) {
30
27
  } else {
31
28
  container.scrollTop = nextScrollTop;
32
29
  }
33
-
34
30
  if (time < duration) {
35
31
  raf(frameFunc);
36
32
  } else if (typeof callback === 'function') {
37
33
  callback();
38
34
  }
39
35
  };
40
-
41
36
  raf(frameFunc);
42
37
  }
@@ -4,8 +4,8 @@ export function isNumeric(val) {
4
4
  export function isNaN(val) {
5
5
  if (Number.isNaN) {
6
6
  return Number.isNaN(val);
7
- } // eslint-disable-next-line no-self-compare
8
-
7
+ }
9
8
 
9
+ // eslint-disable-next-line no-self-compare
10
10
  return val !== val;
11
11
  }
@@ -1,34 +1,28 @@
1
1
  function flattenVNodes(vnodes) {
2
2
  var result = [];
3
-
4
3
  function traverse(vnodes) {
5
4
  vnodes.forEach(function (vnode) {
6
5
  result.push(vnode);
7
-
8
6
  if (vnode && vnode.componentInstance) {
9
7
  traverse(vnode.componentInstance.$children.map(function (item) {
10
8
  return item.$vnode;
11
9
  }));
12
10
  }
13
-
14
11
  if (vnode && vnode.children) {
15
12
  traverse(vnode.children);
16
13
  }
17
14
  });
18
15
  }
19
-
20
16
  traverse(vnodes);
21
17
  return result;
22
- } // sort children instances by vnodes order
23
-
18
+ }
24
19
 
20
+ // sort children instances by vnodes order
25
21
  export function sortChildren(children, parent) {
26
22
  var componentOptions = parent.$vnode.componentOptions;
27
-
28
23
  if (!componentOptions || !componentOptions.children) {
29
24
  return;
30
25
  }
31
-
32
26
  var vnodes = flattenVNodes(componentOptions.children);
33
27
  children.sort(function (a, b) {
34
28
  return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);
@@ -1,45 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  exports.__esModule = true;
6
5
  exports.default = void 0;
7
-
8
6
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
-
10
7
  var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
11
-
12
8
  var _vue = _interopRequireDefault(require("vue"));
13
-
14
9
  var _utils = require("../utils");
15
-
16
10
  var _functional = require("../utils/functional");
17
-
18
11
  var _popup = require("../mixins/popup");
19
-
20
12
  var _icon = _interopRequireDefault(require("../icon"));
21
-
22
13
  var _popup2 = _interopRequireDefault(require("../popup"));
23
-
24
14
  var _loading = _interopRequireDefault(require("../loading"));
25
-
26
15
  // Utils
16
+
27
17
  // Mixins
18
+
28
19
  // Components
29
- var _createNamespace = (0, _utils.createNamespace)('action-sheet'),
30
- createComponent = _createNamespace[0],
31
- bem = _createNamespace[1];
32
20
 
21
+ // Types
22
+
23
+ var _createNamespace = (0, _utils.createNamespace)('action-sheet'),
24
+ createComponent = _createNamespace[0],
25
+ bem = _createNamespace[1];
33
26
  function ActionSheet(h, props, slots, ctx) {
34
27
  var title = props.title,
35
- cancelText = props.cancelText,
36
- closeable = props.closeable;
37
-
28
+ cancelText = props.cancelText,
29
+ closeable = props.closeable;
38
30
  function onCancel() {
39
31
  (0, _functional.emit)(ctx, 'input', false);
40
32
  (0, _functional.emit)(ctx, 'cancel');
41
33
  }
42
-
43
34
  function Header() {
44
35
  if (slots.title) {
45
36
  return h("div", {
@@ -54,7 +45,6 @@ function ActionSheet(h, props, slots, ctx) {
54
45
  }
55
46
  })]);
56
47
  }
57
-
58
48
  if (title) {
59
49
  return h("div", {
60
50
  "class": bem('header')
@@ -69,46 +59,37 @@ function ActionSheet(h, props, slots, ctx) {
69
59
  })]);
70
60
  }
71
61
  }
72
-
73
62
  function Option(item, index) {
74
63
  var disabled = item.disabled,
75
- loading = item.loading,
76
- callback = item.callback;
77
-
64
+ loading = item.loading,
65
+ callback = item.callback;
78
66
  function onClickOption(event) {
79
67
  event.stopPropagation();
80
-
81
68
  if (disabled || loading) {
82
69
  return;
83
70
  }
84
-
85
71
  if (callback) {
86
72
  callback(item);
87
73
  }
88
-
89
74
  if (props.closeOnClickAction) {
90
75
  (0, _functional.emit)(ctx, 'input', false);
91
76
  }
92
-
93
77
  _vue.default.nextTick(function () {
94
78
  (0, _functional.emit)(ctx, 'select', item, index);
95
79
  });
96
80
  }
97
-
98
81
  function OptionContent() {
99
82
  if (loading) {
100
83
  return h(_loading.default, {
101
84
  "class": bem('loading-icon')
102
85
  });
103
86
  }
104
-
105
87
  return [h("span", {
106
88
  "class": bem('name')
107
89
  }, [item.name]), item.subname && h("div", {
108
90
  "class": bem('subname')
109
91
  }, [item.subname])];
110
92
  }
111
-
112
93
  var hasSubName = !loading && item.subname;
113
94
  return h("button", {
114
95
  "attrs": {
@@ -127,7 +108,6 @@ function ActionSheet(h, props, slots, ctx) {
127
108
  }
128
109
  }, [OptionContent()]);
129
110
  }
130
-
131
111
  function CancelText() {
132
112
  if (cancelText) {
133
113
  return [h("div", {
@@ -143,7 +123,6 @@ function ActionSheet(h, props, slots, ctx) {
143
123
  }, [cancelText])])];
144
124
  }
145
125
  }
146
-
147
126
  return h(_popup2.default, (0, _babelHelperVueJsxMergeProps.default)([{
148
127
  "class": bem(),
149
128
  "attrs": {
@@ -163,7 +142,6 @@ function ActionSheet(h, props, slots, ctx) {
163
142
  "class": bem('content')
164
143
  }, [props.actions && props.actions.map(Option), slots.default == null ? void 0 : slots.default()]), CancelText()]);
165
144
  }
166
-
167
145
  ActionSheet.props = (0, _extends2.default)({}, _popup.popupMixinProps, {
168
146
  title: String,
169
147
  actions: Array,
@@ -197,7 +175,5 @@ ActionSheet.props = (0, _extends2.default)({}, _popup.popupMixinProps, {
197
175
  default: true
198
176
  }
199
177
  });
200
-
201
178
  var _default = createComponent(ActionSheet);
202
-
203
179
  exports.default = _default;