snail.vue 2.0.28 → 2.0.29

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.
@@ -17,12 +17,18 @@
17
17
  size: {},
18
18
  type: {}
19
19
  },
20
- setup(__props) {
20
+ emits: ["click"],
21
+ setup(__props, _ref) {
22
+ let {
23
+ emit: __emit
24
+ } = _ref;
25
+ const emits = __emit;
21
26
  return (_ctx, _cache) => {
22
27
  return vue.openBlock(), vue.createElementBlock("div", {
23
28
  class: vue.normalizeClass(["snail-button", [__props.size, __props.type]]),
24
- title: __props.title
25
- }, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = vue.createTextVNode("按钮", -1))])], 10, _hoisted_1$o);
29
+ title: __props.title,
30
+ onClick: _cache[0] || (_cache[0] = evt => emits("click", evt))
31
+ }, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_cache[1] || (_cache[1] = vue.createTextVNode("按钮", -1))])], 10, _hoisted_1$o);
26
32
  };
27
33
  }
28
34
  });
@@ -74,7 +80,7 @@
74
80
  }
75
81
 
76
82
  const _hoisted_1$n = ["viewBox"];
77
- const _hoisted_2$f = ["textContent"];
83
+ const _hoisted_2$h = ["textContent"];
78
84
  const _hoisted_3$a = ["d"];
79
85
  var _sfc_main$E = vue.defineComponent({
80
86
  __name: "icon",
@@ -97,9 +103,13 @@
97
103
  background: {},
98
104
  viewBox: {}
99
105
  },
100
- setup(__props) {
106
+ emits: ["click"],
107
+ setup(__props, _ref) {
108
+ let {
109
+ emit: __emit
110
+ } = _ref;
101
111
  const props = __props;
102
- const isMouseEnterRef = vue.shallowRef(false);
112
+ const emits = __emit;
103
113
  const sizeRef = vue.computed(() => {
104
114
  if (snail_core.isObject(props.size) == true) {
105
115
  return {
@@ -116,9 +126,10 @@
116
126
  });
117
127
  const styleRef = vue.computed(() => {
118
128
  const style = Object.create(null);
119
- let fill = isMouseEnterRef.value ? snail_core.correctString(props.hoverColor, props.color, true) : void 0;
120
- fill == void 0 && (fill = snail_core.correctString(props.color, void 0, true));
121
- fill && (style.fill = fill);
129
+ let fill = snail_core.correctString(props.color, void 0, true);
130
+ fill && (style["--fill"] = fill);
131
+ fill = snail_core.correctString(props.hoverColor, fill, true);
132
+ fill && (style["--hover"] = fill);
122
133
  const rotate = snail_core.correctNumber(props.rotate, 0);
123
134
  rotate != 0 && (style.transform = `rotate(${rotate}deg)`);
124
135
  const opacity = snail_core.correctNumber(props.opacity, void 0);
@@ -136,11 +147,10 @@
136
147
  viewBox: vue.unref(snail_core.correctString)(__props.viewBox, "0 0 1024 1024", false)
137
148
  }, sizeRef.value, {
138
149
  style: styleRef.value,
139
- onMouseenter: _cache[0] || (_cache[0] = $event => isMouseEnterRef.value = true),
140
- onMouseleave: _cache[1] || (_cache[1] = $event => isMouseEnterRef.value = false)
150
+ onClick: _cache[0] || (_cache[0] = evt => emits("click", evt))
141
151
  }), [vue.createElementVNode("title", {
142
152
  textContent: vue.toDisplayString(__props.title || "")
143
- }, null, 8, _hoisted_2$f), __props.custom == true ? vue.renderSlot(_ctx.$slots, "default", {
153
+ }, null, 8, _hoisted_2$h), __props.custom == true ? vue.renderSlot(_ctx.$slots, "default", {
144
154
  key: 0
145
155
  }) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
146
156
  key: 1
@@ -154,7 +164,7 @@
154
164
  });
155
165
 
156
166
  const _hoisted_1$m = ["title", "onClick"];
157
- const _hoisted_2$e = ["type", "checked"];
167
+ const _hoisted_2$g = ["type", "checked"];
158
168
  const _hoisted_3$9 = ["textContent"];
159
169
  const _hoisted_4$6 = ["textContent"];
160
170
  var _sfc_main$D = vue.defineComponent({
@@ -233,7 +243,7 @@
233
243
  key: 0,
234
244
  type: vue.unref(type),
235
245
  checked: node.selected
236
- }, null, 8, _hoisted_2$e)) : vue.unref(mode) == "beautiful" ? (vue.openBlock(), vue.createElementBlock("div", {
246
+ }, null, 8, _hoisted_2$g)) : vue.unref(mode) == "beautiful" ? (vue.openBlock(), vue.createElementBlock("div", {
237
247
  key: 1,
238
248
  class: vue.normalizeClass(["status", [node.selected ? "selected" : ""]])
239
249
  }, [node.selected ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
@@ -357,7 +367,7 @@
357
367
  });
358
368
 
359
369
  const _hoisted_1$k = ["textContent"];
360
- const _hoisted_2$d = {
370
+ const _hoisted_2$f = {
361
371
  key: 0,
362
372
  class: "required",
363
373
  textContent: "*"
@@ -419,7 +429,7 @@
419
429
  }, [vue.createElementVNode("span", {
420
430
  class: "text",
421
431
  textContent: vue.toDisplayString(__props.title)
422
- }, null, 8, _hoisted_1$k), __props.readonly != true && __props.required == true ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$d)) : vue.createCommentVNode("", true)], 4)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_3$8, [vue.createElementVNode("input", {
432
+ }, null, 8, _hoisted_1$k), __props.readonly != true && __props.required == true ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$f)) : vue.createCommentVNode("", true)], 4)) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_3$8, [vue.createElementVNode("input", {
423
433
  ref: "input-el",
424
434
  type: __props.type || "text",
425
435
  value: inputModel.value,
@@ -646,7 +656,7 @@
646
656
  key: 0,
647
657
  class: "number-prefix"
648
658
  };
649
- const _hoisted_2$c = ["textContent"];
659
+ const _hoisted_2$e = ["textContent"];
650
660
  const _hoisted_3$7 = ["inputmode", "placeholder", "title"];
651
661
  const _hoisted_4$4 = {
652
662
  key: 1,
@@ -805,7 +815,7 @@
805
815
  }, [vue.unref(hasPrefix) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [vue.createElementVNode("span", {
806
816
  class: "ellipsis",
807
817
  textContent: vue.toDisplayString(vue.unref(prefix))
808
- }, null, 8, _hoisted_2$c)])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
818
+ }, null, 8, _hoisted_2$e)])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
809
819
  class: vue.normalizeClass(["input-panel", vue.unref(controls)])
