@varlet/ui 2.14.2 → 2.15.0-alpha.1692990022445

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 (91) hide show
  1. package/es/action-sheet/props.mjs +2 -7
  2. package/es/app-bar/props.mjs +8 -29
  3. package/es/avatar/Avatar.mjs +6 -6
  4. package/es/avatar/props.mjs +8 -36
  5. package/es/avatar-group/props.mjs +2 -7
  6. package/es/back-top/props.mjs +3 -9
  7. package/es/badge/props.mjs +7 -27
  8. package/es/bottom-navigation/props.mjs +7 -22
  9. package/es/bottom-navigation-item/props.mjs +3 -9
  10. package/es/breadcrumb/props.mjs +1 -3
  11. package/es/button/props.mjs +14 -57
  12. package/es/button-group/props.mjs +6 -25
  13. package/es/cell/props.mjs +10 -32
  14. package/es/checkbox/Checkbox.mjs +23 -19
  15. package/es/checkbox/props.mjs +10 -22
  16. package/es/checkbox-group/props.mjs +4 -12
  17. package/es/chip/props.mjs +7 -28
  18. package/es/col/props.mjs +9 -35
  19. package/es/collapse/props.mjs +2 -7
  20. package/es/collapse-item/CollapseItem.mjs +15 -5
  21. package/es/collapse-item/props.mjs +3 -10
  22. package/es/counter/props.mjs +14 -48
  23. package/es/date-picker/props.mjs +10 -35
  24. package/es/dialog/props.mjs +13 -42
  25. package/es/divider/props.mjs +5 -18
  26. package/es/drag/Drag.mjs +20 -27
  27. package/es/drag/props.mjs +2 -7
  28. package/es/ellipsis/props.mjs +2 -10
  29. package/es/fab/props.mjs +14 -51
  30. package/es/field-decorator/props.mjs +13 -46
  31. package/es/form/props.mjs +3 -15
  32. package/es/icon/props.mjs +4 -12
  33. package/es/image/props.mjs +9 -33
  34. package/es/image-preview/ImagePreview.mjs +49 -66
  35. package/es/image-preview/props.mjs +4 -15
  36. package/es/index-anchor/props.mjs +1 -3
  37. package/es/index-bar/props.mjs +4 -15
  38. package/es/index.bundle.mjs +1 -1
  39. package/es/index.mjs +1 -1
  40. package/es/input/Input.mjs +12 -29
  41. package/es/input/props.mjs +9 -33
  42. package/es/link/props.mjs +9 -33
  43. package/es/list/props.mjs +6 -21
  44. package/es/loading/props.mjs +6 -23
  45. package/es/loading-bar/props.mjs +5 -16
  46. package/es/menu/props.mjs +9 -37
  47. package/es/option/Option.mjs +18 -4
  48. package/es/overlay/props.mjs +2 -7
  49. package/es/pagination/props.mjs +4 -14
  50. package/es/paper/props.mjs +6 -21
  51. package/es/picker/props.mjs +7 -23
  52. package/es/popup/props.mjs +7 -26
  53. package/es/progress/props.mjs +8 -31
  54. package/es/pull-refresh/props.mjs +7 -29
  55. package/es/radio/Radio.mjs +5 -11
  56. package/es/radio/props.mjs +6 -20
  57. package/es/radio-group/props.mjs +2 -8
  58. package/es/rate/Rate.mjs +12 -9
  59. package/es/rate/props.mjs +11 -37
  60. package/es/result/props.mjs +4 -14
  61. package/es/row/props.mjs +2 -10
  62. package/es/select/props.mjs +5 -20
  63. package/es/skeleton/props.mjs +7 -25
  64. package/es/slider/props.mjs +13 -46
  65. package/es/snackbar/props.mjs +8 -36
  66. package/es/space/Space.mjs +3 -3
  67. package/es/space/props.mjs +4 -17
  68. package/es/step/props.mjs +2 -6
  69. package/es/steps/props.mjs +3 -11
  70. package/es/sticky/props.mjs +2 -8
  71. package/es/swipe/Swipe.mjs +51 -65
  72. package/es/swipe/props.mjs +3 -10
  73. package/es/switch/Switch.mjs +11 -7
  74. package/es/switch/props.mjs +8 -27
  75. package/es/tab/props.mjs +2 -7
  76. package/es/tab-item/props.mjs +1 -3
  77. package/es/tabs/props.mjs +14 -48
  78. package/es/tabs-items/props.mjs +1 -4
  79. package/es/time-picker/props.mjs +9 -31
  80. package/es/tooltip/props.mjs +11 -45
  81. package/es/uploader/props.mjs +7 -25
  82. package/es/utils/{jest.mjs → test.mjs} +19 -14
  83. package/es/varlet.esm.js +6687 -7777
  84. package/es/watermark/props.mjs +3 -10
  85. package/highlight/web-types.en-US.json +17 -4
  86. package/highlight/web-types.zh-CN.json +15 -2
  87. package/lib/varlet.cjs.js +710 -1742
  88. package/package.json +13 -12
  89. package/types/checkbox.d.ts +3 -0
  90. package/types/col.d.ts +7 -5
  91. package/umd/varlet.js +4 -4
@@ -1,27 +1,19 @@
1
1
  import { defineListenerProp } from '../utils/components.mjs';
2
- export function directionValidator(direction) {
3
- return ['horizontal', 'vertical'].includes(direction);
4
- }
5
2
  export var props = {
6
3
  modelValue: {
7
4
  type: Array,
8
5
  default: () => []
9
6
  },
10
- max: {
11
- type: [String, Number]
12
- },
7
+ max: [String, Number],
13
8
  direction: {
14
9
  type: String,
15
- default: 'horizontal',
16
- validator: directionValidator
10
+ default: 'horizontal'
17
11
  },
18
12
  validateTrigger: {
19
13
  type: Array,
20
- default: ['onChange']
21
- },
22
- rules: {
23
- type: Array
14
+ default: () => ['onChange']
24
15
  },
16
+ rules: Array,
25
17
  onChange: defineListenerProp(),
26
18
  'onUpdate:modelValue': defineListenerProp()
27
19
  };
package/es/chip/props.mjs CHANGED
@@ -1,44 +1,23 @@
1
1
  import { defineListenerProp, pickProps } from '../utils/components.mjs';
2
2
  import { props as iconProps } from '../icon/props.mjs';
3
- function typeValidator(type) {
4
- return ['default', 'primary', 'info', 'success', 'warning', 'danger'].includes(type);
5
- }
6
- function sizeValidator(size) {
7
- return ['normal', 'mini', 'small', 'large'].includes(size);
8
- }
9
3
  export var props = {
10
4
  type: {
11
5
  type: String,
12
- default: 'default',
13
- validator: typeValidator
6
+ default: 'default'
14
7
  },
15
8
  size: {
16
9
  type: String,
17
- default: 'normal',
18
- validator: sizeValidator
19
- },
20
- color: {
21
- type: String
22
- },
23
- textColor: {
24
- type: String
10
+ default: 'normal'
25
11
  },
12
+ color: String,
13
+ textColor: String,
26
14
  iconName: pickProps(iconProps, 'name'),
27
- plain: {
28
- type: Boolean,
29
- default: false
30
- },
15
+ plain: Boolean,
31
16
  round: {
32
17
  type: Boolean,
33
18
  default: true
34
19
  },
35
- block: {
36
- type: Boolean,
37
- default: false
38
- },
39
- closable: {
40
- type: Boolean,
41
- default: false
42
- },
20
+ block: Boolean,
21
+ closable: Boolean,
43
22
  onClose: defineListenerProp()
44
23
  };
package/es/col/props.mjs CHANGED
@@ -1,13 +1,4 @@
1
1
  import { defineListenerProp } from '../utils/components.mjs';
