snail.vue 2.0.16 → 2.0.18

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.
@@ -5,8 +5,8 @@
5
5
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.SnailVue = global.SnailVue || {}, global.Vue, global.Snail, global.SnailView));
6
6
  })(this, (function (exports, vue, snail_core, snail_view) { 'use strict';
7
7
 
8
- const _hoisted_1$l = ["title"];
9
- var _sfc_main$A = vue.defineComponent({
8
+ const _hoisted_1$n = ["title"];
9
+ var _sfc_main$D = vue.defineComponent({
10
10
  ...{
11
11
  name: "Button",
12
12
  inheritAttrs: true
@@ -22,11 +22,15 @@
22
22
  return vue.openBlock(), vue.createElementBlock("div", {
23
23
  class: vue.normalizeClass(["snail-button", [__props.size, __props.type]]),
24
24
  title: __props.title
25
- }, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = vue.createTextVNode("按钮", -1))])], 10, _hoisted_1$l);
25
+ }, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = vue.createTextVNode("按钮", -1))])], 10, _hoisted_1$n);
26
26
  };
27
27
  }
28
28
  });
29
29
 
30
+ var addLink = href => setTimeout(snail_view.link.register, 0, href);
31
+
32
+ addLink("/styles/snail.vue.vue.css");
33
+
30
34
  function getBuiltinIcon(iconType) {
31
35
  switch (iconType) {
32
36
  case "success":
@@ -65,10 +69,10 @@
65
69
  }
66
70
  }
67
71
 
68
- const _hoisted_1$k = ["viewBox"];
69
- const _hoisted_2$c = ["textContent"];
70
- const _hoisted_3$a = ["d"];
71
- var _sfc_main$z = vue.defineComponent({
72
+ const _hoisted_1$m = ["viewBox"];
73
+ const _hoisted_2$e = ["textContent"];
74
+ const _hoisted_3$b = ["d"];
75
+ var _sfc_main$C = vue.defineComponent({
72
76
  __name: "icon",
73
77
  props: {
74
78
  title: {},
@@ -123,24 +127,24 @@
123
127
  onMouseleave: _cache[1] || (_cache[1] = $event => isMouseEnterRef.value = false)
124
128
  }), [vue.createElementVNode("title", {
125
129
  textContent: vue.toDisplayString(__props.title || "")
126
- }, null, 8, _hoisted_2$c), __props.custom == true ? vue.renderSlot(_ctx.$slots, "default", {
130
+ }, null, 8, _hoisted_2$e), __props.custom == true ? vue.renderSlot(_ctx.$slots, "default", {
127
131
  key: 0
128
132
  }) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
129
133
  key: 1
130
134
  }, vue.renderList(vue.unref(getBuiltinIcon)(__props.type), d => {
131
135
  return vue.openBlock(), vue.createElementBlock("path", {
132
136
  d
133
- }, null, 8, _hoisted_3$a);
134
- }), 256))], 16, _hoisted_1$k);
137
+ }, null, 8, _hoisted_3$b);
138
+ }), 256))], 16, _hoisted_1$m);
135
139
  };
136
140
  }
137
141
  });
138
142
 
139
- const _hoisted_1$j = ["title", "onClick"];
140
- const _hoisted_2$b = ["type", "checked"];
141
- const _hoisted_3$9 = ["textContent"];
143
+ const _hoisted_1$l = ["title", "onClick"];
144
+ const _hoisted_2$d = ["type", "checked"];
145
+ const _hoisted_3$a = ["textContent"];
142
146
  const _hoisted_4$7 = ["textContent"];
143
- var _sfc_main$y = vue.defineComponent({
147
+ var _sfc_main$B = vue.defineComponent({
144
148
  ...{
145
149
  name: "Choose",
146
150
  inheritAttrs: true
@@ -216,10 +220,10 @@
216
220
  key: 0,
217
221
  type: vue.unref(type),
218
222
  checked: node.selected
219
- }, null, 8, _hoisted_2$b)) : vue.unref(mode) == "beautiful" ? (vue.openBlock(), vue.createElementBlock("div", {
223
+ }, null, 8, _hoisted_2$d)) : vue.unref(mode) == "beautiful" ? (vue.openBlock(), vue.createElementBlock("div", {
220
224
  key: 1,
221
225
  class: vue.normalizeClass(["status", [node.selected ? "selected" : ""]])
222
- }, [node.selected ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
226
+ }, [node.selected ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
223
227
  key: 0,
224
228
  type: "success",
225
229
  size: 12,
@@ -228,21 +232,17 @@
228
232
  key: 2,
229
233
  class: "item-text",
230
234
  textContent: vue.toDisplayString(node.item.text)
231
- }, null, 8, _hoisted_3$9)) : vue.createCommentVNode("", true), node.item.description ? (vue.openBlock(), vue.createElementBlock("span", {
235
+ }, null, 8, _hoisted_3$a)) : vue.createCommentVNode("", true), node.item.description ? (vue.openBlock(), vue.createElementBlock("span", {
232
236
  key: 3,
233
237
  class: "item-des",
234
238
  textContent: vue.toDisplayString(node.item.description)
235
- }, null, 8, _hoisted_4$7)) : vue.createCommentVNode("", true)], 14, _hoisted_1$j);
239
+ }, null, 8, _hoisted_4$7)) : vue.createCommentVNode("", true)], 14, _hoisted_1$l);
236
240
  }), 128))], 2);
237
241
  };
238
242
  }
239
243
  });
240
244
 
241
- var addLink = href => setTimeout(snail_view.link.register, 0, href);
242
-
243
- addLink("/styles/snail.vue.vue.css");
244
-
245
- var _sfc_main$x = vue.defineComponent({
245
+ var _sfc_main$A = vue.defineComponent({
246
246
  ...{
247
247
  name: "Footer",
248
248
  inheritAttrs: true
@@ -273,13 +273,13 @@
273
273
  class: vue.normalizeClass(["snail-footer", {
274
274
  "start-divider": __props.divider
275
275
  }, __props.align || "right"])
276
- }, [vue.renderSlot(_ctx.$slots, "default", {}, () => [__props.cancelDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
276
+ }, [vue.renderSlot(_ctx.$slots, "default", {}, () => [__props.cancelDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
277
277
  key: 0,
278
278
  size: "max",
279
279
  type: "default",
280
280
  onClick: _cache[0] || (_cache[0] = $event => emits("cancel")),
281
281
  textContent: vue.toDisplayString(__props.cancelName || "取消")
282
- }, null, 8, ["textContent"])) : vue.createCommentVNode("", true), __props.confirmDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
282
+ }, null, 8, ["textContent"])) : vue.createCommentVNode("", true), __props.confirmDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
283
283
  key: 1,
284
284
  size: "max",
285
285
  type: "primary",
@@ -290,8 +290,8 @@
290
290
  }
291
291
  });
292
292
 
293
- const _hoisted_1$i = ["textContent"];
294
- var _sfc_main$w = vue.defineComponent({
293
+ const _hoisted_1$k = ["textContent"];
294
+ var _sfc_main$z = vue.defineComponent({
295
295
  ...{
296
296
  name: "Header",
297
297
  inheritAttrs: true
@@ -330,7 +330,7 @@
330
330
  key: 0,
331
331
  textContent: vue.toDisplayString(__props.title),
332
332
  class: vue.normalizeClass(["header-title", __props.titleAlign])
333
- }, null, 10, _hoisted_1$i)) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "default"), __props.closeDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
333
+ }, null, 10, _hoisted_1$k)) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "default"), __props.closeDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
334
334
  key: 1,
335
335
  class: "close-icon",
336
336
  type: "close",
@@ -343,18 +343,18 @@
343
343
  }
344
344
  });
345
345
 
346
- const _hoisted_1$h = ["textContent"];
347
- const _hoisted_2$a = {
346
+ const _hoisted_1$j = ["textContent"];
347
+ const _hoisted_2$c = {
348
348
  key: 0,
349
349
  class: "required",
350
350
  textContent: "*"
351
351
  };
352
- const _hoisted_3$8 = {
352
+ const _hoisted_3$9 = {
353
353
  class: "input-body"
354
354
  };
355
355
  const _hoisted_4$6 = ["type", "value", "readonly", "placeholder", "title"];
356
356
  const _hoisted_5$4 = ["title"];
357
- var _sfc_main$v = vue.defineComponent({
357
+ var _sfc_main$y = vue.defineComponent({
358
358
  ...{
359
359
  name: "Input",
360
360
  inheritAttrs: true
@@ -406,7 +406,7 @@
406
406
  }, [vue.createElementVNode("span", {
407
407
  class: "text",
408
408
  textContent: vue.toDisplayString(__props.title)
409
- }, null, 8, _hoisted_1$h), __props.readonly != true && __props.required == true ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$a)) : vue.createCommentVNode("", true)], 4)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_3$8, [vue.createElementVNode("input", {
409
+ }, null, 8, _hoisted_1$j), __props.readonly != true && __props.required == true ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$c)) : vue.createCommentVNode("", true)], 4)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_3$9, [vue.createElementVNode("input", {
410
410
  ref: "input-el",
411
411
  type: __props.type || "text",
412
412
  value: inputModel.value,
@@ -419,7 +419,7 @@
419
419
  key: 0,
420
420
  class: "validate",
421
421
  title: validateRef.value
422
- }, [vue.createVNode(_sfc_main$z, {
422
+ }, [vue.createVNode(_sfc_main$C, {
423
423
  type: "error",
424
424
  button: "",
425
425
  size: 16,
@@ -629,12 +629,12 @@
629
629
  return formatter;
630
630
  }
631
631
 
632
- const _hoisted_1$g = {
632
+ const _hoisted_1$i = {
633
633
  key: 0,
634
634
  class: "number-prefix"
635
635
  };
636
- const _hoisted_2$9 = ["textContent"];
637
- const _hoisted_3$7 = ["inputmode", "placeholder", "title"];
636
+ const _hoisted_2$b = ["textContent"];
637
+ const _hoisted_3$8 = ["inputmode", "placeholder", "title"];
638
638
  const _hoisted_4$5 = {
639
639
  key: 1,
640
640
  class: "number-suffix"
@@ -642,7 +642,7 @@
642
642
  const _hoisted_5$3 = ["textContent"];
643
643
  const _hoisted_6$2 = ["title", "textContent"];
644
644
  const _hoisted_7$1 = ["title", "textContent"];
645
- var _sfc_main$u = vue.defineComponent({
645
+ var _sfc_main$x = vue.defineComponent({
646
646
  __name: "number",
647
647
  props: vue.mergeModels({
648
648
  placeholder: {},
@@ -789,10 +789,10 @@
789
789
  "has-prefix": vue.unref(hasPrefix),
790
790
  "has-suffix": vue.unref(hasSuffix)
791
791
  }])
792
- }, [vue.unref(hasPrefix) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [vue.createElementVNode("span", {
792
+ }, [vue.unref(hasPrefix) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [vue.createElementVNode("span", {
793
793
  class: "ellipsis",
794
794
  textContent: vue.toDisplayString(vue.unref(prefix))
795
- }, null, 8, _hoisted_2$9)])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
795
+ }, null, 8, _hoisted_2$b)])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
796
796
  class: vue.normalizeClass(["input-panel", vue.unref(controls)])
797
797
  }, [vue.withDirectives(vue.createElementVNode("input", {
798
798
  type: "text",
@@ -804,19 +804,19 @@
804
804
  onFocus: _cache[1] || (_cache[1] = $event => vue.isRef(needBackSection) ? needBackSection.value = true : needBackSection = true),
805
805
  onPaste: _cache[2] || (_cache[2] = $event => vue.isRef(needBackSection) ? needBackSection.value = false : needBackSection = false),
806
806
  onBlur: _cache[3] || (_cache[3] = $event => formatOnEnd(true))
807
- }, null, 40, _hoisted_3$7), [[vue.vModelText, displayValueRef.value]]), vue.unref(controls) == "default" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
807
+ }, null, 40, _hoisted_3$8), [[vue.vModelText, displayValueRef.value]]), vue.unref(controls) == "default" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
808
808
  key: 0
809
809
  }, [vue.createElementVNode("div", {
810
810
  class: "controls default subtract",
811
811
  onClick: _cache[4] || (_cache[4] = $event => onStepClick(false))
812
- }, [vue.createVNode(_sfc_main$z, {
812
+ }, [vue.createVNode(_sfc_main$C, {
813
813
  type: "subtract",
814
814
  button: "",
815
815
  size: 20
816
816
  })]), vue.createElementVNode("div", {
817
817
  class: "controls default plus",
818
818
  onClick: _cache[5] || (_cache[5] = $event => onStepClick(true))
819
- }, [vue.createVNode(_sfc_main$z, {
819
+ }, [vue.createVNode(_sfc_main$C, {
820
820
  type: "plus",
821
821
  button: "",
822
822
  size: 20
@@ -825,7 +825,7 @@
825
825
  }, [vue.createElementVNode("div", {
826
826
  class: "controls right plus",
827
827
  onClick: _cache[6] || (_cache[6] = $event => onStepClick(true))
828
- }, [vue.createVNode(_sfc_main$z, {
828
+ }, [vue.createVNode(_sfc_main$C, {
829
829
  type: "arrow",
830
830
  button: "",
831
831
  size: 20,
@@ -833,7 +833,7 @@
833
833
  })]), vue.createElementVNode("div", {
834
834
  class: "controls right subtract",
835
835
  onClick: _cache[7] || (_cache[7] = $event => onStepClick(false))
836
- }, [vue.createVNode(_sfc_main$z, {
836
+ }, [vue.createVNode(_sfc_main$C, {
837
837
  type: "arrow",
838
838
  button: "",
839
839
  size: 20,
@@ -856,8 +856,8 @@
856
856
  }
857
857
  });
858
858
 
859
- const _hoisted_1$f = ["placeholder", "readonly"];
860
- var _sfc_main$t = vue.defineComponent({
859
+ const _hoisted_1$h = ["placeholder", "readonly"];
860
+ var _sfc_main$w = vue.defineComponent({
861
861
  ...{
862
862
  name: "Search",
863
863
  inheritAttrs: true
@@ -902,9 +902,9 @@
902
902
  readonly: __props.readonly,
903
903
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => textModel.value = $event),
904
904
  onKeyup: _cache[1] || (_cache[1] = $event => onSearch($event))
905
- }, null, 40, _hoisted_1$f), [[vue.vModelText, textModel.value, void 0, {
905
+ }, null, 40, _hoisted_1$h), [[vue.vModelText, textModel.value, void 0, {
906
906
  trim: true
907
- }]]), vue.createElementVNode("div", null, [vue.createVNode(_sfc_main$z, {
907
+ }]]), vue.createElementVNode("div", null, [vue.createVNode(_sfc_main$C, {
908
908
  class: "search-button",
909
909
  custom: "",
910
910
  button: "",
@@ -1129,11 +1129,11 @@
1129
1129
  }
1130
1130
  }
1131
1131
 
1132
- const _hoisted_1$e = {
1132
+ const _hoisted_1$g = {
1133
1133
  class: "snail-confirm flex-column"
1134
1134
  };
1135
- const _hoisted_2$8 = ["innerHTML"];
1136
- var _sfc_main$s = vue.defineComponent({
1135
+ const _hoisted_2$a = ["innerHTML"];
1136
+ var _sfc_main$v = vue.defineComponent({
1137
1137
  ...{
1138
1138
  name: "ConfirmContainer",
1139
1139
  inheritAttrs: true
@@ -1161,14 +1161,14 @@
1161
1161
  },
1162
1162
  setup(__props) {
1163
1163
  return (_ctx, _cache) => {
1164
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [vue.createVNode(_sfc_main$w, {
1164
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [vue.createVNode(_sfc_main$z, {
1165
1165
  "use-to": "dialog",
1166
1166
  title: __props.title || "提示",
1167
1167
  onClose: _cache[0] || (_cache[0] = $event => __props.closePopup(false))
1168
1168
  }, null, 8, ["title"]), vue.createElementVNode("div", {
1169
1169
  class: "confirm-body",
1170
1170
  innerHTML: __props.message || "请确认?"
1171
- }, null, 8, _hoisted_2$8), vue.createVNode(_sfc_main$x, {
1171
+ }, null, 8, _hoisted_2$a), vue.createVNode(_sfc_main$A, {
1172
1172
  align: "right",
1173
1173
  "cancel-name": __props.cancelName,
1174
1174
  "cancel-disabled": __props.cancelDisabled,
@@ -1229,7 +1229,7 @@
1229
1229
  });
1230
1230
  for (var key in MOTION) snail_core.hasOwnProperty(MOTION, key) && Object.freeze(MOTION[key]);
1231
1231
 
1232
- var _sfc_main$r = vue.defineComponent({
1232
+ var _sfc_main$u = vue.defineComponent({
1233
1233
  __name: "motion",
1234
1234
  props: {
1235
1235
  multiple: {
@@ -1278,7 +1278,7 @@
1278
1278
  }
1279
1279
  });
1280
1280
 
1281
- var _sfc_main$q = vue.defineComponent({
1281
+ var _sfc_main$t = vue.defineComponent({
1282
1282
  ...{
1283
1283
  name: "Loading",
1284
1284
  inheritAttrs: true
@@ -1302,7 +1302,7 @@
1302
1302
  },
1303
1303
  setup(__props) {
1304
1304
  return (_ctx, _cache) => {
1305
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
1305
+ return vue.openBlock(), vue.createBlock(_sfc_main$u, {
1306
1306
  effect: vue.unref(MOTION).fade
1307
1307
  }, {
1308
1308
  default: vue.withCtx(() => [__props.show ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -1317,7 +1317,7 @@
1317
1317
  }
1318
1318
  });
1319
1319
 
1320
- var _sfc_main$p = vue.defineComponent({
1320
+ var _sfc_main$s = vue.defineComponent({
1321
1321
  ...{
1322
1322
  name: "Dynamic",
1323
1323
  inheritAttrs: false
@@ -1341,7 +1341,7 @@
1341
1341
  const loadingComponent = vue.defineComponent({
1342
1342
  inheritAttrs: false,
1343
1343
  components: {
1344
- Loading: _sfc_main$q
1344
+ Loading: _sfc_main$t
1345
1345
  },
1346
1346
  template: "<Loading :mask-disabled='true' />"
1347
1347
  });
@@ -1408,7 +1408,7 @@
1408
1408
  }
1409
1409
  });
1410
1410
 
1411
- var _sfc_main$o = vue.defineComponent({
1411
+ var _sfc_main$r = vue.defineComponent({
1412
1412
  ...{
1413
1413
  name: "DialogContainer",
1414
1414
  inheritAttrs: true
@@ -1453,7 +1453,7 @@
1453
1453
  onClick: _cache[1] || (_cache[1] = vue.withModifiers($event => {
1454
1454
  __props.options.closeOnMask && vue.unref(closePopup)();
1455
1455
  }, ["self"]))
1456
- }, [vue.createVNode(_sfc_main$p, vue.mergeProps({
1456
+ }, [vue.createVNode(_sfc_main$s, vue.mergeProps({
1457
1457
  class: "dialog-body",
1458
1458
  name: __props.options.name,
1459
1459
  component: __props.options.component,
@@ -1468,7 +1468,7 @@
1468
1468
  }
1469
1469
  });
1470
1470
 
1471
- var _sfc_main$n = vue.defineComponent({
1471
+ var _sfc_main$q = vue.defineComponent({
1472
1472
  ...{
1473
1473
  name: "FollowContainer",
1474
1474
  inheritAttrs: true
@@ -1589,7 +1589,7 @@
1589
1589
  });
1590
1590
  });
1591
1591
  return (_ctx, _cache) => {
1592
- return vue.openBlock(), vue.createBlock(_sfc_main$p, vue.mergeProps({
1592
+ return vue.openBlock(), vue.createBlock(_sfc_main$s, vue.mergeProps({
1593
1593
  class: ["snail-follow initial", [__props.popupStatus.value, __props.popupTransition.value]],
1594
1594
  style: {
1595
1595
  "z-index": __props.zIndex
@@ -1606,7 +1606,7 @@
1606
1606
  }
1607
1607
  });
1608
1608
 
1609
- var _sfc_main$m = vue.defineComponent({
1609
+ var _sfc_main$p = vue.defineComponent({
1610
1610
  ...{
1611
1611
  name: "PopupContainer",
1612
1612
  inheritAttrs: true
@@ -1626,7 +1626,7 @@
1626
1626
  model = vue.shallowRef(void 0)
1627
1627
  } = __props.options;
1628
1628
  return (_ctx, _cache) => {
1629
- return vue.openBlock(), vue.createBlock(_sfc_main$p, vue.mergeProps({
1629
+ return vue.openBlock(), vue.createBlock(_sfc_main$s, vue.mergeProps({
1630
1630
  class: ["snail-popup", [__props.popupStatus.value, __props.popupTransition.value]],
1631
1631
  style: {
1632
1632
  "z-index": __props.zIndex
@@ -1644,12 +1644,12 @@
1644
1644
  }
1645
1645
  });
1646
1646
 
1647
- const _hoisted_1$d = {
1647
+ const _hoisted_1$f = {
1648
1648
  key: 1,
1649
1649
  class: "icon"
1650
1650
  };
1651
- const _hoisted_2$7 = ["innerHTML"];
1652
- var _sfc_main$l = vue.defineComponent({
1651
+ const _hoisted_2$9 = ["innerHTML"];
1652
+ var _sfc_main$o = vue.defineComponent({
1653
1653
  ...{
1654
1654
  name: "ToastContainer",
1655
1655
  inheritAttrs: true
@@ -1686,7 +1686,7 @@
1686
1686
  }),
1687
1687
  onMouseenter: _cache[1] || (_cache[1] = $event => onMouseEvent(false)),
1688
1688
  onMouseleave: _cache[2] || (_cache[2] = $event => onMouseEvent(true))
1689
- }, [vue.unref(props).closeDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
1689
+ }, [vue.unref(props).closeDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
1690
1690
  key: 0,
1691
1691
  class: "close-icon",
1692
1692
  type: "close",
@@ -1697,21 +1697,21 @@
1697
1697
  onClick: _cache[0] || (_cache[0] = $event => {
1698
1698
  vue.unref(closePopup)();
1699
1699
  })
1700
- })) : vue.createCommentVNode("", true), vue.unref(props).type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [vue.createVNode(_sfc_main$z, {
1700
+ })) : vue.createCommentVNode("", true), vue.unref(props).type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [vue.createVNode(_sfc_main$C, {
1701
1701
  type: vue.unref(props).type,
1702
1702
  color: "#707070",
1703
1703
  size: 20
1704
1704
  }, null, 8, ["type"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
1705
1705
  class: "message",
1706
1706
  innerHTML: vue.unref(props).message
1707
- }, null, 8, _hoisted_2$7)], 38);
1707
+ }, null, 8, _hoisted_2$9)], 38);
1708
1708
  };
1709
1709
  }
1710
1710
  });
1711
1711
 
1712
1712
  function usePopup() {
1713
1713
  function popup(options) {
1714
- const scope = checkOptions(options, checkPopup) || popupInCustomContainer(_sfc_main$m, options);
1714
+ const scope = checkOptions(options, checkPopup) || popupInCustomContainer(_sfc_main$p, options);
1715
1715
  return addScope2Scopes(scope);
1716
1716
  }
1717
1717
  function dialog(options) {
@@ -1744,7 +1744,7 @@
1744
1744
  },
1745
1745
  onBeforeClose: fn => hook.register("onBeforeClose", fn)
1746
1746
  });
1747
- const descriptor = openPopup(_sfc_main$o, options, extOptions);
1747
+ const descriptor = openPopup(_sfc_main$r, options, extOptions);
1748
1748
  scope = snail_core.useAsyncScope(deferred.promise);
1749
1749
  monitorDialog(descriptor, scope, deferred);
1750
1750
  }
@@ -1762,14 +1762,14 @@
1762
1762
  inPopup: "follow",
1763
1763
  target
1764
1764
  };
1765
- scope = checkOptions(options, checkFollow) || popupInCustomContainer(_sfc_main$n, options, extOptions);
1765
+ scope = checkOptions(options, checkFollow) || popupInCustomContainer(_sfc_main$q, options, extOptions);
1766
1766
  }
1767
1767
  return addScope2Scopes(scope);
1768
1768
  }
1769
1769
  function confirm(title, message, options) {
1770
1770
  options = options || Object.create(null);
1771
1771
  return dialog({
1772
- component: _sfc_main$s,
1772
+ component: _sfc_main$v,
1773
1773
  closeOnEscape: true,
1774
1774
  props: {
1775
1775
  ...options,
@@ -1779,7 +1779,7 @@
1779
1779
  });
1780
1780
  }
1781
1781
  function toast(type, message, options) {
1782
- return popupInCustomContainer(_sfc_main$l, {
1782
+ return popupInCustomContainer(_sfc_main$o, {
1783
1783
  url: "#ToastContainer",
1784
1784
  props: {
1785
1785
  ...(options || Object.create(null)),
@@ -1812,7 +1812,7 @@
1812
1812
  },
1813
1813
  ...extOptions
1814
1814
  });
1815
- const descriptor = openPopup(container || _sfc_main$m, options, extOptions);
1815
+ const descriptor = openPopup(container || _sfc_main$p, options, extOptions);
1816
1816
  const scope = snail_core.useAsyncScope(deferred.promise);
1817
1817
  scope.onDestroy(() => destroyPopup(descriptor, deferred));
1818
1818
  return scope;
@@ -1947,12 +1947,12 @@
1947
1947
  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==";
1948
1948
  }
1949
1949
 
1950
- const _hoisted_1$c = {
1950
+ const _hoisted_1$e = {
1951
1951
  class: "snail-empty"
1952
1952
  };
1953
- const _hoisted_2$6 = ["src"];
1954
- const _hoisted_3$6 = ["textContent"];
1955
- var _sfc_main$k = vue.defineComponent({
1953
+ const _hoisted_2$8 = ["src"];
1954
+ const _hoisted_3$7 = ["textContent"];
1955
+ var _sfc_main$n = vue.defineComponent({
1956
1956
  ...{
1957
1957
  name: "Empty",
1958
1958
  inheritAttrs: true
@@ -1965,23 +1965,23 @@
1965
1965
  setup(__props) {
1966
1966
  const defaultImageBase64 = getNoDataBase64Image();
1967
1967
  return (_ctx, _cache) => {
1968
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [vue.createElementVNode("img", {
1968
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [vue.createElementVNode("img", {
1969
1969
  src: __props.imageUrl || vue.unref(defaultImageBase64)
1970
- }, null, 8, _hoisted_2$6), vue.renderSlot(_ctx.$slots, "default", {}, () => [vue.createElementVNode("div", {
1970
+ }, null, 8, _hoisted_2$8), vue.renderSlot(_ctx.$slots, "default", {}, () => [vue.createElementVNode("div", {
1971
1971
  class: "message",
1972
1972
  textContent: vue.toDisplayString(__props.message || "无数据")
1973
- }, null, 8, _hoisted_3$6)])]);
1973
+ }, null, 8, _hoisted_3$7)])]);
1974
1974
  };
1975
1975
  }
1976
1976
  });
1977
1977
 
1978
- const _hoisted_1$b = ["title"];
1979
- const _hoisted_2$5 = ["textContent"];
1980
- const _hoisted_3$5 = {
1978
+ const _hoisted_1$d = ["title"];
1979
+ const _hoisted_2$7 = ["textContent"];
1980
+ const _hoisted_3$6 = {
1981
1981
  key: 1,
1982
1982
  class: "select-status"
1983
1983
  };
1984
- var _sfc_main$j = vue.defineComponent({
1984
+ var _sfc_main$m = vue.defineComponent({
1985
1985
  ...{
1986
1986
  name: "SelectNode",
1987
1987
  inheritAttrs: true
@@ -2026,15 +2026,15 @@
2026
2026
  }, [vue.createElementVNode("div", {
2027
2027
  class: "item-text ellipsis",
2028
2028
  textContent: vue.toDisplayString(__props.item.text)
2029
- }, null, 8, _hoisted_2$5), __props.item.type == "group" ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
2029
+ }, null, 8, _hoisted_2$7), __props.item.type == "group" ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
2030
2030
  key: 0,
2031
2031
  type: "arrow"
2032
- })) : __props.multiple == true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [vue.createVNode(_sfc_main$z, {
2032
+ })) : __props.multiple == true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, [vue.createVNode(_sfc_main$C, {
2033
2033
  type: "success",
2034
2034
  button: "",
2035
2035
  size: 12,
2036
2036
  color: "white"
2037
- })])) : vue.createCommentVNode("", true)], 42, _hoisted_1$b)) : vue.createCommentVNode("", true), showRef.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
2037
+ })])) : vue.createCommentVNode("", true)], 42, _hoisted_1$d)) : vue.createCommentVNode("", true), showRef.value ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
2038
2038
  key: 1
2039
2039
  }, vue.renderList(vue.unref(showChildrenRef), child => {
2040
2040
  return vue.openBlock(), vue.createBlock(_component_SelectNode, {
@@ -2051,7 +2051,7 @@
2051
2051
  }
2052
2052
  });
2053
2053
 
2054
- var _sfc_main$i = vue.defineComponent({
2054
+ var _sfc_main$l = vue.defineComponent({
2055
2055
  ...{
2056
2056
  name: "Select2Popup",
2057
2057
  inheritAttrs: true
@@ -2223,13 +2223,13 @@
2223
2223
  key: 0
2224
2224
  }, [vue.createTextVNode(" 暂无选项 ")], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
2225
2225
  key: 1
2226
- }, [__props.search ? (vue.openBlock(), vue.createBlock(_sfc_main$t, vue.mergeProps({
2226
+ }, [__props.search ? (vue.openBlock(), vue.createBlock(_sfc_main$w, vue.mergeProps({
2227
2227
  key: 0
2228
2228
  }, __props.search, {
2229
2229
  onSearch,
2230
2230
  key: "select-search"
2231
2231
  }), null, 16)) : vue.createCommentVNode("", true), (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(itemsRef.value, item => {
2232
- return vue.openBlock(), vue.createBlock(_sfc_main$j, {
2232
+ return vue.openBlock(), vue.createBlock(_sfc_main$m, {
2233
2233
  key: vue.unref(context).getKey(item),
2234
2234
  multiple: __props.multiple,
2235
2235
  item,
@@ -2238,7 +2238,7 @@
2238
2238
  onEnter: onEnterSelectNode,
2239
2239
  onClick: onClickSelectNode
2240
2240
  }, null, 8, ["multiple", "item", "context"]);
2241
- }), 128)), itemsRef.value.length == 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
2241
+ }), 128)), itemsRef.value.length == 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
2242
2242
  key: 1,
2243
2243
  message: "无结果"
2244
2244
  })) : vue.createCommentVNode("", true), showClearButtonRef.value ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -2250,20 +2250,20 @@
2250
2250
  }
2251
2251
  });
2252
2252
 
2253
- const _hoisted_1$a = {
2253
+ const _hoisted_1$c = {
2254
2254
  key: 0,
2255
2255
  class: "select-result"
2256
2256
  };
2257
- const _hoisted_2$4 = ["title", "textContent"];
2258
- const _hoisted_3$4 = ["textContent"];
2257
+ const _hoisted_2$6 = ["title", "textContent"];
2258
+ const _hoisted_3$5 = ["textContent"];
2259
2259
  const _hoisted_4$4 = {
2260
2260
  key: 1,
2261
2261
  class: "placeholder"
2262
2262
  };
2263
2263
  onAppCreated((app, type) => {
2264
- type == "popup" && app.component("SelectPopup", _sfc_main$i);
2264
+ type == "popup" && app.component("SelectPopup", _sfc_main$l);
2265
2265
  });
2266
- var _sfc_main$h = vue.defineComponent({
2266
+ var _sfc_main$k = vue.defineComponent({
2267
2267
  ...{
2268
2268
  name: "Select",
2269
2269
  inheritAttrs: true
@@ -2395,15 +2395,15 @@
2395
2395
  ref: "select"
2396
2396
  }, [__props.items && __props.items.length ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
2397
2397
  key: 0
2398
- }, [selectedItemsRef.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotOptions))), () => [vue.createElementVNode("div", {
2398
+ }, [selectedItemsRef.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotOptions))), () => [vue.createElementVNode("div", {
2399
2399
  class: "select-text ellipsis",
2400
2400
  title: selectedTextRef.value,
2401
2401
  textContent: vue.toDisplayString(selectedTextRef.value)
2402
- }, null, 8, _hoisted_2$4)])])) : (vue.openBlock(), vue.createElementBlock("div", {
2402
+ }, null, 8, _hoisted_2$6)])])) : (vue.openBlock(), vue.createElementBlock("div", {
2403
2403
  key: 1,
2404
2404
  class: "placeholder",
2405
2405
  textContent: vue.toDisplayString(__props.readonly ? "" : __props.placeholder || "请选择")
2406
- }, null, 8, _hoisted_3$4)), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
2406
+ }, null, 8, _hoisted_3$5)), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
2407
2407
  key: 2,
2408
2408
  type: "arrow",
2409
2409
  button: "",
@@ -2414,7 +2414,7 @@
2414
2414
  }
2415
2415
  });
2416
2416
 
2417
- var _sfc_main$g = vue.defineComponent({
2417
+ var _sfc_main$j = vue.defineComponent({
2418
2418
  ...{
2419
2419
  name: "Switch",
2420
2420
  inheritAttrs: true
@@ -2463,10 +2463,11 @@
2463
2463
  }
2464
2464
  });
2465
2465
 
2466
- const _hoisted_1$9 = ["readonly", "placeholder", "rows"];
2467
- var _sfc_main$f = vue.defineComponent({
2466
+ const _hoisted_1$b = ["readonly", "placeholder", "rows"];
2467
+ var _sfc_main$i = vue.defineComponent({
2468
2468
  ...{
2469
- name: "Textarea"
2469
+ name: "Textarea",
2470
+ inheritAttrs: true
2470
2471
  },
2471
2472
  __name: "textarea",
2472
2473
  props: vue.mergeModels({
@@ -2512,10 +2513,9 @@
2512
2513
  }
2513
2514
  props.autoHeight == true && vue.onMounted(calcRows);
2514
2515
  return (_ctx, _cache) => {
2515
- return vue.withDirectives((vue.openBlock(), vue.createElementBlock("textarea", vue.mergeProps({
2516
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("textarea", {
2516
2517
  class: "snail-textarea",
2517
- ref: "textarea"
2518
- }, _ctx.$attrs, {
2518
+ ref: "textarea",
2519
2519
  readonly: __props.readonly,
2520
2520
  placeholder: __props.placeholder,
2521
2521
  rows: rowsRef.value,
@@ -2524,15 +2524,287 @@
2524
2524
  onInput: _cache[2] || (_cache[2] = $event => emits("input", textareaDom.value.value)),
2525
2525
  onBlur: _cache[3] || (_cache[3] = $event => emits("blur", textareaDom.value.value)),
2526
2526
  onChange: _cache[4] || (_cache[4] = $event => emits("change", textareaDom.value.value))
2527
- }), null, 16, _hoisted_1$9)), [[vue.vModelText, valueModel.value]]);
2527
+ }, null, 40, _hoisted_1$b)), [[vue.vModelText, valueModel.value]]);
2528
2528
  };
2529
2529
  }
2530
2530
  });
2531
2531
 
2532
- const _hoisted_1$8 = {
2532
+ function isRight(root) {
2533
+ return root.scrollLeft + root.clientWidth >= root.scrollWidth;
2534
+ }
2535
+ function isBottom(root) {
2536
+ return root.scrollTop + root.clientHeight >= root.scrollHeight;
2537
+ }
2538
+
2539
+ const _hoisted_1$a = {
2540
+ key: 0,
2541
+ class: "down-refresh"
2542
+ };
2543
+ const _hoisted_2$5 = {
2544
+ class: "main-body"
2545
+ };
2546
+ const _hoisted_3$4 = {
2547
+ key: 1,
2548
+ class: "up-more"
2549
+ };
2550
+ var _sfc_main$h = vue.defineComponent({
2551
+ __name: "elastic",
2552
+ props: {
2553
+ scroll: {},
2554
+ spring: {},
2555
+ downRefresh: {
2556
+ type: Boolean
2557
+ },
2558
+ upMore: {
2559
+ type: Boolean
2560
+ },
2561
+ barSize: {}
2562
+ },
2563
+ setup(__props) {
2564
+ const props = __props;
2565
+ const {
2566
+ onEvent
2567
+ } = snail_view.useObserver();
2568
+ const rootDom = vue.useTemplateRef("root-dom");
2569
+ const scrollStyleRef = vue.computed(buildScrollStyle);
2570
+ vue.ref(void 0);
2571
+ const springStyleRef = vue.computed(buildSpringStyle);
2572
+ const springXRef = vue.computed(() => props.spring == "x" || props.spring == "both");
2573
+ const springYRef = vue.computed(() => props.spring == "y" || props.spring == "both");
2574
+ const downRefreshRef = vue.computed(() => springYRef.value == true && props.downRefresh == true);
2575
+ const upMoreRef = vue.computed(() => springYRef.value == true && props.upMore == true);
2576
+ const isMovingRef = vue.ref(false);
2577
+ const springStatusRef = vue.ref(void 0);
2578
+ const startPointerRef = vue.ref(void 0);
2579
+ let isStartByTouch = false;
2580
+ function buildScrollStyle() {
2581
+ const vars = Object.create(null);
2582
+ switch (props.scroll) {
2583
+ case "x":
2584
+ vars["--overflow"] = "auto hidden";
2585
+ break;
2586
+ case "y":
2587
+ vars["--overflow"] = "hidden auto";
2588
+ break;
2589
+ case "both":
2590
+ vars["--overflow"] = "auto";
2591
+ break;
2592
+ }
2593
+ switch (props.barSize) {
2594
+ case "normal":
2595
+ vars["--bar-size"] = "10px";
2596
+ break;
2597
+ case "small":
2598
+ vars["--bar-size"] = "6px";
2599
+ break;
2600
+ case "mini":
2601
+ vars["--bar-size"] = "4px";
2602
+ break;
2603
+ case "none":
2604
+ vars["--bar-size"] = "0";
2605
+ break;
2606
+ }
2607
+ return vars;
2608
+ }
2609
+ function buildSpringStyle() {
2610
+ const style = Object.create(null);
2611
+ if (springStatusRef.value != void 0) {
2612
+ const {
2613
+ x,
2614
+ y
2615
+ } = springStatusRef.value;
2616
+ const transforms = [];
2617
+ x != void 0 && transforms.push(`translateX(${x}px)`);
2618
+ y != void 0 && transforms.push(`translateY(${y}px)`);
2619
+ transforms.length && (style["--spring-transform"] = transforms.join(" "));
2620
+ }
2621
+ return style;
2622
+ }
2623
+ function onSpringStart(isTouch, position) {
2624
+ if (isTouch != true && isStartByTouch == true) {
2625
+ return;
2626
+ }
2627
+ isTouch && (isStartByTouch = true);
2628
+ if (springXRef.value == true || springYRef.value == true) {
2629
+ isMovingRef.value = true;
2630
+ springStatusRef.value = Object.create(null);
2631
+ startPointerRef.value = {
2632
+ clientX: position.clientX,
2633
+ clientY: position.clientY
2634
+ };
2635
+ }
2636
+ }
2637
+ function onSpringMove(isTouch, position) {
2638
+ if (startPointerRef.value == void 0 || isTouch != true && isStartByTouch == true) {
2639
+ return;
2640
+ }
2641
+ if (springXRef.value == true) {
2642
+ const distance = position.clientX - startPointerRef.value.clientX;
2643
+ if (distance >= 0 && rootDom.value.scrollLeft == 0) {
2644
+ springStatusRef.value.x = Math.pow(distance, 0.8);
2645
+ } else if (distance <= 0 && isRight(rootDom.value)) {
2646
+ springStatusRef.value.x = -Math.pow(-distance, 0.8);
2647
+ }
2648
+ }
2649
+ if (springYRef.value == true) {
2650
+ const distance = position.clientY - startPointerRef.value.clientY;
2651
+ if (distance >= 0) {
2652
+ if (rootDom.value.scrollTop == 0) {
2653
+ springStatusRef.value.y = Math.pow(distance, 0.8);
2654
+ } else {
2655
+ startPointerRef.value.clientY = position.clientY;
2656
+ }
2657
+ } else if (distance <= 0 && isBottom(rootDom.value) == true) {
2658
+ springStatusRef.value.y = -Math.pow(-distance, 0.8);
2659
+ }
2660
+ }
2661
+ }
2662
+ function onSpringEnd(isTouch, isCancel) {
2663
+ if (startPointerRef.value != void 0) {
2664
+ springStatusRef.value = Object.create(null);
2665
+ isMovingRef.value = false;
2666
+ startPointerRef.value = void 0;
2667
+ isStartByTouch = false;
2668
+ }
2669
+ }
2670
+ vue.onMounted(() => {
2671
+ if ("ontouchstart" in window) {
2672
+ onEvent(rootDom.value, "touchstart", evt => onSpringStart(true, evt.touches[0]));
2673
+ onEvent(window, "touchmove", evt => onSpringMove(true, evt.touches[0]));
2674
+ onEvent(window, "touchend", () => onSpringEnd());
2675
+ onEvent(window, "touchcancel", () => onSpringEnd());
2676
+ }
2677
+ if ("onmousedown" in window) {
2678
+ onEvent(rootDom.value, "mousedown", evt => onSpringStart(false, evt));
2679
+ onEvent(window, "mousemove", evt => onSpringMove(false, evt));
2680
+ onEvent(window, "mouseup", () => onSpringEnd());
2681
+ }
2682
+ });
2683
+ return (_ctx, _cache) => {
2684
+ return vue.openBlock(), vue.createElementBlock("div", {
2685
+ class: vue.normalizeClass(["snail-elastic", {
2686
+ "spring": springXRef.value || springYRef.value,
2687
+ "moving": isMovingRef.value
2688
+ }]),
2689
+ style: vue.normalizeStyle([scrollStyleRef.value, springStyleRef.value]),
2690
+ ref: "root-dom"
2691
+ }, [downRefreshRef.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.renderSlot(_ctx.$slots, "down-refresh", {}, () => [_cache[0] || (_cache[0] = vue.createTextVNode(" 默认实现[下拉刷新] ", -1))])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_2$5, [vue.renderSlot(_ctx.$slots, "default")]), upMoreRef.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [vue.renderSlot(_ctx.$slots, "up-more", {}, () => [_cache[1] || (_cache[1] = vue.createTextVNode(" 默认实现[上拉加载更多] ", -1))])])) : vue.createCommentVNode("", true)], 6);
2692
+ };
2693
+ }
2694
+ });
2695
+
2696
+ var _sfc_main$g = vue.defineComponent({
2697
+ ...{
2698
+ name: "Flex",
2699
+ inheritAttrs: false
2700
+ },
2701
+ __name: "flex",
2702
+ props: {
2703
+ direction: {},
2704
+ wrap: {},
2705
+ gap: {},
2706
+ justifyContent: {},
2707
+ alignItems: {},
2708
+ alignContent: {},
2709
+ repairItem: {
2710
+ type: Boolean
2711
+ },
2712
+ itemCount: {},
2713
+ itemTag: {},
2714
+ itemClass: {}
2715
+ },
2716
+ setup(__props) {
2717
+ const props = __props;
2718
+ const rootDom = vue.useTemplateRef("root-flex");
2719
+ const {
2720
+ onSize
2721
+ } = snail_view.useObserver();
2722
+ const {
2723
+ watcher
2724
+ } = useReactive();
2725
+ const classRef = vue.computed(buildClass);
2726
+ const styleRef = vue.computed(buildStyle);
2727
+ const repairItemsRef = vue.shallowRef(0);
2728
+ function buildClass() {
2729
+ const items = [];
2730
+ items.push(props.direction || "row");
2731
+ props.wrap && items.push(props.wrap);
2732
+ props.justifyContent && items.push(props.justifyContent);
2733
+ return items;
2734
+ }
2735
+ function buildStyle() {
2736
+ const styleVar = Object.create(null);
2737
+ snail_core.isStringNotEmpty(props.gap) && (styleVar["--gap"] = props.gap);
2738
+ const tmpFunc = value => {
2739
+ switch (value) {
2740
+ case "start":
2741
+ return "flex-start";
2742
+ case "end":
2743
+ return "flex-end";
2744
+ default:
2745
+ return value;
2746
+ }
2747
+ };
2748
+ snail_core.isStringNotEmpty(props.alignItems) && (styleVar["--align-items"] = tmpFunc(props.alignItems));
2749
+ snail_core.isStringNotEmpty(props.alignContent) && (styleVar["--align-content"] = tmpFunc(props.alignContent));
2750
+ return styleVar;
2751
+ }
2752
+ function repairSpace() {
2753
+ repairItemsRef.value = 0;
2754
+ const needRepair = props.repairItem == true && props.justifyContent && props.justifyContent.startsWith("space-") && props.itemCount > 0 && rootDom.value.children.length > 0;
2755
+ if (needRepair == true) {
2756
+ let containerSize, itemSize, itemGap;
2757
+ const containerStyle = getComputedStyle(rootDom.value);
2758
+ const itemStyle = getComputedStyle(rootDom.value.children[0]);
2759
+ switch (props.direction) {
2760
+ case "column":
2761
+ case "column-reverse":
2762
+ {
2763
+ containerSize = parseFloat(containerStyle.height);
2764
+ itemGap = parseFloat(containerStyle.rowGap);
2765
+ itemSize = parseFloat(itemStyle.height);
2766
+ break;
2767
+ }
2768
+ default:
2769
+ {
2770
+ containerSize = parseFloat(containerStyle.width);
2771
+ itemGap = parseFloat(containerStyle.columnGap);
2772
+ itemSize = parseFloat(itemStyle.width);
2773
+ break;
2774
+ }
2775
+ }
2776
+ let itemCountPer;
2777
+ itemCountPer = Math.floor((containerSize + itemGap) / (itemSize + itemGap));
2778
+ if (itemCountPer > 1) {
2779
+ const mode = props.itemCount % itemCountPer;
2780
+ mode > 0 && (repairItemsRef.value = itemCountPer - mode);
2781
+ }
2782
+ }
2783
+ }
2784
+ vue.onMounted(() => {
2785
+ repairSpace();
2786
+ watcher(() => props.repairItem, repairSpace);
2787
+ watcher(() => props.itemCount, repairSpace);
2788
+ onSize(rootDom.value, repairSpace);
2789
+ });
2790
+ return (_ctx, _cache) => {
2791
+ return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(_ctx.$attrs, {
2792
+ class: ["snail-flex", classRef.value],
2793
+ style: styleRef.value,
2794
+ ref: "root-flex"
2795
+ }), [vue.renderSlot(_ctx.$slots, "default"), (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(repairItemsRef.value, _ => {
2796
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(snail_core.correctString)(props.itemTag, "div", true)), {
2797
+ class: vue.normalizeClass([props.itemClass || "", "repair-item"])
2798
+ }, null, 8, ["class"]);
2799
+ }), 256))], 16);
2800
+ };
2801
+ }
2802
+ });
2803
+
2804
+ const _hoisted_1$9 = {
2533
2805
  class: "fold-header"
2534
2806
  };
2535
- const _hoisted_2$3 = ["textContent"];
2807
+ const _hoisted_2$4 = ["textContent"];
2536
2808
  const _hoisted_3$3 = ["textContent"];
2537
2809
  const _hoisted_4$3 = {
2538
2810
  key: 1,
@@ -2542,7 +2814,7 @@
2542
2814
  class: "fold-body",
2543
2815
  ref: "foldBody"
2544
2816
  };
2545
- var _sfc_main$e = vue.defineComponent({
2817
+ var _sfc_main$f = vue.defineComponent({
2546
2818
  ...{
2547
2819
  name: "Fold",
2548
2820
  inheritAttrs: true
@@ -2612,14 +2884,14 @@
2612
2884
  return (_ctx, _cache) => {
2613
2885
  return vue.openBlock(), vue.createElementBlock("div", {
2614
2886
  class: vue.normalizeClass(["snail-fold", statusModel.value])
2615
- }, [vue.createElementVNode("div", _hoisted_1$8, [vue.renderSlot(_ctx.$slots, "header", {}, () => [vue.createElementVNode("div", {
2887
+ }, [vue.createElementVNode("div", _hoisted_1$9, [vue.renderSlot(_ctx.$slots, "header", {}, () => [vue.createElementVNode("div", {
2616
2888
  class: "title ellipsis",
2617
2889
  textContent: vue.toDisplayString(__props.title)
2618
- }, null, 8, _hoisted_2$3), !!__props.subtitle ? (vue.openBlock(), vue.createElementBlock("div", {
2890
+ }, null, 8, _hoisted_2$4), !!__props.subtitle ? (vue.openBlock(), vue.createElementBlock("div", {
2619
2891
  key: 0,
2620
2892
  class: "subtitle ellipsis",
2621
2893
  textContent: vue.toDisplayString(__props.subtitle)
2622
- }, null, 8, _hoisted_3$3)) : vue.createCommentVNode("", true), __props.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [vue.createVNode(_sfc_main$z, {
2894
+ }, null, 8, _hoisted_3$3)) : vue.createCommentVNode("", true), __props.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [vue.createVNode(_sfc_main$C, {
2623
2895
  custom: false,
2624
2896
  type: "arrow",
2625
2897
  button: "",
@@ -2631,7 +2903,7 @@
2631
2903
  }
2632
2904
  });
2633
2905
 
2634
- var _sfc_main$d = vue.defineComponent({
2906
+ var _sfc_main$e = vue.defineComponent({
2635
2907
  ...{
2636
2908
  name: "Scroll",
2637
2909
  inheritAttrs: true
@@ -2761,7 +3033,7 @@
2761
3033
  }
2762
3034
  });
2763
3035
 
2764
- var _sfc_main$c = vue.defineComponent({
3036
+ var _sfc_main$d = vue.defineComponent({
2765
3037
  __name: "layout",
2766
3038
  props: {
2767
3039
  mode: {},
@@ -2827,7 +3099,7 @@
2827
3099
  key: item
2828
3100
  }, [areaMap.value[item] && _ctx.$slots[item] ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
2829
3101
  key: 0
2830
- }, [areaMap.value[item].scrollable ? (vue.openBlock(), vue.createBlock(_sfc_main$d, vue.mergeProps({
3102
+ }, [areaMap.value[item].scrollable ? (vue.openBlock(), vue.createBlock(_sfc_main$e, vue.mergeProps({
2831
3103
  key: 0,
2832
3104
  class: areaMap.value[item].class,
2833
3105
  style: areaMap.value[item].style
@@ -2846,7 +3118,7 @@
2846
3118
  }
2847
3119
  });
2848
3120
 
2849
- var _sfc_main$b = vue.defineComponent({
3121
+ var _sfc_main$c = vue.defineComponent({
2850
3122
  ...{
2851
3123
  name: "Sort",
2852
3124
  inheritAttrs: true
@@ -2947,10 +3219,10 @@
2947
3219
  }
2948
3220
  });
2949
3221
 
2950
- const _hoisted_1$7 = {
3222
+ const _hoisted_1$8 = {
2951
3223
  class: "table-body"
2952
3224
  };
2953
- var _sfc_main$a = vue.defineComponent({
3225
+ var _sfc_main$b = vue.defineComponent({
2954
3226
  ...{
2955
3227
  name: "Table",
2956
3228
  inheritAttrs: true
@@ -2975,7 +3247,7 @@
2975
3247
  const hStyleRef = vue.computed(() => snail_view.css.buildStyle(props.headerStyle));
2976
3248
  const fStyleRef = vue.computed(() => snail_view.css.buildStyle(props.footerStyle));
2977
3249
  return (_ctx, _cache) => {
2978
- return vue.openBlock(), vue.createBlock(_sfc_main$d, {
3250
+ return vue.openBlock(), vue.createBlock(_sfc_main$e, {
2979
3251
  class: vue.normalizeClass(["snail-table", {
2980
3252
  "start-border": __props.border == true
2981
3253
  }]),
@@ -2985,7 +3257,7 @@
2985
3257
  default: vue.withCtx(() => [vue.createElementVNode("div", {
2986
3258
  class: "table-header",
2987
3259
  style: vue.normalizeStyle(hStyleRef.value)
2988
- }, [vue.renderSlot(_ctx.$slots, "header")], 4), vue.createElementVNode("div", _hoisted_1$7, [vue.renderSlot(_ctx.$slots, "default")]), vue.createElementVNode("div", {
3260
+ }, [vue.renderSlot(_ctx.$slots, "header")], 4), vue.createElementVNode("div", _hoisted_1$8, [vue.renderSlot(_ctx.$slots, "default")]), vue.createElementVNode("div", {
2989
3261
  class: "table-footer",
2990
3262
  style: vue.normalizeStyle(fStyleRef.value)
2991
3263
  }, [vue.renderSlot(_ctx.$slots, "footer")], 4)]),
@@ -2995,7 +3267,7 @@
2995
3267
  }
2996
3268
  });
2997
3269
 
2998
- var _sfc_main$9 = vue.defineComponent({
3270
+ var _sfc_main$a = vue.defineComponent({
2999
3271
  ...{
3000
3272
  name: "TableRow",
3001
3273
  inheritAttrs: true
@@ -3018,7 +3290,7 @@
3018
3290
  }
3019
3291
  });
3020
3292
 
3021
- var _sfc_main$8 = vue.defineComponent({
3293
+ var _sfc_main$9 = vue.defineComponent({
3022
3294
  ...{
3023
3295
  name: "TableCol",
3024
3296
  inheritAttrs: true
@@ -3064,11 +3336,11 @@
3064
3336
  }
3065
3337
  });
3066
3338
 
3067
- const _hoisted_1$6 = {
3339
+ const _hoisted_1$7 = {
3068
3340
  key: 0,
3069
3341
  class: "node-fold"
3070
3342
  };
3071
- const _hoisted_2$2 = ["title", "textContent"];
3343
+ const _hoisted_2$3 = ["title", "textContent"];
3072
3344
  const _hoisted_3$2 = {
3073
3345
  class: "node-slot ellipsis"
3074
3346
  };
@@ -3076,7 +3348,7 @@
3076
3348
  class: "snail-tree-children",
3077
3349
  ref: "children"
3078
3350
  };
3079
- var _sfc_main$7 = vue.defineComponent({
3351
+ var _sfc_main$8 = vue.defineComponent({
3080
3352
  ...{
3081
3353
  name: "TreeNode",
3082
3354
  inheritAttrs: true
@@ -3184,7 +3456,7 @@
3184
3456
  key: 1
3185
3457
  }, [_cache[5] || (_cache[5] = vue.createElementVNode("div", {
3186
3458
  class: "indent"
3187
- }, null, -1)), __props.options.foldDisabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [showChildrenRef.value ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
3459
+ }, null, -1)), __props.options.foldDisabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [showChildrenRef.value ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
3188
3460
  key: 0,
3189
3461
  class: vue.normalizeClass(statusRef.value),
3190
3462
  custom: "",
@@ -3199,7 +3471,7 @@
3199
3471
  class: "node-text ellipsis",
3200
3472
  title: __props.node.text,
3201
3473
  textContent: vue.toDisplayString(__props.node.text)
3202
- }, null, 8, _hoisted_2$2), vue.createElementVNode("div", _hoisted_3$2, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotOptions))))])], 64))], 34), [[vue.vShow, showRef.value]]), vue.withDirectives(vue.createElementVNode("div", _hoisted_4$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.node.children, child => {
3474
+ }, null, 8, _hoisted_2$3), vue.createElementVNode("div", _hoisted_3$2, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotOptions))))])], 64))], 34), [[vue.vShow, showRef.value]]), vue.withDirectives(vue.createElementVNode("div", _hoisted_4$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.node.children, child => {
3203
3475
  return vue.openBlock(), vue.createBlock(_component_TreeNode, {
3204
3476
  key: __props.context.getKey(child),
3205
3477
  node: child,
@@ -3219,10 +3491,10 @@
3219
3491
  }
3220
3492
  });
3221
3493
 
3222
- const _hoisted_1$5 = {
3494
+ const _hoisted_1$6 = {
3223
3495
  class: "snail-tree"
3224
3496
  };
3225
- var _sfc_main$6 = vue.defineComponent({
3497
+ var _sfc_main$7 = vue.defineComponent({
3226
3498
  ...{
3227
3499
  name: "Tree",
3228
3500
  inheritAttrs: true
@@ -3256,15 +3528,15 @@
3256
3528
  emits("click", node, parents);
3257
3529
  }
3258
3530
  return (_ctx, _cache) => {
3259
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [__props.search ? (vue.openBlock(), vue.createBlock(_sfc_main$t, vue.mergeProps({
3531
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [__props.search ? (vue.openBlock(), vue.createBlock(_sfc_main$w, vue.mergeProps({
3260
3532
  key: 0
3261
3533
  }, __props.search, {
3262
3534
  onSearch
3263
- }), null, 16)) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$d, {
3535
+ }), null, 16)) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$e, {
3264
3536
  "scroll-y": true
3265
3537
  }, {
3266
3538
  default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.nodes || [], node => {
3267
- return vue.openBlock(), vue.createBlock(_sfc_main$7, {
3539
+ return vue.openBlock(), vue.createBlock(_sfc_main$8, {
3268
3540
  key: vue.unref(context).getKey(node),
3269
3541
  node,
3270
3542
  parent: void 0,
@@ -3285,7 +3557,7 @@
3285
3557
  }
3286
3558
  });
3287
3559
 
3288
- var _sfc_main$5 = vue.defineComponent({
3560
+ var _sfc_main$6 = vue.defineComponent({
3289
3561
  __name: "wrapper",
3290
3562
  props: {
3291
3563
  readonly: {
@@ -3307,14 +3579,14 @@
3307
3579
  return (_ctx, _cache) => {
3308
3580
  return vue.openBlock(), vue.createElementBlock("div", {
3309
3581
  class: vue.normalizeClass(["snail-wrapper", __props.inPopup ? "in-popup" : "in-normal"])
3310
- }, [__props.header && __props.header.disabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$w, vue.mergeProps({
3582
+ }, [__props.header && __props.header.disabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$z, vue.mergeProps({
3311
3583
  key: 0
3312
3584
  }, __props.header || {
3313
3585
  useTo: "dialog",
3314
3586
  title: "对话框"
3315
3587
  }, {
3316
3588
  onClose: _cache[0] || (_cache[0] = $event => emits("cancel"))
3317
- }), null, 16)) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$d, vue.mergeProps({
3589
+ }), null, 16)) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$e, vue.mergeProps({
3318
3590
  class: "wrapper-body"
3319
3591
  }, __props.content || {
3320
3592
  scrollX: false,
@@ -3322,7 +3594,7 @@
3322
3594
  }), {
3323
3595
  default: vue.withCtx(() => [vue.renderSlot(_ctx.$slots, "default")]),
3324
3596
  _: 3
3325
- }, 16), __props.footer && __props.readonly != true && __props.footer.disabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$x, vue.mergeProps({
3597
+ }, 16), __props.footer && __props.readonly != true && __props.footer.disabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, vue.mergeProps({
3326
3598
  key: 1
3327
3599
  }, __props.footer || {}, {
3328
3600
  onCancel: _cache[1] || (_cache[1] = $event => emits("cancel")),
@@ -3336,7 +3608,7 @@
3336
3608
  snail_core.mustObject(options, "options");
3337
3609
  target instanceof HTMLElement || snail_core.throwError("target must be a HTMLElement");
3338
3610
  target.classList.add("snail-app");
3339
- const app = vue.createApp(_sfc_main$p, options);
3611
+ const app = vue.createApp(_sfc_main$s, options);
3340
3612
  triggerAppCreated(app);
3341
3613
  app.mount(target);
3342
3614
  const scope = snail_core.useScope().onDestroy(() => app.unmount());
@@ -3344,6 +3616,53 @@
3344
3616
  return scope;
3345
3617
  }
3346
3618
 
3619
+ const _hoisted_1$5 = {
3620
+ class: "snail-flash-number"
3621
+ };
3622
+ const _hoisted_2$2 = ["textContent"];
3623
+ var _sfc_main$5 = vue.defineComponent({
3624
+ __name: "flash-number",
3625
+ props: {
3626
+ value: {}
3627
+ },
3628
+ setup(__props) {
3629
+ const props = __props;
3630
+ const itemsRef = vue.ref();
3631
+ function buildNumberItems() {
3632
+ itemsRef.value = [];
3633
+ const value = snail_core.isNullish(props.value) ? null : String(props.value);
3634
+ if (snail_core.isStringNotEmpty(value) == true) {
3635
+ for (const item of value) {
3636
+ const number = parseInt(item);
3637
+ const isNumber = 0 <= number && number <= 9;
3638
+ itemsRef.value.push({
3639
+ id: snail_core.newId(),
3640
+ text: item,
3641
+ number: isNumber ? number : void 0
3642
+ });
3643
+ }
3644
+ }
3645
+ if (snail_core.isArrayNotEmpty(itemsRef.value) == true) ;
3646
+ }
3647
+ vue.onMounted(() => {
3648
+ buildNumberItems();
3649
+ });
3650
+ return (_ctx, _cache) => {
3651
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(itemsRef.value, item => {
3652
+ return vue.openBlock(), vue.createElementBlock("span", {
3653
+ key: item.id,
3654
+ textContent: vue.toDisplayString(item.text),
3655
+ class: vue.normalizeClass(vue.unref(snail_core.isNullish)(item.number) ? "" : "number-item")
3656
+ }, null, 10, _hoisted_2$2);
3657
+ }), 128)), _cache[0] || (_cache[0] = vue.createElementVNode("span", {
3658
+ style: {
3659
+ "color": "red"
3660
+ }
3661
+ }, "-----还没实现,别用", -1))]);
3662
+ };
3663
+ }
3664
+ });
3665
+
3347
3666
  function initStepByFormat(format) {
3348
3667
  switch (format) {
3349
3668
  case "yyyy":
@@ -3579,13 +3898,13 @@
3579
3898
  }
3580
3899
  vue.onMounted(rebuildItems);
3581
3900
  return (_ctx, _cache) => {
3582
- return vue.openBlock(), vue.createBlock(_sfc_main$c, {
3901
+ return vue.openBlock(), vue.createBlock(_sfc_main$d, {
3583
3902
  class: vue.normalizeClass(["time-picker pc", {
3584
3903
  "second-disabled": vue.unref(format) != "HH:mm:ss"
3585
3904
  }]),
3586
3905
  mode: "vertical"
3587
3906
  }, vue.createSlots({
3588
- main: vue.withCtx(() => [vue.createVNode(_sfc_main$r, {
3907
+ main: vue.withCtx(() => [vue.createVNode(_sfc_main$u, {
3589
3908
  multiple: "",
3590
3909
  effect: vue.unref(MOTION).top
3591
3910
  }, {
@@ -3625,19 +3944,19 @@
3625
3944
  _: 2
3626
3945
  }, [__props.toolbarDisabled != true ? {
3627
3946
  name: "bottom",
3628
- fn: vue.withCtx(() => [__props.clearDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
3947
+ fn: vue.withCtx(() => [__props.clearDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
3629
3948
  key: 0,
3630
3949
  type: "link",
3631
3950
  size: "small",
3632
3951
  textContent: "清空",
3633
3952
  onClick: _cache[0] || (_cache[0] = $event => (emits("clear"), __props.inPopup && __props.closePopup("")))
3634
- })) : vue.createCommentVNode("", true), __props.nowDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
3953
+ })) : vue.createCommentVNode("", true), __props.nowDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
3635
3954
  key: 1,
3636
3955
  type: "link",
3637
3956
  size: "small",
3638
3957
  textContent: "现在",
3639
3958
  onClick: _cache[1] || (_cache[1] = $event => rebuildItems(vue.unref(snail_core.getTimeValue)(new Date())))
3640
- })) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$A, {
3959
+ })) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$D, {
3641
3960
  type: "link",
3642
3961
  size: "small",
3643
3962
  textContent: "确定",
@@ -3879,7 +4198,7 @@
3879
4198
  dateRef.value == void 0 && (dateRef.value = electDateValue());
3880
4199
  buildPickerItems(stepRef.value, 0);
3881
4200
  return (_ctx, _cache) => {
3882
- return vue.openBlock(), vue.createBlock(_sfc_main$c, {
4201
+ return vue.openBlock(), vue.createBlock(_sfc_main$d, {
3883
4202
  class: vue.normalizeClass(["date-picker pc", {
3884
4203
  "time-now": __props.pinned && __props.pinned.value == true
3885
4204
  }]),
@@ -3891,7 +4210,7 @@
3891
4210
  height: "30px"
3892
4211
  }
3893
4212
  }, vue.createSlots({
3894
- top: vue.withCtx(() => [vue.createVNode(_sfc_main$z, {
4213
+ top: vue.withCtx(() => [vue.createVNode(_sfc_main$C, {
3895
4214
  type: "arrow",
3896
4215
  button: "",
3897
4216
  rotate: 180,
@@ -3911,7 +4230,7 @@
3911
4230
  key: 0,
3912
4231
  textContent: vue.toDisplayString(`${dateRef.value.month}月`),
3913
4232
  onClick: _cache[2] || (_cache[2] = $event => onSwitchStepClick("month"))
3914
- }, null, 8, _hoisted_3)) : vue.createCommentVNode("", true)], 64))], 2), vue.createVNode(_sfc_main$z, {
4233
+ }, null, 8, _hoisted_3)) : vue.createCommentVNode("", true)], 64))], 2), vue.createVNode(_sfc_main$C, {
3915
4234
  type: "arrow",
3916
4235
  button: "",
3917
4236
  size: 26,
@@ -3977,19 +4296,19 @@
3977
4296
  onClick: onSelectTime
3978
4297
  }, null, 10, _hoisted_8)) : vue.createCommentVNode("", true), __props.toolbarDisabled != true ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
3979
4298
  key: 1
3980
- }, [__props.clearDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
4299
+ }, [__props.clearDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
3981
4300
  key: 0,
3982
4301
  type: "link",
3983
4302
  size: "small",
3984
4303
  textContent: "清空",
3985
4304
  onClick: _cache[4] || (_cache[4] = $event => (emits("clear"), vue.unref(inPopup) && __props.closePopup("")))
3986
- })) : vue.createCommentVNode("", true), __props.nowDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
4305
+ })) : vue.createCommentVNode("", true), __props.nowDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
3987
4306
  key: 1,
3988
4307
  type: "link",
3989
4308
  size: "small",
3990
4309
  textContent: "现在",
3991
4310
  onClick: onNow
3992
- })) : vue.createCommentVNode("", true)], 64)) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$A, {
4311
+ })) : vue.createCommentVNode("", true)], 64)) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$D, {
3993
4312
  type: "link",
3994
4313
  size: "small",
3995
4314
  textContent: "确定",
@@ -4123,7 +4442,7 @@
4123
4442
  type: "text",
4124
4443
  readonly: "",
4125
4444
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => valueRef.value = $event)
4126
- }, null, 512), [[vue.vModelText, valueRef.value]]), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
4445
+ }, null, 512), [[vue.vModelText, valueRef.value]]), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
4127
4446
  key: 0,
4128
4447
  type: "datepicker",
4129
4448
  button: "",
@@ -4209,7 +4528,7 @@
4209
4528
  type: "text",
4210
4529
  readonly: "",
4211
4530
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => valueRef.value = $event)
4212
- }, null, 512), [[vue.vModelText, valueRef.value]]), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
4531
+ }, null, 512), [[vue.vModelText, valueRef.value]]), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
4213
4532
  key: 0,
4214
4533
  type: "timepicker",
4215
4534
  button: "",
@@ -4305,12 +4624,12 @@
4305
4624
  onTouchstart: onStartDrag,
4306
4625
  onTouchmove: onDragMove,
4307
4626
  onTouchend: onDragEnd
4308
- }, [dragInfoRef.value.status == "success" ? (vue.openBlock(), vue.createBlock(_sfc_main$z, {
4627
+ }, [dragInfoRef.value.status == "success" ? (vue.openBlock(), vue.createBlock(_sfc_main$C, {
4309
4628
  key: 0,
4310
4629
  type: "success",
4311
4630
  size: 20,
4312
4631
  color: "white"
4313
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$z, {
4632
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$C, {
4314
4633
  key: 1,
4315
4634
  custom: "",
4316
4635
  size: 20,
@@ -4329,33 +4648,36 @@
4329
4648
  });
4330
4649
 
4331
4650
  const components = {
4332
- Button: _sfc_main$A,
4333
- Choose: _sfc_main$y,
4334
- Footer: _sfc_main$x,
4335
- Header: _sfc_main$w,
4336
- Icon: _sfc_main$z,
4337
- Input: _sfc_main$v,
4338
- Number: _sfc_main$u,
4339
- Search: _sfc_main$t,
4340
- Select: _sfc_main$h,
4341
- Switch: _sfc_main$g,
4342
- Textarea: _sfc_main$f,
4343
- Dynamic: _sfc_main$p,
4344
- Fold: _sfc_main$e,
4345
- Motion: _sfc_main$r,
4346
- Layout: _sfc_main$c,
4347
- Scroll: _sfc_main$d,
4348
- Sort: _sfc_main$b,
4349
- Table: _sfc_main$a,
4350
- TableRow: _sfc_main$9,
4351
- TableCol: _sfc_main$8,
4352
- Tree: _sfc_main$6,
4353
- Wrapper: _sfc_main$5,
4651
+ Button: _sfc_main$D,
4652
+ Choose: _sfc_main$B,
4653
+ Footer: _sfc_main$A,
4654
+ Header: _sfc_main$z,
4655
+ Icon: _sfc_main$C,
4656
+ Input: _sfc_main$y,
4657
+ Number: _sfc_main$x,
4658
+ Search: _sfc_main$w,
4659
+ Select: _sfc_main$k,
4660
+ Switch: _sfc_main$j,
4661
+ Textarea: _sfc_main$i,
4662
+ Dynamic: _sfc_main$s,
4663
+ Elastic: _sfc_main$h,
4664
+ Flex: _sfc_main$g,
4665
+ Fold: _sfc_main$f,
4666
+ Motion: _sfc_main$u,
4667
+ Layout: _sfc_main$d,
4668
+ Scroll: _sfc_main$e,
4669
+ Sort: _sfc_main$c,
4670
+ Table: _sfc_main$b,
4671
+ TableRow: _sfc_main$a,
4672
+ TableCol: _sfc_main$9,
4673
+ Tree: _sfc_main$7,
4674
+ Wrapper: _sfc_main$6,
4675
+ FlashNumber: _sfc_main$5,
4354
4676
  DatePicker: _sfc_main$2,
4355
4677
  TimePicker: _sfc_main$1,
4356
4678
  DragVerify: _sfc_main,
4357
- Empty: _sfc_main$k,
4358
- Loading: _sfc_main$q
4679
+ Empty: _sfc_main$n,
4680
+ Loading: _sfc_main$t
4359
4681
  };
4360
4682
 
4361
4683
  snail_core.onMountScope(scope => {