snail.vue 2.0.12 → 2.0.15

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.
package/dist/snail.vue.js CHANGED
@@ -1,10 +1,10 @@
1
1
  //@ sourceURL=/snail.vue.js
2
- import { defineComponent, createElementBlock, openBlock, normalizeClass, renderSlot, createTextVNode, shallowRef, normalizeStyle, createElementVNode, toDisplayString, Fragment, renderList, unref, mergeModels, useModel, computed, createCommentVNode, createBlock, nextTick, onMounted, onUnmounted, useTemplateRef, createVNode, watch, withDirectives, isRef, vModelText, createApp, Transition, withCtx, normalizeProps, guardReactiveProps, ref, onErrorCaptured, resolveDynamicComponent, mergeProps, createSlots, withModifiers, getCurrentInstance, resolveComponent, onBeforeUnmount, TransitionGroup, getCurrentScope, onScopeDispose } from 'vue';
3
- import { throwError, isArrayNotEmpty, isStringNotEmpty, useKey, isArray, useTimer, newId, script, isFunction, getFromArray, mountScope, useScopes, throwIfFalse, isPromise, wait, isObject, isNumberNotNaN, hasAny, mustFunction, useScope, removeFromArray, mustObject, delay, defer, useAsyncScope, useHook, throwIfTrue, correctTimeValue, getDateValue, formatDateValue, parseTimeValue, getTimeValue, padStart, formatTimeValue, parseDateValue, correctDateFormat, getDateByValue, correctNumber, onMountScope } from 'snail.core';
2
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, renderSlot, createTextVNode, shallowRef, normalizeStyle, unref, createElementVNode, toDisplayString, Fragment, renderList, mergeModels, useModel, computed, createCommentVNode, createBlock, nextTick, useTemplateRef, createVNode, watch, withDirectives, isRef, vModelText, createApp, resolveDynamicComponent, TransitionGroup, Transition, mergeProps, withCtx, normalizeProps, guardReactiveProps, ref, onErrorCaptured, createSlots, onMounted, withModifiers, getCurrentInstance, resolveComponent, onBeforeUnmount, getCurrentScope, onScopeDispose } from 'vue';
3
+ import { throwError, isArrayNotEmpty, isStringNotEmpty, correctString, useKey, isArray, mountScope, useScopes, throwIfFalse, isPromise, wait, isObject, isNumberNotNaN, hasAny, mustFunction, useScope, removeFromArray, mustObject, hasOwnProperty, correctNumber, isString, script, delay, useTimer, defer, useAsyncScope, useHook, newId, throwIfTrue, isFunction, getTimeNumber, getDateValue, parseDate, formatDateValue, getDateByValue, parseTimeValue, getTimeValue, padStart, formatTimeValue, parseDateValue, correctDateFormat, isValidTime, getFromArray, onMountScope } from 'snail.core';
4
4
  import { css, link, useObserver, useAnimation } from 'snail.view';
5
5
 
6
- const _hoisted_1$k = ["title"];
7
- var _sfc_main$z = defineComponent({
6
+ const _hoisted_1$l = ["title"];
7
+ var _sfc_main$A = defineComponent({
8
8
  ...{
9
9
  name: "Button",
10
10
  inheritAttrs: true
@@ -20,7 +20,7 @@ var _sfc_main$z = defineComponent({
20
20
  return openBlock(), createElementBlock("div", {
21
21
  class: normalizeClass(["snail-button", [__props.size, __props.type]]),
22
22
  title: __props.title
23
- }, [renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = createTextVNode("按钮", -1))])], 10, _hoisted_1$k);
23
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = createTextVNode("按钮", -1))])], 10, _hoisted_1$l);
24
24
  };
25
25
  }
26
26
  });
@@ -47,6 +47,8 @@ function getSvgDraw(iconType, draw) {
47
47
  return ["M651.3 514.2c0 8.2-3.1 16.4-9.4 22.6L426.4 752.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L574 514.2 381.1 321.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l215.5 215.5c6.2 6.3 9.4 14.5 9.4 22.6z"];
48
48
  case "datepicker":
49
49
  return ["M848.9 118h-93.5c-8.7 0-15.8-7.1-15.8-15.8V60.6c0-16.3-12.8-30.2-29.2-30.6-17-0.5-30.8 13.1-30.8 30v42.3c0 8.7-7.1 15.8-15.8 15.8H363.3c-8.7 0-15.8-7.1-15.8-15.8V60.6c0-16.3-12.8-30.2-29.2-30.6-17-0.5-30.8 13.1-30.8 30v42.3c0 8.7-7.1 15.8-15.8 15.8h-96.6C98.8 118 37 179.8 37 256.1v599.8C37 932.2 98.8 994 175.1 994h673.7c76.3 0 138.1-61.8 138.1-138.1V256.1c0.1-76.3-61.7-138.1-138-138.1zM97 256.1c0-43.2 35-78.1 78.1-78.1h96.6c8.7 0 15.8 7.1 15.8 15.8v41.7c0 16.3 12.8 30.2 29.2 30.6 17 0.5 30.8-13.1 30.8-30v-42.3c0-8.7 7.1-15.8 15.8-15.8h300.5c8.7 0 15.8 7.1 15.8 15.8v41.7c0 16.3 12.8 30.2 29.2 30.6 17 0.5 30.8-13.1 30.8-30v-42.3c0-8.7 7.1-15.8 15.8-15.8h93.5c43.2 0 78.1 35 78.1 78.1v45.4c0 11.4-9.2 20.6-20.6 20.6H117.6c-11.4 0-20.6-9.2-20.6-20.6v-45.4zM927 856c0 43.2-35 78.1-78.1 78.1H175.1c-43.1 0-78.1-35-78.1-78.1V402.7c0-11.4 9.2-20.6 20.6-20.6h788.9c11.4 0 20.6 9.2 20.6 20.6L927 856z", "M240.3 586.1H306c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30s13.4 30 30 30zM479.2 586.1h65.7c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30 0.1 16.6 13.5 30 30 30zM718.2 586.1h65.7c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30s13.4 30 30 30zM312 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30H312c16.5 0 30-13.4 30-30s-13.4-30-30-30zM551 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30H551c16.5 0 30-13.4 30-30-0.1-16.6-13.5-30-30-30zM789.9 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30h65.7c16.5 0 30-13.4 30-30s-13.4-30-30-30z"];
50
+ case "timepicker":
51
+ return ["M511.3 926.5c-55.9 0-110.2-11-161.2-32.6-49.3-20.9-93.6-50.7-131.7-88.8-38-38-67.9-82.3-88.8-131.7C108 622.3 97 568.1 97 512.2S108 402 129.6 351c20.9-49.3 50.7-93.6 88.8-131.7 38-38 82.3-67.9 131.7-88.8C401.2 108.9 455.4 98 511.3 98s110.2 11 161.2 32.6c49.3 20.9 93.6 50.7 131.7 88.8 38 38 67.9 82.3 88.8 131.7 21.6 51.1 32.6 105.3 32.6 161.2s-11 110.2-32.6 161.2c-20.9 49.3-50.7 93.6-88.8 131.7s-82.3 67.9-131.7 88.8c-51 21.5-105.3 32.5-161.2 32.5z m0-768.5C316 158 157.1 316.9 157.1 512.2S316 866.5 511.3 866.5s354.2-158.9 354.2-354.2S706.7 158 511.3 158z", "M640.1 702.1c-7.7 0-15.3-2.9-21.2-8.8l-128-127.9c-5.6-5.6-8.8-13.3-8.8-21.2V288c0-16.6 13.4-30 30-30s30 13.4 30 30v243.8l119.2 119.1c11.7 11.7 11.7 30.7 0 42.4-5.8 5.9-13.5 8.8-21.2 8.8z"];
50
52
  case "plus":
51
53
  return ["M 768 469.333 h -213.333 V 256 c 0 -25.6 -17.0667 -42.6667 -42.6667 -42.6667 s -42.6667 17.0667 -42.6667 42.6667 v 213.333 H 256 c -25.6 0 -42.6667 17.0667 -42.6667 42.6667 s 17.0667 42.6667 42.6667 42.6667 h 213.333 v 213.333 c 0 25.6 17.0667 42.6667 42.6667 42.6667 s 42.6667 -17.0667 42.6667 -42.6667 v -213.333 h 213.333 c 25.6 0 42.6667 -17.0667 42.6667 -42.6667 s -17.0667 -42.6667 -42.6667 -42.6667 Z"];
52
54
  case "subtract":
@@ -63,10 +65,10 @@ function getSvgDraw(iconType, draw) {
63
65
  }
64
66
  }
65
67
 
66
- const _hoisted_1$j = ["width", "height"];
68
+ const _hoisted_1$k = ["viewBox", "width", "height"];
67
69
  const _hoisted_2$c = ["textContent"];
68
70
  const _hoisted_3$a = ["fill", "stroke", "stroke-width", "d"];
69
- var _sfc_main$y = defineComponent({
71
+ var _sfc_main$z = defineComponent({
70
72
  ...{
71
73
  name: "Icon",
72
74
  inheritAttrs: true
@@ -75,6 +77,7 @@ var _sfc_main$y = defineComponent({
75
77
  props: {
76
78
  title: {},
77
79
  type: {},
80
+ viewBox: {},
78
81
  color: {},
79
82
  hoverColor: {},
80
83
  size: {},
@@ -88,7 +91,7 @@ var _sfc_main$y = defineComponent({
88
91
  return (_ctx, _cache) => {
89
92
  return openBlock(), createElementBlock("svg", {
90
93
  class: normalizeClass(["snail-icon", __props.type]),
91
- viewBox: "0 0 1024 1024",
94
+ viewBox: unref(correctString)(__props.viewBox, "0 0 1024 1024", false),
92
95
  style: normalizeStyle(__props.rotate ? `transform: rotate(${__props.rotate}deg);` : ""),
93
96
  width: __props.size || 24,
94
97
  height: __props.size || 24,
@@ -103,16 +106,16 @@ var _sfc_main$y = defineComponent({
103
106
  "stroke-width": __props.strokeWidth,
104
107
  d
105
108
  }, null, 8, _hoisted_3$a);
106
- }), 256))], 46, _hoisted_1$j);
109
+ }), 256))], 46, _hoisted_1$k);
107
110
  };
108
111
  }
109
112
  });
110
113
 
111
- const _hoisted_1$i = ["title", "onClick"];
114
+ const _hoisted_1$j = ["title", "onClick"];
112
115
  const _hoisted_2$b = ["type", "checked"];
113
116
  const _hoisted_3$9 = ["textContent"];
114
117
  const _hoisted_4$7 = ["textContent"];
115
- var _sfc_main$x = defineComponent({
118
+ var _sfc_main$y = defineComponent({
116
119
  ...{
117
120
  name: "Choose",
118
121
  inheritAttrs: true
@@ -191,7 +194,7 @@ var _sfc_main$x = defineComponent({
191
194
  }, null, 8, _hoisted_2$b)) : unref(mode) == "beautiful" ? (openBlock(), createElementBlock("div", {
192
195
  key: 1,
193
196
  class: normalizeClass(["status", [node.selected ? "selected" : ""]])
194
- }, [node.selected ? (openBlock(), createBlock(_sfc_main$y, {
197
+ }, [node.selected ? (openBlock(), createBlock(_sfc_main$z, {
195
198
  key: 0,
196
199
  type: "success",
197
200
  size: 12,
@@ -204,7 +207,7 @@ var _sfc_main$x = defineComponent({
204
207
  key: 3,
205
208
  class: "item-des",
206
209
  textContent: toDisplayString(node.item.description)
207
- }, null, 8, _hoisted_4$7)) : createCommentVNode("", true)], 14, _hoisted_1$i);
210
+ }, null, 8, _hoisted_4$7)) : createCommentVNode("", true)], 14, _hoisted_1$j);
208
211
  }), 128))], 2);
209
212
  };
210
213
  }
@@ -214,164 +217,7 @@ var addLink = href => setTimeout(link.register, 0, href);
214
217
 
215
218
  addLink("/styles/snail.vue.vue.css");
216
219
 
