@varlet/ui 1.27.5 → 1.27.7-alpha.1651056904329

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 (55) hide show
  1. package/README.en-US.md +2 -1
  2. package/README.md +4 -2
  3. package/es/context/lock.js +14 -21
  4. package/es/counter/counter.css +1 -1
  5. package/es/counter/counter.less +4 -0
  6. package/es/input/Input.js +5 -2
  7. package/es/input/props.js +4 -0
  8. package/es/loading/Loading.js +6 -1
  9. package/es/loading/loading.css +1 -1
  10. package/es/loading/loading.less +9 -1
  11. package/es/pagination/Pagination.js +1 -4
  12. package/es/pagination/pagination.css +1 -1
  13. package/es/pagination/pagination.less +19 -10
  14. package/es/picker/Picker.js +13 -5
  15. package/es/picker/picker.css +1 -1
  16. package/es/picker/picker.less +3 -0
  17. package/es/picker/props.js +4 -0
  18. package/es/popup/Popup.js +1 -1
  19. package/es/pull-refresh/PullRefresh.js +55 -22
  20. package/es/snackbar/core.js +1 -1
  21. package/es/snackbar/style/index.js +1 -1
  22. package/es/snackbar/style/less.js +1 -1
  23. package/es/style.css +1 -1
  24. package/es/themes/dark/picker.js +2 -1
  25. package/es/utils/jest.js +5 -2
  26. package/es/varlet.esm.js +198 -128
  27. package/highlight/attributes.json +8 -4
  28. package/highlight/tags.json +1 -0
  29. package/highlight/web-types.json +15 -6
  30. package/lib/context/lock.js +14 -21
  31. package/lib/counter/counter.css +1 -1
  32. package/lib/counter/counter.less +4 -0
  33. package/lib/input/Input.js +5 -2
  34. package/lib/input/props.js +4 -0
  35. package/lib/loading/Loading.js +6 -1
  36. package/lib/loading/loading.css +1 -1
  37. package/lib/loading/loading.less +9 -1
  38. package/lib/pagination/Pagination.js +1 -4
  39. package/lib/pagination/pagination.css +1 -1
  40. package/lib/pagination/pagination.less +19 -10
  41. package/lib/picker/Picker.js +13 -5
  42. package/lib/picker/picker.css +1 -1
  43. package/lib/picker/picker.less +3 -0
  44. package/lib/picker/props.js +4 -0
  45. package/lib/popup/Popup.js +1 -1
  46. package/lib/pull-refresh/PullRefresh.js +55 -22
  47. package/lib/snackbar/core.js +1 -1
  48. package/lib/snackbar/style/index.js +1 -1
  49. package/lib/snackbar/style/less.js +1 -1
  50. package/lib/style.css +1 -1
  51. package/lib/themes/dark/picker.js +2 -1
  52. package/lib/utils/jest.js +5 -2
  53. package/package.json +6 -6
  54. package/types/picker.d.ts +2 -0
  55. package/umd/varlet.js +4 -4
package/README.en-US.md CHANGED
@@ -5,7 +5,8 @@
5
5
  <h1>VARLET</h1>
6
6
  <p>Material design mobile component library for Vue3</p>
7
7
  <p>
8
- <a href="https://varlet-varletjs.vercel.app/#/en-US/home">Documentation</a>
8
+ <a href="https://varlet-varletjs.vercel.app/#/en-US/home">Documentation(Vercel)</a>
9
+ <a href="https://varlet.gitee.io/varlet-ui/#/en-US/home">Documentation(Gitee)</a>
9
10
  </p>
10
11
  <p>
11
12
  <img src="https://img.shields.io/npm/v/@varlet/ui?style=flat-square" alt="version">
package/README.md CHANGED
@@ -4,8 +4,10 @@
4
4
  </a>
5
5
  <h1>VARLET</h1>
6
6
  <p>基于 Vue3 的 Material design 风格移动端组件库</p>
7
- <p>
8
- <a href="https://varlet-varletjs.vercel.app">开发文档</a> | <a href="https://github.com/varletjs/varlet/blob/dev/README.en-US.md">English</a>
7
+ <p>
8
+ <a href="https://varlet-varletjs.vercel.app">文档(Vercel)</a> |
9
+ <a href="https://varlet.gitee.io/varlet-ui">文档(Gitee)</a> |
10
+ <a href="https://github.com/varletjs/varlet/blob/dev/README.en-US.md">English Readme</a>
9
11
  </p>
10
12
  <p>
11
13
  <img src="https://img.shields.io/npm/v/@varlet/ui?style=flat-square" alt="version">
@@ -12,32 +12,25 @@ export function releaseLock(uid) {
12
12
  delete context.locks[uid];
13
13
  resolveLock();
14
14
  }
15
- /**
16
- * 组件锁操作
17
- * @param props 组件props
18
- * @param state 组件props中控制组件加锁的开关对应的key值
19
- * @param use 组件props中控制组件加锁的开关是否可用对应的key值
20
- */
21
-
22
- export function useLock(props, state, use) {
15
+ export function useLock(source, useSource) {
23
16
  var {
24
17
  uid
25
18
  } = getCurrentInstance();
26
19
 
27
- if (use) {
28
- watch(() => props[use], newValue => {
20
+ if (useSource) {
21
+ watch(useSource, newValue => {
29
22
  if (newValue === false) {
30
23
  // 改变为禁用状态 组件解锁
31
24
  releaseLock(uid);
32
- } else if (newValue === true && props[state] === true) {
25
+ } else if (newValue === true && source() === true) {
33
26
  // 改变为启用状态 并且popup处于开启状态 组件加锁
34
27
  addLock(uid);
35
28
  }
36
29
  });
37
30
  }
38
31
 
39
- watch(() => props[state], newValue => {
40
- if (use && props[use] === false) {
32
+ watch(source, newValue => {
33
+ if (useSource && useSource() === false) {
41
34
  return;
42
35
  }
43
36
 
@@ -50,41 +43,41 @@ export function useLock(props, state, use) {
50
43
  }
51
44
  });
52
45
  onBeforeMount(() => {
53
- if (use && props[use] === false) {
46
+ if (useSource && useSource() === false) {
54
47
  return;
55
48
  }
56
49
 
57
- if (props[state] === true) {
50
+ if (source() === true) {
58
51
  // popup处于开启状态 组件挂载 组件加锁
59
52
  addLock(uid);
60
53
  }
61
54
  });
62
55
  onUnmounted(() => {
63
- if (use && props[use] === false) {
56
+ if (useSource && useSource() === false) {
64
57
  return;
65
58
  }
66
59
 
67
- if (props[state] === true) {
60
+ if (source() === true) {
68
61
  // popup处于开启状态 组件卸载 组件解锁
69
62
  releaseLock(uid);
70
63
  }
71
64
  });
72
65
  onActivated(() => {
73
- if (use && props[use] === false) {
66
+ if (useSource && useSource() === false) {
74
67
  return;
75
68
  }
76
69
 
77
- if (props[state] === true) {
70
+ if (source() === true) {
78
71
  // popup处于开启状态 组件处于keepalive前台 组件加锁
79
72
  addLock(uid);
80
73
  }
81
74
  });
82
75
  onDeactivated(() => {
83
- if (use && props[use] === false) {
76
+ if (useSource && useSource() === false) {
84
77
  return;
85
78
  }
86
79
 
87
- if (props[state] === true) {
80
+ if (source() === true) {
88
81
  // popup处于开启状态 组件处于keepalive后台 组件解锁
89
82
  releaseLock(uid);
90
83
  }
@@ -1 +1 @@
1
- :root { --counter-padding: 0 4px; --counter-font-color: #fff; --counter-background: var(--color-primary); --counter-input-width: 28px; --counter-input-margin: 0 4px; --counter-input-font-size: 14px; --counter-button-size: 28px; --counter-button-icon-size: 100%; --counter-disabled-color: var(--color-text-disabled); --input-error-color: var(--color-danger);}.var-counter { display: inline-flex; flex-direction: column; align-items: flex-start;}.var-counter__controller { display: flex; align-items: center; color: var(--counter-font-color); border-radius: var(--counter-button-size); padding: var(--counter-padding); background: var(--counter-background); transition: background-color 0.25s;}.var-counter__decrement-button[var-counter-cover] { width: var(--counter-button-size); height: var(--counter-button-size); font-size: var(--counter-button-icon-size); border-radius: 50%; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-counter__input { width: var(--counter-input-width); font-size: var(--counter-input-font-size); outline: none; border: none; background: transparent; padding: 0; text-align: center; color: var(--counter-font-color); margin: var(--counter-input-margin);}.var-counter__input[disabled] { background: transparent;}.var-counter__increment-button[var-counter-cover] { width: var(--counter-button-size); height: var(--counter-button-size); font-size: var(--counter-button-icon-size); border-radius: 50%; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-counter--disabled { background: var(--counter-disabled-color);}.var-counter--hidden { opacity: 0;}.var-counter--error { background: var(--color-danger);}
1
+ :root { --counter-padding: 0 4px; --counter-font-color: #fff; --counter-background: var(--color-primary); --counter-input-width: 28px; --counter-input-margin: 0 4px; --counter-input-font-size: 14px; --counter-button-size: 28px; --counter-button-icon-size: 100%; --counter-disabled-color: var(--color-text-disabled); --input-error-color: var(--color-danger);}.var-counter { display: inline-flex; flex-direction: column; align-items: flex-start;}.var-counter__controller { display: flex; align-items: center; color: var(--counter-font-color); border-radius: var(--counter-button-size); padding: var(--counter-padding); background: var(--counter-background); transition: background-color 0.25s;}.var-counter__decrement-button[var-counter-cover] { width: var(--counter-button-size); height: var(--counter-button-size); font-size: var(--counter-button-icon-size); border-radius: 50%; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; user-select: none;}.var-counter__input { width: var(--counter-input-width); font-size: var(--counter-input-font-size); outline: none; border: none; background: transparent; padding: 0; text-align: center; color: var(--counter-font-color); margin: var(--counter-input-margin);}.var-counter__input[disabled] { background: transparent;}.var-counter__increment-button[var-counter-cover] { width: var(--counter-button-size); height: var(--counter-button-size); font-size: var(--counter-button-icon-size); border-radius: 50%; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; user-select: none;}.var-counter--disabled { background: var(--counter-disabled-color);}.var-counter--hidden { opacity: 0;}.var-counter--error { background: var(--color-danger);}
@@ -44,6 +44,8 @@
44
44
  border-radius: 50%;
45
45
  cursor: pointer;
46
46
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
47
+ -webkit-user-select: none; // for safari
48
+ user-select: none;
47
49
  }
48
50
 
49
51
  &__input {
@@ -69,6 +71,8 @@
69
71
  border-radius: 50%;
70
72
  cursor: pointer;
71
73
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
74
+ -webkit-user-select: none; // for safari
75
+ user-select: none;
72
76
  }
73
77
 
74
78
  &--disabled {
package/es/input/Input.js CHANGED
@@ -232,6 +232,7 @@ export default defineComponent({
232
232
  var {
233
233
  value
234
234
  } = e.target;
235
+ value = withTrim(value);
235
236
  call(props['onUpdate:modelValue'], value);
236
237
  call(props.onInput, value, e);
237
238
  validateWithTrigger('onInput');
@@ -241,7 +242,7 @@ export default defineComponent({
241
242
  var {
242
243
  value
243
244
  } = e.target;
244
- call(props.onChange, value, e);
245
+ call(props.onChange, withTrim(value), e);
245
246
  validateWithTrigger('onChange');
246
247
  };
247
248
 
@@ -274,7 +275,9 @@ export default defineComponent({
274
275
 
275
276
  call(onClick, e);
276
277
  validateWithTrigger('onClick');
277
- }; // expose
278
+ };
279
+
280
+ var withTrim = value => props.modelModifiers.trim ? value.trim() : value; // expose
278
281
 
279
282
 
280
283
  var reset = () => {
package/es/input/props.js CHANGED
@@ -5,6 +5,10 @@ export var props = {
5
5
  modelValue: {
6
6
  type: String
7
7
  },
8
+ modelModifiers: {
9
+ type: Object,
10
+ default: () => ({})
11
+ },
8
12
  type: {
9
13
  type: String,
10
14
  default: 'text',
@@ -28,7 +28,12 @@ export function render(_ctx, _cache) {
28
28
  }, [_ctx.$slots.default ? (_openBlock(), _createElementBlock("div", {
29
29
  key: 0,
30
30
  class: _normalizeClass(_ctx.classes(_ctx.n('content'), [_ctx.loading, _ctx.n('content--active')]))
31
- }, [_renderSlot(_ctx.$slots, "default")], 2
31
+ }, [_renderSlot(_ctx.$slots, "default"), _ctx.loading ? (_openBlock(), _createElementBlock("div", {
32
+ key: 0,
33
+ class: _normalizeClass(_ctx.n('content-mask'))
34
+ }, null, 2
35
+ /* CLASS */
36
+ )) : _createCommentVNode("v-if", true)], 2
32
37
  /* CLASS */
33
38
  )) : _createCommentVNode("v-if", true), _ctx.isShow ? (_openBlock(), _createElementBlock("div", {
34
39
  key: 1,
@@ -1 +1 @@
1
- :root { --loading-opacity: 0.38; --loading-desc-margin: 8px 0 0;}.var-loading { position: relative;}.var-loading__content { transition: opacity 0.3s; opacity: 1;}.var-loading__content--active { opacity: var(--loading-opacity); user-select: none;}.var-loading__body { display: flex; justify-content: center; align-items: center; height: 100%; flex-direction: column;}.var-loading__inside { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1;}.var-loading__description { color: currentColor; margin: var(--loading-desc-margin);}.var-loading__description--large { font-size: 16px;}.var-loading__description--normal { font-size: 14px;}.var-loading__description--small { font-size: 12px;}.var-loading__description--mini { font-size: 10px;}.var-loading__circle { display: flex;}.var-loading__circle-block { display: inline-block; animation: circle 1.8s linear infinite;}.var-loading__circle-block svg { display: block; width: 100%; height: 100%;}.var-loading__circle-block svg circle { animation: circular 1.5s ease-in-out infinite; stroke: currentColor; stroke-width: 3; stroke-linecap: round;}@keyframes circle { from { transform: rotate(0deg); } to { transform: rotate(360deg); }}@keyframes circular { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 90, 150; stroke-dashoffset: -40; } 100% { stroke-dasharray: 90, 150; stroke-dashoffset: -120; }}.var-loading__wave { display: flex; align-items: center; justify-content: center;}.var-loading__wave--large { width: 64px; height: 18px;}.var-loading__wave--normal { width: 50px; height: 16px;}.var-loading__wave--small { width: 36px; height: 14px;}.var-loading__wave--mini { width: 22px; height: 12px;}.var-loading__wave-item { height: 100%; display: inline-block; animation: 1.2s ease-in-out infinite wave;}.var-loading__wave-item:nth-child(1) { animation-delay: -1.2s; margin-left: 0;}.var-loading__wave-item:nth-child(2) { animation-delay: -1.1s;}.var-loading__wave-item:nth-child(3) { animation-delay: -1s;}.var-loading__wave-item:nth-child(4) { animation-delay: -0.9s;}.var-loading__wave-item:nth-child(5) { animation-delay: -0.8s;}.var-loading__wave-item--large { width: 5px; margin-left: 5px;}.var-loading__wave-item--normal { width: 4px; margin-left: 4px;}.var-loading__wave-item--small { width: 3px; margin-left: 3px;}.var-loading__wave-item--mini { width: 2px; margin-left: 2px;}@keyframes wave { 0%, 40%, 100% { transform: scaleY(0.4); } 20% { transform: scaleY(1); }}.var-loading__cube { display: flex; align-items: center;}.var-loading__cube--large { width: 64px; height: 18px;}.var-loading__cube--normal { width: 50px; height: 16px;}.var-loading__cube--small { width: 36px; height: 14px;}.var-loading__cube--mini { width: 22px; height: 12px;}.var-loading__cube-item { display: inline-block; transform-origin: right bottom; animation: 1.5s ease infinite cube;}.var-loading__cube-item:nth-child(1) { animation-delay: 0.2s; margin-left: 0;}.var-loading__cube-item:nth-child(2) { animation-delay: 0.4s;}.var-loading__cube-item:nth-child(3) { animation-delay: 0.6s;}.var-loading__cube-item:nth-child(4) { animation-delay: 0.8s;}.var-loading__cube-item--large { height: 10px; width: 10px; margin-left: 5px;}.var-loading__cube-item--normal { height: 8px; width: 8px; margin-left: 4px;}.var-loading__cube-item--small { height: 6px; width: 6px; margin-left: 3px;}.var-loading__cube-item--mini { height: 4px; width: 4px; margin-left: 2px;}@keyframes cube { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(0.3); }}.var-loading__rect { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;}.var-loading__rect--large { width: 64px; height: 18px;}.var-loading__rect--normal { width: 50px; height: 16px;}.var-loading__rect--small { width: 36px; height: 14px;}.var-loading__rect--mini { width: 22px; height: 12px;}.var-loading__rect-item { animation: 2s ease-in-out infinite rect;}.var-loading__rect-item:nth-child(1) { animation-delay: 1.75s;}.var-loading__rect-item:nth-child(2) { animation-delay: 1.5s;}.var-loading__rect-item:nth-child(3) { animation-delay: 1.25s;}.var-loading__rect-item:nth-child(4) { animation-delay: 1s;}.var-loading__rect-item:nth-child(5) { animation-delay: 0.75s;}.var-loading__rect-item:nth-child(6) { animation-delay: 0.5s;}.var-loading__rect-item:nth-child(7) { animation-delay: 0.25s;}.var-loading__rect-item:nth-child(8) { animation-delay: 0s;}.var-loading__rect-item--large { height: 100%; width: 8px;}.var-loading__rect-item--normal { height: 90%; width: 6.4px;}.var-loading__rect-item--small { height: 80%; width: 4.8px;}.var-loading__rect-item--mini { height: 70%; width: 3.2px;}@keyframes rect { 0% { opacity: 0.3; } 25% { opacity: 1; } 50% { opacity: 0.3; } 65% { opacity: 1; } 100% { opacity: 0.3; }}.var-loading__disappear { display: flex; justify-content: space-around; align-items: center; flex-flow: nowrap;}.var-loading__disappear--large { width: 64px; height: 18px;}.var-loading__disappear--normal { width: 50px; height: 16px;}.var-loading__disappear--small { width: 36px; height: 14px;}.var-loading__disappear--mini { width: 22px; height: 12px;}.var-loading__disappear-item { border-radius: 50%; animation: 0.5s ease-in-out infinite alternate disappear;}.var-loading__disappear-item:nth-child(1) { animation-delay: -0.4s;}.var-loading__disappear-item:nth-child(2) { animation-delay: -0.2s;}.var-loading__disappear-item:nth-child(3) { animation-delay: 0s;}.var-loading__disappear-item--large { height: 15px; width: 15px;}.var-loading__disappear-item--normal { height: 12px; width: 12px;}.var-loading__disappear-item--small { height: 9px; width: 9px;}.var-loading__disappear-item--mini { height: 6px; width: 6px;}@keyframes disappear { 0% { opacity: 1; } 100% { opacity: 0; }}
1
+ :root { --loading-opacity: 0.38; --loading-desc-margin: 8px 0 0;}.var-loading { position: relative;}.var-loading__content { position: relative; transition: opacity 0.3s; opacity: 1;}.var-loading__content--active { opacity: var(--loading-opacity);}.var-loading__content-mask { position: absolute; left: 0; right: 0; top: 0; bottom: 0;}.var-loading__body { display: flex; justify-content: center; align-items: center; height: 100%; flex-direction: column;}.var-loading__inside { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1;}.var-loading__description { color: currentColor; margin: var(--loading-desc-margin);}.var-loading__description--large { font-size: 16px;}.var-loading__description--normal { font-size: 14px;}.var-loading__description--small { font-size: 12px;}.var-loading__description--mini { font-size: 10px;}.var-loading__circle { display: flex;}.var-loading__circle-block { display: inline-block; animation: circle 1.8s linear infinite;}.var-loading__circle-block svg { display: block; width: 100%; height: 100%;}.var-loading__circle-block svg circle { animation: circular 1.5s ease-in-out infinite; stroke: currentColor; stroke-width: 3; stroke-linecap: round;}@keyframes circle { from { transform: rotate(0deg); } to { transform: rotate(360deg); }}@keyframes circular { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 90, 150; stroke-dashoffset: -40; } 100% { stroke-dasharray: 90, 150; stroke-dashoffset: -120; }}.var-loading__wave { display: flex; align-items: center; justify-content: center;}.var-loading__wave--large { width: 64px; height: 18px;}.var-loading__wave--normal { width: 50px; height: 16px;}.var-loading__wave--small { width: 36px; height: 14px;}.var-loading__wave--mini { width: 22px; height: 12px;}.var-loading__wave-item { height: 100%; display: inline-block; animation: 1.2s ease-in-out infinite wave;}.var-loading__wave-item:nth-child(1) { animation-delay: -1.2s; margin-left: 0;}.var-loading__wave-item:nth-child(2) { animation-delay: -1.1s;}.var-loading__wave-item:nth-child(3) { animation-delay: -1s;}.var-loading__wave-item:nth-child(4) { animation-delay: -0.9s;}.var-loading__wave-item:nth-child(5) { animation-delay: -0.8s;}.var-loading__wave-item--large { width: 5px; margin-left: 5px;}.var-loading__wave-item--normal { width: 4px; margin-left: 4px;}.var-loading__wave-item--small { width: 3px; margin-left: 3px;}.var-loading__wave-item--mini { width: 2px; margin-left: 2px;}@keyframes wave { 0%, 40%, 100% { transform: scaleY(0.4); } 20% { transform: scaleY(1); }}.var-loading__cube { display: flex; align-items: center;}.var-loading__cube--large { width: 64px; height: 18px;}.var-loading__cube--normal { width: 50px; height: 16px;}.var-loading__cube--small { width: 36px; height: 14px;}.var-loading__cube--mini { width: 22px; height: 12px;}.var-loading__cube-item { display: inline-block; transform-origin: right bottom; animation: 1.5s ease infinite cube;}.var-loading__cube-item:nth-child(1) { animation-delay: 0.2s; margin-left: 0;}.var-loading__cube-item:nth-child(2) { animation-delay: 0.4s;}.var-loading__cube-item:nth-child(3) { animation-delay: 0.6s;}.var-loading__cube-item:nth-child(4) { animation-delay: 0.8s;}.var-loading__cube-item--large { height: 10px; width: 10px; margin-left: 5px;}.var-loading__cube-item--normal { height: 8px; width: 8px; margin-left: 4px;}.var-loading__cube-item--small { height: 6px; width: 6px; margin-left: 3px;}.var-loading__cube-item--mini { height: 4px; width: 4px; margin-left: 2px;}@keyframes cube { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(0.3); }}.var-loading__rect { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;}.var-loading__rect--large { width: 64px; height: 18px;}.var-loading__rect--normal { width: 50px; height: 16px;}.var-loading__rect--small { width: 36px; height: 14px;}.var-loading__rect--mini { width: 22px; height: 12px;}.var-loading__rect-item { animation: 2s ease-in-out infinite rect;}.var-loading__rect-item:nth-child(1) { animation-delay: 1.75s;}.var-loading__rect-item:nth-child(2) { animation-delay: 1.5s;}.var-loading__rect-item:nth-child(3) { animation-delay: 1.25s;}.var-loading__rect-item:nth-child(4) { animation-delay: 1s;}.var-loading__rect-item:nth-child(5) { animation-delay: 0.75s;}.var-loading__rect-item:nth-child(6) { animation-delay: 0.5s;}.var-loading__rect-item:nth-child(7) { animation-delay: 0.25s;}.var-loading__rect-item:nth-child(8) { animation-delay: 0s;}.var-loading__rect-item--large { height: 100%; width: 8px;}.var-loading__rect-item--normal { height: 90%; width: 6.4px;}.var-loading__rect-item--small { height: 80%; width: 4.8px;}.var-loading__rect-item--mini { height: 70%; width: 3.2px;}@keyframes rect { 0% { opacity: 0.3; } 25% { opacity: 1; } 50% { opacity: 0.3; } 65% { opacity: 1; } 100% { opacity: 0.3; }}.var-loading__disappear { display: flex; justify-content: space-around; align-items: center; flex-flow: nowrap;}.var-loading__disappear--large { width: 64px; height: 18px;}.var-loading__disappear--normal { width: 50px; height: 16px;}.var-loading__disappear--small { width: 36px; height: 14px;}.var-loading__disappear--mini { width: 22px; height: 12px;}.var-loading__disappear-item { border-radius: 50%; animation: 0.5s ease-in-out infinite alternate disappear;}.var-loading__disappear-item:nth-child(1) { animation-delay: -0.4s;}.var-loading__disappear-item:nth-child(2) { animation-delay: -0.2s;}.var-loading__disappear-item:nth-child(3) { animation-delay: 0s;}.var-loading__disappear-item--large { height: 15px; width: 15px;}.var-loading__disappear-item--normal { height: 12px; width: 12px;}.var-loading__disappear-item--small { height: 9px; width: 9px;}.var-loading__disappear-item--mini { height: 6px; width: 6px;}@keyframes disappear { 0% { opacity: 1; } 100% { opacity: 0; }}
@@ -23,12 +23,20 @@
23
23
  position: relative;
24
24
 
25
25
  &__content {
26
+ position: relative;
26
27
  transition: opacity 0.3s;
27
28
  opacity: 1;
28
29
 
29
30
  &--active {
30
31
  opacity: var(--loading-opacity);
31
- user-select: none;
32
+ }
33
+
34
+ &-mask {
35
+ position: absolute;
36
+ left: 0;
37
+ right: 0;
38
+ top: 0;
39
+ bottom: 0;
32
40
  }
33
41
  }
34
42
 
@@ -108,10 +108,7 @@ export function render(_ctx, _cache) {
108
108
  /* KEYED_FRAGMENT */
109
109
  ))]),
110
110
  default: _withCtx(() => [_createElementVNode("div", {
111
- class: _normalizeClass(_ctx.n('size--open')),
112
- style: {
113
- "display": "flex"
114
- },
111
+ class: _normalizeClass(_ctx.classes(_ctx.n('size--open'), [_ctx.current <= 1 || _ctx.disabled, _ctx.n('size--open--disabled')])),
115
112
  onClick: _cache[5] || (_cache[5] = function () {
116
113
  return _ctx.showMenu && _ctx.showMenu(...arguments);
117
114
  })
@@ -1 +1 @@
1
- :root { --pagination-font-size: var(--font-size-md); --pagination-active-color: #fff; --pagination-active-bg-color: var(--color-primary); --pagination-hover-bg-color: #edf5ff; --pagination-total-margin: 0 12px; --pagination-total-line-height: 24px; --pagination-item-width: 32px; --pagination-item-height: 32px; --pagination-item-margin: 0 6px; --pagination-item-background: #fff; --pagination-item-border-radius: 4px; --pagination-list-bg-color: #fff; --pagination-list-active-bg-color: #edf5ff; --pagination-list-active-color: var(--color-primary); --pagination-input-width: 32px; --pagination-simple-padding: 0 0 2px 0; --pagination-disabled-color: var(--color-text-disabled); --pagination-bg-disabled-color: var(--color-disabled); --pagination-size-line-height: 24px;}.pagination-flex-nowrap { display: flex; white-space: nowrap; align-items: center;}.var-pagination { display: flex; align-items: center; list-style: none; margin: 0; font-size: var(--pagination-font-size); padding: 0;}.var-pagination__item { display: inline-flex; min-width: var(--pagination-item-width); align-items: center; justify-content: center; margin: var(--pagination-item-margin); height: var(--pagination-item-height); cursor: pointer; border-radius: var(--pagination-item-border-radius); outline: none; transition: all 0.25s; user-select: none; background: var(--pagination-item-background);}.var-pagination__item:hover { background-color: var(--pagination-hover-bg-color);}.var-pagination__item--active { color: var(--pagination-active-color); background-color: var(--pagination-active-bg-color) !important;}.var-pagination__item--disabled--active { background: var(--pagination-bg-disabled-color);}.var-pagination__item--hide { display: none;}.var-pagination__item--disabled { cursor: default !important; color: var(--pagination-disabled-color);}.var-pagination__item--disabled:hover { background-color: unset;}.var-pagination__item--hover:hover { background: inherit;}.var-pagination__prev { margin-left: 0;}.var-pagination__total { display: flex; white-space: nowrap; align-items: center; line-height: var(--pagination-total-line-height); margin: var(--pagination-total-margin);}.var-pagination__size { display: flex; white-space: nowrap; align-items: center; line-height: var(--pagination-size-line-height); margin: var(--pagination-item-margin);}.var-pagination__size--open { display: flex; align-items: center; cursor: pointer;}.var-pagination__list { background-color: var(--pagination-list-bg-color); cursor: pointer; transition: all 0.25s;}.var-pagination__list:hover { color: var(--pagination-list-active-color); background-color: var(--pagination-hover-bg-color);}.var-pagination__list--active { background-color: var(--pagination-list-active-bg-color) !important; color: var(--pagination-list-active-color);}.var-pagination__quickly,.var-pagination__simple { display: flex; white-space: nowrap; align-items: center;}.var-pagination__quickly [var-pagination-cover],.var-pagination__simple [var-pagination-cover] { width: var(--pagination-input-width);}.var-pagination__quickly [var-pagination-cover] .var-input__wrap,.var-pagination__simple [var-pagination-cover] .var-input__wrap { padding: 0;}.var-pagination__quickly [var-pagination-cover] .var-input__input,.var-pagination__simple [var-pagination-cover] .var-input__input { height: auto; text-align: center;}.var-pagination__quickly { margin: var(--pagination-item-margin);}.var-pagination__quickly [var-pagination-cover] { margin-left: 6px;}.var-pagination__size--open-icon[var-pagination-cover] { font-size: inherit;}.var-pagination--simple-padding { padding: var(--pagination-simple-padding);}
1
+ :root { --pagination-font-size: var(--font-size-md); --pagination-active-color: #fff; --pagination-active-bg-color: var(--color-primary); --pagination-hover-bg-color: #edf5ff; --pagination-total-margin: 0 12px; --pagination-total-line-height: 24px; --pagination-item-width: 32px; --pagination-item-height: 32px; --pagination-item-margin: 0 6px; --pagination-item-background: #fff; --pagination-item-border-radius: 4px; --pagination-list-bg-color: #fff; --pagination-list-active-bg-color: #edf5ff; --pagination-list-active-color: var(--color-primary); --pagination-input-width: 32px; --pagination-simple-padding: 0 0 2px 0; --pagination-disabled-color: var(--color-text-disabled); --pagination-bg-disabled-color: var(--color-disabled); --pagination-size-line-height: 24px;}.pagination-flex-nowrap { display: flex; white-space: nowrap; align-items: center;}.var-pagination { display: flex; align-items: center; list-style: none; margin: 0; font-size: var(--pagination-font-size); padding: 0;}.var-pagination__item { display: inline-flex; min-width: var(--pagination-item-width); align-items: center; justify-content: center; margin: var(--pagination-item-margin); height: var(--pagination-item-height); cursor: pointer; border-radius: var(--pagination-item-border-radius); outline: none; transition: all 0.25s; user-select: none; background-color: var(--pagination-item-background);}.var-pagination__item:hover { background-color: var(--pagination-hover-bg-color);}.var-pagination__item--active { color: var(--pagination-active-color); background-color: var(--pagination-active-bg-color) !important;}.var-pagination__item--hide { display: none;}.var-pagination__item--disabled { cursor: default; color: var(--pagination-disabled-color); background-color: unset;}.var-pagination__item--disabled:hover { background-color: unset;}.var-pagination__item--disabled--hover:hover { background-color: inherit;}.var-pagination__item--disabled--active { background-color: var(--pagination-bg-disabled-color);}.var-pagination__item--disabled--active:hover { background-color: var(--pagination-bg-disabled-color);}.var-pagination__prev { margin-left: 0;}.var-pagination__total { display: flex; white-space: nowrap; align-items: center; line-height: var(--pagination-total-line-height); margin: var(--pagination-total-margin);}.var-pagination__size { display: flex; white-space: nowrap; align-items: center; line-height: var(--pagination-size-line-height); margin: var(--pagination-item-margin);}.var-pagination__size--open { display: flex; align-items: center; cursor: pointer;}.var-pagination__size--open--disabled { cursor: default;}.var-pagination__list { background-color: var(--pagination-list-bg-color); cursor: pointer; transition: all 0.25s;}.var-pagination__list:hover { color: var(--pagination-list-active-color); background-color: var(--pagination-hover-bg-color);}.var-pagination__list--active { background-color: var(--pagination-list-active-bg-color) !important; color: var(--pagination-list-active-color);}.var-pagination__quickly,.var-pagination__simple { display: flex; white-space: nowrap; align-items: center;}.var-pagination__quickly [var-pagination-cover],.var-pagination__simple [var-pagination-cover] { width: var(--pagination-input-width);}.var-pagination__quickly [var-pagination-cover] .var-input__wrap,.var-pagination__simple [var-pagination-cover] .var-input__wrap { padding: 0;}.var-pagination__quickly [var-pagination-cover] .var-input__input,.var-pagination__simple [var-pagination-cover] .var-input__input { height: auto; text-align: center;}.var-pagination__quickly { margin: var(--pagination-item-margin);}.var-pagination__quickly [var-pagination-cover] { margin-left: 6px;}.var-pagination__size--open-icon[var-pagination-cover] { font-size: inherit;}.var-pagination--simple-padding { padding: var(--pagination-simple-padding);}
@@ -67,7 +67,7 @@
67
67
  outline: none;
68
68
  transition: all 0.25s;
69
69
  user-select: none;
70
- background: var(--pagination-item-background);
70
+ background-color: var(--pagination-item-background);
71
71
 
72
72
  &:hover {
73
73
  background-color: var(--pagination-hover-bg-color);
@@ -78,26 +78,31 @@
78
78
  background-color: var(--pagination-active-bg-color) !important;
79
79
  }
80
80
 
81
- &--disabled--active {
82
- background: var(--pagination-bg-disabled-color);
83
- }
84
-
85
81
  &--hide {
86
82
  display: none;
87
83
  }
88
84
 
89
85
  &--disabled {
90
- cursor: default !important;
86
+ cursor: default;
91
87
  color: var(--pagination-disabled-color);
88
+ background-color: unset;
92
89
 
93
90
  &:hover {
94
91
  background-color: unset;
95
92
  }
96
- }
97
93
 
98
- &--hover {
99
- &:hover {
100
- background: inherit;
94
+ &--hover {
95
+ &:hover {
96
+ background-color: inherit;
97
+ }
98
+ }
99
+
100
+ &--active {
101
+ background-color: var(--pagination-bg-disabled-color);
102
+
103
+ &:hover {
104
+ background-color: var(--pagination-bg-disabled-color);
105
+ }
101
106
  }
102
107
  }
103
108
  }
@@ -123,6 +128,10 @@
123
128
  display: flex;
124
129
  align-items: center;
125
130
  cursor: pointer;
131
+
132
+ &--disabled {
133
+ cursor: default;
134
+ }
126
135
  }
127
136
  }
128
137
 
@@ -296,26 +296,33 @@ export default defineComponent({
296
296
  scrollEl: null,
297
297
  scrolling: false
298
298
  };
299
- scrollTo(scrollColumn, scrollColumn.index, 200);
299
+ scrollTo(scrollColumn, scrollColumn.index, 0, true);
300
300
  return scrollColumn;
301
301
  });
302
302
  };
303
303
 
304
304
  var normalizeCascadeColumns = cascadeColumns => {
305
305
  var scrollColumns = [];
306
- createChildren(scrollColumns, cascadeColumns);
306
+ createChildren(scrollColumns, cascadeColumns, true);
307
307
  return scrollColumns;
308
308
  };
309
309
 
310
- var createChildren = (scrollColumns, children) => {
310
+ var createChildren = function (scrollColumns, children, initial) {
311
+ if (initial === void 0) {
312
+ initial = false;
313
+ }
314
+
311
315
  if (isArray(children) && children.length) {
316
+ var _props$cascadeInitial;
317
+
318
+ var index = initial ? (_props$cascadeInitial = props.cascadeInitialIndexes[scrollColumns.length]) != null ? _props$cascadeInitial : 0 : 0;
312
319
  var scrollColumn = {
313
320
  id: sid++,
314
321
  prevY: undefined,
315
322
  momentumPrevY: undefined,
316
323
  touching: false,
317
324
  translate: center.value,
318
- index: 0,
325
+ index,
319
326
  duration: 0,
320
327
  momentumTime: 0,
321
328
  column: {
@@ -326,7 +333,8 @@ export default defineComponent({
326
333
  scrolling: false
327
334
  };
328
335
  scrollColumns.push(scrollColumn);
329
- createChildren(scrollColumns, scrollColumn.columns[scrollColumn.index].children);
336
+ scrollTo(scrollColumn, scrollColumn.index, 0, true);
337
+ createChildren(scrollColumns, scrollColumn.columns[scrollColumn.index].children, initial);
330
338
  }
331
339
  };
332
340
 
@@ -1 +1 @@
1
- :root { --picker-background: #fff; --picker-toolbar-height: 44px; --picker-confirm-button-text-color: var(--color-primary); --picker-cancel-button-text-color: #888; --picker-picked-border: 1px solid rgba(0, 0, 0, 0.12); --picker-title-font-size: 16px; --picker-toolbar-padding: 0 4px; --picker-mask-background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.9), hsla(0, 0%, 100%, 0.4)), linear-gradient(0deg, hsla(0, 0%, 100%, 0.9), hsla(0, 0%, 100%, 0.4));}.var-picker { width: 100%; background: var(--picker-background); user-select: none; transition: 0.25s background-color;}.var-picker__popup[var-picker-cover] { width: 100%;}.var-picker__columns { position: relative; display: flex; width: 100%; cursor: grab;}.var-picker__column { flex: 1; overflow: hidden;}.var-picker__text { overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}.var-picker__scroller { width: 100%; transition-timing-function: cubic-bezier(0.23, 1, 0.68, 1);}.var-picker__option { display: flex; justify-content: center; align-items: center; width: 100%; padding: 0 4px;}.var-picker__picked { position: absolute; z-index: 2; pointer-events: none; width: 100%; left: 0; border-top: var(--picker-picked-border); border-bottom: var(--picker-picked-border); transition: 0.25s border;}.var-picker__mask { position: absolute; pointer-events: none; top: 0; left: 0; width: 100%; height: 100%;}.var-picker__toolbar { display: flex; justify-content: space-between; align-items: center; width: 100%; height: var(--picker-toolbar-height); padding: var(--picker-toolbar-padding);}.var-picker__confirm-button[var-picker-cover] { color: var(--picker-confirm-button-text-color);}.var-picker__cancel-button[var-picker-cover] { color: var(--picker-cancel-button-text-color);}.var-picker__title { font-size: var(--picker-title-font-size);}
1
+ :root { --picker-background: #fff; --picker-toolbar-height: 44px; --picker-confirm-button-text-color: var(--color-primary); --picker-cancel-button-text-color: #888; --picker-picked-border: 1px solid rgba(0, 0, 0, 0.12); --picker-title-font-size: 16px; --picker-toolbar-padding: 0 4px; --picker-mask-background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.9), hsla(0, 0%, 100%, 0.4)), linear-gradient(0deg, hsla(0, 0%, 100%, 0.9), hsla(0, 0%, 100%, 0.4));}.var-picker { width: 100%; background: var(--picker-background); user-select: none; transition: 0.25s background-color;}.var-picker__popup[var-picker-cover] { width: 100%;}.var-picker__columns { position: relative; display: flex; width: 100%; cursor: grab;}.var-picker__column { flex: 1; overflow: hidden;}.var-picker__text { overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}.var-picker__scroller { width: 100%; transition-timing-function: cubic-bezier(0.23, 1, 0.68, 1);}.var-picker__option { display: flex; justify-content: center; align-items: center; width: 100%; padding: 0 4px;}.var-picker__picked { position: absolute; z-index: 2; pointer-events: none; width: 100%; left: 0; border-top: var(--picker-picked-border); border-bottom: var(--picker-picked-border); transition: 0.25s border;}.var-picker__mask { position: absolute; pointer-events: none; top: 0; left: 0; width: 100%; height: 100%; background-image: var(--picker-mask-background-image); background-repeat: no-repeat; background-position: top, bottom;}.var-picker__toolbar { display: flex; justify-content: space-between; align-items: center; width: 100%; height: var(--picker-toolbar-height); padding: var(--picker-toolbar-padding);}.var-picker__confirm-button[var-picker-cover] { color: var(--picker-confirm-button-text-color);}.var-picker__cancel-button[var-picker-cover] { color: var(--picker-cancel-button-text-color);}.var-picker__title { font-size: var(--picker-title-font-size);}
@@ -78,6 +78,9 @@
78
78
  left: 0;
79
79
  width: 100%;
80
80
  height: 100%;
81
+ background-image: var(--picker-mask-background-image);
82
+ background-repeat: no-repeat;
83
+ background-position: top, bottom;
81
84
  }
82
85
 
83
86
  &__toolbar {
@@ -22,6 +22,10 @@ export var props = _extends({
22
22
  type: Boolean,
23
23
  default: false
24
24
  },
25
+ cascadeInitialIndexes: {
26
+ type: Array,
27
+ default: () => []
28
+ },
25
29
  optionHeight: {
26
30
  type: [Number, String],
27
31
  default: 44
package/es/popup/Popup.js CHANGED
@@ -51,7 +51,7 @@ export default defineComponent({
51
51
  (_props$onUpdateShow = props['onUpdate:show']) == null ? void 0 : _props$onUpdateShow.call(props, false);
52
52
  };
53
53
 
54
- useLock(props, 'show', 'lockScroll');
54
+ useLock(() => props.show, () => props.lockScroll);
55
55
  watch(() => props.show, newValue => {
56
56
  var {
57
57
  onOpen,
@@ -1,3 +1,7 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
+
3
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
+
1
5
  import VarIcon from '../icon';
2
6
  import { defineComponent, ref, computed, watch, onMounted } from 'vue';
3
7
  import { getParentScroller, getScrollTop } from '../utils/elements';
@@ -10,7 +14,7 @@ var {
10
14
  } = createNamespace('pull-refresh');
11
15
  var MAX_DISTANCE = 100;
12
16
  var CONTROL_POSITION = -50;
13
- var scroller;
17
+ var ICON_TRANSITION = 150;
14
18
  import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
15
19
  export function render(_ctx, _cache) {
16
20
  var _component_var_icon = _resolveComponent("var-icon");
@@ -35,12 +39,12 @@ export function render(_ctx, _cache) {
35
39
  style: _normalizeStyle(_ctx.controlStyle)
36
40
  }, [_createVNode(_component_var_icon, {
37
41
  name: _ctx.iconName,
38
- transition: 200,
39
- class: _normalizeClass(_ctx.classes(_ctx.n('icon'), [_ctx.refreshStatus === 'loading', _ctx.n('animation')])),
42
+ transition: _ctx.ICON_TRANSITION,
43
+ class: _normalizeClass(_ctx.classes(_ctx.n('icon'), [_ctx.refreshStatus === 'loading' && _ctx.iconHasChanged, _ctx.n('animation')])),
40
44
  "var-pull-refresh-cover": ""
41
45
  }, null, 8
42
46
  /* PROPS */
43
- , ["name", "class"])], 6
47
+ , ["name", "transition", "class"])], 6
44
48
  /* CLASS, STYLE */
45
49
  ), _renderSlot(_ctx.$slots, "default")], 34
46
50
  /* CLASS, HYDRATE_EVENTS */
@@ -55,12 +59,16 @@ export default defineComponent({
55
59
  props,
56
60
 
57
61
  setup(props) {
62
+ var scroller;
63
+ var changing;
58
64
  var freshNode = ref(null);
59
65
  var startPosition = ref(0);
60
66
  var distance = ref(CONTROL_POSITION);
61
67
  var iconName = ref('arrow-down');
62
68
  var refreshStatus = ref('default');
63
- var isEnd = ref(false);
69
+ var isEnd = ref(false); // https://github.com/varletjs/varlet/issues/509
70
+
71
+ var iconHasChanged = ref(true);
64
72
  var isTouchable = computed(() => refreshStatus.value !== 'loading' && refreshStatus.value !== 'success' && !props.disabled);
65
73
  var controlStyle = computed(() => ({
66
74
  transform: "translate3d(0px, " + distance.value + "px, 0px) translate(-50%, 0)",
@@ -70,6 +78,15 @@ export default defineComponent({
70
78
  }));
71
79
  var isSuccess = computed(() => refreshStatus.value === 'success');
72
80
 
81
+ var changeIcon = () => {
82
+ return new Promise(resolve => {
83
+ window.setTimeout(() => {
84
+ iconHasChanged.value = true;
85
+ resolve();
86
+ }, ICON_TRANSITION);
87
+ });
88
+ };
89
+
73
90
  var touchStart = event => {
74
91
  if (!isTouchable.value) return;
75
92
  refreshStatus.value = 'pulling';
@@ -82,30 +99,44 @@ export default defineComponent({
82
99
  if (scrollTop === 0 && distance.value > CONTROL_POSITION) event.cancelable && event.preventDefault();
83
100
  var moveDistance = (event.touches[0].clientY - startPosition.value) / 2 + CONTROL_POSITION;
84
101
  distance.value = moveDistance >= MAX_DISTANCE ? MAX_DISTANCE : moveDistance;
85
- iconName.value = distance.value >= MAX_DISTANCE * 0.2 ? 'refresh' : 'arrow-down';
86
- };
87
-
88
- var touchEnd = () => {
89
- if (!isTouchable.value) return;
90
- isEnd.value = true;
91
102
 
92
103
  if (distance.value >= MAX_DISTANCE * 0.2) {
93
- var _props$onUpdateModel;
94
-
95
- refreshStatus.value = 'loading';
96
- distance.value = MAX_DISTANCE * 0.3;
97
- (_props$onUpdateModel = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel.call(props, true);
98
- props.onRefresh == null ? void 0 : props.onRefresh();
104
+ iconHasChanged.value = false;
105
+ iconName.value = 'refresh';
106
+ changing = changeIcon();
99
107
  } else {
100
- refreshStatus.value = 'loosing';
101
108
  iconName.value = 'arrow-down';
102
- distance.value = CONTROL_POSITION;
103
- setTimeout(() => {
104
- isEnd.value = false;
105
- }, toNumber(props.animationDuration));
106
109
  }
107
110
  };
108
111
 
112
+ var touchEnd = /*#__PURE__*/function () {
113
+ var _ref = _asyncToGenerator(function* () {
114
+ if (!isTouchable.value) return;
115
+ isEnd.value = true;
116
+
117
+ if (distance.value >= MAX_DISTANCE * 0.2) {
118
+ var _props$onUpdateModel;
119
+
120
+ yield changing;
121
+ refreshStatus.value = 'loading';
122
+ distance.value = MAX_DISTANCE * 0.3;
123
+ (_props$onUpdateModel = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel.call(props, true);
124
+ props.onRefresh == null ? void 0 : props.onRefresh();
125
+ } else {
126
+ refreshStatus.value = 'loosing';
127
+ iconName.value = 'arrow-down';
128
+ distance.value = CONTROL_POSITION;
129
+ setTimeout(() => {
130
+ isEnd.value = false;
131
+ }, toNumber(props.animationDuration));
132
+ }
133
+ });
134
+
135
+ return function touchEnd() {
136
+ return _ref.apply(this, arguments);
137
+ };
138
+ }();
139
+
109
140
  var reset = () => {
110
141
  setTimeout(() => {
111
142
  refreshStatus.value = 'default';
@@ -131,6 +162,8 @@ export default defineComponent({
131
162
  return {
132
163
  n,
133
164
  classes,
165
+ iconHasChanged,
166
+ ICON_TRANSITION,
134
167
  refreshStatus,
135
168
  freshNode,
136
169
  touchStart,
@@ -75,7 +75,7 @@ export default defineComponent({
75
75
  var {
76
76
  zIndex
77
77
  } = useZIndex(() => props.show, 1);
78
- useLock(props, 'show', 'lockScroll');
78
+ useLock(() => props.show, () => props.lockScroll);
79
79
  var isForbidClick = computed(() => props.type === 'loading' || props.forbidClick);
80
80
  var iconName = computed(() => {
81
81
  if (!props.type) return '';
@@ -1,8 +1,8 @@
1
1
  import '../../styles/common.css'
2
+ import '../SnackbarSfc.css'
2
3
  import '../../styles/elevation.css'
3
4
  import '../../loading/loading.css'
4
5
  import '../../button/button.css'
5
6
  import '../../icon/icon.css'
6
7
  import '../snackbar.css'
7
8
  import '../coreSfc.css'
8
- import '../SnackbarSfc.css'
@@ -1,8 +1,8 @@
1
1
  import '../../styles/common.less'
2
+ import '../SnackbarSfc.less'
2
3
  import '../../styles/elevation.less'
3
4
  import '../../loading/loading.less'
4
5
  import '../../button/button.less'
5
6
  import '../../icon/icon.less'
6
7
  import '../snackbar.less'
7
8
  import '../coreSfc.less'
8
- import '../SnackbarSfc.less'