810
820
  }, [vue.withDirectives(vue.createElementVNode("input", {
811
821
  type: "text",
@@ -1145,7 +1155,7 @@
1145
1155
  const _hoisted_1$h = {
1146
1156
  class: "snail-confirm flex-column"
1147
1157
  };
1148
- const _hoisted_2$b = ["innerHTML"];
1158
+ const _hoisted_2$d = ["innerHTML"];
1149
1159
  var _sfc_main$x = vue.defineComponent({
1150
1160
  ...{
1151
1161
  name: "ConfirmContainer",
@@ -1181,7 +1191,7 @@
1181
1191
  }, null, 8, ["title"]), vue.createElementVNode("div", {
1182
1192
  class: "confirm-body",
1183
1193
  innerHTML: __props.message || "请确认?"
1184
- }, null, 8, _hoisted_2$b), vue.createVNode(_sfc_main$C, {
1194
+ }, null, 8, _hoisted_2$d), vue.createVNode(_sfc_main$C, {
1185
1195
  align: "right",
1186
1196
  "cancel-name": __props.cancelName,
1187
1197
  "cancel-disabled": __props.cancelDisabled,
@@ -1842,7 +1852,7 @@
1842
1852
  key: 1,
1843
1853
  class: "icon"
1844
1854
  };
1845
- const _hoisted_2$a = ["innerHTML"];
1855
+ const _hoisted_2$c = ["innerHTML"];
1846
1856
  var _sfc_main$o = vue.defineComponent({
1847
1857
  ...{
1848
1858
  name: "ToastContainer",
@@ -1898,7 +1908,7 @@
1898
1908
  }, null, 8, ["type"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
1899
1909
  class: "message",
1900
1910
  innerHTML: vue.unref(props).message
1901
- }, null, 8, _hoisted_2$a)], 38);
1911
+ }, null, 8, _hoisted_2$c)], 38);
1902
1912
  };
1903
1913
  }
1904
1914
  });
@@ -2144,7 +2154,7 @@
2144
2154
  const _hoisted_1$f = {
2145
2155
  class: "snail-empty"
2146
2156
  };
2147
- const _hoisted_2$9 = ["src"];
2157
+ const _hoisted_2$b = ["src"];
2148
2158
  const _hoisted_3$6 = ["textContent"];
2149
2159
  var _sfc_main$n = vue.defineComponent({
2150
2160
  ...{
@@ -2161,7 +2171,7 @@
2161
2171
  return (_ctx, _cache) => {
2162
2172
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [vue.createElementVNode("img", {
2163
2173
  src: __props.imageUrl || vue.unref(defaultImageBase64)
2164
- }, null, 8, _hoisted_2$9), vue.renderSlot(_ctx.$slots, "default", {}, () => [vue.createElementVNode("div", {
2174
+ }, null, 8, _hoisted_2$b), vue.renderSlot(_ctx.$slots, "default", {}, () => [vue.createElementVNode("div", {
2165
2175
  class: "message",
2166
2176
  textContent: vue.toDisplayString(__props.message || "无数据")
2167
2177
  }, null, 8, _hoisted_3$6)])]);
@@ -2170,7 +2180,7 @@
2170
2180
  });
2171
2181
 
2172
2182
  const _hoisted_1$e = ["title"];
2173
- const _hoisted_2$8 = ["textContent"];
2183
+ const _hoisted_2$a = ["textContent"];
2174
2184
  const _hoisted_3$5 = {
2175
2185
  key: 1,
2176
2186
  class: "select-status"
@@ -2220,7 +2230,7 @@
2220
2230
  }, [vue.createElementVNode("div", {
2221
2231
  class: "item-text ellipsis",
2222
2232
  textContent: vue.toDisplayString(__props.item.text)
2223
- }, null, 8, _hoisted_2$8), __props.item.type == "group" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
2233
+ }, null, 8, _hoisted_2$a), __props.item.type == "group" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
2224
2234
  key: 0,
2225
2235
  type: "arrow"
2226
2236
  })) : __props.multiple == true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [vue.createVNode(_sfc_main$E, {
@@ -2448,7 +2458,7 @@
2448
2458
  key: 0,
2449
2459
  class: "select-result"
2450
2460
  };
2451
- const _hoisted_2$7 = ["title", "textContent"];
2461
+ const _hoisted_2$9 = ["title", "textContent"];
2452
2462
  const _hoisted_3$4 = ["textContent"];
2453
2463
  const _hoisted_4$3 = {
2454
2464
  key: 1,
@@ -2593,7 +2603,7 @@
2593
2603
  class: "select-text ellipsis",
2594
2604
  title: selectedTextRef.value,
2595
2605
  textContent: vue.toDisplayString(selectedTextRef.value)
2596
- }, null, 8, _hoisted_2$7)])])) : (vue.openBlock(), vue.createElementBlock("div", {
2606
+ }, null, 8, _hoisted_2$9)])])) : (vue.openBlock(), vue.createElementBlock("div", {
2597
2607
  key: 1,
2598
2608
  class: "placeholder",
2599
2609
  textContent: vue.toDisplayString(__props.readonly ? "" : __props.placeholder || "请选择")
@@ -2732,7 +2742,7 @@
2732
2742
  });
2733
2743
 
2734
2744
  const _hoisted_1$b = ["onClick"];
2735
- const _hoisted_2$6 = ["textContent"];
2745
+ const _hoisted_2$8 = ["textContent"];
2736
2746
  var _sfc_main$h = vue.defineComponent({
2737
2747
  __name: "action-items",
2738
2748
  props: {
@@ -2780,7 +2790,7 @@
2780
2790
  }), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", {
2781
2791
  class: "ellipsis",
2782
2792
  textContent: vue.toDisplayString(action.name)
2783
- }, null, 8, _hoisted_2$6)], 12, _hoisted_1$b);
2793
+ }, null, 8, _hoisted_2$8)], 12, _hoisted_1$b);
2784
2794
  }), 128))], 2);