217
- const _hoisted_1$h = ["id"];
218
- var _sfc_main$w = defineComponent({
219
- __name: "datepicker",
220
- props: {
221
- type: {},
222
- range: {
223
- type: Boolean
224
- },
225
- format: {},
226
- begin: {},
227
- end: {},
228
- min: {},
229
- max: {},
230
- zIndex: {},
231
- timeDisabled: {
232
- type: Boolean
233
- },
234
- secondDisabled: {
235
- type: Boolean
236
- },
237
- cleanDisabled: {
238
- type: Boolean
239
- },
240
- nowDisabled: {
241
- type: Boolean
242
- },
243
- submitDisabled: {
244
- type: Boolean
245
- },
246
- width: {},
247
- height: {},
248
- behindTop: {}
249
- },
250
- emits: ["change", "picker-focus", "picker-blur"],
251
- setup(__props, _ref) {
252
- let {
253
- expose: __expose,
254
- emit: __emit
255
- } = _ref;
256
- const props = __props;
257
- const emits = __emit;
258
- const {
259
- onInterval,
260
- onTimeout
261
- } = useTimer();
262
- const {
263
- range
264
- } = props;
265
- const format = props.format || "yyyy-MM-dd";
266
- const id = `DP${newId()}`.toUpperCase();
267
- var pickerInitialTimer = void 0;
268
- var pickerLastStatus = void 0;
269
- var pickerStatusTimer = void 0;
270
- const pickerStatusArray = [];
271
- __expose({
272
- showPicker
273
- });
274
- function initZanePopup(flag) {
275
- const obj = window[flag] ? window[flag].$obj : void 0;
276
- if (obj) {
277
- obj.removeEventListener("mouseenter", onZanePopupFocus);
278
- obj.removeEventListener("mouseleave", onZanePopupFocus);
279
- obj.addEventListener("mouseenter", onZanePopupFocus);
280
- obj.addEventListener("mouseleave", onZanePopupFocus);
281
- return true;
282
- }
283
- }
284
- function destroyZanePopup(flag) {
285
- if (window[flag]) {
286
- window[flag].removeCalendar && window[flag].removeCalendar();
287
- delete window[flag];
288
- }
289
- }
290
- function showPicker(delay) {
291
- const div = document.getElementById(id);
292
- div && (delay > 0 ? onTimeout(() => div.click(), delay) : div.click());
293
- }
294
- function onClick() {
295
- if (pickerInitialTimer && pickerInitialTimer.destroyed != true) {
296
- return;
297
- }
298
- pickerInitialTimer = onInterval(() => {
299
- let counter = 0;
300
- initZanePopup(id) && counter++;
301
- range && initZanePopup(`${id}DOUBLE`) && counter++;
302
- counter == (range ? 2 : 1) && pickerInitialTimer.destroy();
303
- }, 10);
304
- const timeoutScope = onTimeout(() => pickerInitialTimer.destroyed || pickerInitialTimer.destroy(), 5e3);
305
- pickerInitialTimer.onDestroy(() => timeoutScope.destroyed || timeoutScope.destroy());
306
- }
307
- function onZaneMounted() {}
308
- function onZanePopupFocus(e) {
309
- const type = e.type == "mouseenter" ? "focus" : "blur";
310
- pickerStatusArray.push(type);
311
- pickerStatusTimer && pickerStatusTimer.destroy();
312
- pickerStatusTimer = onTimeout(() => {
313
- const lastStatus = getFromArray(pickerStatusArray, -1);
314
- lastStatus && pickerLastStatus != lastStatus && emits(`picker-${lastStatus}`);
315
- pickerLastStatus = lastStatus;
316
- pickerStatusTimer = void 0;
317
- pickerStatusArray.splice(0);
318
- }, 0);
319
- }
320
- function onZaneDone(full, begin, end) {
321
- if (format.includes("-") == true) {
322
- begin && (begin = begin.replaceAll("/", "-"));
323
- end && (end = end.replaceAll("/", "-"));
324
- }
325
- emits("change", begin, end);
326
- }
327
- link.register("/styles/zane-calendar.css");
328
- onMounted(() => {
329
- script.has("zane-calendar") || throwError(`zane-calendar module unregistered.`);
330
- const zaneOptions = {
331
- elem: `#${id}`,
332
- type: `${range ? "double" : ""}${props.type || "day"}`,
333
- format,
334
- begintime: props.begin || "",
335
- endtime: props.end || "",
336
- min: props.min || "1900-10-01",
337
- max: props.max || "",
338
- zindex: props.zIndex || 1e4,
339
- showtime: props.timeDisabled != true,
340
- showsecond: props.secondDisabled != true,
341
- showclean: props.cleanDisabled != true,
342
- shownow: props.nowDisabled != true,
343
- showsubmit: props.submitDisabled != true,
344
- width: props.width || 280,
345
- height: props.height || 300,
346
- behindTop: props.behindTop || 4,
347
- lang: "cn",
348
- event: "click",
349
- position: "fixed",
350
- haveBotBtns: true,
351
- mounted: onZaneMounted,
352
- done: onZaneDone
353
- };
354
- script.load("zane-calendar").then(calendar => {
355
- console.log(zaneOptions);
356
- isFunction(calendar) || throwError("load zane-calendar failed: value is not a function.");
357
- calendar(zaneOptions);
358
- }, reason => throwError(reason));
359
- });
360
- onUnmounted(() => {
361
- destroyZanePopup(id);
362
- range && destroyZanePopup(`${id}DOUBLE`);
363
- });
364
- return (_ctx, _cache) => {
365
- return openBlock(), createElementBlock("div", {
366
- class: "snail-datepicker",
367
- id: unref(id),
368
- onClick
369
- }, null, 8, _hoisted_1$h);
370
- };
371
- }
372
- });
373
-
374
- var _sfc_main$v = defineComponent({
220
+ var _sfc_main$x = defineComponent({
375
221
  ...{
376
222
  name: "Footer",
377
223
  inheritAttrs: true
@@ -402,13 +248,13 @@ var _sfc_main$v = defineComponent({
402
248
  class: normalizeClass(["snail-footer", {
403
249
  "start-divider": __props.divider
404
250
  }, __props.align || "right"])
405
- }, [renderSlot(_ctx.$slots, "default", {}, () => [__props.cancelDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
251
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [__props.cancelDisabled != true ? (openBlock(), createBlock(_sfc_main$A, {
406
252
  key: 0,
407
253
  size: "max",
408
254
  type: "default",
409
255
  onClick: _cache[0] || (_cache[0] = $event => emits("cancel")),
410
256
  textContent: toDisplayString(__props.cancelName || "取消")
411
- }, null, 8, ["textContent"])) : createCommentVNode("", true), __props.confirmDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
257
+ }, null, 8, ["textContent"])) : createCommentVNode("", true), __props.confirmDisabled != true ? (openBlock(), createBlock(_sfc_main$A, {
412
258
  key: 1,
413
259
  size: "max",
414
260
  type: "primary",
@@ -419,8 +265,8 @@ var _sfc_main$v = defineComponent({
419
265
  }
420
266
  });
421
267
 
422
- const _hoisted_1$g = ["textContent"];
423
- var _sfc_main$u = defineComponent({
268
+ const _hoisted_1$i = ["textContent"];
269
+ var _sfc_main$w = defineComponent({
424
270
  ...{
425
271
  name: "Header",
426
272
  inheritAttrs: true
@@ -459,7 +305,7 @@ var _sfc_main$u = defineComponent({
459
305
  key: 0,
460
306
  textContent: toDisplayString(__props.title),
461
307
  class: normalizeClass(["header-title", __props.titleAlign])
462
- }, null, 10, _hoisted_1$g)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default"), __props.closeDisabled != true ? (openBlock(), createBlock(_sfc_main$y, {
308
+ }, null, 10, _hoisted_1$i)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default"), __props.closeDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
463
309
  key: 1,
464
310
  type: "close",
465
311
  size: 22,
@@ -471,7 +317,7 @@ var _sfc_main$u = defineComponent({
471
317
  }
472
318
  });
473
319
 
474
- const _hoisted_1$f = ["textContent"];
320
+ const _hoisted_1$h = ["textContent"];
475
321
  const _hoisted_2$a = {
476
322
  key: 0,
477
323
  class: "required",
@@ -482,7 +328,7 @@ const _hoisted_3$8 = {
482
328
  };
483
329
  const _hoisted_4$6 = ["type", "value", "readonly", "placeholder", "title"];
484
330
  const _hoisted_5$4 = ["title"];
485
- var _sfc_main$t = defineComponent({
331
+ var _sfc_main$v = defineComponent({
486
332
  ...{
487
333
  name: "Input",
488
334
  inheritAttrs: true
@@ -534,7 +380,7 @@ var _sfc_main$t = defineComponent({
534
380
  }, [createElementVNode("span", {
535
381
  class: "text",
536
382
  textContent: toDisplayString(__props.title)
537
- }, null, 8, _hoisted_1$f), __props.readonly != true && __props.required == true ? (openBlock(), createElementBlock("span", _hoisted_2$a)) : createCommentVNode("", true)], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_3$8, [createElementVNode("input", {
383
+ }, null, 8, _hoisted_1$h), __props.readonly != true && __props.required == true ? (openBlock(), createElementBlock("span", _hoisted_2$a)) : createCommentVNode("", true)], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_3$8, [createElementVNode("input", {
538
384
  ref: "input-el",
539
385
  type: __props.type || "text",
540
386
  value: inputModel.value,
@@ -547,7 +393,7 @@ var _sfc_main$t = defineComponent({
547
393
  key: 0,
548
394
  class: "validate",
549
395
  title: validateRef.value
550
- }, [createVNode(_sfc_main$y, {
396
+ }, [createVNode(_sfc_main$z, {
551
397
  type: "error",
552
398
  size: 16,
553
399
  color: "red"
@@ -756,7 +602,7 @@ function useFormatter(options) {
756
602
  return formatter;
757
603
  }
758
604
 
759
- const _hoisted_1$e = {
605
+ const _hoisted_1$g = {
760
606
  key: 0,
761
607
  class: "number-prefix"
762
608
  };
@@ -769,7 +615,7 @@ const _hoisted_4$5 = {
769
615
  const _hoisted_5$3 = ["textContent"];
770
616
  const _hoisted_6$2 = ["title", "textContent"];
771
617
  const _hoisted_7$1 = ["title", "textContent"];
772
- var _sfc_main$s = defineComponent({
618
+ var _sfc_main$u = defineComponent({
773
619
  __name: "number",
774
620
  props: mergeModels({
775
621
  placeholder: {},
@@ -916,7 +762,7 @@ var _sfc_main$s = defineComponent({
916
762
  "has-prefix": unref(hasPrefix),
917
763
  "has-suffix": unref(hasSuffix)
918
764
  }])
919
- }, [unref(hasPrefix) ? (openBlock(), createElementBlock("div", _hoisted_1$e, [createElementVNode("span", {
765
+ }, [unref(hasPrefix) ? (openBlock(), createElementBlock("div", _hoisted_1$g, [createElementVNode("span", {
920
766
  class: "ellipsis",
921
767
  textContent: toDisplayString(unref(prefix))
922
768
  }, null, 8, _hoisted_2$9)])) : createCommentVNode("", true), createElementVNode("div", {
@@ -936,13 +782,13 @@ var _sfc_main$s = defineComponent({
936
782
  }, [createElementVNode("div", {
937
783
  class: "controls default subtract",
938
784
  onClick: _cache[4] || (_cache[4] = $event => onStepClick(false))
939
- }, [createVNode(_sfc_main$y, {
785
+ }, [createVNode(_sfc_main$z, {
940
786
  type: "subtract",
941
787
  size: 20
942
788
  })]), createElementVNode("div", {
943
789
  class: "controls default plus",
944
790
  onClick: _cache[5] || (_cache[5] = $event => onStepClick(true))
945
- }, [createVNode(_sfc_main$y, {
791
+ }, [createVNode(_sfc_main$z, {
946
792
  type: "plus",
947
793
  size: 20
948
794
  })])], 64)) : unref(controls) == "right" ? (openBlock(), createElementBlock(Fragment, {
@@ -950,14 +796,14 @@ var _sfc_main$s = defineComponent({
950
796
  }, [createElementVNode("div", {
951
797
  class: "controls right plus",
952
798
  onClick: _cache[6] || (_cache[6] = $event => onStepClick(true))
953
- }, [createVNode(_sfc_main$y, {
799
+ }, [createVNode(_sfc_main$z, {
954
800
  type: "arrow",
955
801
  size: 20,
956
802
  rotate: 270
957
803
  })]), createElementVNode("div", {
958
804
  class: "controls right subtract",
959
805
  onClick: _cache[7] || (_cache[7] = $event => onStepClick(false))
960
- }, [createVNode(_sfc_main$y, {
806
+ }, [createVNode(_sfc_main$z, {
961
807
  type: "arrow",
962
808
  size: 20,
963
809
  rotate: 90
@@ -979,9 +825,9 @@ var _sfc_main$s = defineComponent({
979
825
  }
980
826
  });
981
827
 
982
- const _hoisted_1$d = ["placeholder", "readonly"];
828
+ const _hoisted_1$f = ["placeholder", "readonly"];
983
829
  const searchIon = "M 860.16 824.32 l -163.84 -163.84 c 102.4 -120.32 97.28 -302.08 -17.92 -414.72 c -120.32 -120.32 -314.88 -120.32 -435.2 0 c -120.32 120.32 -120.32 314.88 0 435.2 c 112.64 112.64 294.4 120.32 414.72 17.92 l 163.84 163.84 c 10.24 10.24 25.6 10.24 35.84 0 c 12.8 -12.8 12.8 -28.16 2.56 -38.4 Z M 281.6 642.56 C 181.76 542.72 181.76 381.44 281.6 281.6 c 99.84 -99.84 261.12 -99.84 360.96 0 c 99.84 99.84 99.84 261.12 0 360.96 c -99.84 102.4 -261.12 102.4 -360.96 0 Z";
984
- var _sfc_main$r = defineComponent({
830
+ var _sfc_main$t = defineComponent({
985
831
  ...{
986
832
  name: "Search",
987
833
  inheritAttrs: true
@@ -1026,9 +872,9 @@ var _sfc_main$r = defineComponent({
1026
872
  readonly: __props.readonly,
1027
873
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => textModel.value = $event),
1028
874
  onKeyup: _cache[1] || (_cache[1] = $event => onSearch($event))
1029
- }, null, 40, _hoisted_1$d), [[vModelText, textModel.value, void 0, {
875
+ }, null, 40, _hoisted_1$f), [[vModelText, textModel.value, void 0, {
1030
876
  trim: true
1031
- }]]), createElementVNode("div", null, [createVNode(_sfc_main$y, {
877
+ }]]), createElementVNode("div", null, [createVNode(_sfc_main$z, {
1032
878
  class: "search-button",
1033
879
  type: "custom",
1034
880
  draw: searchIon,
@@ -1249,11 +1095,11 @@ function deducePosition(strategy, targetStart, targetEnd, contentSize, clientSiz
1249
1095
  }
1250
1096
  }
1251
1097
 
1252
- const _hoisted_1$c = {
1098
+ const _hoisted_1$e = {
1253
1099
  class: "snail-confirm flex-column"
1254
1100
  };
1255
1101
  const _hoisted_2$8 = ["innerHTML"];
1256
- var _sfc_main$q = defineComponent({
1102
+ var _sfc_main$s = defineComponent({
1257
1103
  ...{
1258
1104
  name: "ConfirmContainer",
1259
1105
  inheritAttrs: true
@@ -1281,14 +1127,14 @@ var _sfc_main$q = defineComponent({
1281
1127
  },
1282
1128
  setup(__props) {
1283
1129
  return (_ctx, _cache) => {
1284
- return openBlock(), createElementBlock("div", _hoisted_1$c, [createVNode(_sfc_main$u, {
1130
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [createVNode(_sfc_main$w, {
1285
1131
  "use-to": "dialog",
1286
1132
  title: __props.title || "提示",
1287
1133
  onClose: _cache[0] || (_cache[0] = $event => __props.closePopup(false))
1288
1134
  }, null, 8, ["title"]), createElementVNode("div", {
1289
1135
  class: "confirm-body",
1290
1136
  innerHTML: __props.message || "请确认?"
1291
- }, null, 8, _hoisted_2$8), createVNode(_sfc_main$v, {
1137
+ }, null, 8, _hoisted_2$8), createVNode(_sfc_main$x, {
1292
1138
  align: "right",
1293
1139
  "cancel-name": __props.cancelName,
1294
1140
  "cancel-disabled": __props.cancelDisabled,
@@ -1301,7 +1147,104 @@ var _sfc_main$q = defineComponent({
1301
1147
  }
1302
1148
  });
1303
1149
 
1304
- var _sfc_main$p = defineComponent({
1150
+ const MOTION = Object.freeze({
1151
+ "fade": {
1152
+ enter: "fade-in",
1153
+ leave: "fade-out"
1154
+ },
1155
+ "scale": {
1156
+ enter: "scale-in",
1157
+ leave: "scale-out"
1158
+ },
1159
+ "rotate": {
1160
+ enter: "rotate-in",
1161
+ leave: "rotate-out"
1162
+ },
1163
+ "top": {
1164
+ enter: "top-in",
1165
+ leave: "top-out"
1166
+ },
1167
+ "topBottom": {
1168
+ enter: "top-in",
1169
+ leave: "bottom-out"
1170
+ },
1171
+ "bottom": {
1172
+ enter: "bottom-in",
1173
+ leave: "bottom-out"
1174
+ },
1175
+ "bottomTop": {
1176
+ enter: "bottom-in",
1177
+ leave: "top-out"
1178
+ },
1179
+ "left": {
1180
+ enter: "left-in",
1181
+ leave: "left-out"
1182
+ },
1183
+ "leftRight": {
1184
+ enter: "left-in",
1185
+ leave: "right-out"
1186
+ },
1187
+ "right": {
1188
+ enter: "right-in",
1189
+ leave: "right-out"
1190
+ },
1191
+ "rightLeft": {
1192
+ enter: "right-in",
1193
+ leave: "left-out"
1194
+ }
1195
+ });
1196
+ for (var key in MOTION) hasOwnProperty(MOTION, key) && Object.freeze(MOTION[key]);
1197
+
1198
+ var _sfc_main$r = defineComponent({
1199
+ __name: "motion",
1200
+ props: {
1201
+ multiple: {
1202
+ type: Boolean
1203
+ },
1204
+ effect: {},
1205
+ duration: {},
1206
+ mode: {}
1207
+ },
1208
+ setup(__props) {
1209
+ const props = __props;
1210
+ const durationRef = computed(() => {
1211
+ const number = correctNumber(props.duration, 200);
1212
+ return number > 0 ? number : 0;
1213
+ });
1214
+ const motionClassRef = computed(buildMotionClass);
1215
+ function buildMotionClass() {
1216
+ const effectClass = Object.create(null);
1217
+ if (durationRef.value > 0) {
1218
+ if (isString(props.effect) == false) {
1219
+ const effect = props.effect || MOTION.fade;
1220
+ effectClass.enterActiveClass = effect.enter;
1221
+ effectClass.leaveActiveClass = effect.leave;
1222
+ } else if (props.effect.length > 0) {
1223
+ effectClass.enterActiveClass = `${props.effect} enter-active`;
1224
+ effectClass.enterFromClass = `${props.effect} enter-from`;
1225
+ effectClass.enterToClass = `${props.effect} enter-to`;
1226
+ effectClass.leaveActiveClass = `${props.effect} leave-active`;
1227
+ effectClass.leaveFromClass = `${props.effect} leave-from`;
1228
+ effectClass.leaveToClass = `${props.effect} leave-to`;
1229
+ }
1230
+ }
1231
+ return effectClass;
1232
+ }
1233
+ return (_ctx, _cache) => {
1234
+ return openBlock(), createBlock(resolveDynamicComponent(__props.multiple ? TransitionGroup : Transition), mergeProps({
1235
+ appear: "",
1236
+ duration: durationRef.value
1237
+ }, __props.multiple ? void 0 : {
1238
+ mode: __props.mode
1239
+ }, motionClassRef.value), {
1240
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
1241
+ _: 3
1242
+ }, 16, ["duration"]);
1243
+ };
1244
+ }
1245
+ });
1246
+
1247
+ var _sfc_main$q = defineComponent({
1305
1248
  ...{
1306
1249
  name: "Loading",
1307
1250
  inheritAttrs: true
@@ -1325,8 +1268,8 @@ var _sfc_main$p = defineComponent({
1325
1268
  },
1326
1269
  setup(__props) {
1327
1270
  return (_ctx, _cache) => {
1328
- return openBlock(), createBlock(Transition, {
1329
- name: __props.transition
1271
+ return openBlock(), createBlock(_sfc_main$r, {
1272
+ effect: unref(MOTION).fade
1330
1273
  }, {
1331
1274
  default: withCtx(() => [__props.show ? (openBlock(), createElementBlock("div", {
1332
1275
  key: 0,
@@ -1335,12 +1278,12 @@ var _sfc_main$p = defineComponent({
1335
1278
  }, __props.rootClass])
1336
1279
  }, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.$attrs)))], 2)) : createCommentVNode("", true)]),
1337
1280
  _: 3
1338
- }, 8, ["name"]);
1281
+ }, 8, ["effect"]);
1339
1282
  };
1340
1283
  }
1341
1284
  });
1342
1285
 
1343
- var _sfc_main$o = defineComponent({
1286
+ var _sfc_main$p = defineComponent({
1344
1287
  ...{
1345
1288
  name: "Dynamic",
1346
1289
  inheritAttrs: false
@@ -1364,7 +1307,7 @@ var _sfc_main$o = defineComponent({
1364
1307
  const loadingComponent = defineComponent({
1365
1308
  inheritAttrs: false,
1366
1309
  components: {
1367
- Loading: _sfc_main$p
1310
+ Loading: _sfc_main$q
1368
1311
  },
1369
1312
  template: "<Loading :mask-disabled='true' />"
1370
1313
  });
@@ -1431,7 +1374,7 @@ var _sfc_main$o = defineComponent({
1431
1374
  }
1432
1375
  });
1433
1376
 
1434
- var _sfc_main$n = defineComponent({
1377
+ var _sfc_main$o = defineComponent({
1435
1378
  ...{
1436
1379
  name: "DialogContainer",
1437
1380
  inheritAttrs: true
@@ -1476,7 +1419,7 @@ var _sfc_main$n = defineComponent({
1476
1419
  onClick: _cache[1] || (_cache[1] = withModifiers($event => {
1477
1420
  __props.options.closeOnMask && unref(closePopup)();
1478
1421
  }, ["self"]))
1479
- }, [createVNode(_sfc_main$o, mergeProps({
1422
+ }, [createVNode(_sfc_main$p, mergeProps({
1480
1423
  class: "dialog-body",
1481
1424
  name: __props.options.name,
1482
1425
  component: __props.options.component,
@@ -1491,7 +1434,7 @@ var _sfc_main$n = defineComponent({
1491
1434
  }
1492
1435
  });
1493
1436
 
1494
- var _sfc_main$m = defineComponent({
1437
+ var _sfc_main$n = defineComponent({
1495
1438
  ...{
1496
1439
  name: "FollowContainer",
1497
1440
  inheritAttrs: true
@@ -1612,7 +1555,7 @@ var _sfc_main$m = defineComponent({
1612
1555
  });
1613
1556
  });
1614
1557
  return (_ctx, _cache) => {
1615
- return openBlock(), createBlock(_sfc_main$o, mergeProps({
1558
+ return openBlock(), createBlock(_sfc_main$p, mergeProps({
1616
1559
  class: ["snail-follow initial", [__props.popupStatus.value, __props.popupTransition.value]],
1617
1560
  style: {
1618
1561
  "z-index": __props.zIndex
@@ -1629,7 +1572,7 @@ var _sfc_main$m = defineComponent({
1629
1572
  }
1630
1573
  });
1631
1574
 
1632
- var _sfc_main$l = defineComponent({
1575
+ var _sfc_main$m = defineComponent({
1633
1576
  ...{
1634
1577
  name: "PopupContainer",
1635
1578
  inheritAttrs: true
@@ -1649,7 +1592,7 @@ var _sfc_main$l = defineComponent({
1649
1592
  model = shallowRef(void 0)
1650
1593
  } = __props.options;
1651
1594
  return (_ctx, _cache) => {
1652
- return openBlock(), createBlock(_sfc_main$o, mergeProps({
1595
+ return openBlock(), createBlock(_sfc_main$p, mergeProps({
1653
1596
  class: ["snail-popup", [__props.popupStatus.value, __props.popupTransition.value]],
1654
1597
  style: {
1655
1598
  "z-index": __props.zIndex
@@ -1667,12 +1610,12 @@ var _sfc_main$l = defineComponent({
1667
1610
  }
1668
1611
  });
1669
1612
 
1670
- const _hoisted_1$b = {
1613
+ const _hoisted_1$d = {
1671
1614
  key: 1,
1672
1615
  class: "icon"
1673
1616
  };
1674
1617
  const _hoisted_2$7 = ["innerHTML"];
1675
- var _sfc_main$k = defineComponent({
1618
+ var _sfc_main$l = defineComponent({
1676
1619
  ...{
1677
1620
  name: "ToastContainer",
1678
1621
  inheritAttrs: true
@@ -1710,7 +1653,7 @@ var _sfc_main$k = defineComponent({
1710
1653
  }),
1711
1654
  onMouseenter: _cache[3] || (_cache[3] = $event => onMouseEvent(false)),
1712
1655
  onMouseleave: _cache[4] || (_cache[4] = $event => onMouseEvent(true))
1713
- }, [unref(props).closeDisabled != true ? (openBlock(), createBlock(_sfc_main$y, {
1656
+ }, [unref(props).closeDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
1714
1657
  key: 0,
1715
1658
  class: "close-icon",
1716
1659
  type: "close",
@@ -1721,7 +1664,7 @@ var _sfc_main$k = defineComponent({
1721
1664
  onClick: _cache[2] || (_cache[2] = $event => {
1722
1665
  unref(closePopup)();
1723
1666
  })
1724
- }, null, 8, ["fill"])) : createCommentVNode("", true), unref(props).type ? (openBlock(), createElementBlock("div", _hoisted_1$b, [createVNode(_sfc_main$y, {
1667
+ }, null, 8, ["fill"])) : createCommentVNode("", true), unref(props).type ? (openBlock(), createElementBlock("div", _hoisted_1$d, [createVNode(_sfc_main$z, {
1725
1668
  type: unref(props).type,
1726
1669
  fill: "#707070",
1727
1670
  size: 20
@@ -1735,7 +1678,7 @@ var _sfc_main$k = defineComponent({
1735
1678
 
1736
1679
  function usePopup() {
1737
1680
  function popup(options) {
1738
- const scope = checkOptions(options, checkPopup) || popupInCustomContainer(_sfc_main$l, options);
1681
+ const scope = checkOptions(options, checkPopup) || popupInCustomContainer(_sfc_main$m, options);
1739
1682
  return addScope2Scopes(scope);
1740
1683
  }
1741
1684
  function dialog(options) {
@@ -1768,7 +1711,7 @@ function usePopup() {
1768
1711
  },
1769
1712
  onBeforeClose: fn => hook.register("onBeforeClose", fn)
1770
1713
  });
1771
- const descriptor = openPopup(_sfc_main$n, options, extOptions);
1714
+ const descriptor = openPopup(_sfc_main$o, options, extOptions);
1772
1715
  scope = useAsyncScope(deferred.promise);
1773
1716
  monitorDialog(descriptor, scope, deferred);
1774
1717
  }
@@ -1786,14 +1729,14 @@ function usePopup() {
1786
1729
  inPopup: "follow",
1787
1730
  target
1788
1731
  };
1789
- scope = checkOptions(options, checkFollow) || popupInCustomContainer(_sfc_main$m, options, extOptions);
1732
+ scope = checkOptions(options, checkFollow) || popupInCustomContainer(_sfc_main$n, options, extOptions);
1790
1733
  }
1791
1734
  return addScope2Scopes(scope);
1792
1735
  }
1793
1736
  function confirm(title, message, options) {
1794
1737
  options = options || Object.create(null);
1795
1738
  return dialog({
1796
- component: _sfc_main$q,
1739
+ component: _sfc_main$s,
1797
1740
  closeOnEscape: true,
1798
1741
  props: {
1799
1742
  ...options,
@@ -1803,7 +1746,7 @@ function usePopup() {
1803
1746
  });
1804
1747
  }
1805
1748
  function toast(type, message, options) {
1806
- return popupInCustomContainer(_sfc_main$k, {
1749
+ return popupInCustomContainer(_sfc_main$l, {
1807
1750
  url: "#ToastContainer",
1808
1751
  props: {
1809
1752
  ...(options || Object.create(null)),
@@ -1836,7 +1779,7 @@ function usePopup() {
1836
1779
  },
1837
1780
  ...extOptions
1838
1781
  });
1839
- const descriptor = openPopup(container || _sfc_main$l, options, extOptions);
1782
+ const descriptor = openPopup(container || _sfc_main$m, options, extOptions);
1840
1783
  const scope = useAsyncScope(deferred.promise);
1841
1784
  scope.onDestroy(() => destroyPopup(descriptor, deferred));
1842
1785
  return scope;
@@ -1974,12 +1917,12 @@ function getNoDataBase64Image() {
1974
1917
  return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyREREODhFQ0M5M0UxMUU5ODlFREVENzc4Njk0RjQ2MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyREREODhFREM5M0UxMUU5ODlFREVENzc4Njk0RjQ2MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjJEREQ4OEVBQzkzRTExRTk4OUVERUQ3Nzg2OTRGNDYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjJEREQ4OEVCQzkzRTExRTk4OUVERUQ3Nzg2OTRGNDYyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8++keGxAAAA5lJREFUeNrsmktoE0EYx3eSTdpsk2abvnwcFBVp8QFqVPDgQaGgIogIoictelKKVhARBA8q+KAVrFqooh4qXgRfiHpTEHqw9iCKXqQHSVstpqlt0yabrP9p52K1yW72GTMf/JhZMrM7/3l+37REVVWhlMwjlJhxwVwwF8wFc8FcMBfsnIlGKg98TxRa9RbYAFYXUnl+XbjoRpiKXVXMU9qns3xK76CC/YC4QfA1MAg26aiTZGlQQ9la8AZ0g3VuENwLqsArsFVnXW+e30PgKVgGnoA+Nwi+Cw6DAHgGdmqoMwJoXJrJUcYPHoGN4C3Yl6e8rWv4Nmhma/kh2J6n/HW2JsdylLkKtoAPYAeYcPxYmmX32AjcAVHwPEfZFxreR2fAJ9Z5CbMaSYzceMxxDtN198vKo8Vt57ClYh0d4f/OtTTgOjpquaa8WEhldISM5DRYWYCXZdTS4DVoR9tSegdI9y6Nl1KBL5k/7JRto99HW/ZAtGralJ7DTtCPEUKUmqqKPlH0rtXgMZk2utms2jk0PEqPqt3gEOiybJdGjy5BcobmI7LUC7HrbRQ7HaR4PORoOBRoY+f0RbSp3spjqQNIPtEb8/vEqFMnixTwH0T6gPnwbZYIRk/uZWtHqApLQzaP7GyL1kSCPUinqIuKtjWZKhgvpFt1O82X+cXPXq9njdNHD2ZZC/aRTvZ4A20sN3OEz7IgXJDDkls8laV11aEBpHGaB62mCEbPNSA5QvNYO+88hDS6xcHABtbq9XiusMdTYJ4ZI3yBORdKZTBQ6zKnqq62OiQh7WdByzmjgqlzsWs6BAqW9xAiLHJdMECEY36f9zJ7pLt3oxHH4/j0O4kwWREoW8BuKvSYxG4utFoWjOoVHZErlg/+GP2I7ApwkgnXHy1h/VLntNJA76sROfgFI9CgoXh8OD72OJ3OHDA46Am4m3KhU7rSyJfRl2QiOaXVE3oPsU0mzPKw3RcAf5iiZEPaOkf9KsxcyVq7s1vu7SsZEQ5/LO81ydhk3I5Q05Y/tcQTExKLY/+9U2XV++PJVLMtZ7cdH0mlFfnnyPgIpm3s758y3Qj3NiNfY8sxlmeXNt2NhC/ej0grllXVdHIyVY/RbTD7G9iliZkXAIZsKqUspjjmjgolZlwwF1xigr8VoaYBI4I7ilBwl5Hw8JIwcx3aAha6XCj9t4ub4HzBjgfftLhgLpgL5oK5YC6YC+aCuWDt9luAAQC2EPxjL8cUkwAAAABJRU5ErkJggg==";
1975
1918
  }
1976
1919
 
1977
- const _hoisted_1$a = {
1920
+ const _hoisted_1$c = {
1978
1921
  class: "snail-empty"
1979
1922
  };
1980
1923
  const _hoisted_2$6 = ["src"];
1981
1924
  const _hoisted_3$6 = ["textContent"];
1982
- var _sfc_main$j = defineComponent({
1925
+ var _sfc_main$k = defineComponent({
1983
1926
  ...{
1984
1927
  name: "Empty",
1985
1928
  inheritAttrs: true
@@ -1992,7 +1935,7 @@ var _sfc_main$j = defineComponent({
1992
1935
  setup(__props) {
1993
1936
  const defaultImageBase64 = getNoDataBase64Image();
1994
1937
  return (_ctx, _cache) => {
1995
- return openBlock(), createElementBlock("div", _hoisted_1$a, [createElementVNode("img", {
1938
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [createElementVNode("img", {
1996
1939
  src: __props.imageUrl || unref(defaultImageBase64)
1997
1940
  }, null, 8, _hoisted_2$6), renderSlot(_ctx.$slots, "default", {}, () => [createElementVNode("div", {
1998
1941
  class: "message",
@@ -2002,13 +1945,13 @@ var _sfc_main$j = defineComponent({
2002
1945
  }
2003
1946
  });
2004
1947
 
2005
- const _hoisted_1$9 = ["title"];
1948
+ const _hoisted_1$b = ["title"];
2006
1949
  const _hoisted_2$5 = ["textContent"];
2007
1950
  const _hoisted_3$5 = {
2008
1951
  key: 1,
2009
1952
  class: "select-status"
2010
1953
  };
2011
- var _sfc_main$i = defineComponent({
1954
+ var _sfc_main$j = defineComponent({
2012
1955
  ...{
2013
1956
  name: "SelectNode",
2014
1957
  inheritAttrs: true
@@ -2053,15 +1996,15 @@ var _sfc_main$i = defineComponent({
2053
1996
  }, [createElementVNode("div", {
2054
1997
  class: "item-text ellipsis",
2055
1998
  textContent: toDisplayString(__props.item.text)
2056
- }, null, 8, _hoisted_2$5), __props.item.type == "group" ? (openBlock(), createBlock(_sfc_main$y, {
1999
+ }, null, 8, _hoisted_2$5), __props.item.type == "group" ? (openBlock(), createBlock(_sfc_main$z, {
2057
2000
  key: 0,
2058
2001
  type: "arrow",
2059
2002
  color: "#8a9099"
2060
- })) : __props.multiple == true ? (openBlock(), createElementBlock("div", _hoisted_3$5, [createVNode(_sfc_main$y, {
2003
+ })) : __props.multiple == true ? (openBlock(), createElementBlock("div", _hoisted_3$5, [createVNode(_sfc_main$z, {
2061
2004
  type: "success",
2062
2005
  color: "white",
2063
2006
  size: 12
2064
- })])) : createCommentVNode("", true)], 42, _hoisted_1$9)) : createCommentVNode("", true), showRef.value ? (openBlock(true), createElementBlock(Fragment, {
2007
+ })])) : createCommentVNode("", true)], 42, _hoisted_1$b)) : createCommentVNode("", true), showRef.value ? (openBlock(true), createElementBlock(Fragment, {
2065
2008
  key: 1
2066
2009
  }, renderList(unref(showChildrenRef), child => {
2067
2010
  return openBlock(), createBlock(_component_SelectNode, {
@@ -2078,7 +2021,7 @@ var _sfc_main$i = defineComponent({
2078
2021
  }
2079
2022
  });
2080
2023
 
2081
- var _sfc_main$h = defineComponent({
2024
+ var _sfc_main$i = defineComponent({
2082
2025
  ...{
2083
2026
  name: "Select2Popup",
2084
2027
  inheritAttrs: true
@@ -2250,13 +2193,13 @@ var _sfc_main$h = defineComponent({
2250
2193
  key: 0
2251
2194
  }, [createTextVNode(" 暂无选项 ")], 64)) : (openBlock(), createElementBlock(Fragment, {
2252
2195
  key: 1
2253
- }, [__props.search ? (openBlock(), createBlock(_sfc_main$r, mergeProps({
2196
+ }, [__props.search ? (openBlock(), createBlock(_sfc_main$t, mergeProps({
2254
2197
  key: 0
2255
2198
  }, __props.search, {
2256
2199
  onSearch,
2257
2200
  key: "select-search"
2258
2201
  }), null, 16)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(itemsRef.value, item => {
2259
- return openBlock(), createBlock(_sfc_main$i, {
2202
+ return openBlock(), createBlock(_sfc_main$j, {
2260
2203
  key: unref(context).getKey(item),
2261
2204
  multiple: __props.multiple,
2262
2205
  item,
@@ -2265,7 +2208,7 @@ var _sfc_main$h = defineComponent({
2265
2208
  onEnter: onEnterSelectNode,
2266
2209
  onClick: onClickSelectNode
2267
2210
  }, null, 8, ["multiple", "item", "context"]);
2268
- }), 128)), itemsRef.value.length == 0 ? (openBlock(), createBlock(_sfc_main$j, {
2211
+ }), 128)), itemsRef.value.length == 0 ? (openBlock(), createBlock(_sfc_main$k, {
2269
2212
  key: 1,
2270
2213
  message: "无结果"
2271
2214
  })) : createCommentVNode("", true), showClearButtonRef.value ? (openBlock(), createElementBlock("div", {
@@ -2277,7 +2220,7 @@ var _sfc_main$h = defineComponent({
2277
2220
  }
2278
2221
  });
2279
2222
 
2280
- const _hoisted_1$8 = {
2223
+ const _hoisted_1$a = {
2281
2224
  key: 0,
2282
2225
  class: "select-result"
2283
2226
  };
@@ -2288,9 +2231,9 @@ const _hoisted_4$4 = {
2288
2231
  class: "placeholder"
2289
2232
  };
2290
2233
  onAppCreated((app, type) => {
2291
- type == "popup" && app.component("SelectPopup", _sfc_main$h);
2234
+ type == "popup" && app.component("SelectPopup", _sfc_main$i);
2292
2235
  });
2293
- var _sfc_main$g = defineComponent({
2236
+ var _sfc_main$h = defineComponent({
2294
2237
  ...{
2295
2238
  name: "Select",
2296
2239
  inheritAttrs: true
@@ -2422,7 +2365,7 @@ var _sfc_main$g = defineComponent({
2422
2365
  ref: "select"
2423
2366
  }, [__props.items && __props.items.length ? (openBlock(), createElementBlock(Fragment, {
2424
2367
  key: 0
2425
- }, [selectedItemsRef.value.length ? (openBlock(), createElementBlock("div", _hoisted_1$8, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(slotOptions))), () => [createElementVNode("div", {
2368
+ }, [selectedItemsRef.value.length ? (openBlock(), createElementBlock("div", _hoisted_1$a, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(slotOptions))), () => [createElementVNode("div", {
2426
2369
  class: "select-text ellipsis",
2427
2370
  title: selectedTextRef.value,
2428
2371
  textContent: toDisplayString(selectedTextRef.value)
@@ -2430,7 +2373,7 @@ var _sfc_main$g = defineComponent({
2430
2373
  key: 1,
2431
2374
  class: "placeholder",
2432
2375
  textContent: toDisplayString(__props.readonly ? "" : __props.placeholder || "请选择")
2433
- }, null, 8, _hoisted_3$4)), __props.readonly != true ? (openBlock(), createBlock(_sfc_main$y, {
2376
+ }, null, 8, _hoisted_3$4)), __props.readonly != true ? (openBlock(), createBlock(_sfc_main$z, {
2434
2377
  key: 2,
2435
2378
  type: "arrow",
2436
2379
  size: 24,
@@ -2443,7 +2386,7 @@ var _sfc_main$g = defineComponent({
2443
2386
  }
2444
2387
  });
2445
2388
 
2446
- var _sfc_main$f = defineComponent({
2389
+ var _sfc_main$g = defineComponent({
2447
2390
  ...{
2448
2391
  name: "Switch",
2449
2392
  inheritAttrs: true
@@ -2492,8 +2435,8 @@ var _sfc_main$f = defineComponent({
2492
2435
  }
2493
2436
  });
2494
2437
 
2495
- const _hoisted_1$7 = ["readonly", "placeholder", "rows"];
2496
- var _sfc_main$e = defineComponent({
2438
+ const _hoisted_1$9 = ["readonly", "placeholder", "rows"];
2439
+ var _sfc_main$f = defineComponent({
2497
2440
  ...{
2498
2441
  name: "Textarea"
2499
2442
  },
@@ -2553,12 +2496,12 @@ var _sfc_main$e = defineComponent({
2553
2496
  onInput: _cache[2] || (_cache[2] = $event => emits("input", textareaDom.value.value)),
2554
2497
  onBlur: _cache[3] || (_cache[3] = $event => emits("blur", textareaDom.value.value)),
2555
2498
  onChange: _cache[4] || (_cache[4] = $event => emits("change", textareaDom.value.value))
2556
- }), null, 16, _hoisted_1$7)), [[vModelText, valueModel.value]]);
2499
+ }), null, 16, _hoisted_1$9)), [[vModelText, valueModel.value]]);
2557
2500
  };
2558
2501
  }
2559
2502
  });
2560
2503
 
2561
- const _hoisted_1$6 = {
2504
+ const _hoisted_1$8 = {
2562
2505
  class: "fold-header"
2563
2506
  };
2564
2507
  const _hoisted_2$3 = ["textContent"];
@@ -2571,7 +2514,7 @@ const _hoisted_5$2 = {
2571
2514
  class: "fold-body",
2572
2515
  ref: "foldBody"
2573
2516
  };
2574
- var _sfc_main$d = defineComponent({
2517
+ var _sfc_main$e = defineComponent({
2575
2518
  ...{
2576
2519
  name: "Fold",
2577
2520
  inheritAttrs: true
@@ -2641,14 +2584,14 @@ var _sfc_main$d = defineComponent({
2641
2584
  return (_ctx, _cache) => {
2642
2585
  return openBlock(), createElementBlock("div", {
2643
2586
  class: normalizeClass(["snail-fold", statusModel.value])
2644
- }, [createElementVNode("div", _hoisted_1$6, [renderSlot(_ctx.$slots, "header", {}, () => [createElementVNode("div", {
2587
+ }, [createElementVNode("div", _hoisted_1$8, [renderSlot(_ctx.$slots, "header", {}, () => [createElementVNode("div", {
2645
2588
  class: "title ellipsis",
2646
2589
  textContent: toDisplayString(__props.title)
2647
2590
  }, null, 8, _hoisted_2$3), !!__props.subtitle ? (openBlock(), createElementBlock("div", {
2648
2591
  key: 0,
2649
2592
  class: "subtitle ellipsis",
2650
2593
  textContent: toDisplayString(__props.subtitle)
2651
- }, null, 8, _hoisted_3$3)) : createCommentVNode("", true), __props.disabled != true ? (openBlock(), createElementBlock("div", _hoisted_4$3, [createVNode(_sfc_main$y, {
2594
+ }, null, 8, _hoisted_3$3)) : createCommentVNode("", true), __props.disabled != true ? (openBlock(), createElementBlock("div", _hoisted_4$3, [createVNode(_sfc_main$z, {
2652
2595
  type: "arrow",
2653
2596
  title: statusModel.value == "expand" ? "收起" : "展开",
2654
2597
  onClick: onStatusClick
@@ -2657,7 +2600,7 @@ var _sfc_main$d = defineComponent({
2657
2600
  }
2658
2601
  });
2659
2602
 
2660
- var _sfc_main$c = defineComponent({
2603
+ var _sfc_main$d = defineComponent({
2661
2604
  ...{
2662
2605
  name: "Scroll",
2663
2606
  inheritAttrs: true
@@ -2787,7 +2730,7 @@ var _sfc_main$c = defineComponent({
2787
2730
  }
2788
2731
  });
2789
2732
 
2790
- var _sfc_main$b = defineComponent({
2733
+ var _sfc_main$c = defineComponent({
2791
2734
  __name: "layout",
2792
2735
  props: {
2793
2736
  mode: {},
@@ -2853,7 +2796,7 @@ var _sfc_main$b = defineComponent({
2853
2796
  key: item
2854
2797
  }, [areaMap.value[item] && _ctx.$slots[item] ? (openBlock(), createElementBlock(Fragment, {
2855
2798
  key: 0
2856
- }, [areaMap.value[item].scrollable ? (openBlock(), createBlock(_sfc_main$c, mergeProps({
2799
+ }, [areaMap.value[item].scrollable ? (openBlock(), createBlock(_sfc_main$d, mergeProps({
2857
2800
  key: 0,
2858
2801
  class: areaMap.value[item].class,
2859
2802
  style: areaMap.value[item].style
@@ -2872,7 +2815,7 @@ var _sfc_main$b = defineComponent({
2872
2815
  }
2873
2816
  });
2874
2817
 
2875
- var _sfc_main$a = defineComponent({
2818
+ var _sfc_main$b = defineComponent({
2876
2819
  ...{
2877
2820
  name: "Sort",
2878
2821
  inheritAttrs: true
@@ -2973,10 +2916,10 @@ var _sfc_main$a = defineComponent({
2973
2916
  }
2974
2917
  });
2975
2918
 
2976
- const _hoisted_1$5 = {
2919
+ const _hoisted_1$7 = {
2977
2920
  class: "table-body"
2978
2921
  };
2979
- var _sfc_main$9 = defineComponent({
2922
+ var _sfc_main$a = defineComponent({
2980
2923
  ...{
2981
2924
  name: "Table",
2982
2925
  inheritAttrs: true
@@ -3001,7 +2944,7 @@ var _sfc_main$9 = defineComponent({
3001
2944
  const hStyleRef = computed(() => css.buildStyle(props.headerStyle));
3002
2945
  const fStyleRef = computed(() => css.buildStyle(props.footerStyle));
3003
2946
  return (_ctx, _cache) => {
3004
- return openBlock(), createBlock(_sfc_main$c, {
2947
+ return openBlock(), createBlock(_sfc_main$d, {
3005
2948
  class: normalizeClass(["snail-table", {
3006
2949
  "start-border": __props.border == true
3007
2950
  }]),
@@ -3011,7 +2954,7 @@ var _sfc_main$9 = defineComponent({
3011
2954
  default: withCtx(() => [createElementVNode("div", {
3012
2955
  class: "table-header",
3013
2956
  style: normalizeStyle(hStyleRef.value)
3014
- }, [renderSlot(_ctx.$slots, "header")], 4), createElementVNode("div", _hoisted_1$5, [renderSlot(_ctx.$slots, "default")]), createElementVNode("div", {
2957
+ }, [renderSlot(_ctx.$slots, "header")], 4), createElementVNode("div", _hoisted_1$7, [renderSlot(_ctx.$slots, "default")]), createElementVNode("div", {
3015
2958
  class: "table-footer",
3016
2959
  style: normalizeStyle(fStyleRef.value)
3017
2960
  }, [renderSlot(_ctx.$slots, "footer")], 4)]),
@@ -3021,7 +2964,7 @@ var _sfc_main$9 = defineComponent({
3021
2964
  }
3022
2965
  });
3023
2966
 
3024
- var _sfc_main$8 = defineComponent({
2967
+ var _sfc_main$9 = defineComponent({
3025
2968
  ...{
3026
2969
  name: "TableRow",
3027
2970
  inheritAttrs: true
@@ -3044,7 +2987,7 @@ var _sfc_main$8 = defineComponent({
3044
2987
  }
3045
2988
  });
3046
2989
 
3047
- var _sfc_main$7 = defineComponent({
2990
+ var _sfc_main$8 = defineComponent({
3048
2991
  ...{
3049
2992
  name: "TableCol",
3050
2993
  inheritAttrs: true
@@ -3090,47 +3033,7 @@ var _sfc_main$7 = defineComponent({
3090
3033
  }
3091
3034
  });
3092
3035
 
3093
- var _sfc_main$6 = defineComponent({
3094
- __name: "transitions",
3095
- props: {
3096
- group: {
3097
- type: Boolean
3098
- },
3099
- duration: {},
3100
- customClass: {},
3101
- effect: {}
3102
- },
3103
- setup(__props) {
3104
- const props = __props;
3105
- const classNames = computed(() => {
3106
- const array = [props.customClass || "snail-transition"];
3107
- if (isArray(props.effect)) {
3108
- props.effect.length > 0 ? array.push(...props.effect) : array.push("fade");
3109
- } else {
3110
- array.push(props.effect || "fade");
3111
- }
3112
- console.log(array);
3113
- return array.join(" ");
3114
- });
3115
- return (_ctx, _cache) => {
3116
- return openBlock(), createBlock(resolveDynamicComponent(__props.group ? TransitionGroup : Transition), mergeProps(_ctx.$attrs, {
3117
- appear: "",
3118
- duration: __props.duration,
3119
- "enter-active-class": `${classNames.value} enter-active`,
3120
- "enter-from-class": `${classNames.value} enter-from`,
3121
- "enter-to-class": `${classNames.value} enter-to`,
3122
- "leave-active-class": `${classNames.value} leave-active`,
3123
- "leave-from-class": `${classNames.value} leave-from`,
3124
- "leave-to-class": `${classNames.value} leave-to`
3125
- }), {
3126
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
3127
- _: 3
3128
- }, 16, ["duration", "enter-active-class", "enter-from-class", "enter-to-class", "leave-active-class", "leave-from-class", "leave-to-class"]);
3129
- };
3130
- }
3131
- });
3132
-
3133
- const _hoisted_1$4 = {
3036
+ const _hoisted_1$6 = {
3134
3037
  key: 0,
3135
3038
  class: "node-fold"
3136
3039
  };
@@ -3143,7 +3046,7 @@ const _hoisted_4$2 = {
3143
3046
  class: "snail-tree-children hidden",
3144
3047
  ref: "children"
3145
3048
  };
3146
- var _sfc_main$5 = defineComponent({
3049
+ var _sfc_main$7 = defineComponent({
3147
3050
  ...{
3148
3051
  name: "TreeNode",
3149
3052
  inheritAttrs: true
@@ -3261,7 +3164,7 @@ var _sfc_main$5 = defineComponent({
3261
3164
  key: 1
3262
3165
  }, [_cache[4] || (_cache[4] = createElementVNode("div", {
3263
3166
  class: "indent"
3264
- }, null, -1)), __props.options.foldDisabled != true ? (openBlock(), createElementBlock("div", _hoisted_1$4, [showChildrenRef.value ? (openBlock(), createBlock(_sfc_main$y, {
3167
+ }, null, -1)), __props.options.foldDisabled != true ? (openBlock(), createElementBlock("div", _hoisted_1$6, [showChildrenRef.value ? (openBlock(), createBlock(_sfc_main$z, {
3265
3168
  key: 0,
3266
3169
  class: normalizeClass(statusRef.value),
3267
3170
  type: "custom",
@@ -3293,10 +3196,10 @@ var _sfc_main$5 = defineComponent({
3293
3196
  }
3294
3197
  });
3295
3198
 
3296
- const _hoisted_1$3 = {
3199
+ const _hoisted_1$5 = {
3297
3200
  class: "snail-tree"
3298
3201
  };
3299
- var _sfc_main$4 = defineComponent({
3202
+ var _sfc_main$6 = defineComponent({
3300
3203
  ...{
3301
3204
  name: "Tree",
3302
3205
  inheritAttrs: true
@@ -3330,15 +3233,15 @@ var _sfc_main$4 = defineComponent({
3330
3233
  emits("click", node, parents);
3331
3234
  }
3332
3235
  return (_ctx, _cache) => {
3333
- return openBlock(), createElementBlock("div", _hoisted_1$3, [__props.search ? (openBlock(), createBlock(_sfc_main$r, mergeProps({
3236
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [__props.search ? (openBlock(), createBlock(_sfc_main$t, mergeProps({
3334
3237
  key: 0
3335
3238
  }, __props.search, {
3336
3239
  onSearch
3337
- }), null, 16)) : createCommentVNode("", true), createVNode(_sfc_main$c, {
3240
+ }), null, 16)) : createCommentVNode("", true), createVNode(_sfc_main$d, {
3338
3241
  "scroll-y": true
3339
3242
  }, {
3340
3243
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.nodes || [], node => {
3341
- return openBlock(), createBlock(_sfc_main$5, {
3244
+ return openBlock(), createBlock(_sfc_main$7, {
3342
3245
  key: unref(context).getKey(node),
3343
3246
  node,
3344
3247
  parent: void 0,
@@ -3359,7 +3262,7 @@ var _sfc_main$4 = defineComponent({
3359
3262
  }
3360
3263
  });
3361
3264
 
3362
- var _sfc_main$3 = defineComponent({
3265
+ var _sfc_main$5 = defineComponent({
3363
3266
  __name: "wrapper",
3364
3267
  props: {
3365
3268
  readonly: {
@@ -3381,14 +3284,14 @@ var _sfc_main$3 = defineComponent({
3381
3284
  return (_ctx, _cache) => {
3382
3285
  return openBlock(), createElementBlock("div", {
3383
3286
  class: normalizeClass(["snail-wrapper", __props.inPopup ? "in-popup" : "in-normal"])
3384
- }, [__props.header && __props.header.disabled != true ? (openBlock(), createBlock(_sfc_main$u, mergeProps({
3287
+ }, [__props.header && __props.header.disabled != true ? (openBlock(), createBlock(_sfc_main$w, mergeProps({
3385
3288
  key: 0
3386
3289
  }, __props.header || {
3387
3290
  useTo: "dialog",
3388
3291
  title: "对话框"
3389
3292
  }, {
3390
3293
  onClose: _cache[0] || (_cache[0] = $event => emits("cancel"))
3391
- }), null, 16)) : createCommentVNode("", true), createVNode(_sfc_main$c, mergeProps({
3294
+ }), null, 16)) : createCommentVNode("", true), createVNode(_sfc_main$d, mergeProps({
3392
3295
  class: "wrapper-body"
3393
3296
  }, __props.content || {
3394
3297
  scrollX: false,
@@ -3396,7 +3299,7 @@ var _sfc_main$3 = defineComponent({
3396
3299
  }), {
3397
3300
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
3398
3301
  _: 3
3399
- }, 16), __props.footer && __props.readonly != true && __props.footer.disabled != true ? (openBlock(), createBlock(_sfc_main$v, mergeProps({
3302
+ }, 16), __props.footer && __props.readonly != true && __props.footer.disabled != true ? (openBlock(), createBlock(_sfc_main$x, mergeProps({
3400
3303
  key: 1
3401
3304
  }, __props.footer || {}, {
3402
3305
  onCancel: _cache[1] || (_cache[1] = $event => emits("cancel")),
@@ -3410,7 +3313,7 @@ function mount(target, options, onDestroyed) {
3410
3313
  mustObject(options, "options");
3411
3314
  target instanceof HTMLElement || throwError("target must be a HTMLElement");
3412
3315
  target.classList.add("snail-app");
3413
- const app = createApp(_sfc_main$o, options);
3316
+ const app = createApp(_sfc_main$p, options);
3414
3317
  triggerAppCreated(app);
3415
3318
  app.mount(target);
3416
3319
  const scope = useScope().onDestroy(() => app.unmount());
@@ -3444,8 +3347,8 @@ function buildYearItems(year, min, max) {
3444
3347
  return items;
3445
3348
  }
3446
3349
  function buildMonthItems(yearItem, min, max) {
3447
- const minDate = new Date(formatDateValue(min, "yyyy-MM"));
3448
- const maxDate = new Date(formatDateValue(max, "yyyy-MM"));
3350
+ const minDate = parseDate(formatDateValue(min, "yyyy-MM"), "min");
3351
+ const maxDate = parseDate(formatDateValue(max, "yyyy-MM"), "max");
3449
3352
  const items = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"];
3450
3353
  return items.map((item, index) => {
3451
3354
  const mi = {
@@ -3455,16 +3358,19 @@ function buildMonthItems(yearItem, min, max) {
3455
3358
  disabled: yearItem.disabled
3456
3359
  };
3457
3360
  if (mi.disabled != true) {
3458
- const date = new Date(formatDateValue(mi, "yyyy-MM"));
3361
+ const date = getDateByValue(mi);
3459
3362
  mi.disabled = minDate != void 0 && date < minDate || maxDate != void 0 && date > maxDate;
3460
3363
  }
3461
3364
  return Object.freeze(mi);
3462
3365
  });
3463
3366
  }
3464
3367
  function buildDayItems(monthItem, min, max) {
3465
- const minDate = new Date(formatDateValue(min, "yyyy-MM-dd"));
3466
- const maxDate = new Date(formatDateValue(max, "yyyy-MM-dd"));
3467
- const date = new Date(monthItem.year, monthItem.month - 1);
3368
+ const minDate = parseDate(formatDateValue(min, "yyyy-MM-dd"), "min");
3369
+ const maxDate = parseDate(formatDateValue(max, "yyyy-MM-dd"), "max");
3370
+ const date = getDateByValue({
3371
+ ...monthItem,
3372
+ day: 1
3373
+ });
3468
3374
  date.setDate(date.getDate() - (date.getDay() || 7) - 1);
3469
3375
  const items = new Array(42);
3470
3376
  for (var index = 0; index < items.length; index++) {
@@ -3476,7 +3382,7 @@ function buildDayItems(monthItem, min, max) {
3476
3382
  disabled: monthItem.disabled
3477
3383
  };
3478
3384
  if (item.disabled != true) {
3479
- const date2 = new Date(formatDateValue(item, "yyyy-MM-dd"));
3385
+ const date2 = getDateByValue(item);
3480
3386
  item.disabled = minDate != void 0 && date2 < minDate || maxDate != void 0 && date2 > maxDate;
3481
3387
  }
3482
3388
  items[index] = Object.freeze(item);
@@ -3494,9 +3400,9 @@ function buildHourItems(min, max) {
3494
3400
  return items;
3495
3401
  }
3496
3402
  function buildMinuteItems(hourItem, min, max) {
3497
- const items = new Array(60);
3498
3403
  const minNumber = min && min.minute != void 0 ? getTimeNumber(min.hour, min.minute, 0) : void 0;
3499
3404
  const maxNumber = max && max.minute != void 0 ? getTimeNumber(max.hour, max.minute, 0) : void 0;
3405
+ const items = new Array(60);
3500
3406
  for (let index = 0; index < items.length; index++) {
3501
3407
  const item = {
3502
3408
  minute: index,
@@ -3530,37 +3436,8 @@ function buildSecondItems(minuteItem, min, max) {
3530
3436
  }
3531
3437
  return items;
3532
3438
  }
3533
- function getTimeNumber(hour, minute, second) {
3534
- return (hour || 0) * 1e4 + (minute || 0) * 100 + (second || 0);
3535
- }
3536
- function isValidTime(format, time, min, max) {
3537
- time = correctTimeValue(time);
3538
- if (time) {
3539
- min = correctTimeValue({
3540
- ...min
3541
- });
3542
- const timeNumber = getTimeNumber(time.hour, time.minute, format == "HH:mm" ? 0 : time.second);
3543
- if (min != void 0) {
3544
- const minNumber = getTimeNumber(min.hour, min.minute, format == "HH:mm" ? 0 : max.second);
3545
- if (timeNumber < minNumber) {
3546
- return false;
3547
- }
3548
- }
3549
- max = correctTimeValue({
3550
- ...max
3551
- });
3552
- if (max != void 0) {
3553
- const maxNumber = getTimeNumber(max.hour, max.minute, format == "HH:mm" ? 0 : max.second);
3554
- if (timeNumber > maxNumber) {
3555
- return false;
3556
- }
3557
- }
3558
- return true;
3559
- }
3560
- return false;
3561
- }
3562
3439
 
3563
- const _hoisted_1$2 = {
3440
+ const _hoisted_1$4 = {
3564
3441
  class: "tz-item",
3565
3442
  ref: "hour-items"
3566
3443
  };
@@ -3576,7 +3453,7 @@ const _hoisted_5$1 = {
3576
3453
  ref: "second-items"
3577
3454
  };
3578
3455
  const _hoisted_6$1 = ["textContent", "onClick"];
3579
- var _sfc_main$2 = defineComponent({
3456
+ var _sfc_main$4 = defineComponent({
3580
3457
  __name: "time-pc",
3581
3458
  props: {
3582
3459
  value: {},
@@ -3612,9 +3489,9 @@ var _sfc_main$2 = defineComponent({
3612
3489
  const props = __props;
3613
3490
  const emits = __emit;
3614
3491
  const format = props.format == "HH:mm" ? "HH:mm" : "HH:mm:ss";
3615
- const min = parseTimeValue(props.min);
3616
- const max = parseTimeValue(props.max);
3617
- const timeRef = ref(parseTimeValue(props.value) || getTimeValue(new Date()));
3492
+ const min = parseTimeValue(props.min, "min");
3493
+ const max = parseTimeValue(props.max, "max");
3494
+ const timeRef = ref(parseTimeValue(props.value, "min") || getTimeValue(new Date()));
3618
3495
  const isValidTimeRef = computed(() => format == "HH:mm" ? minuteItems.value && minuteItems.value[timeRef.value.minute].disabled != true : secondItems.value && secondItems.value[timeRef.value.second].disabled != true);
3619
3496
  const hourItems = shallowRef(buildHourItems(min, max));
3620
3497
  const minuteItems = shallowRef();
@@ -3679,17 +3556,17 @@ var _sfc_main$2 = defineComponent({
3679
3556
  }
3680
3557
  onMounted(rebuildItems);
3681
3558
  return (_ctx, _cache) => {
3682
- return openBlock(), createBlock(_sfc_main$b, {
3559
+ return openBlock(), createBlock(_sfc_main$c, {
3683
3560
  class: normalizeClass(["time-picker pc", {
3684
3561
  "second-disabled": unref(format) != "HH:mm:ss"
3685
3562
  }]),
3686
3563
  mode: "vertical"
3687
3564
  }, createSlots({
3688
- main: withCtx(() => [createVNode(_sfc_main$6, {
3689
- group: true,
3690
- effect: "down-up"
3565
+ main: withCtx(() => [createVNode(_sfc_main$r, {
3566
+ multiple: "",
3567
+ effect: unref(MOTION).top
3691
3568
  }, {
3692
- default: withCtx(() => [createElementVNode("div", _hoisted_1$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(hourItems.value, item => {
3569
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$4, [(openBlock(true), createElementBlock(Fragment, null, renderList(hourItems.value, item => {
3693
3570
  return openBlock(), createElementBlock("div", {
3694
3571
  class: normalizeClass(["tzi-number", {
3695
3572
  active: item.hour == timeRef.value.hour,
@@ -3721,23 +3598,23 @@ var _sfc_main$2 = defineComponent({
3721
3598
  }, null, 10, _hoisted_6$1);
3722
3599
  }), 128))], 512)) : createCommentVNode("", true)]),
3723
3600
  _: 1
3724
- })]),
3601
+ }, 8, ["effect"])]),
3725
3602
  _: 2
3726
3603
  }, [__props.toolbarDisabled != true ? {
3727
3604
  name: "bottom",
3728
- fn: withCtx(() => [__props.clearDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
3605
+ fn: withCtx(() => [__props.clearDisabled != true ? (openBlock(), createBlock(_sfc_main$A, {
3729
3606
  key: 0,
3730
3607
  type: "link",
3731
3608
  size: "small",
3732
3609
  textContent: "清空",
3733
3610
  onClick: _cache[0] || (_cache[0] = $event => (emits("clear"), __props.inPopup && __props.closePopup("")))
3734
- })) : createCommentVNode("", true), __props.nowDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
3611
+ })) : createCommentVNode("", true), __props.nowDisabled != true ? (openBlock(), createBlock(_sfc_main$A, {
3735
3612
  key: 1,
3736
3613
  type: "link",
3737
3614
  size: "small",
3738
3615
  textContent: "现在",
3739
3616
  onClick: _cache[1] || (_cache[1] = $event => rebuildItems(unref(getTimeValue)(new Date())))
3740
- })) : createCommentVNode("", true), createVNode(_sfc_main$z, {
3617
+ })) : createCommentVNode("", true), createVNode(_sfc_main$A, {
3741
3618
  type: "link",
3742
3619
  size: "small",
3743
3620
  textContent: "确定",
@@ -3752,7 +3629,7 @@ var _sfc_main$2 = defineComponent({
3752
3629
  }
3753
3630
  });
3754
3631
 
3755
- const _hoisted_1$1 = ["textContent"];
3632
+ const _hoisted_1$3 = ["textContent"];
3756
3633
  const _hoisted_2 = ["textContent"];
3757
3634
  const _hoisted_3 = ["textContent"];
3758
3635
  const _hoisted_4 = ["textContent", "onClick"];
@@ -3760,7 +3637,7 @@ const _hoisted_5 = ["textContent", "onClick"];
3760
3637
  const _hoisted_6 = ["textContent"];
3761
3638
  const _hoisted_7 = ["textContent", "onClick"];
3762
3639
  const _hoisted_8 = ["textContent"];
3763
- var _sfc_main$1 = defineComponent({
3640
+ var _sfc_main$3 = defineComponent({
3764
3641
  __name: "date-pc",
3765
3642
  props: {
3766
3643
  value: {},
@@ -3800,18 +3677,18 @@ var _sfc_main$1 = defineComponent({
3800
3677
  const {
3801
3678
  inPopup
3802
3679
  } = props;
3803
- const dateRef = ref(parseDateValue(props.value));
3680
+ const dateRef = ref(parseDateValue(props.value, "min"));
3804
3681
  const format = correctDateFormat(props.format, "yyyy-MM-dd");
3805
- const min = Object.freeze(parseDateValue(props.min));
3806
- const max = Object.freeze(parseDateValue(props.max));
3682
+ const min = Object.freeze(parseDateValue(props.min, "min"));
3683
+ const max = Object.freeze(parseDateValue(props.max, "max"));
3807
3684
  const endStep = initStepByFormat(format);
3808
3685
  const stepRef = shallowRef(endStep);
3809
3686
  const yearItems = shallowRef();
3810
3687
  const monthItems = shallowRef();
3811
3688
  const dayItemsRef = shallowRef([]);
3812
3689
  const isValidDateRef = computed(validateDate);
3813
- const minPickTime = Object.freeze(parseTimeValue(props.minPickTime));
3814
- const maxPickTime = Object.freeze(parseTimeValue(props.maxPickTime));
3690
+ const minPickTime = Object.freeze(parseTimeValue(props.minPickTime, "min"));
3691
+ const maxPickTime = Object.freeze(parseTimeValue(props.maxPickTime, "max"));
3815
3692
  const timeFormat = format == "yyyy-MM-dd HH:mm" ? "HH:mm" : format == "yyyy-MM-dd HH:mm:ss" ? "HH:mm:ss" : void 0;
3816
3693
  const timeAreaDom = timeFormat ? useTemplateRef("time-area") : void 0;
3817
3694
  function validateDate() {
@@ -3871,7 +3748,7 @@ var _sfc_main$1 = defineComponent({
3871
3748
  }
3872
3749
  case "day":
3873
3750
  {
3874
- const date = new Date(dateRef.value.year, dateRef.value.month - 1, 1);
3751
+ const date = getDateByValue(dateRef.value);
3875
3752
  date.setMonth(date.getMonth() + basis);
3876
3753
  dateRef.value.year = date.getFullYear();
3877
3754
  dateRef.value.month = date.getMonth() + 1;
@@ -3936,30 +3813,33 @@ var _sfc_main$1 = defineComponent({
3936
3813
  }
3937
3814
  }
3938
3815
  async function onSelectTime() {
3939
- if (props.picker == void 0 || timeAreaDom.value == void 0 || props.pinned.value == true) {
3940
- return;
3816
+ if (props.picker != void 0 && timeAreaDom.value != void 0 && props.pinned.value != true) {
3817
+ props.pinned.value = true;
3818
+ const task = props.picker.showTime(timeAreaDom.value, {
3819
+ format: timeFormat,
3820
+ value: formatTimeValue(dateRef.value, timeFormat),
3821
+ min: props.minPickTime,
3822
+ max: props.minPickTime,
3823
+ nowDisabled: props.nowDisabled,
3824
+ clearDisabled: props.clearDisabled,
3825
+ toolbarDisabled: props.toolbarDisabled
3826
+ }, {
3827
+ followX: "start",
3828
+ followY: "before",
3829
+ spaceX: -2,
3830
+ spaceY: 4
3831
+ });
3832
+ task.finally(() => setTimeout(() => props.pinned.value = false)).then(text => {
3833
+ if (text != void 0) {
3834
+ const time = parseTimeValue(text, "min") || Object.create(null);
3835
+ dateRef.value.hour = time.hour;
3836
+ dateRef.value.minute = time.minute;
3837
+ dateRef.value.second = time.second;
3838
+ }
3839
+ }, reason => {
3840
+ console.error(reason);
3841
+ });
3941
3842
  }
3942
- props.pinned.value = true;
3943
- const task = props.picker.showTime(timeAreaDom.value, {
3944
- format: timeFormat,
3945
- value: formatTimeValue(dateRef.value, timeFormat),
3946
- min: props.minPickTime,
3947
- max: props.minPickTime,
3948
- followX: "start",
3949
- followY: "before",
3950
- spaceX: -2,
3951
- spaceY: 4
3952
- });
3953
- task.finally(() => setTimeout(() => props.pinned.value = false)).then(text => {
3954
- if (text != void 0) {
3955
- const time = parseTimeValue(text) || Object.create(null);
3956
- dateRef.value.hour = time.hour;
3957
- dateRef.value.minute = time.minute;
3958
- dateRef.value.second = time.second;
3959
- }
3960
- }, reason => {
3961
- console.error(reason);
3962
- });
3963
3843
  }
3964
3844
  function onNow() {
3965
3845
  stepRef.value = initStepByFormat(format);
@@ -3976,7 +3856,7 @@ var _sfc_main$1 = defineComponent({
3976
3856
  dateRef.value == void 0 && (dateRef.value = electDateValue());
3977
3857
  buildPickerItems(stepRef.value, 0);
3978
3858
  return (_ctx, _cache) => {
3979
- return openBlock(), createBlock(_sfc_main$b, {
3859
+ return openBlock(), createBlock(_sfc_main$c, {
3980
3860
  class: normalizeClass(["date-picker pc", {
3981
3861
  "time-now": __props.pinned && __props.pinned.value == true
3982
3862
  }]),
@@ -3988,7 +3868,7 @@ var _sfc_main$1 = defineComponent({
3988
3868
  height: "30px"
3989
3869
  }
3990
3870
  }, createSlots({
3991
- top: withCtx(() => [createVNode(_sfc_main$y, {
3871
+ top: withCtx(() => [createVNode(_sfc_main$z, {
3992
3872
  type: "arrow",
3993
3873
  rotate: 180,
3994
3874
  size: 26,
@@ -3998,7 +3878,7 @@ var _sfc_main$1 = defineComponent({
3998
3878
  }, [stepRef.value == "year" ? (openBlock(), createElementBlock("div", {
3999
3879
  key: 0,
4000
3880
  textContent: toDisplayString(`${yearItems.value[0].year}年 - ${unref(getFromArray)(yearItems.value, -1).year}年`)
4001
- }, null, 8, _hoisted_1$1)) : (openBlock(), createElementBlock(Fragment, {
3881
+ }, null, 8, _hoisted_1$3)) : (openBlock(), createElementBlock(Fragment, {
4002
3882
  key: 1
4003
3883
  }, [createElementVNode("div", {
4004
3884
  textContent: toDisplayString(`${dateRef.value.year}年`),
@@ -4007,7 +3887,7 @@ var _sfc_main$1 = defineComponent({
4007
3887
  key: 0,
4008
3888
  textContent: toDisplayString(`${dateRef.value.month}月`),
4009
3889
  onClick: _cache[2] || (_cache[2] = $event => onSwitchStepClick("month"))
4010
- }, null, 8, _hoisted_3)) : createCommentVNode("", true)], 64))], 2), createVNode(_sfc_main$y, {
3890
+ }, null, 8, _hoisted_3)) : createCommentVNode("", true)], 64))], 2), createVNode(_sfc_main$z, {
4011
3891
  type: "arrow",
4012
3892
  size: 26,
4013
3893
  onClick: _cache[3] || (_cache[3] = $event => buildPickerItems(stepRef.value, 1))
@@ -4072,19 +3952,19 @@ var _sfc_main$1 = defineComponent({
4072
3952
  onClick: onSelectTime
4073
3953
  }, null, 10, _hoisted_8)) : createCommentVNode("", true), __props.toolbarDisabled != true ? (openBlock(), createElementBlock(Fragment, {
4074
3954
  key: 1
4075
- }, [__props.clearDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
3955
+ }, [__props.clearDisabled != true ? (openBlock(), createBlock(_sfc_main$A, {
4076
3956
  key: 0,
4077
3957
  type: "link",
4078
3958
  size: "small",
4079
3959
  textContent: "清空",
4080
3960
  onClick: _cache[4] || (_cache[4] = $event => (emits("clear"), unref(inPopup) && __props.closePopup("")))
4081
- })) : createCommentVNode("", true), __props.nowDisabled != true ? (openBlock(), createBlock(_sfc_main$z, {
3961
+ })) : createCommentVNode("", true), __props.nowDisabled != true ? (openBlock(), createBlock(_sfc_main$A, {
4082
3962
  key: 1,
4083
3963
  type: "link",
4084
3964
  size: "small",
4085
3965
  textContent: "现在",
4086
3966
  onClick: onNow
4087
- })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), createVNode(_sfc_main$z, {
3967
+ })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), createVNode(_sfc_main$A, {
4088
3968
  type: "link",
4089
3969
  size: "small",
4090
3970
  textContent: "确定",
@@ -4101,40 +3981,32 @@ var _sfc_main$1 = defineComponent({
4101
3981
 
4102
3982
  function usePicker() {
4103
3983
  const popup = usePopup();
4104
- function showDate(target, options) {
3984
+ function showDate(target, options, popupOptions) {
4105
3985
  options = {
4106
3986
  ...options
4107
3987
  };
4108
- return showPicker(target, _sfc_main$1, options);
3988
+ return showPicker(target, _sfc_main$3, options, popupOptions);
4109
3989
  }
4110
- function showTime(target, options) {
3990
+ function showTime(target, options, popupOptions) {
4111
3991
  options = {
4112
3992
  ...options
4113
3993
  };
4114
- return showPicker(target, _sfc_main$2, options);
3994
+ return showPicker(target, _sfc_main$4, options, popupOptions);
4115
3995
  }
4116
- function showPicker(target, component, options) {
4117
- let popupOptions = Object.create(null);
4118
- if (options != void 0) {
4119
- popupOptions.followX = options.followX;
4120
- popupOptions.followY = options.followY;
4121
- popupOptions.spaceX = options.spaceX;
4122
- popupOptions.spaceY = options.spaceY;
4123
- popupOptions.spaceClient = options.spaceClien;
4124
- delete options.followX;
4125
- delete options.followY;
4126
- delete options.spaceX;
4127
- delete options.spaceY;
4128
- delete options.spaceClient;
3996
+ function showPicker(target, component, options, popupOptions) {
3997
+ {
3998
+ popupOptions = {
3999
+ ...popupOptions
4000
+ };
4001
+ popupOptions.followX = popupOptions.followX || ["start", "end", "center"];
4002
+ popupOptions.spaceX = correctNumber(popupOptions.spaceX, 2);
4003
+ popupOptions.spaceY = correctNumber(popupOptions.spaceY, 2);
4004
+ popupOptions.spaceClient = correctNumber(popupOptions.spaceClient, 10);
4005
+ popupOptions.closeOnMask = popupOptions.closeOnMask == void 0 ? true : popupOptions.closeOnMask;
4129
4006
  }
4130
4007
  return popup.follow(target, {
4008
+ ...popupOptions,
4131
4009
  component,
4132
- followX: popupOptions.followX || "center",
4133
- followY: popupOptions.followY,
4134
- spaceX: correctNumber(popupOptions.spaceX, 2),
4135
- spaceY: correctNumber(popupOptions.spaceY, 2),
4136
- spaceClient: correctNumber(popupOptions.spaceClient, 10),
4137
- closeOnMask: true,
4138
4010
  props: {
4139
4011
  ...options,
4140
4012
  picker: manager,
@@ -4150,6 +4022,178 @@ function usePicker() {
4150
4022
  return manager;
4151
4023
  }
4152
4024
 
4025
+ const _hoisted_1$2 = ["title"];
4026
+ var _sfc_main$2 = defineComponent({
4027
+ __name: "date-picker",
4028
+ props: {
4029
+ readonly: {
4030
+ type: Boolean
4031
+ },
4032
+ value: {},
4033
+ format: {},
4034
+ min: {},
4035
+ max: {},
4036
+ minPickTime: {},
4037
+ maxPickTime: {},
4038
+ toolbarDisabled: {
4039
+ type: Boolean
4040
+ },
4041
+ nowDisabled: {
4042
+ type: Boolean
4043
+ },
4044
+ clearDisabled: {
4045
+ type: Boolean
4046
+ }
4047
+ },
4048
+ emits: ["change"],
4049
+ setup(__props, _ref) {
4050
+ let {
4051
+ emit: __emit
4052
+ } = _ref;
4053
+ const props = __props;
4054
+ const emits = __emit;
4055
+ const pickerDom = useTemplateRef("datepicker");
4056
+ const {
4057
+ showDate
4058
+ } = usePicker();
4059
+ const {
4060
+ watcher
4061
+ } = useReactive();
4062
+ const valueRef = shallowRef();
4063
+ let pickerScope;
4064
+ function resetDateValue(value) {
4065
+ const dateValue = parseDateValue(value, "min");
4066
+ valueRef.value = formatDateValue(dateValue, props.format);
4067
+ }
4068
+ async function showPicker(evt) {
4069
+ if (props.readonly != true && pickerScope == void 0) {
4070
+ pickerScope = showDate(pickerDom.value, {
4071
+ ...props,
4072
+ value: valueRef.value
4073
+ }, {
4074
+ followX: evt.target.tagName == "svg" ? ["end"] : void 0,
4075
+ closeOnTarget: true
4076
+ });
4077
+ const dateText = await pickerScope;
4078
+ pickerScope = void 0;
4079
+ if (dateText !== void 0 && dateText != valueRef.value) {
4080
+ const oldText = valueRef.value;
4081
+ valueRef.value = dateText;
4082
+ emits("change", dateText, oldText);
4083
+ }
4084
+ }
4085
+ }
4086
+ isStringNotEmpty(props.value) && resetDateValue(props.value);
4087
+ watcher(() => props.value, newValue => newValue !== valueRef.value && resetDateValue(newValue));
4088
+ return (_ctx, _cache) => {
4089
+ return openBlock(), createElementBlock("div", {
4090
+ class: normalizeClass(["snail-datepicker", {
4091
+ readonly: __props.readonly
4092
+ }]),
4093
+ ref: "datepicker",
4094
+ title: valueRef.value,
4095
+ onClick: showPicker
4096
+ }, [withDirectives(createElementVNode("input", {
4097
+ class: "wh-fill",
4098
+ type: "text",
4099
+ readonly: "",
4100
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => valueRef.value = $event)
4101
+ }, null, 512), [[vModelText, valueRef.value]]), __props.readonly != true ? (openBlock(), createBlock(_sfc_main$z, {
4102
+ key: 0,
4103
+ type: "datepicker",
4104
+ color: "#aeb6c2",
4105
+ "hover-color": "#279bf1",
4106
+ size: 16
4107
+ })) : createCommentVNode("", true)], 10, _hoisted_1$2);
4108
+ };
4109
+ }
4110
+ });
4111
+
4112
+ const _hoisted_1$1 = ["title"];
4113
+ var _sfc_main$1 = defineComponent({
4114
+ __name: "time-picker",
4115
+ props: {
4116
+ readonly: {
4117
+ type: Boolean
4118
+ },
4119
+ value: {},
4120
+ format: {},
4121
+ min: {},
4122
+ max: {},
4123
+ toolbarDisabled: {
4124
+ type: Boolean
4125
+ },
4126
+ nowDisabled: {
4127
+ type: Boolean
4128
+ },
4129
+ clearDisabled: {
4130
+ type: Boolean
4131
+ }
4132
+ },
4133
+ emits: ["change"],
4134
+ setup(__props, _ref) {
4135
+ let {
4136
+ emit: __emit
4137
+ } = _ref;
4138
+ const props = __props;
4139
+ const emits = __emit;
4140
+ const pickerDom = useTemplateRef("timepicker");
4141
+ const {
4142
+ showTime
4143
+ } = usePicker();
4144
+ const {
4145
+ watcher
4146
+ } = useReactive();
4147
+ const valueRef = shallowRef();
4148
+ let pickerScope;
4149
+ function resetTimeValue(value) {
4150
+ const timeValue = parseTimeValue(value, "min");
4151
+ valueRef.value = formatTimeValue(timeValue, props.format);
4152
+ }
4153
+ async function showPicker(evt) {
4154
+ if (props.readonly != true && pickerScope == void 0) {
4155
+ pickerScope = showTime(pickerDom.value, {
4156
+ ...props,
4157
+ value: valueRef.value
4158
+ }, {
4159
+ followX: evt.target.tagName == "svg" ? ["end"] : void 0,
4160
+ closeOnTarget: true
4161
+ });
4162
+ const timeText = await pickerScope;
4163
+ pickerScope = void 0;
4164
+ if (timeText !== void 0 && timeText != valueRef.value) {
4165
+ const oldText = valueRef.value;
4166
+ valueRef.value = timeText;
4167
+ emits("change", timeText, oldText);
4168
+ }
4169
+ }
4170
+ }
4171
+ isStringNotEmpty(props.value) && resetTimeValue(props.value);
4172
+ watcher(() => props.value, newValue => newValue !== valueRef.value && resetTimeValue(newValue));
4173
+ return (_ctx, _cache) => {
4174
+ return openBlock(), createElementBlock("div", {
4175
+ class: normalizeClass(["snail-timepicker", {
4176
+ readonly: __props.readonly
4177
+ }]),
4178
+ ref: "timepicker",
4179
+ title: valueRef.value,
4180
+ onClick: showPicker
4181
+ }, [withDirectives(createElementVNode("input", {
4182
+ class: "wh-fill",
4183
+ type: "text",
4184
+ readonly: "",
4185
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => valueRef.value = $event)
4186
+ }, null, 512), [[vModelText, valueRef.value]]), __props.readonly != true ? (openBlock(), createBlock(_sfc_main$z, {
4187
+ key: 0,
4188
+ type: "timepicker",
4189
+ color: "#aeb6c2",
4190
+ "hover-color": "#279bf1",
4191
+ size: 20
4192
+ })) : createCommentVNode("", true)], 10, _hoisted_1$1);
4193
+ };
4194
+ }
4195
+ });
4196
+
4153
4197
  const _hoisted_1 = ["textContent"];
4154
4198
  var _sfc_main = defineComponent({
4155
4199
  ...{
@@ -4235,12 +4279,12 @@ var _sfc_main = defineComponent({
4235
4279
  onTouchstart: onStartDrag,
4236
4280
  onTouchmove: onDragMove,
4237
4281
  onTouchend: onDragEnd
4238
- }, [dragInfoRef.value.status == "success" ? (openBlock(), createBlock(_sfc_main$y, {
4282
+ }, [dragInfoRef.value.status == "success" ? (openBlock(), createBlock(_sfc_main$z, {
4239
4283
  key: 0,
4240
4284
  type: "success",
4241
4285
  size: 20,
4242
4286
  color: "white"
4243
- })) : (openBlock(), createBlock(_sfc_main$y, {
4287
+ })) : (openBlock(), createBlock(_sfc_main$z, {
4244
4288
  key: 1,
4245
4289
  type: "custom",
4246
4290
  size: 20,
@@ -4252,36 +4296,37 @@ var _sfc_main = defineComponent({
4252
4296
  });
4253
4297
 
4254
4298
  const components = {
4255
- Button: _sfc_main$z,
4256
- Choose: _sfc_main$x,
4257
- DatePicker: _sfc_main$w,
4258
- Footer: _sfc_main$v,
4259
- Header: _sfc_main$u,
4260
- Icon: _sfc_main$y,
4261
- Input: _sfc_main$t,
4262
- Number: _sfc_main$s,
4263
- Search: _sfc_main$r,
4264
- Select: _sfc_main$g,
4265
- Switch: _sfc_main$f,
4266
- Textarea: _sfc_main$e,
4267
- Dynamic: _sfc_main$o,
4268
- Fold: _sfc_main$d,
4269
- Layout: _sfc_main$b,
4270
- Scroll: _sfc_main$c,
4271
- Sort: _sfc_main$a,
4272
- Table: _sfc_main$9,
4273
- TableRow: _sfc_main$8,
4274
- TableCol: _sfc_main$7,
4275
- Transitions: _sfc_main$6,
4276
- Tree: _sfc_main$4,
4277
- Wrapper: _sfc_main$3,
4299
+ Button: _sfc_main$A,
4300
+ Choose: _sfc_main$y,
4301
+ Footer: _sfc_main$x,
4302
+ Header: _sfc_main$w,
4303
+ Icon: _sfc_main$z,
4304
+ Input: _sfc_main$v,
4305
+ Number: _sfc_main$u,
4306
+ Search: _sfc_main$t,
4307
+ Select: _sfc_main$h,
4308
+ Switch: _sfc_main$g,
4309
+ Textarea: _sfc_main$f,
4310
+ Dynamic: _sfc_main$p,
4311
+ Fold: _sfc_main$e,
4312
+ Motion: _sfc_main$r,
4313
+ Layout: _sfc_main$c,
4314
+ Scroll: _sfc_main$d,
4315
+ Sort: _sfc_main$b,
4316
+ Table: _sfc_main$a,
4317
+ TableRow: _sfc_main$9,
4318
+ TableCol: _sfc_main$8,
4319
+ Tree: _sfc_main$6,
4320
+ Wrapper: _sfc_main$5,
4321
+ DatePicker: _sfc_main$2,
4322
+ TimePicker: _sfc_main$1,
4278
4323
  DragVerify: _sfc_main,
4279
- Empty: _sfc_main$j,
4280
- Loading: _sfc_main$p
4324
+ Empty: _sfc_main$k,
4325
+ Loading: _sfc_main$q
4281
4326
  };
4282
4327
 
4283
4328
  onMountScope(scope => {
4284
4329
  getCurrentScope() && onScopeDispose(scope.destroy);
4285
4330
  });
4286
4331
 
4287
- export { components, getSvgDraw, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
4332
+ export { MOTION, components, getSvgDraw, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };