snail.vue 1.0.53 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -27
- package/dist/snail.vue.d.ts +138 -3
- package/dist/snail.vue.js +211 -52
- package/dist/snail.vue.umd.js +208 -49
- package/dist/styles/snail.vue.vue.css +25 -23
- package/package.json +4 -3
- package/{.code-snippets → vue.code-snippets} +1 -14
- package/dist/styles/app.css +0 -1
package/dist/snail.vue.umd.js
CHANGED
|
@@ -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$
|
|
9
|
-
var _sfc_main$
|
|
8
|
+
const _hoisted_1$h = ["title"];
|
|
9
|
+
var _sfc_main$u = 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", [_ctx.size, _ctx.type]]),
|
|
24
24
|
title: _ctx.title
|
|
25
|
-
}, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = vue.createTextVNode("按钮"))])], 10, _hoisted_1$
|
|
25
|
+
}, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = vue.createTextVNode("按钮"))])], 10, _hoisted_1$h);
|
|
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 getSvgDraw(iconType, draw) {
|
|
31
35
|
switch (iconType) {
|
|
32
36
|
case "success":
|
|
@@ -61,10 +65,10 @@
|
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
|
|
64
|
-
const _hoisted_1$
|
|
68
|
+
const _hoisted_1$g = ["width", "height"];
|
|
65
69
|
const _hoisted_2$a = ["textContent"];
|
|
66
70
|
const _hoisted_3$7 = ["fill", "stroke", "stroke-width", "d"];
|
|
67
|
-
var _sfc_main$
|
|
71
|
+
var _sfc_main$t = vue.defineComponent({
|
|
68
72
|
...{
|
|
69
73
|
name: "Icon",
|
|
70
74
|
inheritAttrs: true
|
|
@@ -101,16 +105,16 @@
|
|
|
101
105
|
"stroke-width": _ctx.strokeWidth,
|
|
102
106
|
d: draw
|
|
103
107
|
}, null, 8, _hoisted_3$7);
|
|
104
|
-
}), 256))], 46, _hoisted_1$
|
|
108
|
+
}), 256))], 46, _hoisted_1$g);
|
|
105
109
|
};
|
|
106
110
|
}
|
|
107
111
|
});
|
|
108
112
|
|
|
109
|
-
const _hoisted_1$
|
|
113
|
+
const _hoisted_1$f = ["onClick"];
|
|
110
114
|
const _hoisted_2$9 = ["type", "checked"];
|
|
111
115
|
const _hoisted_3$6 = ["textContent"];
|
|
112
116
|
const _hoisted_4$4 = ["textContent"];
|
|
113
|
-
var _sfc_main$
|
|
117
|
+
var _sfc_main$s = vue.defineComponent({
|
|
114
118
|
...{
|
|
115
119
|
name: "Choose",
|
|
116
120
|
inheritAttrs: true
|
|
@@ -183,7 +187,7 @@
|
|
|
183
187
|
}, null, 8, _hoisted_2$9)) : vue.unref(mode) == "beautiful" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
184
188
|
key: 1,
|
|
185
189
|
class: vue.normalizeClass(["item-beautiful", [_ctx.type, node.checked ? "item-checked" : "item-unchecked"]])
|
|
186
|
-
}, [node.checked ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
190
|
+
}, [node.checked ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
187
191
|
key: 0,
|
|
188
192
|
type: "success",
|
|
189
193
|
size: 12,
|
|
@@ -196,15 +200,168 @@
|
|
|
196
200
|
key: 3,
|
|
197
201
|
class: "item-des",
|
|
198
202
|
textContent: vue.toDisplayString(node.item.description)
|
|
199
|
-
}, null, 8, _hoisted_4$4)) : vue.createCommentVNode("", true)], 14, _hoisted_1$
|
|
203
|
+
}, null, 8, _hoisted_4$4)) : vue.createCommentVNode("", true)], 14, _hoisted_1$f);
|
|
200
204
|
}), 128))], 2);
|
|
201
205
|
};
|
|
202
206
|
}
|
|
203
207
|
});
|
|
204
208
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
209
|
+
const _hoisted_1$e = ["id"];
|
|
210
|
+
var _sfc_main$r = vue.defineComponent({
|
|
211
|
+
__name: "datepicker",
|
|
212
|
+
props: {
|
|
213
|
+
type: {},
|
|
214
|
+
range: {
|
|
215
|
+
type: Boolean
|
|
216
|
+
},
|
|
217
|
+
format: {},
|
|
218
|
+
begin: {},
|
|
219
|
+
end: {},
|
|
220
|
+
min: {},
|
|
221
|
+
max: {},
|
|
222
|
+
zIndex: {},
|
|
223
|
+
timeDisabled: {
|
|
224
|
+
type: Boolean
|
|
225
|
+
},
|
|
226
|
+
secondDisabled: {
|
|
227
|
+
type: Boolean
|
|
228
|
+
},
|
|
229
|
+
cleanDisabled: {
|
|
230
|
+
type: Boolean
|
|
231
|
+
},
|
|
232
|
+
nowDisabled: {
|
|
233
|
+
type: Boolean
|
|
234
|
+
},
|
|
235
|
+
submitDisabled: {
|
|
236
|
+
type: Boolean
|
|
237
|
+
},
|
|
238
|
+
width: {},
|
|
239
|
+
height: {},
|
|
240
|
+
behindTop: {}
|
|
241
|
+
},
|
|
242
|
+
emits: ["change", "picker-focus", "picker-blur"],
|
|
243
|
+
setup(__props, _ref) {
|
|
244
|
+
let {
|
|
245
|
+
expose: __expose,
|
|
246
|
+
emit: __emit
|
|
247
|
+
} = _ref;
|
|
248
|
+
const props = __props;
|
|
249
|
+
const emits = __emit;
|
|
250
|
+
const {
|
|
251
|
+
onInterval,
|
|
252
|
+
onTimeout
|
|
253
|
+
} = snail_core.useTimer();
|
|
254
|
+
const {
|
|
255
|
+
range
|
|
256
|
+
} = props;
|
|
257
|
+
const format = props.format || "yyyy-MM-dd";
|
|
258
|
+
const id = `DP${snail_core.newId()}`.toUpperCase();
|
|
259
|
+
var pickerInitialTimer = void 0;
|
|
260
|
+
var pickerLastStatus = void 0;
|
|
261
|
+
var pickerStatusTimer = void 0;
|
|
262
|
+
const pickerStatusArray = [];
|
|
263
|
+
__expose({
|
|
264
|
+
showPicker
|
|
265
|
+
});
|
|
266
|
+
function initZanePopup(flag) {
|
|
267
|
+
const obj = window[flag] ? window[flag].$obj : void 0;
|
|
268
|
+
if (obj) {
|
|
269
|
+
obj.removeEventListener("mouseenter", onZanePopupFocus);
|
|
270
|
+
obj.removeEventListener("mouseleave", onZanePopupFocus);
|
|
271
|
+
obj.addEventListener("mouseenter", onZanePopupFocus);
|
|
272
|
+
obj.addEventListener("mouseleave", onZanePopupFocus);
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
function destroyZanePopup(flag) {
|
|
277
|
+
if (window[flag]) {
|
|
278
|
+
window[flag].removeCalendar && window[flag].removeCalendar();
|
|
279
|
+
delete window[flag];
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
function showPicker(delay) {
|
|
283
|
+
const div = document.getElementById(id);
|
|
284
|
+
div && (delay > 0 ? onTimeout(() => div.click(), delay) : div.click());
|
|
285
|
+
}
|
|
286
|
+
function onClick() {
|
|
287
|
+
if (pickerInitialTimer && pickerInitialTimer.destroyed != true) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
pickerInitialTimer = onInterval(() => {
|
|
291
|
+
let counter = 0;
|
|
292
|
+
initZanePopup(id) && counter++;
|
|
293
|
+
range && initZanePopup(`${id}DOUBLE`) && counter++;
|
|
294
|
+
counter == (range ? 2 : 1) && pickerInitialTimer.destroy();
|
|
295
|
+
}, 10);
|
|
296
|
+
const timeoutScope = onTimeout(() => pickerInitialTimer.destroyed || pickerInitialTimer.destroy(), 5e3);
|
|
297
|
+
pickerInitialTimer.onDestroy(() => timeoutScope.destroyed || timeoutScope.destroy());
|
|
298
|
+
}
|
|
299
|
+
function onZaneMounted() {}
|
|
300
|
+
function onZanePopupFocus(e) {
|
|
301
|
+
const type = e.type == "mouseenter" ? "focus" : "blur";
|
|
302
|
+
pickerStatusArray.push(type);
|
|
303
|
+
pickerStatusTimer && pickerStatusTimer.destroy();
|
|
304
|
+
pickerStatusTimer = onTimeout(() => {
|
|
305
|
+
const lastStatus = snail_core.getFromArray(pickerStatusArray, -1);
|
|
306
|
+
lastStatus && pickerLastStatus != lastStatus && emits(`picker-${lastStatus}`);
|
|
307
|
+
pickerLastStatus = lastStatus;
|
|
308
|
+
pickerStatusTimer = void 0;
|
|
309
|
+
pickerStatusArray.splice(0);
|
|
310
|
+
}, 0);
|
|
311
|
+
}
|
|
312
|
+
function onZaneDone(full, begin, end) {
|
|
313
|
+
if (format.includes("-") == true) {
|
|
314
|
+
begin && (begin = begin.replaceAll("/", "-"));
|
|
315
|
+
end && (end = end.replaceAll("/", "-"));
|
|
316
|
+
}
|
|
317
|
+
emits("change", begin, end);
|
|
318
|
+
}
|
|
319
|
+
snail_view.link.register("/styles/zane-calendar.css");
|
|
320
|
+
vue.onMounted(() => {
|
|
321
|
+
snail_core.script.has("zane-calendar") || snail_core.throwError(`zane-calendar module unregistered.`);
|
|
322
|
+
const zaneOptions = {
|
|
323
|
+
elem: `#${id}`,
|
|
324
|
+
type: `${range ? "double" : ""}${props.type || "day"}`,
|
|
325
|
+
format,
|
|
326
|
+
begintime: props.begin || "",
|
|
327
|
+
endtime: props.end || "",
|
|
328
|
+
min: props.min || "1900-10-01",
|
|
329
|
+
max: props.max || "",
|
|
330
|
+
zindex: props.zIndex || 1e4,
|
|
331
|
+
showtime: props.timeDisabled != true,
|
|
332
|
+
showsecond: props.secondDisabled != true,
|
|
333
|
+
showclean: props.cleanDisabled != true,
|
|
334
|
+
shownow: props.nowDisabled != true,
|
|
335
|
+
showsubmit: props.submitDisabled != true,
|
|
336
|
+
width: props.width || 280,
|
|
337
|
+
height: props.height || 300,
|
|
338
|
+
behindTop: props.behindTop || 4,
|
|
339
|
+
lang: "cn",
|
|
340
|
+
event: "click",
|
|
341
|
+
position: "fixed",
|
|
342
|
+
haveBotBtns: true,
|
|
343
|
+
mounted: onZaneMounted,
|
|
344
|
+
done: onZaneDone
|
|
345
|
+
};
|
|
346
|
+
snail_core.script.load("zane-calendar").then(calendar => {
|
|
347
|
+
console.log(zaneOptions);
|
|
348
|
+
snail_core.isFunction(calendar) || snail_core.throwError("load zane-calendar failed: value is not a function.");
|
|
349
|
+
calendar(zaneOptions);
|
|
350
|
+
}, reason => snail_core.throwError(reason));
|
|
351
|
+
});
|
|
352
|
+
vue.onUnmounted(() => {
|
|
353
|
+
destroyZanePopup(id);
|
|
354
|
+
range && destroyZanePopup(`${id}DOUBLE`);
|
|
355
|
+
});
|
|
356
|
+
return (_ctx, _cache) => {
|
|
357
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
358
|
+
class: "snail-datepicker",
|
|
359
|
+
id: vue.unref(id),
|
|
360
|
+
onClick
|
|
361
|
+
}, null, 8, _hoisted_1$e);
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
});
|
|
208
365
|
|
|
209
366
|
var _sfc_main$q = vue.defineComponent({
|
|
210
367
|
...{
|
|
@@ -237,13 +394,13 @@
|
|
|
237
394
|
class: vue.normalizeClass(["snail-footer", {
|
|
238
395
|
"start-divider": _ctx.divider
|
|
239
396
|
}, _ctx.align || "right"])
|
|
240
|
-
}, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_ctx.cancelDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
397
|
+
}, [vue.renderSlot(_ctx.$slots, "default", {}, () => [_ctx.cancelDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
|
|
241
398
|
key: 0,
|
|
242
399
|
size: "max",
|
|
243
400
|
type: "default",
|
|
244
401
|
onClick: _cache[0] || (_cache[0] = $event => emits("cancel")),
|
|
245
402
|
textContent: vue.toDisplayString(_ctx.cancelName || "取消")
|
|
246
|
-
}, null, 8, ["textContent"])) : vue.createCommentVNode("", true), _ctx.confirmDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
403
|
+
}, null, 8, ["textContent"])) : vue.createCommentVNode("", true), _ctx.confirmDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
|
|
247
404
|
key: 1,
|
|
248
405
|
size: "max",
|
|
249
406
|
type: "primary",
|
|
@@ -294,7 +451,7 @@
|
|
|
294
451
|
key: 0,
|
|
295
452
|
textContent: vue.toDisplayString(_ctx.title),
|
|
296
453
|
class: vue.normalizeClass(["header-title", _ctx.titleAlign])
|
|
297
|
-
}, null, 10, _hoisted_1$d)) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "default"), _ctx.closeDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
454
|
+
}, null, 10, _hoisted_1$d)) : vue.createCommentVNode("", true), vue.renderSlot(_ctx.$slots, "default"), _ctx.closeDisabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
298
455
|
key: 1,
|
|
299
456
|
type: "close",
|
|
300
457
|
size: 22,
|
|
@@ -355,7 +512,7 @@
|
|
|
355
512
|
onKeyup: _cache[1] || (_cache[1] = $event => onSearch($event))
|
|
356
513
|
}, null, 40, _hoisted_1$c), [[vue.vModelText, textModel.value, void 0, {
|
|
357
514
|
trim: true
|
|
358
|
-
}]]), vue.createElementVNode("div", null, [vue.createVNode(_sfc_main$
|
|
515
|
+
}]]), vue.createElementVNode("div", null, [vue.createVNode(_sfc_main$t, {
|
|
359
516
|
class: "search-button",
|
|
360
517
|
type: "custom",
|
|
361
518
|
draw: searchIon,
|
|
@@ -396,7 +553,7 @@
|
|
|
396
553
|
options,
|
|
397
554
|
extOptions,
|
|
398
555
|
zIndex: options.zIndex || DEFAULT_ZINDEX,
|
|
399
|
-
popupTransition: vue.shallowRef(`${options.transition || "
|
|
556
|
+
popupTransition: vue.shallowRef(`${options.transition || "fade"}-in`)
|
|
400
557
|
});
|
|
401
558
|
{
|
|
402
559
|
const app = vue.createApp(container, descriptor);
|
|
@@ -419,7 +576,7 @@
|
|
|
419
576
|
popupStatus.value = "closed";
|
|
420
577
|
task.resolve(void 0);
|
|
421
578
|
}
|
|
422
|
-
popupTransition.value = `${options.transition || "
|
|
579
|
+
popupTransition.value = `${options.transition || "fade"}-out`;
|
|
423
580
|
const app = POPUPMAPS.get(popupId);
|
|
424
581
|
if (app != void 0) {
|
|
425
582
|
POPUPMAPS.delete(popupId);
|
|
@@ -577,7 +734,7 @@
|
|
|
577
734
|
}
|
|
578
735
|
|
|
579
736
|
const _hoisted_1$b = {
|
|
580
|
-
class: "snail-confirm"
|
|
737
|
+
class: "snail-confirm flex-column"
|
|
581
738
|
};
|
|
582
739
|
const _hoisted_2$8 = ["innerHTML"];
|
|
583
740
|
var _sfc_main$n = vue.defineComponent({
|
|
@@ -1052,7 +1209,7 @@
|
|
|
1052
1209
|
}),
|
|
1053
1210
|
onMouseenter: _cache[3] || (_cache[3] = $event => onMouseEvent(false)),
|
|
1054
1211
|
onMouseleave: _cache[4] || (_cache[4] = $event => onMouseEvent(true))
|
|
1055
|
-
}, [vue.createVNode(_sfc_main$
|
|
1212
|
+
}, [vue.createVNode(_sfc_main$t, {
|
|
1056
1213
|
type: "close",
|
|
1057
1214
|
class: "close-icon",
|
|
1058
1215
|
fill: closeFillRef.value,
|
|
@@ -1062,7 +1219,7 @@
|
|
|
1062
1219
|
onClick: _cache[2] || (_cache[2] = $event => {
|
|
1063
1220
|
vue.unref(closePopup)();
|
|
1064
1221
|
})
|
|
1065
|
-
}, null, 8, ["fill"]), vue.unref(props).type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.createVNode(_sfc_main$
|
|
1222
|
+
}, null, 8, ["fill"]), vue.unref(props).type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.createVNode(_sfc_main$t, {
|
|
1066
1223
|
type: vue.unref(props).type,
|
|
1067
1224
|
fill: "#707070",
|
|
1068
1225
|
size: 20
|
|
@@ -1392,13 +1549,13 @@
|
|
|
1392
1549
|
onMouseenter: _cache[0] || (_cache[0] = $event => emits("enter", rootDom.value, _ctx.item)),
|
|
1393
1550
|
onClick: _cache[1] || (_cache[1] = () => emits("click", _ctx.item))
|
|
1394
1551
|
}, [vue.createElementVNode("div", {
|
|
1395
|
-
class: "item-text",
|
|
1552
|
+
class: "item-text ellipsis",
|
|
1396
1553
|
textContent: vue.toDisplayString(_ctx.item.text)
|
|
1397
|
-
}, null, 8, _hoisted_2$5), _ctx.item.type == "group" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1554
|
+
}, null, 8, _hoisted_2$5), _ctx.item.type == "group" ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
1398
1555
|
key: 0,
|
|
1399
1556
|
type: "arrow",
|
|
1400
1557
|
color: "#8a9099"
|
|
1401
|
-
})) : _ctx.multiple == true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [vue.createVNode(_sfc_main$
|
|
1558
|
+
})) : _ctx.multiple == true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [vue.createVNode(_sfc_main$t, {
|
|
1402
1559
|
type: "success",
|
|
1403
1560
|
color: "white",
|
|
1404
1561
|
size: 12
|
|
@@ -1476,9 +1633,8 @@
|
|
|
1476
1633
|
} = props;
|
|
1477
1634
|
const itemsRef = vue.computed(() => (props.items || []).filter(item => context.isShow(item, true)));
|
|
1478
1635
|
const classRef = vue.computed(() => ({
|
|
1479
|
-
"snail-select-popup": true,
|
|
1480
1636
|
"child-popup": props.level > 1,
|
|
1481
|
-
"
|
|
1637
|
+
"placeholder": itemsRef.value.length == 0,
|
|
1482
1638
|
"has-group": itemsRef.value.find(node => node.type == "group") != void 0
|
|
1483
1639
|
}));
|
|
1484
1640
|
var mouseStatus = "Leave";
|
|
@@ -1584,11 +1740,11 @@
|
|
|
1584
1740
|
watcher(popupStatus, newValue => newValue == "closed" && childFollowScope && childFollowScope.destroy());
|
|
1585
1741
|
return (_ctx, _cache) => {
|
|
1586
1742
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1587
|
-
class: vue.normalizeClass(classRef.value),
|
|
1743
|
+
class: vue.normalizeClass(["snail-select-popup", classRef.value]),
|
|
1588
1744
|
style: vue.normalizeStyle(_ctx.popupStyle),
|
|
1589
1745
|
onMouseenter: onEnterPopup,
|
|
1590
1746
|
onMouseleave: onLeavePopup
|
|
1591
|
-
}, [classRef.value["child-popup"] && classRef.value["
|
|
1747
|
+
}, [classRef.value["child-popup"] && classRef.value["placeholder"] ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
1592
1748
|
key: 0
|
|
1593
1749
|
}, [vue.createTextVNode(" 暂无选项 ")], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
1594
1750
|
key: 1
|
|
@@ -1627,7 +1783,7 @@
|
|
|
1627
1783
|
const _hoisted_3$3 = ["textContent"];
|
|
1628
1784
|
const _hoisted_4$3 = {
|
|
1629
1785
|
key: 1,
|
|
1630
|
-
class: "
|
|
1786
|
+
class: "placeholder"
|
|
1631
1787
|
};
|
|
1632
1788
|
onAppCreated((app, type) => {
|
|
1633
1789
|
type == "popup" && app.component("SelectPopup", _sfc_main$e);
|
|
@@ -1757,28 +1913,30 @@
|
|
|
1757
1913
|
return (_ctx, _cache) => {
|
|
1758
1914
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1759
1915
|
class: vue.normalizeClass(["snail-select", {
|
|
1760
|
-
"readonly": _ctx.readonly
|
|
1916
|
+
"readonly": _ctx.readonly,
|
|
1917
|
+
"empty": !(_ctx.items && _ctx.items.length)
|
|
1761
1918
|
}]),
|
|
1762
1919
|
onClick: _cache[0] || (_cache[0] = $event => onClick()),
|
|
1763
1920
|
ref: "select"
|
|
1764
|
-
}, [_ctx.items && _ctx.items.length
|
|
1921
|
+
}, [_ctx.items && _ctx.items.length ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
1765
1922
|
key: 0
|
|
1766
|
-
}, [selectedItemsRef.value.length
|
|
1767
|
-
class: "select-text",
|
|
1923
|
+
}, [selectedItemsRef.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotOptions))), () => [vue.createElementVNode("div", {
|
|
1924
|
+
class: "select-text ellipsis",
|
|
1768
1925
|
title: selectedTextRef.value,
|
|
1769
1926
|
textContent: vue.toDisplayString(selectedTextRef.value)
|
|
1770
1927
|
}, null, 8, _hoisted_2$4)])])) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
1771
1928
|
key: 1,
|
|
1772
|
-
class: "
|
|
1929
|
+
class: "placeholder",
|
|
1773
1930
|
textContent: vue.toDisplayString(_ctx.readonly ? "" : _ctx.placeholder || "请选择")
|
|
1774
|
-
}, null, 8, _hoisted_3$3)), vue.
|
|
1931
|
+
}, null, 8, _hoisted_3$3)), _ctx.readonly != true ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
1932
|
+
key: 2,
|
|
1775
1933
|
type: "arrow",
|
|
1776
1934
|
size: 24,
|
|
1777
1935
|
color: "#8a9099",
|
|
1778
1936
|
style: {
|
|
1779
1937
|
"transform": "rotate(90deg)"
|
|
1780
1938
|
}
|
|
1781
|
-
})], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, "暂无可选项"))], 2);
|
|
1939
|
+
})) : vue.createCommentVNode("", true)], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, "暂无可选项"))], 2);
|
|
1782
1940
|
};
|
|
1783
1941
|
}
|
|
1784
1942
|
});
|
|
@@ -1916,13 +2074,13 @@
|
|
|
1916
2074
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1917
2075
|
class: vue.normalizeClass(["snail-fold", statusModel.value])
|
|
1918
2076
|
}, [vue.createElementVNode("div", _hoisted_1$6, [vue.renderSlot(_ctx.$slots, "header", {}, () => [vue.createElementVNode("div", {
|
|
1919
|
-
class: "title",
|
|
2077
|
+
class: "title ellipsis",
|
|
1920
2078
|
textContent: vue.toDisplayString(_ctx.title)
|
|
1921
2079
|
}, null, 8, _hoisted_2$3), !!_ctx.subtitle ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1922
2080
|
key: 0,
|
|
1923
|
-
class: "subtitle",
|
|
2081
|
+
class: "subtitle ellipsis",
|
|
1924
2082
|
textContent: vue.toDisplayString(_ctx.subtitle)
|
|
1925
|
-
}, null, 8, _hoisted_3$2)) : vue.createCommentVNode("", true), _ctx.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [vue.createVNode(_sfc_main$
|
|
2083
|
+
}, null, 8, _hoisted_3$2)) : vue.createCommentVNode("", true), _ctx.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [vue.createVNode(_sfc_main$t, {
|
|
1926
2084
|
type: "arrow",
|
|
1927
2085
|
title: statusModel.value == "expand" ? "收起" : "展开",
|
|
1928
2086
|
onClick: onStatusClick
|
|
@@ -2277,7 +2435,7 @@
|
|
|
2277
2435
|
};
|
|
2278
2436
|
const _hoisted_2$1 = ["title", "textContent"];
|
|
2279
2437
|
const _hoisted_3$1 = {
|
|
2280
|
-
class: "node-slot"
|
|
2438
|
+
class: "node-slot ellipsis"
|
|
2281
2439
|
};
|
|
2282
2440
|
const _hoisted_4$1 = {
|
|
2283
2441
|
key: 1,
|
|
@@ -2400,7 +2558,7 @@
|
|
|
2400
2558
|
key: 1
|
|
2401
2559
|
}, [_cache[4] || (_cache[4] = vue.createElementVNode("div", {
|
|
2402
2560
|
class: "indent"
|
|
2403
|
-
}, null, -1)), _ctx.options.foldDisabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [showChildrenRef.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2561
|
+
}, null, -1)), _ctx.options.foldDisabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [showChildrenRef.value ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
2404
2562
|
key: 0,
|
|
2405
2563
|
class: vue.normalizeClass(statusRef.value),
|
|
2406
2564
|
type: "custom",
|
|
@@ -2409,7 +2567,7 @@
|
|
|
2409
2567
|
draw: "M 298.667 426.667 l 213.333 256 l 213.333 -256 Z",
|
|
2410
2568
|
onClick: toggleFold
|
|
2411
2569
|
}, null, 8, ["class"])) : vue.createCommentVNode("", true)])) : vue.createCommentVNode("", true), vue.createElementVNode("div", {
|
|
2412
|
-
class: "node-text",
|
|
2570
|
+
class: "node-text ellipsis",
|
|
2413
2571
|
title: _ctx.node.text,
|
|
2414
2572
|
textContent: vue.toDisplayString(_ctx.node.text)
|
|
2415
2573
|
}, null, 8, _hoisted_2$1), vue.createElementVNode("div", _hoisted_3$1, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(vue.unref(slotOptions))))])], 64))], 34)) : vue.createCommentVNode("", true), showRef.value && showChildrenRef.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.node.children, child => {
|
|
@@ -2633,7 +2791,7 @@
|
|
|
2633
2791
|
key: 0,
|
|
2634
2792
|
class: "validate",
|
|
2635
2793
|
title: validateRef.value
|
|
2636
|
-
}, [vue.createVNode(_sfc_main$
|
|
2794
|
+
}, [vue.createVNode(_sfc_main$t, {
|
|
2637
2795
|
type: "error",
|
|
2638
2796
|
size: 16,
|
|
2639
2797
|
color: "red"
|
|
@@ -2727,12 +2885,12 @@
|
|
|
2727
2885
|
onTouchstart: onStartDrag,
|
|
2728
2886
|
onTouchmove: onDragMove,
|
|
2729
2887
|
onTouchend: onDragEnd
|
|
2730
|
-
}, [dragInfoRef.value.status == "success" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2888
|
+
}, [dragInfoRef.value.status == "success" ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
2731
2889
|
key: 0,
|
|
2732
2890
|
type: "success",
|
|
2733
2891
|
size: 20,
|
|
2734
2892
|
color: "white"
|
|
2735
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2893
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
2736
2894
|
key: 1,
|
|
2737
2895
|
type: "custom",
|
|
2738
2896
|
size: 20,
|
|
@@ -2744,11 +2902,12 @@
|
|
|
2744
2902
|
});
|
|
2745
2903
|
|
|
2746
2904
|
const components = {
|
|
2747
|
-
Button: _sfc_main$
|
|
2748
|
-
Choose: _sfc_main$
|
|
2905
|
+
Button: _sfc_main$u,
|
|
2906
|
+
Choose: _sfc_main$s,
|
|
2907
|
+
DatePicker: _sfc_main$r,
|
|
2749
2908
|
Footer: _sfc_main$q,
|
|
2750
2909
|
Header: _sfc_main$p,
|
|
2751
|
-
Icon: _sfc_main$
|
|
2910
|
+
Icon: _sfc_main$t,
|
|
2752
2911
|
Search: _sfc_main$o,
|
|
2753
2912
|
Select: _sfc_main$d,
|
|
2754
2913
|
Switch: _sfc_main$c,
|
|
@@ -1,60 +1,62 @@
|
|
|
1
|
-
/* src:base\choose.vue index:0 */
|
|
2
|
-
.snail-choose{align-items:center;display:flex;flex-wrap:wrap;overflow-x:hidden}.snail-choose>div.choose-item{align-items:center;cursor:pointer;display:flex;flex-shrink:0;margin:0 8px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-choose>div.choose-item:first-child{margin-left:0}.snail-choose>div.choose-item:after{content:"";height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.snail-choose>div.choose-item>input::checkmark{background-color:#2196f3;border-color:#2196f3}.snail-choose>div.choose-item>div.item-beautiful{align-items:center;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.snail-choose>div.choose-item>div.item-beautiful.radio{border-radius:50%;height:16px;width:16px}.snail-choose>div.choose-item>div.item-beautiful.checkbox{height:14px;width:14px}.snail-choose>div.choose-item>div.item-beautiful.item-unchecked{border:1px solid #8a9099}.snail-choose>div.choose-item>div.item-beautiful.item-checked{background-color:#4c9aff;border:1px solid #4c9aff}.snail-choose>div.choose-item>span{margin-left:4px}.snail-choose>div.choose-item>span.item-des{color:#8a9099}.snail-choose.readonly>div.choose-item{cursor:auto}.snail-choose.readonly>div.choose-item>div.item-beautiful.item-unchecked{opacity:.5}.snail-choose.readonly>div.choose-item>div.item-beautiful.item-checked{background-color:#d5d7db;border-color:#d5d7db}
|
|
3
1
|
/* src:base\button.vue index:0 */
|
|
4
2
|
.snail-button{align-items:center;border-radius:2px;cursor:pointer;display:flex;display:inline-flex;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.snail-button.max{height:40px;width:120px}.snail-button.middle{height:32px;width:90px}.snail-button.normal{height:28px;width:54px}.snail-button.small{height:20px;width:30px}.snail-button.primary{background-color:#5ca3ff;color:#fff}.snail-button.default{background-color:#fff;border:1px solid #dddfed;color:#2e2f33}.snail-button.link{color:#4c9aff}
|
|
3
|
+
/* src:base\choose.vue index:0 */
|
|
4
|
+
.snail-choose{align-items:center;display:flex;flex-wrap:wrap;overflow-x:hidden}.snail-choose>div.choose-item{align-items:center;cursor:pointer;display:flex;flex-shrink:0;margin:0 8px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-choose>div.choose-item:first-child{margin-left:0}.snail-choose>div.choose-item:after{content:"";height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.snail-choose>div.choose-item>input::checkmark{background-color:#2196f3;border-color:#2196f3}.snail-choose>div.choose-item>div.item-beautiful{align-items:center;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.snail-choose>div.choose-item>div.item-beautiful.radio{border-radius:50%;height:16px;width:16px}.snail-choose>div.choose-item>div.item-beautiful.checkbox{height:14px;width:14px}.snail-choose>div.choose-item>div.item-beautiful.item-unchecked{border:1px solid #8a9099}.snail-choose>div.choose-item>div.item-beautiful.item-checked{background-color:#4c9aff;border:1px solid #4c9aff}.snail-choose>div.choose-item>span{margin-left:4px}.snail-choose>div.choose-item>span.item-des{color:#8a9099}.snail-choose.readonly>div.choose-item{cursor:auto}.snail-choose.readonly>div.choose-item>div.item-beautiful.item-unchecked{opacity:.5}.snail-choose.readonly>div.choose-item>div.item-beautiful.item-checked{background-color:#d5d7db;border-color:#d5d7db}
|
|
5
|
+
/* src:base\datepicker.vue index:0 */
|
|
6
|
+
.snail-datepicker{height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;width:100%}
|
|
5
7
|
/* src:base\footer.vue index:0 */
|
|
6
8
|
.snail-footer{align-items:center;background-color:#fff;display:flex;flex-shrink:0;height:72px;padding:0 40px;width:100%}.snail-footer>.snail-button:nth-child(n+2){margin-left:20px}.snail-footer.start-divider{border-top:1px solid #dddfed}.snail-footer.left{justify-content:flex-start}.snail-footer.center{justify-content:center}.snail-footer.right{justify-content:flex-end}
|
|
7
|
-
/* src:base\icon.vue index:0 */
|
|
8
|
-
.snail-icon{cursor:pointer;opacity:1}
|
|
9
9
|
/* src:base\header.vue index:0 */
|
|
10
|
-
.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
|
|
10
|
+
.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}
|
|
11
11
|
/* src:base\search.vue index:0 */
|
|
12
12
|
.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}
|
|
13
|
+
/* src:base\icon.vue index:0 */
|
|
14
|
+
.snail-icon{cursor:pointer;opacity:1}
|
|
13
15
|
/* src:base\select.vue index:0 */
|
|
14
|
-
.snail-select{align-items:center;background-color:#fff;border:1px solid #dddfed;border-radius:4px;color:#2e3033;
|
|
15
|
-
/* src:base\switch.vue index:0 */
|
|
16
|
-
.snail-switch{border-radius:10px 10px 10px 10px;cursor:pointer;height:20px!important;overflow:hidden;position:relative;width:36px!important}.snail-switch>div{height:100%;width:100%}.snail-switch>div.on{background-color:#5ca3ff}.snail-switch>div.off{background-color:#c4c8cc;position:absolute;transition:left .2s ease}.snail-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.on>div.off{left:100%;top:0}.snail-switch.on>div.status{left:calc(100% - 18px)}.snail-switch.off>div.off{left:0;top:0}.snail-switch.off>div.status{left:2px}.snail-switch.readonly{cursor:not-allowed}
|
|
16
|
+
.snail-select{align-items:center;background-color:#fff;border:1px solid #dddfed;border-radius:4px;color:#2e3033;display:flex;height:32px;width:100%}.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}
|
|
17
17
|
/* src:container\dynamic.vue index:0 */
|
|
18
18
|
.snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
|
|
19
|
+
/* src:base\switch.vue index:0 */
|
|
20
|
+
.snail-switch{border-radius:10px 10px 10px 10px;cursor:pointer;height:20px!important;overflow:hidden;position:relative;width:36px!important}.snail-switch>div{height:100%;width:100%}.snail-switch>div.on{background-color:#5ca3ff}.snail-switch>div.off{background-color:#c4c8cc;position:absolute;transition:left .2s ease}.snail-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.on>div.off{left:100%;top:0}.snail-switch.on>div.status{left:calc(100% - 18px)}.snail-switch.off>div.off{left:0;top:0}.snail-switch.off>div.status{left:2px}.snail-switch.readonly{cursor:not-allowed}
|
|
19
21
|
/* src:container\fold.vue index:0 */
|
|
20
|
-
.snail-fold{flex-shrink:0}.snail-fold>div.fold-header{align-items:center;display:flex;height:32px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-fold>div.fold-header:before{background-color:#2c97fb;content:"";height:18px;left:0;position:absolute;top:7px;width:4px}.snail-fold>div.fold-header>.
|
|
22
|
+
.snail-fold{flex-shrink:0}.snail-fold>div.fold-header{align-items:center;display:flex;height:32px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-fold>div.fold-header:before{background-color:#2c97fb;content:"";height:18px;left:0;position:absolute;top:7px;width:4px}.snail-fold>div.fold-header>.title{color:#2e3033;font-weight:bold;padding-left:20px}.snail-fold>div.fold-header>.subtitle{color:#8a9099;font-size:13px}.snail-fold>div.fold-header>div.status{align-items:flex-end;display:flex;flex:1;justify-content:flex-end}.snail-fold>div.fold-header>div.status>svg.snail-icon{transition:transform .2s ease}.snail-fold>div.fold-body{padding-left:20px}.snail-fold.expand>div.fold-header>div.status>svg.snail-icon{transform:rotate(-90deg)}.snail-fold.fold>div.fold-header>div.status>svg.snail-icon{transform:rotate(90deg)}
|
|
21
23
|
/* src:container\layout.vue index:0 */
|
|
22
24
|
.snail-layout{display:flex;height:100%;overflow:hidden;width:100%}.snail-layout>.layout-end,.snail-layout>.layout-start{flex-shrink:0}.snail-layout>.layout-body{flex:1}.snail-layout.horizontal{flex-direction:row}.snail-layout.horizontal>div{height:100%}.snail-layout.horizontal>.layout-end,.snail-layout.horizontal>.layout-start{width:-moz-fit-content;width:fit-content}.snail-layout.vertical{flex-direction:column}.snail-layout.vertical>div{width:100%}.snail-layout.vertical>.layout-end,.snail-layout.vertical>.layout-start{height:-moz-fit-content;height:fit-content}
|
|
23
25
|
/* src:container\scroll.vue index:0 */
|
|
24
26
|
.snail-scroll{overflow:hidden}.snail-scroll.scroll-x{overflow-x:auto}.snail-scroll.scroll-y{overflow-y:auto}
|
|
25
|
-
/* src:container\sort.vue index:0 */
|
|
26
|
-
.snail-sort-drag{background:#fff;border:1px solid #4c9aff;border-radius:4px;cursor:move}.snail-sort-ghost{border:1px dashed #4c9aff;border-radius:4px}
|
|
27
|
-
/* src:container\table.vue index:0 */
|
|
28
|
-
.snail-table{display:flex;flex-direction:column}.snail-table>div.table-footer,.snail-table>div.table-header{align-items:center;display:flex;flex-shrink:0;width:100%}.snail-table>div.table-header{background-color:#fff;position:sticky!important;top:0;z-index:1}.snail-table>div.table-body{flex:1;width:100%}.snail-table.start-border>div.table-body>.table-row>.table-col:nth-child(n+2),.snail-table.start-border>div.table-footer>.table-col:nth-child(n+2),.snail-table.start-border>div.table-header>.table-col:nth-child(n+2){border-left:none!important}.snail-table.start-border>div.table-body>.table-row>.table-col,.snail-table.start-border>div.table-footer>.table-col{border-top:none!important}
|
|
29
27
|
/* src:container\components\table-row.vue index:0 */
|
|
30
28
|
.table-row{align-items:center;display:flex}
|
|
29
|
+
/* src:container\sort.vue index:0 */
|
|
30
|
+
.snail-sort-drag{background:#fff;border:1px solid #4c9aff;border-radius:4px;cursor:move}.snail-sort-ghost{border:1px dashed #4c9aff;border-radius:4px}
|
|
31
31
|
/* src:container\components\table-col.vue index:0 */
|
|
32
32
|
.table-col{align-items:center;display:flex;height:100%;white-space:nowrap}.table-col.left{justify-content:flex-start}.table-col.center{justify-content:center}.table-col.right{justify-content:flex-end}
|
|
33
|
-
/* src:container\
|
|
34
|
-
.snail-
|
|
35
|
-
/* src:prompt\drag-verify.vue index:0 */
|
|
36
|
-
.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;cursor:move;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}}
|
|
33
|
+
/* src:container\table.vue index:0 */
|
|
34
|
+
.snail-table{display:flex;flex-direction:column}.snail-table>div.table-footer,.snail-table>div.table-header{align-items:center;display:flex;flex-shrink:0;width:100%}.snail-table>div.table-header{background-color:#fff;position:sticky!important;top:0;z-index:1}.snail-table>div.table-body{flex:1;width:100%}.snail-table.start-border>div.table-body>.table-row>.table-col:nth-child(n+2),.snail-table.start-border>div.table-footer>.table-col:nth-child(n+2),.snail-table.start-border>div.table-header>.table-col:nth-child(n+2){border-left:none!important}.snail-table.start-border>div.table-body>.table-row>.table-col,.snail-table.start-border>div.table-footer>.table-col{border-top:none!important}
|
|
37
35
|
/* src:container\tree.vue index:0 */
|
|
38
36
|
.snail-tree{background-color:#fff;display:flex;flex-direction:column}.snail-tree .snail-search{flex-shrink:0;margin:12px}.snail-tree .snail-scroll{flex:1}
|
|
37
|
+
/* src:container\wrapper.vue index:0 */
|
|
38
|
+
.snail-wrapper{background-color:#fff;display:flex;flex-direction:column}.snail-wrapper>.snail-scroll{flex:1}.snail-wrapper.in-normal{flex:1;height:100%;overflow:hidden;width:100%}.snail-wrapper.in-popup{height:80%;min-width:800px;overflow:hidden;width:60%}
|
|
39
39
|
/* src:form\input.vue index:0 */
|
|
40
40
|
.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}
|
|
41
|
+
/* src:prompt\drag-verify.vue index:0 */
|
|
42
|
+
.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;cursor:move;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}}
|
|
41
43
|
/* src:prompt\empty.vue index:0 */
|
|
42
44
|
.snail-empty{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:150px;width:100%}.snail-empty>img{height:60px;width:60px}.snail-empty>div.message{color:#babdc2;font-weight:400;padding:0 10px 10px}
|
|
43
45
|
/* src:prompt\loading.vue index:0 */
|
|
44
46
|
.snail-loading{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10000}.snail-loading.show-mask{background-color:rgba(0,0,0,.15)}.snail-loading:after,.snail-loading:before{animation:snail-loading-stretch 1s ease-in-out infinite;border-radius:50%;content:"";display:block;display:inline-block;height:10px;left:50%;margin-left:-18px;margin-top:-6px;position:absolute;top:50%;width:10px}.snail-loading:before{background-color:#279bf1}.snail-loading:after{animation-delay:-.5s;background:#64d214;margin-left:0;margin-right:-18px}@keyframes snail-loading-stretch{0%,to{transform:scale(1)}50%{transform:scale(2)}}.snail-loading-enter-active,.snail-loading-leave-active{transition:opacity .3s ease-in-out}.snail-loading-enter-from,.snail-loading-leave-to{opacity:0}
|
|
45
47
|
/* src:popup\components\confirm-container.vue index:0 */
|
|
46
|
-
.snail-confirm{background-color:#fff;border-radius:4px;color:#2e2f33;
|
|
48
|
+
.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}
|
|
47
49
|
/* src:popup\components\dialog-container.vue index:0 */
|
|
48
50
|
.snail-dialog{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}.snail-dialog:before{background-color:rgba(24,27,33,.45);content:"";height:100%;opacity:1;position:absolute;transition:opacity .4s ease-in-out;width:100%}.snail-dialog>.dialog-body{background-color:#fff;border-radius:4px;box-shadow:0 0 15px rgba(0,0,0,.3);position:relative}.snail-dialog.unactive:before{opacity:0}.snail-dialog.unactive>.dialog-body{box-shadow:0 0 4px rgba(0,0,0,.3)}
|
|
49
|
-
/* src:popup\components\toast-container.vue index:0 */
|
|
50
|
-
.snail-toast{background:rgba(0,0,0,.7);border-radius:10px;color:#fff;display:flex;left:50%;max-height:200px;max-width:400px;min-width:200px;overflow:hidden;padding:20px 35px 20px 15px;position:fixed;top:50%;transform:translate(-50%,-50%)}.snail-toast>svg.close-icon{position:absolute;right:10px;top:12px}.snail-toast>div.icon{align-items:center;align-self:center;background:hsla(0,0%,100%,.15);border-radius:50%;display:flex;height:26px;justify-content:center;margin-right:6px;width:26px}.snail-toast>div.icon>svg{background:#fff;border-radius:50%;cursor:none!important;padding:2px}.snail-toast>div.message{flex:1;line-height:24px;overflow:hidden;word-break:break-all}
|
|
51
51
|
/* src:popup\components\popup-container.vue index:0 */
|
|
52
52
|
.snail-popup{left:0;position:fixed;top:0}
|
|
53
53
|
/* src:popup\components\follow-container.vue index:0 */
|
|
54
54
|
.snail-follow{background-color:#fff;display:inline-block;max-height:100%;max-width:100%;position:fixed;transition-duration:.1s;transition-property:left,top;transition-timing-function:ease}.snail-follow.initial{top:100%;transition:none}
|
|
55
|
+
/* src:popup\components\toast-container.vue index:0 */
|
|
56
|
+
.snail-toast{background:rgba(0,0,0,.7);border-radius:10px;color:#fff;display:flex;left:50%;max-height:200px;max-width:400px;min-width:200px;overflow:hidden;padding:20px 35px 20px 15px;position:fixed;top:50%;transform:translate(-50%,-50%)}.snail-toast>svg.close-icon{position:absolute;right:10px;top:12px}.snail-toast>div.icon{align-items:center;align-self:center;background:hsla(0,0%,100%,.15);border-radius:50%;display:flex;height:26px;justify-content:center;margin-right:6px;width:26px}.snail-toast>div.icon>svg{background:#fff;border-radius:50%;cursor:none!important;padding:2px}.snail-toast>div.message{flex:1;line-height:24px;overflow:hidden;word-break:break-all}
|
|
55
57
|
/* src:container\components\tree-node.vue index:0 */
|
|
56
|
-
.snail-tree-node{align-items:center;display:flex;flex-wrap:nowrap;height:40px;width:100%}.snail-tree-node:hover{background-color:#f8f9fa}.snail-tree-node>.indent,.snail-tree-node>.node-slot,.snail-tree-node>.snail-icon{flex-shrink:0}.snail-tree-node>.node-fold{align-items:center;display:flex;height:100%;justify-content:center;width:24px}.snail-tree-node>.node-fold>.snail-icon{transition:transform .1s ease-in}.snail-tree-node>.node-fold>.snail-icon.fold{transform:rotate(-90deg)}.snail-tree-node>.node-
|
|
58
|
+
.snail-tree-node{align-items:center;display:flex;flex-wrap:nowrap;height:40px;width:100%}.snail-tree-node:hover{background-color:#f8f9fa}.snail-tree-node>.indent,.snail-tree-node>.node-slot,.snail-tree-node>.snail-icon{flex-shrink:0}.snail-tree-node>.node-fold{align-items:center;display:flex;height:100%;justify-content:center;width:24px}.snail-tree-node>.node-fold>.snail-icon{transition:transform .1s ease-in}.snail-tree-node>.node-fold>.snail-icon.fold{transform:rotate(-90deg)}.snail-tree-node>.node-text{color:#2e3033;flex:1;min-width:30px}.snail-tree-node.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-tree-children{width:100%}.snail-tree-children.hidden{display:none;height:0;overflow:hidden}.snail-tree-node.level-1>.indent{padding-left:4px}.snail-tree-node.level-2>.indent{padding-left:24px}.snail-tree-node.level-3>.indent{padding-left:48px}.snail-tree-node.level-4>.indent{padding-left:72px}.snail-tree-node.level-5>.indent{padding-left:96px}.snail-tree-node.level-6>.indent{padding-left:120px}.snail-tree-node.level-7>.indent{padding-left:144px}.snail-tree-node.level-8>.indent{padding-left:168px}.snail-tree-node.level-9>.indent{padding-left:192px}.snail-tree-node.level-10>.indent{padding-left:216px}
|
|
57
59
|
/* src:base\components\select-popup.vue index:0 */
|
|
58
|
-
.snail-select-popup{background:#fff;border:1px solid #dddfed;border-radius:4px;box-shadow:0 1px 5px 1px #dddfed;display:flex;flex-direction:column;max-height:90%;min-height:32px;overflow:auto}.snail-select-popup>div.snail-search{margin:12px}.snail-select-popup>div.clear-all{align-items:center;background-color:#fff;border-top:1px solid #dddfed;bottom:0;color:#8a9099;cursor:pointer;display:flex;flex-shrink:0;height:32px;padding:0 12px;position:sticky!important;z-index:1}.snail-select-popup>div.clear-all:hover{color:#ff4c4c}.snail-select-popup.child-popup{max-width:250px;min-width:200px;padding-bottom:6px;padding-top:6px}.snail-select-popup.child-popup.
|
|
60
|
+
.snail-select-popup{background:#fff;border:1px solid #dddfed;border-radius:4px;box-shadow:0 1px 5px 1px #dddfed;display:flex;flex-direction:column;max-height:90%;min-height:32px;overflow:auto}.snail-select-popup>div.snail-search{margin:12px}.snail-select-popup>div.clear-all{align-items:center;background-color:#fff;border-top:1px solid #dddfed;bottom:0;color:#8a9099;cursor:pointer;display:flex;flex-shrink:0;height:32px;padding:0 12px;position:sticky!important;z-index:1}.snail-select-popup>div.clear-all:hover{color:#ff4c4c}.snail-select-popup.child-popup{max-width:250px;min-width:200px;padding-bottom:6px;padding-top:6px}.snail-select-popup.child-popup.placeholder{justify-content:center;padding:0 12px;width:100px!important}
|
|
59
61
|
/* src:base\components\select-node.vue index:0 */
|
|
60
|
-
.snail-select-popup>div.select-node{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;height:32px;padding-left:12px}.snail-select-popup>div.select-node:hover{background:#f8f9fa}.snail-select-popup>div.select-node.clickable{cursor:pointer}.snail-select-popup>div.select-node.group{color:#8a9099}.snail-select-popup>div.select-node.item{color:#2e3033;padding-right:10px}.snail-select-popup>div.select-node.selected{color:#4c9aff!important}.snail-select-popup>div.select-node>div.item-text{flex:1
|
|
62
|
+
.snail-select-popup>div.select-node{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;height:32px;padding-left:12px}.snail-select-popup>div.select-node:hover{background:#f8f9fa}.snail-select-popup>div.select-node.clickable{cursor:pointer}.snail-select-popup>div.select-node.group{color:#8a9099}.snail-select-popup>div.select-node.item{color:#2e3033;padding-right:10px}.snail-select-popup>div.select-node.selected{color:#4c9aff!important}.snail-select-popup>div.select-node>div.item-text{flex:1}.snail-select-popup>div.select-node>svg.snail-icon{cursor:default;display:none}.snail-select-popup>div.select-node>div.select-status{background:#fff;border:1px solid #8a9099;flex-shrink:0;height:14px;margin-left:4px;width:14px}.snail-select-popup>div.select-node>div.select-status>svg{display:none}.snail-select-popup>div.select-node.selected>div.select-status{background-color:#5ca3ff;border:1px solid #5ca3ff}.snail-select-popup>div.select-node.selected>div.select-status>svg{display:block}.snail-select-popup>div.select-node.child{color:#2e3033;padding-left:24px}.snail-select-popup>div.select-node.child>svg.snail-icon{display:initial}
|
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": "
|
|
6
|
+
"version": "2.0.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/snail.vue.js",
|
|
9
9
|
"module": "dist/snail.vue.js",
|
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"vue": "^3.5.14",
|
|
17
|
-
"snail.core": ">=2.0.
|
|
17
|
+
"snail.core": ">=2.0.16",
|
|
18
18
|
"snail.view": ">=1.0.24",
|
|
19
|
-
"sortablejs": ">=1.15.6"
|
|
19
|
+
"sortablejs": ">=1.15.6",
|
|
20
|
+
"zane-calendar": "2.2.8"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
22
23
|
"vue-tsc": "^2.2.10",
|