2
- function directionValidator(direction) {
3
- return ['row', 'column'].includes(direction);
4
- }
5
- function justifyValidator(justify) {
6
- return ['start', 'end', 'center', 'space-around', 'space-between', 'flex-start', 'flex-end'].includes(justify);
7
- }
8
- function alignValidator(align) {
9
- return ['stretch', 'center', 'start', 'end', 'baseline', 'initial', 'inherit', 'flex-start', 'flex-end'].includes(align);
10
- }
11
2
  export var props = {
12
3
  span: {
13
4
  type: [String, Number],
@@ -19,31 +10,14 @@ export var props = {
19
10
  },
20
11
  direction: {
21
12
  type: String,
22
- default: 'row',
23
- validator: directionValidator
24
- },
25
- justify: {
26
- type: String,
27
- validator: justifyValidator
28
- },
29
- align: {
30
- type: String,
31
- validator: alignValidator
32
- },
33
- xs: {
34
- type: [Object, Number, String]
35
- },
36
- sm: {
37
- type: [Object, Number, String]
38
- },
39
- md: {
40
- type: [Object, Number, String]
41
- },
42
- lg: {
43
- type: [Object, Number, String]
44
- },
45
- xl: {
46
- type: [Object, Number, String]
47
- },
13
+ default: 'row'
14
+ },
15
+ justify: String,
16
+ align: String,
17
+ xs: [Object, Number, String],
18
+ sm: [Object, Number, String],
19
+ md: [Object, Number, String],
20
+ lg: [Object, Number, String],
21
+ xl: [Object, Number, String],
48
22
  onClick: defineListenerProp()
49
23
  };
@@ -1,12 +1,7 @@
1
1
  import { defineListenerProp } from '../utils/components.mjs';
