@varlet/ui 1.26.1 → 1.26.4

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 (42) hide show
  1. package/es/badge/Badge.js +1 -1
  2. package/es/checkbox/Checkbox.js +6 -1
  3. package/es/checkbox-group/CheckboxGroup.js +7 -1
  4. package/es/date-picker/DatePicker.js +4 -3
  5. package/es/date-picker/src/day-picker-panel.js +1 -1
  6. package/es/date-picker/src/month-picker-panel.js +1 -1
  7. package/es/date-picker/src/panel-header.js +1 -1
  8. package/es/divider/Divider.js +1 -1
  9. package/es/image-preview/ImagePreview.js +3 -2
  10. package/es/menu/Menu.js +1 -1
  11. package/es/rate/Rate.js +2 -1
  12. package/es/rate/props.js +3 -0
  13. package/es/ripple/index.js +1 -3
  14. package/es/ripple/ripple.css +1 -1
  15. package/es/ripple/ripple.less +3 -0
  16. package/es/space/Space.js +21 -2
  17. package/es/style.css +1 -1
  18. package/es/varlet.esm.js +47 -17
  19. package/highlight/attributes.json +4 -0
  20. package/highlight/tags.json +1 -0
  21. package/highlight/web-types.json +10 -1
  22. package/lib/badge/Badge.js +1 -1
  23. package/lib/checkbox/Checkbox.js +6 -1
  24. package/lib/checkbox-group/CheckboxGroup.js +7 -1
  25. package/lib/date-picker/DatePicker.js +4 -3
  26. package/lib/date-picker/src/day-picker-panel.js +1 -1
  27. package/lib/date-picker/src/month-picker-panel.js +1 -1
  28. package/lib/date-picker/src/panel-header.js +1 -1
  29. package/lib/divider/Divider.js +1 -1
  30. package/lib/image-preview/ImagePreview.js +3 -2
  31. package/lib/menu/Menu.js +1 -1
  32. package/lib/rate/Rate.js +2 -1
  33. package/lib/rate/props.js +3 -0
  34. package/lib/ripple/index.js +1 -3
  35. package/lib/ripple/ripple.css +1 -1
  36. package/lib/ripple/ripple.less +3 -0
  37. package/lib/space/Space.js +20 -1
  38. package/lib/style.css +1 -1
  39. package/package.json +4 -4
  40. package/types/radioGroup.d.ts +3 -3
  41. package/types/rate.d.ts +1 -0
  42. package/umd/varlet.js +4 -4
package/es/badge/Badge.js CHANGED
@@ -59,7 +59,7 @@ export default defineComponent({
59
59
  dot,
60
60
  icon
61
61
  } = props;
62
- var positionBasic = (slots.default == null ? void 0 : slots.default()) && "var-badge__position var-badge--" + position;
62
+ var positionBasic = slots.default && "var-badge__position var-badge--" + position;
63
63
  var dotClass = dot && 'var-badge__dot';
64
64
  var positionClass = getPositionClass();
65
65
  var iconClass = icon && 'var-badge__icon';
@@ -155,6 +155,10 @@ export default defineComponent({
155
155
  uncheckedValue
156
156
  } = props;
157
157
  value.value = values.includes(checkedValue) ? checkedValue : uncheckedValue;
158
+ };
159
+
160
+ var resetWithAnimation = () => {
161
+ withAnimation.value = false;
158
162
  }; // expose
159
163
 
160
164
 
@@ -194,7 +198,8 @@ export default defineComponent({
194
198
  sync,
195
199
  validate,
196
200
  resetValidation,
197
- reset
201
+ reset,
202
+ resetWithAnimation
198
203
  };
199
204
  bindCheckboxGroup == null ? void 0 : bindCheckboxGroup(checkboxProvider);
200
205
  bindForm == null ? void 0 : bindForm(checkboxProvider);
@@ -99,7 +99,11 @@ export default defineComponent({
99
99
  sync
100
100
  } = _ref;
101
101
  return sync(props.modelValue);
102
- }); // expose
102
+ });
103
+
104
+ var resetWithAnimation = () => {
105
+ checkboxes.forEach(checkbox => checkbox.resetWithAnimation());
106
+ }; // expose
103
107
 