2785
2795
  };
2786
2796
  }
@@ -2790,7 +2800,7 @@
2790
2800
  class: "snail-action flex-cross-center",
2791
2801
  ref: "snail-action"
2792
2802
  };
2793
- const _hoisted_2$5 = {
2803
+ const _hoisted_2$7 = {
2794
2804
  class: "action-slot flex-cross-center"
2795
2805
  };
2796
2806
  var _sfc_main$g = vue.defineComponent({
@@ -2882,7 +2892,7 @@
2882
2892
  }
2883
2893
  });
2884
2894
  return (_ctx, _cache) => {
2885
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.createElementVNode("div", _hoisted_2$5, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotHandle))))]), __props.disabled != true && (__props.trigger == "hover" || __props.trigger == "always") ? (vue.openBlock(), vue.createElementBlock("div", {
2895
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.createElementVNode("div", _hoisted_2$7, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotHandle))))]), __props.disabled != true && (__props.trigger == "hover" || __props.trigger == "always") ? (vue.openBlock(), vue.createElementBlock("div", {
2886
2896
  key: 0,
2887
2897
  class: vue.normalizeClass(["trigger-area", {
2888
2898
  hidden: __props.trigger == "hover"
@@ -3199,7 +3209,7 @@
3199
3209
  });
3200
3210
 
3201
3211
  const _hoisted_1$9 = ["textContent"];
3202
- const _hoisted_2$4 = ["textContent"];
3212
+ const _hoisted_2$6 = ["textContent"];
3203
3213
  const _hoisted_3$3 = {
3204
3214
  key: 1,
3205
3215
  class: "status"
@@ -3300,7 +3310,7 @@
3300
3310
  key: 0,
3301
3311
  class: "subtitle ellipsis",
3302
3312
  textContent: vue.toDisplayString(__props.subtitle)
3303
- }, null, 8, _hoisted_2$4)) : vue.createCommentVNode("", true), __props.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [vue.createVNode(_sfc_main$E, {
3313
+ }, null, 8, _hoisted_2$6)) : vue.createCommentVNode("", true), __props.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [vue.createVNode(_sfc_main$E, {
3304
3314
  type: "arrow",
3305
3315
  button: "",
3306
3316
  title: statusModel.value == "expand" ? "收起" : "展开",
@@ -3627,7 +3637,7 @@
3627
3637
  key: 0,
3628
3638
  class: "node-fold"
3629
3639
  };
3630
- const _hoisted_2$3 = ["title", "textContent"];
3640
+ const _hoisted_2$5 = ["title", "textContent"];
3631
3641
  const _hoisted_3$2 = {
3632
3642
  class: "node-slot ellipsis"
3633
3643
  };
@@ -3758,7 +3768,7 @@
3758
3768
  class: "node-text ellipsis",
3759
3769
  title: __props.node.text,
3760
3770
  textContent: vue.toDisplayString(__props.node.text)
3761
- }, 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 => {
3771
+ }, null, 8, _hoisted_2$5), 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 => {
3762
3772
  return vue.openBlock(), vue.createBlock(_component_TreeNode, {
3763
3773
  key: __props.context.getKey(child),
3764
3774
  node: child,
@@ -3859,7 +3869,7 @@
3859
3869
  const _hoisted_1$5 = {
3860
3870
  class: "snail-flash-number"
3861
3871
  };
3862
- const _hoisted_2$2 = ["textContent"];
3872
+ const _hoisted_2$4 = ["textContent"];
3863
3873
  var _sfc_main$5 = vue.defineComponent({
3864
3874
  __name: "flash-number",
3865
3875
  props: {
@@ -3893,7 +3903,7 @@
3893
3903
  key: item.id,
3894
3904
  textContent: vue.toDisplayString(item.text),
3895
3905
  class: vue.normalizeClass(vue.unref(snail_core.isNullish)(item.number) ? "" : "number-item")
3896
- }, null, 10, _hoisted_2$2);
3906
+ }, null, 10, _hoisted_2$4);
3897
3907
  }), 128)), _cache[0] || (_cache[0] = vue.createElementVNode("span", {
3898
3908
  style: {
3899
3909
  "color": "red"
@@ -4023,7 +4033,7 @@
4023
4033
  class: "tz-item",
4024
4034
  ref: "hour-items"
4025
4035
  };
4026
- const _hoisted_2$1 = ["textContent", "onClick", "onDblclick"];
4036
+ const _hoisted_2$3 = ["textContent", "onClick", "onDblclick"];
4027
4037
  const _hoisted_3$1 = {
4028
4038
  class: "tz-item",
4029
4039
  ref: "minute-items"
@@ -4040,6 +4050,7 @@
4040
4050
  props: {
4041
4051
  value: {},
4042
4052
  format: {},
4053
+ mode: {},
4043
4054
  min: {},
4044
4055
  max: {},
4045
4056
  toolbarDisabled: {
@@ -4156,7 +4167,7 @@
4156
4167
  textContent: vue.toDisplayString(vue.unref(snail_core.padStart)(item.hour, 2, "0")),
4157
4168
  onClick: $event => onHourClick(item),
4158
4169
  onDblclick: $event => onHourClick(item)
4159
- }, null, 42, _hoisted_2$1);
4170
+ }, null, 42, _hoisted_2$3);
4160
4171
  }), 128))], 512), vue.createElementVNode("div", _hoisted_3$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(minuteItems.value, item => {
4161
4172
  return vue.openBlock(), vue.createElementBlock("div", {
4162
4173
  class: vue.normalizeClass(["tzi-number", {
@@ -4213,7 +4224,7 @@
4213
4224
  });
4214
4225
 
4215
4226
  const _hoisted_1$3 = ["textContent"];
4216
- const _hoisted_2 = ["textContent"];
4227
+ const _hoisted_2$2 = ["textContent"];
4217
4228
  const _hoisted_3 = ["textContent"];
4218
4229
  const _hoisted_4 = ["textContent", "onClick", "onDblclick"];
4219
4230
  const _hoisted_5 = ["textContent", "onClick", "onDblclick"];
@@ -4225,6 +4236,7 @@
4225
4236
  props: {
4226
4237
  value: {},
4227
4238
  format: {},
4239
+ mode: {},
4228
4240
  min: {},
4229
4241
  max: {},
4230
4242
  minPickTime: {},
@@ -4401,10 +4413,13 @@
4401
4413
  clearDisabled: props.clearDisabled,
4402
4414
  toolbarDisabled: props.toolbarDisabled
4403
4415
  }, {
4404
- followX: "start",
4405
- followY: "before",
4406
- spaceX: -2,
4407
- spaceY: 4
4416
+ mode: "follow",
4417
+ follow: {
4418
+ followX: "start",
4419
+ followY: "before",
4420
+ spaceX: -2,
4421
+ spaceY: 4
4422
+ }
4408
4423
  });
4409
4424
  task.finally(() => setTimeout(() => props.pinned.value = false)).then(text => {
4410
4425
  if (text != void 0) {
@@ -4450,6 +4465,8 @@
4450
4465
  button: "",
4451
4466
  rotate: 180,
4452
4467
  size: 26,
4468
+ color: "#8a9099",
4469
+ "hover-color": "#58a4fd",
4453
4470
  onClick: _cache[0] || (_cache[0] = $event => buildPickerItems(stepRef.value, -1))
4454
4471
  }), vue.createElementVNode("div", {
4455
4472
  class: vue.normalizeClass(["header-content", stepRef.value])
@@ -4461,14 +4478,17 @@
4461
4478
  }, [vue.createElementVNode("div", {
4462
4479
  textContent: vue.toDisplayString(`${dateRef.value.year}年`),
4463
4480
  onClick: _cache[1] || (_cache[1] = $event => onSwitchStepClick("year"))
4464
- }, null, 8, _hoisted_2), stepRef.value == "day" ? (vue.openBlock(), vue.createElementBlock("div", {
4481
+ }, null, 8, _hoisted_2$2), stepRef.value == "day" ? (vue.openBlock(), vue.createElementBlock("div", {
4465
4482
  key: 0,
4466
4483
  textContent: vue.toDisplayString(`${dateRef.value.month}月`),
4467
4484
  onClick: _cache[2] || (_cache[2] = $event => onSwitchStepClick("month"))
4468
4485
  }, null, 8, _hoisted_3)) : vue.createCommentVNode("", true)], 64))], 2), vue.createVNode(_sfc_main$E, {
4486
+ class: "flex-0",
4469
4487
  type: "arrow",
4470
4488
  button: "",
4471
4489
  size: 26,
4490
+ color: "#8a9099",
4491
+ "hover-color": "#58a4fd",
4472
4492
  onClick: _cache[3] || (_cache[3] = $event => buildPickerItems(stepRef.value, 1))
4473
4493
  })]),
4474
4494
  main: vue.withCtx(() => [stepRef.value == "year" ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
@@ -4576,25 +4596,38 @@
4576
4596
  return showPicker(target, _sfc_main$4, options, popupOptions);
4577
4597
  }
4578
4598
  function showPicker(target, component, options, popupOptions) {
4579
- {
4580
- popupOptions = {
4581
- ...popupOptions
4582
- };
4583
- popupOptions.followX = popupOptions.followX || ["start", "end", "center", "before", "after"];
4584
- popupOptions.spaceX = snail_core.correctNumber(popupOptions.spaceX, 2);
4585
- popupOptions.spaceY = snail_core.correctNumber(popupOptions.spaceY, 2);
4586
- popupOptions.spaceClient = snail_core.correctNumber(popupOptions.spaceClient, 10);
4587
- popupOptions.closeOnMask = popupOptions.closeOnMask == void 0 ? true : popupOptions.closeOnMask;
4588
- }
4589
- return popup.follow(target, {
4590
- ...popupOptions,
4591
- component,
4592
- props: {
4593
- ...options,
4594
- picker: manager,
4595
- popup
4599
+ if (popupOptions && popupOptions.mode == "dialog") {
4600
+ return popup.dialog({
4601
+ component,
4602
+ ...(popupOptions.dialog || {
4603
+ closeOnEscape: false,
4604
+ closeOnMask: true
4605
+ }),
4606
+ props: {
4607
+ ...options,
4608
+ picker: manager,
4609
+ popup
4610
+ }
4611
+ });
4612
+ } else {
4613
+ const follow = (popupOptions ? popupOptions.follow : void 0) || Object.create(null);
4614
+ {
4615
+ follow.followX = follow.followX || ["center", "start", "end", "before", "after"];
4616
+ follow.spaceX = snail_core.correctNumber(follow.spaceX, 2);
4617
+ follow.spaceY = snail_core.correctNumber(follow.spaceY, 2);
4618
+ follow.spaceClient = snail_core.correctNumber(follow.spaceClient, 10);
4619
+ follow.closeOnMask = follow.closeOnMask == void 0 ? true : follow.closeOnMask;
4596
4620
  }
4597
- });
4621
+ return popup.follow(target, {
4622
+ ...follow,
4623
+ component,
4624
+ props: {
4625
+ ...options,
4626
+ picker: manager,
4627
+ popup
4628
+ }
4629
+ });
4630
+ }
4598
4631
  }
4599
4632
  const manager = Object.freeze(snail_core.mountScope({
4600
4633
  showDate,
@@ -4605,6 +4638,7 @@
4605
4638
  }
4606
4639
 
4607
4640
  const _hoisted_1$2 = ["title"];
4641
+ const _hoisted_2$1 = ["textContent"];
4608
4642
  var _sfc_main$2 = vue.defineComponent({
4609
4643
  __name: "date-picker",
4610
4644
  props: {
@@ -4613,6 +4647,7 @@
4613
4647
  },
4614
4648
  value: {},
4615
4649
  format: {},
4650
+ mode: {},
4616
4651
  min: {},
4617
4652
  max: {},
4618
4653
  minPickTime: {},
@@ -4625,7 +4660,8 @@
4625
4660
  },
4626
4661
  clearDisabled: {
4627
4662
  type: Boolean
4628
- }
4663
+ },
4664
+ popup: {}
4629
4665
  },
4630
4666
  emits: ["change"],
4631
4667
  setup(__props, _ref) {
@@ -4652,10 +4688,7 @@
4652
4688
  pickerScope = showDate(pickerDom.value, {
4653
4689
  ...props,
4654
4690
  value: valueRef.value
4655
- }, {
4656
- followX: evt.target.tagName == "svg" ? ["end"] : void 0,
4657
- closeOnTarget: true
4658
- });
4691
+ }, props.popup);
4659
4692
  const dateText = await pickerScope;
4660
4693
  pickerScope = void 0;
4661
4694
  if (dateText !== void 0 && dateText != valueRef.value) {
@@ -4670,18 +4703,20 @@
4670
4703
  return (_ctx, _cache) => {
4671
4704
  return vue.openBlock(), vue.createElementBlock("div", {
4672
4705
  class: vue.normalizeClass(["snail-datepicker", {
4673
- readonly: __props.readonly
4706
+ readonly: __props.readonly,
4707
+ "simple": __props.mode == "simple"
4674
4708
  }]),
4675
- ref: "datepicker",
4676
4709
  title: valueRef.value,
4710
+ ref: "datepicker",
4677
4711
  onClick: showPicker
4678
- }, [vue.withDirectives(vue.createElementVNode("input", {
4679
- class: "wh-fill",
4680
- type: "text",
4681
- readonly: "",
4682
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => valueRef.value = $event)
4683
- }, null, 512), [[vue.vModelText, valueRef.value]]), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
4712
+ }, [__props.mode != "simple" || vue.unref(snail_core.isStringNotEmpty)(valueRef.value) ? (vue.openBlock(), vue.createElementBlock("span", {
4684
4713
  key: 0,
4714
+ class: vue.normalizeClass(["ellipsis", {
4715
+ "flex-1": __props.mode != "simple"
4716
+ }]),
4717
+ textContent: vue.toDisplayString(valueRef.value)
4718
+ }, null, 10, _hoisted_2$1)) : vue.createCommentVNode("", true), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
4719
+ key: 1,
4685
4720
  type: "datepicker",
4686
4721
  button: "",
4687
4722
  size: 16,
@@ -4693,6 +4728,7 @@
4693
4728
  });
4694
4729
 
4695
4730
  const _hoisted_1$1 = ["title"];
4731
+ const _hoisted_2 = ["textContent"];
4696
4732
  var _sfc_main$1 = vue.defineComponent({
4697
4733
  __name: "time-picker",
4698
4734
  props: {
@@ -4701,6 +4737,7 @@
4701
4737
  },
4702
4738
  value: {},
4703
4739
  format: {},
4740
+ mode: {},
4704
4741
  min: {},
4705
4742
  max: {},
4706
4743
  toolbarDisabled: {
@@ -4711,7 +4748,8 @@
4711
4748
  },
4712
4749
  clearDisabled: {
4713
4750
  type: Boolean
4714
- }
4751
+ },
4752
+ popup: {}
4715
4753
  },
4716
4754
  emits: ["change"],
4717
4755
  setup(__props, _ref) {
@@ -4738,10 +4776,7 @@
4738
4776
  pickerScope = showTime(pickerDom.value, {
4739
4777
  ...props,
4740
4778
  value: valueRef.value
4741
- }, {
4742
- followX: evt.target.tagName == "svg" ? ["end"] : void 0,
4743
- closeOnTarget: true
4744
- });
4779
+ }, props.popup);
4745
4780
  const timeText = await pickerScope;
4746
4781
  pickerScope = void 0;
4747
4782
  if (timeText !== void 0 && timeText != valueRef.value) {
@@ -4756,18 +4791,20 @@
4756
4791
  return (_ctx, _cache) => {
4757
4792
  return vue.openBlock(), vue.createElementBlock("div", {
4758
4793
  class: vue.normalizeClass(["snail-timepicker", {
4759
- readonly: __props.readonly
4794
+ readonly: __props.readonly,
4795
+ "simple": __props.mode == "simple"
4760
4796
  }]),
4761
4797
  ref: "timepicker",
4762
4798
  title: valueRef.value,
4763
4799
  onClick: showPicker
4764
- }, [vue.withDirectives(vue.createElementVNode("input", {
4765
- class: "wh-fill",
4766
- type: "text",
4767
- readonly: "",
4768
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => valueRef.value = $event)
4769
- }, null, 512), [[vue.vModelText, valueRef.value]]), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
4800
+ }, [__props.mode != "simple" || vue.unref(snail_core.isStringNotEmpty)(valueRef.value) ? (vue.openBlock(), vue.createElementBlock("span", {
4770
4801
  key: 0,
4802
+ class: vue.normalizeClass(["ellipsis", {
4803
+ "flex-1": __props.mode != "simple"
4804
+ }]),
4805
+ textContent: vue.toDisplayString(valueRef.value)
4806
+ }, null, 10, _hoisted_2)) : vue.createCommentVNode("", true), __props.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
4807
+ key: 1,
4771
4808
  type: "timepicker",
4772
4809
  button: "",
4773
4810
  size: 20,
@@ -7,7 +7,7 @@
7
7
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/header.vue index:0 */
8
8
  .snail-header{align-items:center;background-color:#fff;display:flex;flex-shrink:0;position:relative;width:100%}.snail-header>.header-title{color:#2e3033;flex:1;line-height:48px;overflow:hidden;padding:0 30px;text-overflow:ellipsis;white-space:nowrap}.snail-header>.header-title.left{text-align:left}.snail-header>.header-title.center{text-align:center}.snail-header>.header-title.right{text-align:right}.snail-header.start-divider{border-bottom:1px solid #dddfed}.snail-header.page{height:48px}.snail-header.page>.header-title{font-size:16px;font-weight:bold}.snail-header.page>.close-icon{margin-right:18px}.snail-header.dialog{height:64px;padding-top:16px}.snail-header.dialog>.header-title{font-size:20px}.snail-header.dialog>.close-icon{position:absolute;right:8px;top:8px}
9
9
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/icon.vue index:0 */
10
- .snail-icon{fill:#8a8099;opacity:1;transition:all .2s linear}.snail-icon.button{cursor:pointer}
10
+ .snail-icon{--fill:#8a8099;--hover:#8a8099;fill:var(--fill);opacity:1;transition:all .2s linear}.snail-icon.button{cursor:pointer}@media (hover:hover) and (pointer:fine){.snail-icon:hover{fill:var(--hover)}}
11
11
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/input.vue index:0 */
12
12
  .snail-input{display:inline-flex;min-height:34px}.snail-input>.input-title{flex-shrink:0;padding-top:6px}.snail-input>.input-title>span.text{color:#2e3033}.snail-input>.input-title>span.required{color:#f74b4b;margin-left:2px}.snail-input>.input-body{align-self:start;display:flex;flex:1;height:32px}.snail-input>.input-body>input{flex:1}.snail-input>.input-body>span{background-color:red;flex-shrink:0}
13
13
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/number.vue index:0 */
@@ -16,12 +16,12 @@
16
16
  .snail-search{align-items:center;background:#fff;display:flex;flex-shrink:0;height:34px}.snail-search>input{border-radius:0!important;flex:1;height:100%}.snail-search>div{align-items:center;border:1px solid #dddfed;border-left:none;display:flex;flex-shrink:0;height:100%;justify-content:center;width:34px}
17
17
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/select.vue index:0 */
18
18
  .snail-select{align-items:center;border:1px solid #dddfed;border-radius:4px;color:#2e3033;display:flex;height:32px;width:100%}.snail-select:not(.readonly){background-color:#fff}.snail-select:not(.readonly,.empty){cursor:pointer}.snail-select>div.select-result{align-items:center;display:flex;flex:1;flex-wrap:nowrap;height:30px;overflow:hidden;padding:0 10px 0 6px}.snail-select>div.placeholder{flex:1;padding:0 10px 0 6px}.snail-select>svg.snail-icon{flex-shrink:0;margin-right:4px}.snail-select>div.no-items{flex:1;padding:0 8px}
19
- /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/textarea.vue index:0 */
20
- textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overflow-y:auto;resize:none;width:100%}
21
19
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/switch.vue index:0 */
22
20
  .snail-switch{cursor:pointer;overflow:hidden;position:relative}.snail-switch.readonly{cursor:not-allowed}.snail-switch.switch{border-radius:10px 10px 10px 10px;height:20px!important;width:36px!important}.snail-switch.switch>div.on{background-color:#5ca3ff}.snail-switch.switch>div.off{background-color:#c4c8cc;position:absolute;transition:left .2s ease}.snail-switch.switch>div.status{background:#fff;border-radius:10px 10px 10px 10px;height:16px;position:absolute;top:2px;transition:left .2s ease;width:16px}.snail-switch.switch.on>div.off{left:100%;top:0}.snail-switch.switch.on>div.status{left:calc(100% - 18px)}.snail-switch.switch.off>div.off{left:0;top:0}.snail-switch.switch.off>div.status{left:2px}
23
21
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/switch.vue index:1 */
24
22
  .snail-switch.checkbox,.snail-switch.radio{align-items:center;display:flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.snail-switch.checkbox.off,.snail-switch.radio.off{border:1px solid #dcdfe6}.snail-switch.checkbox.on,.snail-switch.radio.on{background-color:#4c9aff;border:1px solid #4c9aff}.snail-switch.radio{border-radius:50%}
23
+ /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/textarea.vue index:0 */
24
+ textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overflow-y:auto;resize:none;width:100%}
25
25
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/action.vue index:0 */
26
26
  .snail-action,.snail-action *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-action>.action-slot{flex:1;overflow:hidden;position:relative}.snail-action>.trigger-area{align-items:center;flex-shrink:0;width:-moz-fit-content;width:fit-content}.snail-action>.trigger-area.hidden{display:none}.snail-action:hover>.trigger-area{display:flex}
27
27
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/dynamic.vue index:0 */
@@ -53,9 +53,9 @@ textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overf
53
53
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/other/flash-number.vue index:0 */
54
54
 
55
55
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/date-picker.vue index:0 */
56
- .snail-datepicker{height:32px;position:relative}.snail-datepicker>input:not(.readonly){cursor:pointer;padding-right:30px!important}.snail-datepicker>svg{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
56
+ .snail-datepicker{align-items:center;border-radius:4px;color:#2e3033;display:flex;gap:8px;height:32px;position:relative}.snail-datepicker>svg{flex-shrink:0;margin-right:8px}.snail-datepicker:not(.readonly){cursor:pointer}.snail-datepicker:not(.readonly)>span{padding-left:10px}.snail-datepicker:not(.simple){border:1px solid #dddfed;width:100%}.snail-datepicker.simple{width:-moz-fit-content;width:fit-content}.snail-datepicker.simple>span{padding-left:0}
57
57
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/time-picker.vue index:0 */
58
- .snail-timepicker{height:32px;position:relative}.snail-timepicker>input:not(.readonly){cursor:pointer;padding-right:34px!important}.snail-timepicker>svg{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
58
+ .snail-timepicker{align-items:center;border-radius:4px;color:#2e3033;display:flex;gap:8px;height:32px;position:relative}.snail-timepicker>svg{flex-shrink:0;margin-right:8px}.snail-timepicker:not(.readonly){cursor:pointer}.snail-timepicker:not(.readonly)>span{padding-left:10px}.snail-timepicker:not(.simple){border:1px solid #dddfed;width:100%}.snail-timepicker.simple{width:-moz-fit-content;width:fit-content}.snail-timepicker.simple>span{padding-left:0}
59
59
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/prompt/drag-verify.vue index:0 */
60
60
  .snail-drag-verify{background:#f8f9fa;border:1px solid #dddfed;border-radius:8px;height:40px;overflow:hidden;position:relative;width:100%}.snail-drag-verify>div{height:100%;width:100%}.snail-drag-verify>.drag-progress{background-color:#0c6;transition:width .5s ease-in-out}.snail-drag-verify>.drag-handle,.snail-drag-verify>.verify-message{left:0;position:absolute;top:0;transition:left .5s ease-in-out}.snail-drag-verify>.verify-message{background-image:-webkit-linear-gradient(left,#666,#666 45%,#fff 50%,#666 55%,#666);-webkit-text-fill-color:transparent;align-items:center;animation:snail-drag-verify 2s linear infinite;-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#7e848c;display:flex;font-size:12px;font-weight:400;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-drag-verify>.drag-handle{align-items:center;background-color:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURQAAAGBQUGBaWmJZWWJYWGNYWGNZWWJYWGJZWWBYWGNYWGNZWWRYWIqwlb0AAAANdFJOUwAQMMDQoFBgcCCw4ECQ8pPMAAAAP0lEQVQI12NgwATTGBgawAwRBYZwMIPRiYErAcxSFmA0AjN4HBikBcCsUgYmQxQGE0wKphhIQrSzwAyEW4EOACHhB32zIad6AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;border-right:1px solid #dddfed;display:flex;justify-content:center;width:40px}.snail-drag-verify.dragging>.drag-handle,.snail-drag-verify.dragging>.drag-progress{transition:none!important}.snail-drag-verify.success>.verify-message{-webkit-text-fill-color:#fff;color:#fff}.snail-drag-verify.success>.drag-handle>svg{background:#76c61d;border-radius:50%;padding:4px}@keyframes snail-drag-verify{0%{background-position:0 0}to{background-position:-200% 0}}
61
61
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/prompt/empty.vue index:0 */
@@ -65,7 +65,7 @@ textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overf
65
65
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/components/time-pc.vue index:0 */
66
66
  .snail-layout.time-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:240px!important;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:210px!important}.snail-layout.time-picker.pc>.main-area{display:flex;flex-wrap:nowrap;justify-content:space-between;margin:10px;overflow:hidden}.snail-layout.time-picker.pc>.main-area>.tz-item{border:1px solid #eee;border-left:none;flex-shrink:0;overflow:hidden auto;width:30%}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number{align-items:center;border-left:1px solid #eee;cursor:pointer;display:flex;height:24px;justify-content:center}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number:hover{background-color:#f4f4f4}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.active{background-color:#58a4fd;border-color:#58a4fd;color:#fff!important}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.active.disabled{opacity:.6}.snail-layout.time-picker.pc>.main-area>.tz-item>.tzi-number.disabled{color:#ddd;cursor:not-allowed}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar{width:4px}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.6);border:none;border-radius:0}.snail-layout.time-picker.pc>.main-area>.tz-item::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}.snail-layout.time-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.time-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.time-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.time-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.time-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}.snail-layout.time-picker.pc.second-disabled{width:180px}.snail-layout.time-picker.pc.second-disabled>.main-area>.tz-item{width:46%}
67
67
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/components/date-pc.vue index:0 */
68
- .snail-layout.date-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:300px!important;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:280px!important}.snail-layout.date-picker.pc.time-now:after{background-color:gray;content:"";height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}.snail-layout.date-picker.pc>.top-area{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:nowrap;padding:0 4px}.snail-layout.date-picker.pc>.top-area>svg{fill:#8a9099;flex-shrink:0}.snail-layout.date-picker.pc>.top-area>svg:hover{fill:#58a4fd}.snail-layout.date-picker.pc>.top-area>div.header-content{align-items:center;display:flex;flex:1;justify-content:center}.snail-layout.date-picker.pc>.top-area>div.header-content>div{align-items:center;display:flex;font-size:16px;height:100%}.snail-layout.date-picker.pc>.top-area>div.header-content>div:nth-child(2){margin-left:8px}.snail-layout.date-picker.pc>.top-area>div.header-content:not(.year)>div:hover{color:#58a4fd;cursor:pointer}.snail-layout.date-picker.pc>.main-area{display:flex;flex-wrap:wrap;justify-content:space-between}.snail-layout.date-picker.pc>.main-area>div{align-items:center;display:flex;flex-shrink:0;font-size:13px;justify-content:center;position:relative}.snail-layout.date-picker.pc>.main-area>div>span{align-items:center;display:flex;height:28px;justify-content:center}.snail-layout.date-picker.pc>.main-area>div>span:hover{background:#f4f4f4;cursor:pointer}.snail-layout.date-picker.pc>.main-area>div.active>span{background-color:#58a4fd;color:#fff!important}.snail-layout.date-picker.pc>.main-area>div.active.disabled{opacity:.6}.snail-layout.date-picker.pc>.main-area>div.disabled>span{color:#aaa;cursor:not-allowed}.snail-layout.date-picker.pc>.main-area>div.day-item{height:30px;width:36px}.snail-layout.date-picker.pc>.main-area>div.day-item.week{font-weight:bold}.snail-layout.date-picker.pc>.main-area>div.day-item.active>span,.snail-layout.date-picker.pc>.main-area>div.day-item:hover>span{border-radius:100%;width:28px}.snail-layout.date-picker.pc>.main-area>div.day-item:not(.now-month)>span{color:#aaa}.snail-layout.date-picker.pc>.main-area>div.month-item,.snail-layout.date-picker.pc>.main-area>div.year-item{width:30%}.snail-layout.date-picker.pc>.main-area>div.month-item.active>span,.snail-layout.date-picker.pc>.main-area>div.month-item:hover>span,.snail-layout.date-picker.pc>.main-area>div.year-item.active>span,.snail-layout.date-picker.pc>.main-area>div.year-item:hover>span{border-radius:15px;padding:0 8px;width:-moz-fit-content;width:fit-content}.snail-layout.date-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.date-picker.pc>.bottom-area>.time-area{color:#58a4fd;cursor:pointer;font-size:12px;margin-left:10px;margin-right:auto}.snail-layout.date-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.date-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.date-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.date-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}
68
+ .snail-layout.date-picker.pc{background-color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.12);height:300px!important;overflow:hidden!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:280px!important}.snail-layout.date-picker.pc.time-now:after{background-color:gray;content:"";height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}.snail-layout.date-picker.pc>.top-area{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:nowrap;padding:0 4px}.snail-layout.date-picker.pc>.top-area>div.header-content{align-items:center;display:flex;flex:1;justify-content:center}.snail-layout.date-picker.pc>.top-area>div.header-content>div{align-items:center;display:flex;font-size:16px;height:100%}.snail-layout.date-picker.pc>.top-area>div.header-content>div:nth-child(2){margin-left:8px}.snail-layout.date-picker.pc>.top-area>div.header-content:not(.year)>div:hover{color:#58a4fd;cursor:pointer}.snail-layout.date-picker.pc>.main-area{display:flex;flex-wrap:wrap;justify-content:space-between}.snail-layout.date-picker.pc>.main-area>div{align-items:center;display:flex;flex-shrink:0;font-size:13px;justify-content:center;position:relative}.snail-layout.date-picker.pc>.main-area>div>span{align-items:center;display:flex;height:28px;justify-content:center}.snail-layout.date-picker.pc>.main-area>div>span:hover{background:#f4f4f4;cursor:pointer}.snail-layout.date-picker.pc>.main-area>div.active>span{background-color:#58a4fd;color:#fff!important}.snail-layout.date-picker.pc>.main-area>div.active.disabled{opacity:.6}.snail-layout.date-picker.pc>.main-area>div.disabled>span{color:#aaa;cursor:not-allowed}.snail-layout.date-picker.pc>.main-area>div.day-item{height:30px;width:36px}.snail-layout.date-picker.pc>.main-area>div.day-item.week{font-weight:bold}.snail-layout.date-picker.pc>.main-area>div.day-item.active>span,.snail-layout.date-picker.pc>.main-area>div.day-item:hover>span{border-radius:100%;width:28px}.snail-layout.date-picker.pc>.main-area>div.day-item:not(.now-month)>span{color:#aaa}.snail-layout.date-picker.pc>.main-area>div.month-item,.snail-layout.date-picker.pc>.main-area>div.year-item{width:30%}.snail-layout.date-picker.pc>.main-area>div.month-item.active>span,.snail-layout.date-picker.pc>.main-area>div.month-item:hover>span,.snail-layout.date-picker.pc>.main-area>div.year-item.active>span,.snail-layout.date-picker.pc>.main-area>div.year-item:hover>span{border-radius:15px;padding:0 8px;width:-moz-fit-content;width:fit-content}.snail-layout.date-picker.pc>.bottom-area{align-items:center;border-top:1px solid #eee;display:flex;height:30px;justify-content:flex-end;padding-right:10px}.snail-layout.date-picker.pc>.bottom-area>.time-area{color:#58a4fd;cursor:pointer;font-size:12px;margin-left:10px;margin-right:auto}.snail-layout.date-picker.pc>.bottom-area>.snail-button{color:#999;font-size:12px;margin-left:4px}.snail-layout.date-picker.pc>.bottom-area>.snail-button:hover,.snail-layout.date-picker.pc>.bottom-area>.snail-button:last-child{color:#58a4fd}.snail-layout.date-picker.pc>.bottom-area>.snail-button.disabled{cursor:not-allowed;opacity:.6}
69
69
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/confirm-container.vue index:0 */
70
70
  .snail-confirm{background-color:#fff;border-radius:4px;color:#2e2f33;max-height:350px;max-width:548px;min-width:348px}.snail-confirm>div.confirm-body{flex:1;margin:20px 40px;overflow:auto;word-wrap:break-word}
71
71
  /* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/dialog-container.vue index:0 */
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "依赖【snail】,基于vue封装常用UI组件",
4
4
  "author": "snail_dev@163.com",
5
5
  "license": "MIT",
6
- "version": "2.0.28",
6
+ "version": "2.0.29",
7
7
  "type": "module",
8
8
  "main": "dist/snail.vue.js",
9
9
  "module": "dist/snail.vue.js",