snail.vue 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/snail.vue.d.ts +15 -4
- package/dist/snail.vue.js +33 -27
- package/dist/snail.vue.umd.js +32 -26
- package/dist/styles/snail.vue.vue.css +19 -19
- package/package.json +2 -2
package/dist/snail.vue.d.ts
CHANGED
|
@@ -1033,13 +1033,14 @@ type IconOptions = TitleOptions & {
|
|
|
1033
1033
|
* - - edit 编辑
|
|
1034
1034
|
* - 指向类:
|
|
1035
1035
|
* - - arrow 向右箭头
|
|
1036
|
+
* - - datepicker 日期选择器
|
|
1036
1037
|
* - 其他类:
|
|
1037
1038
|
* - - plus 加号
|
|
1038
1039
|
* - - subtract 减号
|
|
1039
1040
|
* - - grip 紧握图标,垂直方向,一般用于拖动句柄
|
|
1040
1041
|
* - - custom 自定义图标:此时IconOptions.draw属性传入绘制路径
|
|
1041
1042
|
*/
|
|
1042
|
-
type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "plus" | "subtract" | "grip" | "custom";
|
|
1043
|
+
type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "datepicker" | "plus" | "subtract" | "grip" | "custom";
|
|
1043
1044
|
|
|
1044
1045
|
/**
|
|
1045
1046
|
* 日期组件相关数据模型
|
|
@@ -1184,13 +1185,21 @@ type ChooseOptions<T> = ReadonlyOptions & {
|
|
|
1184
1185
|
* - radio: 单选框样式
|
|
1185
1186
|
* - checkbox: 多选框样式
|
|
1186
1187
|
*/
|
|
1187
|
-
type: "
|
|
1188
|
+
type: "radio" | "checkbox";
|
|
1188
1189
|
/**
|
|
1189
1190
|
* 显示模式
|
|
1190
1191
|
* - native 原生默认,浏览器自己渲染;不同浏览器效果不一致
|
|
1191
1192
|
* - beautiful 美化模式,不同浏览器下效果通义
|
|
1192
1193
|
*/
|
|
1193
1194
|
mode?: "native" | "beautiful";
|
|
1195
|
+
/**
|
|
1196
|
+
* 选项布局
|
|
1197
|
+
* - 默认值:horizontal
|
|
1198
|
+
* - 可选值:
|
|
1199
|
+
* - - horizontal 水平布局;所有选项一行
|
|
1200
|
+
* - - vertical 垂直布局;每个选项一行
|
|
1201
|
+
*/
|
|
1202
|
+
layout?: "horizontal" | "vertical";
|
|
1194
1203
|
/**
|
|
1195
1204
|
* 待选项目
|
|
1196
1205
|
* text 可不传入
|
|
@@ -1957,8 +1966,9 @@ declare const components: {
|
|
|
1957
1966
|
});
|
|
1958
1967
|
Choose: vue.DefineComponent<ReadonlyOptions & {
|
|
1959
1968
|
multi?: boolean;
|
|
1960
|
-
type: "
|
|
1969
|
+
type: "radio" | "checkbox";
|
|
1961
1970
|
mode?: "native" | "beautiful";
|
|
1971
|
+
layout?: "horizontal" | "vertical";
|
|
1962
1972
|
items: ChooseItem<any>[];
|
|
1963
1973
|
itemStyle?: snail_view.WidthStyle & snail_view.HeightStyle & snail_view.MarginStyle;
|
|
1964
1974
|
} & {
|
|
@@ -1968,8 +1978,9 @@ declare const components: {
|
|
|
1968
1978
|
"update:modelValue": (value: any) => any;
|
|
1969
1979
|
}, string, vue.PublicProps, Readonly<ReadonlyOptions & {
|
|
1970
1980
|
multi?: boolean;
|
|
1971
|
-
type: "
|
|
1981
|
+
type: "radio" | "checkbox";
|
|
1972
1982
|
mode?: "native" | "beautiful";
|
|
1983
|
+
layout?: "horizontal" | "vertical";
|
|
1973
1984
|
items: ChooseItem<any>[];
|
|
1974
1985
|
itemStyle?: snail_view.WidthStyle & snail_view.HeightStyle & snail_view.MarginStyle;
|
|
1975
1986
|
} & {
|
package/dist/snail.vue.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
//@ sourceURL=/snail.vue.js
|
|
2
2
|
import { defineComponent, createElementBlock, openBlock, normalizeClass, renderSlot, createTextVNode, shallowRef, normalizeStyle, createElementVNode, toDisplayString, Fragment, renderList, unref, mergeModels, useModel, computed, createCommentVNode, createBlock, nextTick, onMounted, onUnmounted, withDirectives, vModelText, createVNode, createApp, Transition, withCtx, normalizeProps, guardReactiveProps, watch, ref, onErrorCaptured, resolveDynamicComponent, mergeProps, createSlots, withModifiers, isRef, getCurrentInstance, useTemplateRef, resolveComponent, onBeforeUnmount, getCurrentScope, onScopeDispose } from 'vue';
|
|
3
3
|
import { throwError, isArrayNotEmpty, isStringNotEmpty, useKey, isArray, useTimer, newId, script, isFunction, getFromArray, mustFunction, useScope, removeFromArray, mustObject, throwIfFalse, isObject, isNumberNotNaN, mountScope, useScopes, isPromise, wait, delay, defer, useAsyncScope, useHook, hasAny, throwIfTrue, onMountScope } from 'snail.core';
|
|
4
|
-
import {
|
|
4
|
+
import { link, css, useObserver, useAnimation } from 'snail.view';
|
|
5
5
|
|
|
6
6
|
const _hoisted_1$h = ["title"];
|
|
7
7
|
var _sfc_main$u = defineComponent({
|
|
@@ -25,6 +25,10 @@ var _sfc_main$u = defineComponent({
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
+
var addLink = href => setTimeout(link.register, 0, href);
|
|
29
|
+
|
|
30
|
+
addLink("/styles/snail.vue.vue.css");
|
|
31
|
+
|
|
28
32
|
function getSvgDraw(iconType, draw) {
|
|
29
33
|
switch (iconType) {
|
|
30
34
|
case "success":
|
|
@@ -45,6 +49,8 @@ function getSvgDraw(iconType, draw) {
|
|
|
45
49
|
return ["M 780.8 366.933 c 34.1333 -34.1333 34.1333 -93.8667 0 -128 c -38.4 -34.1333 -93.8667 -34.1333 -132.267 0 l -68.2667 68.2667 l 132.267 128 l 68.2667 -68.2667 Z M 541.867 349.867 l -277.333 277.333 L 213.333 806.4 l 179.2 -51.2 l 281.6 -277.333 Z M 469.333 768 h 341.333 v 42.6667 h -341.333 Z"];
|
|
46
50
|
case "arrow":
|
|
47
51
|
return ["M651.3 514.2c0 8.2-3.1 16.4-9.4 22.6L426.4 752.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L574 514.2 381.1 321.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l215.5 215.5c6.2 6.3 9.4 14.5 9.4 22.6z"];
|
|
52
|
+
case "datepicker":
|
|
53
|
+
return ["M848.9 118h-93.5c-8.7 0-15.8-7.1-15.8-15.8V60.6c0-16.3-12.8-30.2-29.2-30.6-17-0.5-30.8 13.1-30.8 30v42.3c0 8.7-7.1 15.8-15.8 15.8H363.3c-8.7 0-15.8-7.1-15.8-15.8V60.6c0-16.3-12.8-30.2-29.2-30.6-17-0.5-30.8 13.1-30.8 30v42.3c0 8.7-7.1 15.8-15.8 15.8h-96.6C98.8 118 37 179.8 37 256.1v599.8C37 932.2 98.8 994 175.1 994h673.7c76.3 0 138.1-61.8 138.1-138.1V256.1c0.1-76.3-61.7-138.1-138-138.1zM97 256.1c0-43.2 35-78.1 78.1-78.1h96.6c8.7 0 15.8 7.1 15.8 15.8v41.7c0 16.3 12.8 30.2 29.2 30.6 17 0.5 30.8-13.1 30.8-30v-42.3c0-8.7 7.1-15.8 15.8-15.8h300.5c8.7 0 15.8 7.1 15.8 15.8v41.7c0 16.3 12.8 30.2 29.2 30.6 17 0.5 30.8-13.1 30.8-30v-42.3c0-8.7 7.1-15.8 15.8-15.8h93.5c43.2 0 78.1 35 78.1 78.1v45.4c0 11.4-9.2 20.6-20.6 20.6H117.6c-11.4 0-20.6-9.2-20.6-20.6v-45.4zM927 856c0 43.2-35 78.1-78.1 78.1H175.1c-43.1 0-78.1-35-78.1-78.1V402.7c0-11.4 9.2-20.6 20.6-20.6h788.9c11.4 0 20.6 9.2 20.6 20.6L927 856z", "M240.3 586.1H306c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30s13.4 30 30 30zM479.2 586.1h65.7c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30 0.1 16.6 13.5 30 30 30zM718.2 586.1h65.7c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30s13.4 30 30 30zM312 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30H312c16.5 0 30-13.4 30-30s-13.4-30-30-30zM551 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30H551c16.5 0 30-13.4 30-30-0.1-16.6-13.5-30-30-30zM789.9 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30h65.7c16.5 0 30-13.4 30-30s-13.4-30-30-30z"];
|
|
48
54
|
case "plus":
|
|
49
55
|
return ["M 768 469.333 h -213.333 V 256 c 0 -25.6 -17.0667 -42.6667 -42.6667 -42.6667 s -42.6667 17.0667 -42.6667 42.6667 v 213.333 H 256 c -25.6 0 -42.6667 17.0667 -42.6667 42.6667 s 17.0667 42.6667 42.6667 42.6667 h 213.333 v 213.333 c 0 25.6 17.0667 42.6667 42.6667 42.6667 s 42.6667 -17.0667 42.6667 -42.6667 v -213.333 h 213.333 c 25.6 0 42.6667 -17.0667 42.6667 -42.6667 s -17.0667 -42.6667 -42.6667 -42.6667 Z"];
|
|
50
56
|
case "subtract":
|
|
@@ -54,8 +60,10 @@ function getSvgDraw(iconType, draw) {
|
|
|
54
60
|
case "custom":
|
|
55
61
|
return isArrayNotEmpty(draw) ? draw : isStringNotEmpty(draw) ? [draw] : throwError("options.draw must be a non-empty string or string array");
|
|
56
62
|
default:
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
{
|
|
64
|
+
throwError(`not support icon type: ${iconType}.`);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
59
67
|
}
|
|
60
68
|
}
|
|
61
69
|
|
|
@@ -104,7 +112,7 @@ var _sfc_main$t = defineComponent({
|
|
|
104
112
|
}
|
|
105
113
|
});
|
|
106
114
|
|
|
107
|
-
const _hoisted_1$f = ["onClick"];
|
|
115
|
+
const _hoisted_1$f = ["title", "onClick"];
|
|
108
116
|
const _hoisted_2$9 = ["type", "checked"];
|
|
109
117
|
const _hoisted_3$6 = ["textContent"];
|
|
110
118
|
const _hoisted_4$4 = ["textContent"];
|
|
@@ -123,6 +131,7 @@ var _sfc_main$s = defineComponent({
|
|
|
123
131
|
},
|
|
124
132
|
type: {},
|
|
125
133
|
mode: {},
|
|
134
|
+
layout: {},
|
|
126
135
|
items: {},
|
|
127
136
|
itemStyle: {}
|
|
128
137
|
}, {
|
|
@@ -137,51 +146,52 @@ var _sfc_main$s = defineComponent({
|
|
|
137
146
|
const props = __props;
|
|
138
147
|
const emits = __emit;
|
|
139
148
|
const {
|
|
140
|
-
mode = "native"
|
|
149
|
+
mode = "native",
|
|
150
|
+
type = "radio",
|
|
151
|
+
layout = "horizontal"
|
|
141
152
|
} = props;
|
|
142
153
|
const {
|
|
143
154
|
getKey
|
|
144
155
|
} = useKey();
|
|
145
156
|
const valuesModel = useModel(__props, "modelValue");
|
|
146
157
|
props.multi && isArray(valuesModel.value) == false && (valuesModel.value = []);
|
|
147
|
-
const chooseItemsRef = computed(() => props.items.map(item => {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
};
|
|
152
|
-
}));
|
|
158
|
+
const chooseItemsRef = computed(() => props.items.map(item => ({
|
|
159
|
+
item,
|
|
160
|
+
selected: props.multi == true ? valuesModel.value.includes(item.value) : valuesModel.value == item.value
|
|
161
|
+
})));
|
|
153
162
|
function onItemClick(node, index) {
|
|
154
163
|
if (props.readonly == true) {
|
|
155
164
|
return;
|
|
156
165
|
}
|
|
157
166
|
if (props.multi == true) {
|
|
158
|
-
node.
|
|
159
|
-
valuesModel.value = chooseItemsRef.value.filter(item => item.
|
|
167
|
+
node.selected = !node.selected;
|
|
168
|
+
valuesModel.value = chooseItemsRef.value.filter(item => item.selected).map(item => item.item.value);
|
|
160
169
|
} else {
|
|
161
|
-
const
|
|
162
|
-
chooseItemsRef.value.forEach(item => item.
|
|
163
|
-
node.
|
|
164
|
-
valuesModel.value =
|
|
170
|
+
const newSelected = type == "checkbox" && props.items.length == 1 ? !node.selected : true;
|
|
171
|
+
chooseItemsRef.value.forEach(item => item.selected = false);
|
|
172
|
+
node.selected = newSelected;
|
|
173
|
+
valuesModel.value = newSelected ? node.item.value : void 0;
|
|
165
174
|
}
|
|
166
175
|
nextTick(() => emits("change", valuesModel.value));
|
|
167
176
|
}
|
|
168
177
|
return (_ctx, _cache) => {
|
|
169
178
|
return openBlock(), createElementBlock("div", {
|
|
170
|
-
class: normalizeClass(["snail-choose", _ctx.readonly ? "readonly" : ""])
|
|
179
|
+
class: normalizeClass(["snail-choose", [unref(type), unref(mode), unref(layout), _ctx.readonly ? "readonly" : ""]])
|
|
171
180
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(chooseItemsRef.value, (node, index) => {
|
|
172
181
|
return openBlock(), createElementBlock("div", {
|
|
173
182
|
key: unref(getKey)(node.item),
|
|
174
|
-
class: normalizeClass(["choose-item", node.
|
|
183
|
+
class: normalizeClass(["choose-item", node.selected ? "selected" : ""]),
|
|
175
184
|
style: normalizeStyle(unref(css).buildStyle(_ctx.itemStyle)),
|
|
185
|
+
title: node.item.text,
|
|
176
186
|
onClick: $event => onItemClick(node)
|
|
177
187
|
}, [unref(mode) == "native" ? (openBlock(), createElementBlock("input", {
|
|
178
188
|
key: 0,
|
|
179
|
-
type:
|
|
180
|
-
checked: node.
|
|
189
|
+
type: unref(type),
|
|
190
|
+
checked: node.selected
|
|
181
191
|
}, null, 8, _hoisted_2$9)) : unref(mode) == "beautiful" ? (openBlock(), createElementBlock("div", {
|
|
182
192
|
key: 1,
|
|
183
|
-
class: normalizeClass(["
|
|
184
|
-
}, [node.
|
|
193
|
+
class: normalizeClass(["status", [node.selected ? "selected" : ""]])
|
|
194
|
+
}, [node.selected ? (openBlock(), createBlock(_sfc_main$t, {
|
|
185
195
|
key: 0,
|
|
186
196
|
type: "success",
|
|
187
197
|
size: 12,
|
|
@@ -200,10 +210,6 @@ var _sfc_main$s = defineComponent({
|
|
|
200
210
|
}
|
|
201
211
|
});
|
|
202
212
|
|
|
203
|
-
var addLink = href => setTimeout(link.register, 0, href);
|
|
204
|
-
|
|
205
|
-
addLink("/styles/snail.vue.vue.css");
|
|
206
|
-
|
|
207
213
|
const _hoisted_1$e = ["id"];
|
|
208
214
|
var _sfc_main$r = defineComponent({
|
|
209
215
|
__name: "datepicker",
|
package/dist/snail.vue.umd.js
CHANGED
|
@@ -27,6 +27,10 @@
|
|
|
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":
|
|
@@ -47,6 +51,8 @@
|
|
|
47
51
|
return ["M 780.8 366.933 c 34.1333 -34.1333 34.1333 -93.8667 0 -128 c -38.4 -34.1333 -93.8667 -34.1333 -132.267 0 l -68.2667 68.2667 l 132.267 128 l 68.2667 -68.2667 Z M 541.867 349.867 l -277.333 277.333 L 213.333 806.4 l 179.2 -51.2 l 281.6 -277.333 Z M 469.333 768 h 341.333 v 42.6667 h -341.333 Z"];
|
|
48
52
|
case "arrow":
|
|
49
53
|
return ["M651.3 514.2c0 8.2-3.1 16.4-9.4 22.6L426.4 752.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L574 514.2 381.1 321.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l215.5 215.5c6.2 6.3 9.4 14.5 9.4 22.6z"];
|
|
54
|
+
case "datepicker":
|
|
55
|
+
return ["M848.9 118h-93.5c-8.7 0-15.8-7.1-15.8-15.8V60.6c0-16.3-12.8-30.2-29.2-30.6-17-0.5-30.8 13.1-30.8 30v42.3c0 8.7-7.1 15.8-15.8 15.8H363.3c-8.7 0-15.8-7.1-15.8-15.8V60.6c0-16.3-12.8-30.2-29.2-30.6-17-0.5-30.8 13.1-30.8 30v42.3c0 8.7-7.1 15.8-15.8 15.8h-96.6C98.8 118 37 179.8 37 256.1v599.8C37 932.2 98.8 994 175.1 994h673.7c76.3 0 138.1-61.8 138.1-138.1V256.1c0.1-76.3-61.7-138.1-138-138.1zM97 256.1c0-43.2 35-78.1 78.1-78.1h96.6c8.7 0 15.8 7.1 15.8 15.8v41.7c0 16.3 12.8 30.2 29.2 30.6 17 0.5 30.8-13.1 30.8-30v-42.3c0-8.7 7.1-15.8 15.8-15.8h300.5c8.7 0 15.8 7.1 15.8 15.8v41.7c0 16.3 12.8 30.2 29.2 30.6 17 0.5 30.8-13.1 30.8-30v-42.3c0-8.7 7.1-15.8 15.8-15.8h93.5c43.2 0 78.1 35 78.1 78.1v45.4c0 11.4-9.2 20.6-20.6 20.6H117.6c-11.4 0-20.6-9.2-20.6-20.6v-45.4zM927 856c0 43.2-35 78.1-78.1 78.1H175.1c-43.1 0-78.1-35-78.1-78.1V402.7c0-11.4 9.2-20.6 20.6-20.6h788.9c11.4 0 20.6 9.2 20.6 20.6L927 856z", "M240.3 586.1H306c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30s13.4 30 30 30zM479.2 586.1h65.7c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30 0.1 16.6 13.5 30 30 30zM718.2 586.1h65.7c16.5 0 30-13.4 30-30 0-16.5-13.4-30-30-30h-65.7c-16.5 0-30 13.4-30 30s13.4 30 30 30zM312 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30H312c16.5 0 30-13.4 30-30s-13.4-30-30-30zM551 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30H551c16.5 0 30-13.4 30-30-0.1-16.6-13.5-30-30-30zM789.9 730.1h-65.7c-16.5 0-30 13.4-30 30 0 16.5 13.4 30 30 30h65.7c16.5 0 30-13.4 30-30s-13.4-30-30-30z"];
|
|
50
56
|
case "plus":
|
|
51
57
|
return ["M 768 469.333 h -213.333 V 256 c 0 -25.6 -17.0667 -42.6667 -42.6667 -42.6667 s -42.6667 17.0667 -42.6667 42.6667 v 213.333 H 256 c -25.6 0 -42.6667 17.0667 -42.6667 42.6667 s 17.0667 42.6667 42.6667 42.6667 h 213.333 v 213.333 c 0 25.6 17.0667 42.6667 42.6667 42.6667 s 42.6667 -17.0667 42.6667 -42.6667 v -213.333 h 213.333 c 25.6 0 42.6667 -17.0667 42.6667 -42.6667 s -17.0667 -42.6667 -42.6667 -42.6667 Z"];
|
|
52
58
|
case "subtract":
|
|
@@ -56,8 +62,10 @@
|
|
|
56
62
|
case "custom":
|
|
57
63
|
return snail_core.isArrayNotEmpty(draw) ? draw : snail_core.isStringNotEmpty(draw) ? [draw] : snail_core.throwError("options.draw must be a non-empty string or string array");
|
|
58
64
|
default:
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
{
|
|
66
|
+
snail_core.throwError(`not support icon type: ${iconType}.`);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
61
69
|
}
|
|
62
70
|
}
|
|
63
71
|
|
|
@@ -106,7 +114,7 @@
|
|
|
106
114
|
}
|
|
107
115
|
});
|
|
108
116
|
|
|
109
|
-
const _hoisted_1$f = ["onClick"];
|
|
117
|
+
const _hoisted_1$f = ["title", "onClick"];
|
|
110
118
|
const _hoisted_2$9 = ["type", "checked"];
|
|
111
119
|
const _hoisted_3$6 = ["textContent"];
|
|
112
120
|
const _hoisted_4$4 = ["textContent"];
|
|
@@ -125,6 +133,7 @@
|
|
|
125
133
|
},
|
|
126
134
|
type: {},
|
|
127
135
|
mode: {},
|
|
136
|
+
layout: {},
|
|
128
137
|
items: {},
|
|
129
138
|
itemStyle: {}
|
|
130
139
|
}, {
|
|
@@ -139,51 +148,52 @@
|
|
|
139
148
|
const props = __props;
|
|
140
149
|
const emits = __emit;
|
|
141
150
|
const {
|
|
142
|
-
mode = "native"
|
|
151
|
+
mode = "native",
|
|
152
|
+
type = "radio",
|
|
153
|
+
layout = "horizontal"
|
|
143
154
|
} = props;
|
|
144
155
|
const {
|
|
145
156
|
getKey
|
|
146
157
|
} = snail_core.useKey();
|
|
147
158
|
const valuesModel = vue.useModel(__props, "modelValue");
|
|
148
159
|
props.multi && snail_core.isArray(valuesModel.value) == false && (valuesModel.value = []);
|
|
149
|
-
const chooseItemsRef = vue.computed(() => props.items.map(item => {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
};
|
|
154
|
-
}));
|
|
160
|
+
const chooseItemsRef = vue.computed(() => props.items.map(item => ({
|
|
161
|
+
item,
|
|
162
|
+
selected: props.multi == true ? valuesModel.value.includes(item.value) : valuesModel.value == item.value
|
|
163
|
+
})));
|
|
155
164
|
function onItemClick(node, index) {
|
|
156
165
|
if (props.readonly == true) {
|
|
157
166
|
return;
|
|
158
167
|
}
|
|
159
168
|
if (props.multi == true) {
|
|
160
|
-
node.
|
|
161
|
-
valuesModel.value = chooseItemsRef.value.filter(item => item.
|
|
169
|
+
node.selected = !node.selected;
|
|
170
|
+
valuesModel.value = chooseItemsRef.value.filter(item => item.selected).map(item => item.item.value);
|
|
162
171
|
} else {
|
|
163
|
-
const
|
|
164
|
-
chooseItemsRef.value.forEach(item => item.
|
|
165
|
-
node.
|
|
166
|
-
valuesModel.value =
|
|
172
|
+
const newSelected = type == "checkbox" && props.items.length == 1 ? !node.selected : true;
|
|
173
|
+
chooseItemsRef.value.forEach(item => item.selected = false);
|
|
174
|
+
node.selected = newSelected;
|
|
175
|
+
valuesModel.value = newSelected ? node.item.value : void 0;
|
|
167
176
|
}
|
|
168
177
|
vue.nextTick(() => emits("change", valuesModel.value));
|
|
169
178
|
}
|
|
170
179
|
return (_ctx, _cache) => {
|
|
171
180
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
172
|
-
class: vue.normalizeClass(["snail-choose", _ctx.readonly ? "readonly" : ""])
|
|
181
|
+
class: vue.normalizeClass(["snail-choose", [vue.unref(type), vue.unref(mode), vue.unref(layout), _ctx.readonly ? "readonly" : ""]])
|
|
173
182
|
}, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(chooseItemsRef.value, (node, index) => {
|
|
174
183
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
175
184
|
key: vue.unref(getKey)(node.item),
|
|
176
|
-
class: vue.normalizeClass(["choose-item", node.
|
|
185
|
+
class: vue.normalizeClass(["choose-item", node.selected ? "selected" : ""]),
|
|
177
186
|
style: vue.normalizeStyle(vue.unref(snail_view.css).buildStyle(_ctx.itemStyle)),
|
|
187
|
+
title: node.item.text,
|
|
178
188
|
onClick: $event => onItemClick(node)
|
|
179
189
|
}, [vue.unref(mode) == "native" ? (vue.openBlock(), vue.createElementBlock("input", {
|
|
180
190
|
key: 0,
|
|
181
|
-
type:
|
|
182
|
-
checked: node.
|
|
191
|
+
type: vue.unref(type),
|
|
192
|
+
checked: node.selected
|
|
183
193
|
}, null, 8, _hoisted_2$9)) : vue.unref(mode) == "beautiful" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
184
194
|
key: 1,
|
|
185
|
-
class: vue.normalizeClass(["
|
|
186
|
-
}, [node.
|
|
195
|
+
class: vue.normalizeClass(["status", [node.selected ? "selected" : ""]])
|
|
196
|
+
}, [node.selected ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
187
197
|
key: 0,
|
|
188
198
|
type: "success",
|
|
189
199
|
size: 12,
|
|
@@ -202,10 +212,6 @@
|
|
|
202
212
|
}
|
|
203
213
|
});
|
|
204
214
|
|
|
205
|
-
var addLink = href => setTimeout(snail_view.link.register, 0, href);
|
|
206
|
-
|
|
207
|
-
addLink("/styles/snail.vue.vue.css");
|
|
208
|
-
|
|
209
215
|
const _hoisted_1$e = ["id"];
|
|
210
216
|
var _sfc_main$r = vue.defineComponent({
|
|
211
217
|
__name: "datepicker",
|
|
@@ -1,27 +1,25 @@
|
|
|
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}
|
|
5
|
-
/* src:base\
|
|
6
|
-
.snail-
|
|
3
|
+
/* src:base\choose.vue index:0 */
|
|
4
|
+
.snail-choose>div.choose-item{align-items:center;display:flex;flex-shrink:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.snail-choose>div.choose-item:not(.readonly){cursor:pointer}.snail-choose>div.choose-item>input::checkmark{background-color:#2196f3;border-color:#2196f3}.snail-choose>div.choose-item>span{margin-left:4px}.snail-choose>div.choose-item>span.item-des{color:#8a9099}.snail-choose>div.choose-item:after{content:"";height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.snail-choose.horizontal{align-items:center;display:flex;flex-wrap:wrap;overflow-x:hidden}.snail-choose.horizontal>div.choose-item{margin:0 8px}.snail-choose.horizontal>div.choose-item:first-child{margin-left:0}.snail-choose.vertical{display:flex;flex-direction:column;justify-content:center}.snail-choose.beautiful>.choose-item>.status{align-items:center;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.snail-choose.beautiful>.choose-item>.status.selected{background-color:#4c9aff;border:1px solid #4c9aff}.snail-choose.beautiful>.choose-item>.status:not(.selected){border:1px solid #8a9099}.snail-choose.beautiful.radio>.choose-item>.status{border-radius:50%;height:16px;width:16px}.snail-choose.beautiful.checkbox>.choose-item>.status{height:14px;width:14px}.snail-choose.beautiful.readonly>.choose-item>.status.selected{background-color:#d5d7db;border-color:#d5d7db}.snail-choose.beautiful.readonly>.choose-item>.status:not(.selected){opacity:.5}
|
|
7
5
|
/* src:base\datepicker.vue index:0 */
|
|
8
6
|
.snail-datepicker{height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;width:100%}
|
|
9
|
-
/* src:base\icon.vue index:0 */
|
|
10
|
-
.snail-icon{cursor:pointer;opacity:1}
|
|
11
7
|
/* src:base\footer.vue index:0 */
|
|
12
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}
|
|
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}.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
|
+
/* src:base\icon.vue index:0 */
|
|
12
|
+
.snail-icon{cursor:pointer;opacity:1}
|
|
13
13
|
/* src:base\select.vue index:0 */
|
|
14
|
-
.snail-select{align-items:center;
|
|
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}
|
|
17
|
-
/* src:container\fold.vue index:0 */
|
|
18
|
-
.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)}
|
|
14
|
+
.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
15
|
/* src:base\search.vue index:0 */
|
|
20
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
|
+
/* src:base\switch.vue index:0 */
|
|
18
|
+
.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}
|
|
21
19
|
/* src:container\dynamic.vue index:0 */
|
|
22
20
|
.snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
|
|
23
|
-
/* src:container\
|
|
24
|
-
.snail-
|
|
21
|
+
/* src:container\fold.vue index:0 */
|
|
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)}
|
|
25
23
|
/* src:container\scroll.vue index:0 */
|
|
26
24
|
.snail-scroll{overflow:hidden}.snail-scroll.scroll-x{overflow-x:auto}.snail-scroll.scroll-y{overflow-y:auto}
|
|
27
25
|
/* src:container\sort.vue index:0 */
|
|
@@ -30,6 +28,8 @@
|
|
|
30
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}
|
|
31
29
|
/* src:container\components\table-row.vue index:0 */
|
|
32
30
|
.table-row{align-items:center;display:flex}
|
|
31
|
+
/* src:container\layout.vue index:0 */
|
|
32
|
+
.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}
|
|
33
33
|
/* src:container\components\table-col.vue index:0 */
|
|
34
34
|
.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}
|
|
35
35
|
/* src:container\tree.vue index:0 */
|
|
@@ -40,20 +40,20 @@
|
|
|
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
41
|
/* src:prompt\drag-verify.vue index:0 */
|
|
42
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}}
|
|
43
|
-
/* src:prompt\loading.vue index:0 */
|
|
44
|
-
.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
43
|
/* src:prompt\empty.vue index:0 */
|
|
46
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}
|
|
47
|
-
/* src:
|
|
48
|
-
.snail-
|
|
45
|
+
/* src:prompt\loading.vue index:0 */
|
|
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}
|
|
49
47
|
/* src:popup\components\toast-container.vue index:0 */
|
|
50
48
|
.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}
|
|
49
|
+
/* src:popup\components\confirm-container.vue index:0 */
|
|
50
|
+
.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}
|
|
51
|
+
/* src:popup\components\follow-container.vue index:0 */
|
|
52
|
+
.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}
|
|
51
53
|
/* src:popup\components\dialog-container.vue index:0 */
|
|
52
54
|
.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)}
|
|
53
55
|
/* src:popup\components\popup-container.vue index:0 */
|
|
54
56
|
.snail-popup{left:0;position:fixed;top:0}
|
|
55
|
-
/* src:popup\components\follow-container.vue index:0 */
|
|
56
|
-
.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}
|
|
57
57
|
/* src:container\components\tree-node.vue index:0 */
|
|
58
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}
|
|
59
59
|
/* src:base\components\select-popup.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.
|
|
6
|
+
"version": "2.0.3",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/snail.vue.js",
|
|
9
9
|
"module": "dist/snail.vue.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"vue": "^3.5.14",
|
|
17
17
|
"snail.core": ">=2.0.16",
|
|
18
|
-
"snail.view": ">=2.0.
|
|
18
|
+
"snail.view": ">=2.0.1",
|
|
19
19
|
"sortablejs": ">=1.15.6",
|
|
20
20
|
"zane-calendar": "2.2.8"
|
|
21
21
|
},
|