104
108
 
105
109
  var checkAll = () => {
@@ -112,6 +116,7 @@ export default defineComponent({
112
116
  return checkedValue.value;
113
117
  });
114
118
  var changedModelValue = uniq(checkedValues);
119
+ resetWithAnimation();
115
120
  (_props$onUpdateModel2 = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel2.call(props, changedModelValue);
116
121
  return changedModelValue;
117
122
  }; // expose
@@ -132,6 +137,7 @@ export default defineComponent({
132
137
  return checkedValue.value;
133
138
  });
134
139
  var changedModelValue = uniq(checkedValues);
140
+ resetWithAnimation();
135
141
  (_props$onUpdateModel3 = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel3.call(props, changedModelValue);
136
142
  return changedModelValue;
137
143
  }; // expose
@@ -40,7 +40,7 @@ export function render(_ctx, _cache) {
40
40
  class: _normalizeClass(["var-date-picker-title__date", [!_ctx.isYearPanel ? 'var-date-picker-title__date--active' : null, _ctx.range ? 'var-date-picker-title__date--range' : null]]),
41
41
  onClick: _cache[1] || (_cache[1] = $event => _ctx.clickEl('date'))
42
42
  }, [_createVNode(_Transition, {
43
- name: _ctx.multiple ? '' : _ctx.reverse ? 'var-date-picker-reverse-translatey' : 'var-date-picker-translatey'
43
+ name: _ctx.multiple ? '' : "var-date-picker" + (_ctx.reverse ? '-reverse' : '') + "-translatey"
44
44
  }, {
45
45
  default: _withCtx(() => {
46
46
  var _ctx$chooseMonth, _ctx$chooseMonth2, _ctx$chooseMonth3;
@@ -225,14 +225,15 @@ export default defineComponent({
225
225
  return weekName.slice(0, 3) + ", " + monthName.slice(0, 3) + " " + chooseDay.value;
226
226
  });
227
227
  var slotProps = computed(() => {
228
- var _chooseMonth$value, _chooseYear$value, _chooseMonth$value$in, _chooseMonth$value2, _chooseDay$value;
228
+ var _chooseMonth$value, _chooseDay$value, _chooseYear$value, _chooseMonth$value$in, _chooseMonth$value2;
229
229
 
230
230
  var weekIndex = dayjs(chooseYear.value + "-" + ((_chooseMonth$value = chooseMonth.value) == null ? void 0 : _chooseMonth$value.index) + "-" + chooseDay.value).day();
231
+ var date = chooseDay.value ? (_chooseDay$value = chooseDay.value) == null ? void 0 : _chooseDay$value.padStart(2, '0') : '';
231
232
  return {
232
233
  week: "" + weekIndex,
233
234
  year: (_chooseYear$value = chooseYear.value) != null ? _chooseYear$value : '',
234
235
  month: (_chooseMonth$value$in = (_chooseMonth$value2 = chooseMonth.value) == null ? void 0 : _chooseMonth$value2.index) != null ? _chooseMonth$value$in : '',
235
- date: (_chooseDay$value = chooseDay.value) != null ? _chooseDay$value : ''
236
+ date
236
237
  };
237
238
  });
238
239
  var formatRange = computed(() => getChoose.value.chooseRangeDay.map(choose => dayjs(choose).format('YYYY-MM-DD')));
@@ -41,7 +41,7 @@ export function render(_ctx, _cache) {
41
41
  }, null, 8
42
42
  /* PROPS */
43
43
  , ["date", "disabled", "onCheckPanel", "onCheckDate"]), _createVNode(_Transition, {
44
- name: _ctx.reverse ? 'var-date-picker-reverse-translatex' : 'var-date-picker-translatex'
44
+ name: "var-date-picker" + (_ctx.reverse ? '-reverse' : '') + "-translatex"
45
45
  }, {
46
46
  default: _withCtx(() => [(_openBlock(), _createElementBlock("div", {
47
47
  key: _ctx.panelKey
@@ -35,7 +35,7 @@ export function render(_ctx, _cache) {
35
35
  }, null, 8
36
36
  /* PROPS */
37
37
  , ["date", "disabled", "onCheckPanel", "onCheckDate"]), _createVNode(_Transition, {
38
- name: _ctx.reverse ? 'var-date-picker-reverse-translatex' : 'var-date-picker-translatex'
38
+ name: "var-date-picker" + (_ctx.reverse ? '-reverse' : '') + "-translatex"
39
39
  }, {
40
40
  default: _withCtx(() => [(_openBlock(), _createElementBlock("ul", {
41
41
  key: _ctx.panelKey
@@ -36,7 +36,7 @@ export function render(_ctx, _cache) {
36
36
  class: "var-picker-header__value",
37
37
  onClick: _cache[1] || (_cache[1] = $event => _ctx.$emit('check-panel'))
38
38
  }, [_createVNode(_Transition, {
39
- name: _ctx.reverse ? 'var-date-picker-reverse-translatex' : 'var-date-picker-translatex'
39
+ name: "var-date-picker" + (_ctx.reverse ? '-reverse' : '') + "-translatex"
40
40
  }, {
41
41
  default: _withCtx(() => [(_openBlock(), _createElementBlock("div", {
42
42
  key: _ctx.showDate
@@ -59,7 +59,7 @@ export default defineComponent({
59
59
  });
60
60
 
61
61
  var checkHasText = () => {
62
- state.withText = Boolean(slots.default == null ? void 0 : slots.default().length) || Boolean(props.description);
62
+ state.withText = Boolean(slots.default) || Boolean(props.description);
63
63
  };
64
64
 
65
65
  onMounted(() => {
@@ -7,6 +7,7 @@ import { props } from './props';
7
7
  import { toNumber } from '../utils/shared';
8
8
  var DISTANCE_OFFSET = 12;
9
9
  var EVENT_DELAY = 200;
10
+ var TAP_DELAY = 350;
10
11
  var ANIMATION_DURATION = 200;
11
12
  import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue";
12
13
 
@@ -203,11 +204,11 @@ export default defineComponent({
203
204
  };
204
205
 
205
206
  var isTapTouch = target => {
206
- if (!startTouch || !prevTouch) {
207
+ if (!target || !startTouch || !prevTouch) {
207
208
  return false;
208
209
  }
209
210
 
210
- return getDistance(startTouch, prevTouch) <= DISTANCE_OFFSET && (target === startTouch.target || target.parentNode === startTouch.target);
211
+ return getDistance(startTouch, prevTouch) <= DISTANCE_OFFSET && Date.now() - prevTouch.timestamp < TAP_DELAY && (target === startTouch.target || target.parentNode === startTouch.target);
211
212
  };
212
213
 
213
214
  var handleTouchend = event => {
package/es/menu/Menu.js CHANGED
@@ -78,7 +78,7 @@ export default defineComponent({
78
78
 
79
79
  var renderTransition = () => _createVNode(Transition, {
80
80
  "name": "var-menu",
81
- "onAfterEnter": props.onOpen,
81
+ "onAfterEnter": props.onOpened,
82
82
  "onAfterLeave": props.onClosed
83
83
  }, {
84
84
  default: () => [_withDirectives(_createVNode("div", {
package/es/rate/Rate.js CHANGED
@@ -33,13 +33,14 @@ export function render(_ctx, _cache) {
33
33
  onClick: $event => _ctx.handleClick(val, $event)
34
34
  }, [_createVNode(_component_var_icon, {
35
35
  transition: 0,
36
+ namespace: _ctx.namespace,
36
37
  name: _ctx.getIconName(val),
37
38
  style: _normalizeStyle({
38
39
  fontSize: _ctx.toSizeUnit(_ctx.size)
39
40
  })
40
41
  }, null, 8
41
42
  /* PROPS */
42
- , ["name", "style"])], 14
43
+ , ["namespace", "name", "style"])], 14
43
44
  /* CLASS, STYLE, PROPS */
44
45
  , _hoisted_3)), [[_directive_ripple, {
45
46
  disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple
package/es/rate/props.js CHANGED
@@ -29,6 +29,9 @@ export var props = {
29
29
  type: [String, Number],
30
30
  default: '2'
31
31
  },
32
+ namespace: {
33
+ type: String
34
+ },
32
35
  half: {
33
36
  type: Boolean,
34
37
  default: false
@@ -53,8 +53,6 @@ function createRipple(event) {
53
53
  }
54
54
 
55
55
  var task = () => {
56
- var _ripple$color;
57
-
58
56
  _ripple.tasker = null;
59
57
  var {
60
58
  x,
@@ -69,7 +67,7 @@ function createRipple(event) {
69
67
  ripple.style.transform = "translate(" + x + "px, " + y + "px) scale3d(.3, .3, .3)";
70
68
  ripple.style.width = size + "px";
71
69
  ripple.style.height = size + "px";
72
- ripple.style.backgroundColor = (_ripple$color = _ripple.color) != null ? _ripple$color : 'currentColor';
70
+ _ripple.color && (ripple.style.backgroundColor = _ripple.color);
73
71
  ripple.dataset.createdAt = String(performance.now());
74
72
  setStyles(this);
75
73
  this.appendChild(ripple);
@@ -1 +1 @@
1
- :root { --ripple-cubic-bezier: cubic-bezier(0.68, 0.01, 0.62, 0.6);}.var-ripple { position: absolute; transition: transform 0.2s var(--ripple-cubic-bezier), opacity 0.14s linear; top: 0; left: 0; border-radius: 50%; opacity: 0; will-change: transform, opacity; pointer-events: none; z-index: 100;}
1
+ :root { --ripple-cubic-bezier: cubic-bezier(0.68, 0.01, 0.62, 0.6); --ripple-color: currentColor;}.var-ripple { position: absolute; transition: transform 0.2s var(--ripple-cubic-bezier), opacity 0.14s linear; top: 0; left: 0; border-radius: 50%; opacity: 0; will-change: transform, opacity; pointer-events: none; z-index: 100; background-color: var(--ripple-color);}
@@ -1,7 +1,9 @@
1
1
  @ripple-cubic-bezier: cubic-bezier(0.68, 0.01, 0.62, 0.6);
2
+ @ripple-color: currentColor;
2
3
 
3
4
  :root {
4
5
  --ripple-cubic-bezier: @ripple-cubic-bezier;
6
+ --ripple-color: @ripple-color;
5
7
  }
6
8
 
7
9
  .var-ripple {
@@ -14,4 +16,5 @@
14
16
  will-change: transform, opacity;
15
17
  pointer-events: none;
16
18
  z-index: 100;
19
+ background-color: var(--ripple-color);
17
20
  }
package/es/space/Space.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { defineComponent } from 'vue';
2
+ import { defineComponent, Fragment, Comment } from 'vue';
3
3
  import { internalSizeValidator, props } from './props';
4
4
  import { toPxNum } from '../utils/elements';
5
5
  import { isArray } from '../utils/shared';
@@ -36,9 +36,28 @@ export default defineComponent({
36
36
  size
37
37
  } = props;
38
38
  var children = (_slots$default = slots.default == null ? void 0 : slots.default()) != null ? _slots$default : [];
39
- var lastIndex = children.length - 1;
40
39
  var isInternalSize = internalSizeValidator(size);
41
40
  var [y, x] = getSize(size, isInternalSize);
41
+
42
+ var flatten = vNodes => {
43
+ var result = [];
44
+ vNodes.forEach(vNode => {
45
+ if (vNode.type === Comment) return;
46
+
47
+ if (vNode.type === Fragment && isArray(vNode.children)) {
48
+ vNode.children.forEach(item => {
49
+ result.push(item);
50
+ });
51
+ return;
52
+ }
53
+
54
+ result.push(vNode);
55
+ });
56
+ return result;
57
+ };
58
+
59
+ children = flatten(children);
60
+ var lastIndex = children.length - 1;
42
61
  var spacers = children.map((child, index) => {
43
62
  var margin = '0';
44
63