2
2
  export var props = {
3
- modelValue: {
4
- type: [Array, String, Number]
5
- },
6
- accordion: {
7
- type: Boolean,
8
- default: false
9
- },
3
+ modelValue: [Array, String, Number],
4
+ accordion: Boolean,
10
5
  offset: {
11
6
  type: Boolean,
12
7
  default: true
@@ -78,20 +78,31 @@ var __sfc__ = defineComponent({
78
78
  }
79
79
  };
80
80
  var openPanel = () => {
81
- if (!contentEl.value) return;
81
+ if (!contentEl.value) {
82
+ return;
83
+ }
82
84
  contentEl.value.style.height = '';
83
85
  showContent.value = true;
84
86
  requestAnimationFrame(() => {
87
+ if (!contentEl.value) {
88
+ return;
89
+ }
85
90
  var {
86
91
  offsetHeight
87
92
  } = contentEl.value;
88
93
  contentEl.value.style.height = 0 + 'px';
89
94
  requestAnimationFrame(() => {
90
- ;
95
+ if (!contentEl.value) {
96
+ return;
97
+ }
91
98
  contentEl.value.style.height = offsetHeight + 'px';
92
- if (!isInitToTrigger) return;
99
+ if (!isInitToTrigger) {
100
+ return;
101
+ }
93
102
  nextTickFrame(() => {
94
- if (isInitToTrigger) transitionend();
103
+ if (isInitToTrigger) {
104
+ transitionend();
105
+ }
95
106
  });
96
107
  });
97
108
  });
@@ -114,7 +125,6 @@ var __sfc__ = defineComponent({
114
125
  if (!isShow.value) {
115
126
  showContent.value = false;
116
127
  }
117
- ;
118
128
  contentEl.value.style.height = '';
119
129
  };
120
130
  var collapseItemProvider = {
@@ -1,16 +1,9 @@
1
1
  export var props = {
2
- name: {
3
- type: [String, Number]
4
- },
5
- title: {
6
- type: String
7
- },
2
+ name: [String, Number],
3
+ title: String,
8
4
  icon: {
9
5
  type: String,
10
6
  default: 'chevron-down'
11
7
  },
12
- disabled: {
13
- type: Boolean,
14
- default: false
15
- }
8
+ disabled: Boolean
16
9
  };
@@ -4,59 +4,27 @@ export var props = {
4
4
  type: [String, Number],
5
5
  default: 0
6
6
  },
7
- min: {
8
- type: [String, Number]
9
- },
10
- max: {
11
- type: [String, Number]
12
- },
7
+ min: [String, Number],
8
+ max: [String, Number],
13
9
  step: {
14
10
  type: [String, Number],
15
11
  default: 1
16
12
  },
17
- color: {
18
- type: String
19
- },
20
- inputWidth: {
21
- type: [String, Number]
22
- },
23
- inputTextSize: {
24
- type: [String, Number]
25
- },
26
- buttonSize: {
27
- type: [String, Number]
28
- },
13
+ color: String,
14
+ inputWidth: [String, Number],
15
+ inputTextSize: [String, Number],
16
+ buttonSize: [String, Number],
29
17
  elevation: {
30
18
  type: [Boolean, Number, String],
31
19
  default: true
32
20
  },
33
- decimalLength: {
34
- type: [String, Number]
35
- },
36
- disabled: {
37
- type: Boolean,
38
- default: false
39
- },
40
- readonly: {
41
- type: Boolean,
42
- default: false
43
- },
44
- disableIncrement: {
45
- type: Boolean,
46
- default: false
47
- },
48
- disableDecrement: {
49
- type: Boolean,
50
- default: false
51
- },
52
- disableInput: {
53
- type: Boolean,
54
- default: false
55
- },
56
- lazyChange: {
57
- type: Boolean,
58
- default: false
59
- },
21
+ decimalLength: [String, Number],
22
+ disabled: Boolean,
23
+ readonly: Boolean,
24
+ disableIncrement: Boolean,
25
+ disableDecrement: Boolean,
26
+ disableInput: Boolean,
27
+ lazyChange: Boolean,
60
28
  incrementButton: {
61
29
  type: Boolean,
62
30
  default: true
@@ -77,9 +45,7 @@ export var props = {
77
45
  type: Array,
78
46
  default: () => ['onInputChange', 'onLazyChange', 'onIncrement', 'onDecrement']
79
47
  },
80
- rules: {
81
- type: Array
82
- },
48
+ rules: Array,
83
49
  onBeforeChange: defineListenerProp(),
84
50
  onChange: defineListenerProp(),
85
51
  onIncrement: defineListenerProp(),
@@ -1,7 +1,4 @@
1
1
  import { defineListenerProp } from '../utils/components.mjs';
2
- function typeValidator(type) {
3
- return ['date', 'month'].includes(type);
4
- }
5
2
  export var MONTH_LIST = [{
6
3
  index: '01'
7
4
  }, {
@@ -43,23 +40,14 @@ export var WEEK_HEADER = [{
43
40
  index: '6'
44
41
  }];
45
42
  export var props = {
46
- modelValue: {
47
- type: [String, Array]
48
- },
43
+ modelValue: [String, Array],
49
44
  type: {
50
45
  type: String,
51
- default: 'date',
52
- validator: typeValidator
53
- },
54
- allowedDates: {
55
- type: Function
56
- },
57
- color: {
58
- type: String
59
- },
60
- headerColor: {
61
- type: String
46
+ default: 'date'
62
47
  },
48
+ allowedDates: Function,
49
+ color: String,
50
+ headerColor: String,
63
51
  elevation: {
64
52
  type: [Boolean, Number, String],
65
53
  default: false
@@ -72,28 +60,15 @@ export var props = {
72
60
  type: [String, Number],
73
61
  default: 0
74
62
  },
75
- min: {
76
- type: String
77
- },
78
- max: {
79
- type: String
80
- },
63
+ min: String,
64
+ max: String,
81
65
  showCurrent: {
82
66
  type: Boolean,
83
67
  default: true
84
68
  },
85
- readonly: {
86
- type: Boolean,
87
- default: false
88
- },
89
- multiple: {
90
- type: Boolean,
91
- default: false
92
- },
93
- range: {
94
- type: Boolean,
95
- default: false
96
- },
69
+ readonly: Boolean,
70
+ multiple: Boolean,
71
+ range: Boolean,
97
72
  touchable: {
98
73
  type: Boolean,
99
74
  default: true
@@ -1,27 +1,14 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import { defineListenerProp, pickProps } from '../utils/components.mjs';
3
3
  import { props as popupProps } from '../popup/props.mjs';
4
- function messageAlignValidator(messageAlign) {
5
- return ['left', 'center', 'right'].includes(messageAlign);
6
- }
7
4
  export var props = _extends({
8
- show: {
9
- type: Boolean,
10
- default: false
11
- },
12
- width: {
13
- type: [Number, String]
14
- },
15
- title: {
16
- type: String
17
- },
18
- message: {
19
- type: String
20
- },
5
+ show: Boolean,
6
+ width: [Number, String],
7
+ title: String,
8
+ message: String,
21
9
  messageAlign: {
22
10
  type: String,
23
- default: 'left',
24
- validator: messageAlignValidator
11
+ default: 'left'
25
12
  },
26
13
  confirmButton: {
27
14
  type: Boolean,
@@ -31,30 +18,14 @@ export var props = _extends({
31
18
  type: Boolean,
32
19
  default: true
33
20
  },
34
- confirmButtonText: {
35
- type: String
36
- },
37
- cancelButtonText: {
38
- type: String
39
- },
40
- confirmButtonTextColor: {
41
- type: String
42
- },
43
- cancelButtonTextColor: {
44
- type: String
45
- },
46
- confirmButtonColor: {
47
- type: String
48
- },
49
- cancelButtonColor: {
50
- type: String
51
- },
52
- dialogClass: {
53
- type: String
54
- },
55
- dialogStyle: {
56
- type: Object
57
- },
21
+ confirmButtonText: String,
22
+ cancelButtonText: String,
23
+ confirmButtonTextColor: String,
24
+ cancelButtonTextColor: String,
25
+ confirmButtonColor: String,
26
+ cancelButtonColor: String,
27
+ dialogClass: String,
28
+ dialogStyle: Object,
58
29
  onBeforeClose: defineListenerProp(),
59
30
  onConfirm: defineListenerProp(),
60
31
  onCancel: defineListenerProp(),
@@ -3,22 +3,9 @@ export var props = {
3
3
  type: [Boolean, Number, String],
4
4
  default: false
5
5
  },
6
- vertical: {
7
- type: Boolean,
8
- default: false
9
- },
10
- description: {
11
- type: String
12
- },
13
- margin: {
14
- type: String
15
- },
16
- dashed: {
17
- type: Boolean,
18
- default: false
19
- },
20
- hairline: {
21
- type: Boolean,
22
- default: false
23
- }
6
+ vertical: Boolean,
7
+ description: String,
8
+ margin: String,
9
+ dashed: Boolean,
10
+ hairline: Boolean
24
11
  };
package/es/drag/Drag.mjs CHANGED
@@ -5,7 +5,7 @@ import { defineComponent, ref, reactive, watch } from 'vue';
5
5
  import { props } from './props.mjs';
6
6
  import { createNamespace, useTeleport, call } from '../utils/components.mjs';
7
7
  import { getRect, toPxNum } from '../utils/elements.mjs';
8
- import { onSmartMounted, onWindowResize } from '@varlet/use';
8
+ import { onSmartMounted, onWindowResize, useTouch } from '@varlet/use';
9
9
  import { clamp } from '@varlet/shared';
10
10
  var {
11
11
  n,
@@ -59,50 +59,45 @@ var __sfc__ = defineComponent({
59
59
  var dragged = ref(false);
60
60
  var enableTransition = ref(false);
61
61
  var dragging = ref(false);
62
+ var {
63
+ touching,
64
+ moveX,
65
+ moveY,
66
+ startTouch,
67
+ moveTouch,
68
+ endTouch,
69
+ resetTouch
70
+ } = useTouch();
62
71
  var {
63
72
  disabled: teleportDisabled
64
73
  } = useTeleport();
65
- var touching = false;
66
- var prevX = 0;
67
- var prevY = 0;
68
74
  var draggingRunner = null;
69
75
  var handleTouchstart = event => {
70
76
  if (props.disabled) {
71
77
  return;
72
78
  }
73
- draggingRunner && window.clearTimeout(draggingRunner);
74
- var {
75
- clientX,
76
- clientY
77
- } = event.touches[0];
79
+ if (draggingRunner) {
80
+ window.clearTimeout(draggingRunner);
81
+ }
78
82
  saveXY();
79
- prevX = clientX;
80
- prevY = clientY;
81
- touching = true;
83
+ startTouch(event);
82
84
  dragging.value = false;
83
85
  };
84
86
  var handleTouchmove = /*#__PURE__*/function () {
85
87
  var _ref2 = _asyncToGenerator(function* (event) {
86
- if (!touching || props.disabled) {
88
+ if (!touching.value || props.disabled) {
87
89
  return;
88
90
  }
89
91
  event.preventDefault();
90
92
  enableTransition.value = false;
91
93
  dragged.value = true;
92
94
  dragging.value = true;
93
- var {
94
- clientX,
95
- clientY
96
- } = event.touches[0];
97
- var deltaX = clientX - prevX;
98
- var deltaY = clientY - prevY;
99
- prevX = clientX;
100
- prevY = clientY;
95
+ moveTouch(event);
101
96
  if (props.direction.includes('x')) {
102
- x.value += deltaX;
97
+ x.value += moveX.value;
103
98
  }
104
99
  if (props.direction.includes('y')) {
105
- y.value += deltaY;
100
+ y.value += moveY.value;
106
101
  }
107
102
  clampToBoundary();
108
103
  });
@@ -114,7 +109,7 @@ var __sfc__ = defineComponent({
114
109
  if (props.disabled) {
115
110
  return;
116
111
  }
117
- touching = false;
112
+ endTouch();
118
113
  enableTransition.value = true;
119
114
  attract();
120
115
  draggingRunner = window.setTimeout(() => {
@@ -261,9 +256,7 @@ var __sfc__ = defineComponent({
261
256
  dragging.value = false;
262
257
  x.value = 0;
263
258
  y.value = 0;
264
- touching = false;
265
- prevX = 0;
266
- prevY = 0;
259
+ resetTouch();
267
260
  };
268
261
  watch(() => props.boundary, toPxBoundary);
269
262
  onWindowResize(resize);
package/es/drag/props.mjs CHANGED
@@ -4,13 +4,8 @@ export var props = {
4
4
  type: String,
5
5
  default: 'xy'
6
6
  },
7
- attraction: {
8
- type: String
9
- },
10
- disabled: {
11
- type: Boolean,
12
- default: false
13
- },
7
+ attraction: String,
8
+ disabled: Boolean,
14
9
  boundary: {
15
10
  type: Object,
16
11
  default: () => ({
@@ -1,14 +1,6 @@
1
- export function expandTriggerValidator(expandTrigger) {
2
- return ['click'].includes(expandTrigger);
3
- }
4
1
  export var props = {
5
- expandTrigger: {
6
- type: String,
7
- validator: expandTriggerValidator
8
- },
9
- lineClamp: {
10
- type: [Number, String]
11
- },
2
+ expandTrigger: String,
3
+ lineClamp: [Number, String],
12
4
  tooltip: {
13
5
  type: [Object, Boolean],
14
6
  default: true