@varlet/ui 1.26.1-alpha.1644652196468 → 1.26.3

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 (39) 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/list/List.js +4 -2
  11. package/es/menu/Menu.js +1 -1
  12. package/es/ripple/index.js +1 -3
  13. package/es/ripple/ripple.css +1 -1
  14. package/es/ripple/ripple.less +3 -0
  15. package/es/slider/Slider.js +19 -5
  16. package/es/space/Space.js +21 -2
  17. package/es/style.css +1 -1
  18. package/es/varlet.esm.js +124 -75
  19. package/highlight/web-types.json +1 -1
  20. package/lib/badge/Badge.js +1 -1
  21. package/lib/checkbox/Checkbox.js +6 -1
  22. package/lib/checkbox-group/CheckboxGroup.js +7 -1
  23. package/lib/date-picker/DatePicker.js +4 -3
  24. package/lib/date-picker/src/day-picker-panel.js +1 -1
  25. package/lib/date-picker/src/month-picker-panel.js +1 -1
  26. package/lib/date-picker/src/panel-header.js +1 -1
  27. package/lib/divider/Divider.js +1 -1
  28. package/lib/image-preview/ImagePreview.js +3 -2
  29. package/lib/list/List.js +4 -2
  30. package/lib/menu/Menu.js +1 -1
  31. package/lib/ripple/index.js +1 -3
  32. package/lib/ripple/ripple.css +1 -1
  33. package/lib/ripple/ripple.less +3 -0
  34. package/lib/slider/Slider.js +19 -5
  35. package/lib/space/Space.js +20 -1
  36. package/lib/style.css +1 -1
  37. package/package.json +4 -4
  38. package/types/radioGroup.d.ts +3 -3
  39. 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 = 250;
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/list/List.js CHANGED
@@ -89,8 +89,10 @@ export default defineComponent({
89
89
  var containerBottom = scroller === window ? window.innerHeight : scroller.getBoundingClientRect().bottom;
90
90
  var {
91
91
  bottom: detectorBottom
92
- } = detectorEl.value.getBoundingClientRect();
93
- return detectorBottom - toPxNum(props.offset) <= containerBottom;
92
+ } = detectorEl.value.getBoundingClientRect(); // The fractional part of the detectorBottom when bottoming out overflows
93
+ // https://github.com/varletjs/varlet/issues/310
94
+
95
+ return Math.floor(detectorBottom) - toPxNum(props.offset) <= containerBottom;
94
96
  }; // expose
95
97
 
96
98
 
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", {
@@ -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
  }
@@ -1,3 +1,5 @@
1
+ function _extends() { _extends = Object.assign || 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
+
1
3
  import { defineComponent, ref, onMounted, computed, reactive, nextTick, watch } from 'vue';
2
4
  import { useValidation } from '../utils/components';
3
5
  import { useForm } from '../form/provide';
@@ -74,11 +76,9 @@ export function render(_ctx, _cache) {
74
76
  /* STYLE */
75
77
  ), _createElementVNode("div", {
76
78
  class: _normalizeClass(["var-slider__thumb-ripple", [_ctx.thumbsProps[item.enumValue].active ? 'var-slider__thumb-ripple-active' : null]]),
77
- style: _normalizeStyle({
78
- background: _ctx.thumbColor,
79
- height: _ctx.thumbSize === undefined ? undefined : _ctx.thumbsProps[item.enumValue].active ? 3 * _ctx.toNumber(_ctx.thumbSize) + "px" : '0px',
80
- width: _ctx.thumbSize === undefined ? undefined : _ctx.thumbsProps[item.enumValue].active ? 3 * _ctx.toNumber(_ctx.thumbSize) + "px" : '0px'
81
- })
79
+ style: _normalizeStyle(_extends({
80
+ background: _ctx.thumbColor
81
+ }, _ctx.getRippleSize(item)))
82
82
  }, null, 6
83
83
  /* CLASS, STYLE */
84
84
  ), _createElementVNode("div", {
@@ -166,6 +166,19 @@ export default defineComponent({
166
166
  return list;
167
167
  });
168
168
 
169
+ var getRippleSize = item => {
170
+ var size;
171
+
172
+ if (props.thumbSize !== undefined) {
173
+ size = thumbsProps[item.enumValue].active ? 3 * toNumber(props.thumbSize) + "px" : '0px';
174
+ }
175
+
176
+ return {
177
+ height: size,
178
+ width: size
179
+ };
180
+ };
181
+
169
182
  var showLabel = type => {
170
183
  if (props.labelVisible === 'always') return true;
171
184
  if (props.labelVisible === 'never') return false;
@@ -369,6 +382,7 @@ export default defineComponent({
369
382
  thumbsProps,
370
383
  thumbList,
371
384
  toNumber,
385
+ getRippleSize,
372
386
  showLabel,
373
387
  start,
374
388
  move,
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