snail.vue 2.0.21 → 2.0.23
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 +54 -8
- package/dist/snail.vue.js +103 -74
- package/dist/snail.vue.umd.js +102 -73
- package/dist/styles/snail.vue.vue.css +10 -10
- package/package.json +3 -3
package/dist/snail.vue.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as snail_core from 'snail.core';
|
|
2
2
|
import { DateFormat, DateValue, TimeValue, IScope, RunResult, IAsyncScope } from 'snail.core';
|
|
3
3
|
import * as snail_view from 'snail.view';
|
|
4
|
-
import { ScrollbarOptions, ScrollStatus, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
|
|
4
|
+
import { ScrollbarOptions, ScrollStatus, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, CSSClassOptions, MarginStyle } from 'snail.view';
|
|
5
5
|
import * as vue from 'vue';
|
|
6
6
|
import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
|
|
7
7
|
|
|
@@ -1030,7 +1030,7 @@ type LayoutOptions = {
|
|
|
1030
1030
|
* - 对应插槽名:main;主要内容显示区域,处于布局中的【中】区域
|
|
1031
1031
|
* - 配置主内容区域的滚动条配置
|
|
1032
1032
|
*/
|
|
1033
|
-
main?: Pick<LayoutAraeOptions<void>, "scroll">;
|
|
1033
|
+
main?: Pick<LayoutAraeOptions<void>, "scroll" | "class">;
|
|
1034
1034
|
/**
|
|
1035
1035
|
* 【左侧】区域配置
|
|
1036
1036
|
* - 对应插槽名`left` ;`mode` 为 `horizontal` 时生效
|
|
@@ -1061,7 +1061,7 @@ type LayoutOptions = {
|
|
|
1061
1061
|
/**
|
|
1062
1062
|
* 布局组件子区域 配置选项
|
|
1063
1063
|
*/
|
|
1064
|
-
type LayoutAraeOptions<Style extends WidthStyle | HeightStyle | void> = Style & {
|
|
1064
|
+
type LayoutAraeOptions<Style extends WidthStyle | HeightStyle | void> = Style & CSSClassOptions & {
|
|
1065
1065
|
/**
|
|
1066
1066
|
* 滚动视图配置
|
|
1067
1067
|
* - 视图属性:滚动条大小、显示时机
|
|
@@ -1081,7 +1081,7 @@ type LayoutAreaItem = {
|
|
|
1081
1081
|
/**
|
|
1082
1082
|
* 内容区域元素的类样式名
|
|
1083
1083
|
*/
|
|
1084
|
-
class: string;
|
|
1084
|
+
class: string[];
|
|
1085
1085
|
/**
|
|
1086
1086
|
* css样式
|
|
1087
1087
|
*/
|
|
@@ -1150,6 +1150,16 @@ type FoldOptions = DisabledOptions & TitleOptions & {
|
|
|
1150
1150
|
* - 跟随在title后
|
|
1151
1151
|
*/
|
|
1152
1152
|
subtitle?: string;
|
|
1153
|
+
/**
|
|
1154
|
+
* 面板头部区域配置
|
|
1155
|
+
* - 如指定特定的css式
|
|
1156
|
+
*/
|
|
1157
|
+
header?: CSSClassOptions;
|
|
1158
|
+
/**
|
|
1159
|
+
* 面板内容区域配置
|
|
1160
|
+
* - 如指定特定的css样式
|
|
1161
|
+
*/
|
|
1162
|
+
body?: CSSClassOptions;
|
|
1153
1163
|
};
|
|
1154
1164
|
/**
|
|
1155
1165
|
* 折叠状态
|
|
@@ -1157,6 +1167,27 @@ type FoldOptions = DisabledOptions & TitleOptions & {
|
|
|
1157
1167
|
* - fold : 折叠状态
|
|
1158
1168
|
*/
|
|
1159
1169
|
type FoldStatus = "expand" | "fold";
|
|
1170
|
+
/**
|
|
1171
|
+
* 折叠面板组件插槽句柄
|
|
1172
|
+
* - 将折叠面板状态和操作共享给插槽中自定义组件使用
|
|
1173
|
+
*/
|
|
1174
|
+
type FoldSlotHandle = {
|
|
1175
|
+
/**
|
|
1176
|
+
* 获取折叠面板状态
|
|
1177
|
+
* @returns
|
|
1178
|
+
*/
|
|
1179
|
+
getStatus(): FoldStatus;
|
|
1180
|
+
/**
|
|
1181
|
+
* 设置折叠面板状态
|
|
1182
|
+
* @param status 新的状态
|
|
1183
|
+
*/
|
|
1184
|
+
setStatus(status: FoldStatus): void;
|
|
1185
|
+
/**
|
|
1186
|
+
* 切换面板状态
|
|
1187
|
+
* @returns 新的状态
|
|
1188
|
+
*/
|
|
1189
|
+
toggle(): FoldStatus;
|
|
1190
|
+
};
|
|
1160
1191
|
/**
|
|
1161
1192
|
* 折叠面板事件
|
|
1162
1193
|
*/
|
|
@@ -1971,8 +2002,9 @@ type ButtonOptions = TitleOptions & {
|
|
|
1971
2002
|
|
|
1972
2003
|
/**
|
|
1973
2004
|
* 可操作项组件 的配置选项
|
|
2005
|
+
* - disabled 为true时,不响应操作项触发
|
|
1974
2006
|
*/
|
|
1975
|
-
type ActionOptions = {
|
|
2007
|
+
type ActionOptions = DisabledOptions & {
|
|
1976
2008
|
/**
|
|
1977
2009
|
* 触发方式
|
|
1978
2010
|
* - hover:鼠标移入显示
|
|
@@ -3156,6 +3188,8 @@ declare const components: {
|
|
|
3156
3188
|
Fold: {
|
|
3157
3189
|
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<DisabledOptions & TitleOptions & {
|
|
3158
3190
|
subtitle?: string;
|
|
3191
|
+
header?: snail_view.CSSClassOptions;
|
|
3192
|
+
body?: snail_view.CSSClassOptions;
|
|
3159
3193
|
} & {
|
|
3160
3194
|
status?: FoldStatus;
|
|
3161
3195
|
}> & Readonly<{
|
|
@@ -3173,6 +3207,8 @@ declare const components: {
|
|
|
3173
3207
|
Defaults: {};
|
|
3174
3208
|
}, Readonly<DisabledOptions & TitleOptions & {
|
|
3175
3209
|
subtitle?: string;
|
|
3210
|
+
header?: snail_view.CSSClassOptions;
|
|
3211
|
+
body?: snail_view.CSSClassOptions;
|
|
3176
3212
|
} & {
|
|
3177
3213
|
status?: FoldStatus;
|
|
3178
3214
|
}> & Readonly<{
|
|
@@ -3184,6 +3220,8 @@ declare const components: {
|
|
|
3184
3220
|
__isSuspense?: never;
|
|
3185
3221
|
} & vue.ComponentOptionsBase<Readonly<DisabledOptions & TitleOptions & {
|
|
3186
3222
|
subtitle?: string;
|
|
3223
|
+
header?: snail_view.CSSClassOptions;
|
|
3224
|
+
body?: snail_view.CSSClassOptions;
|
|
3187
3225
|
} & {
|
|
3188
3226
|
status?: FoldStatus;
|
|
3189
3227
|
}> & Readonly<{
|
|
@@ -3194,9 +3232,17 @@ declare const components: {
|
|
|
3194
3232
|
"update:status": (value: FoldStatus) => any;
|
|
3195
3233
|
}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
3196
3234
|
$slots: {
|
|
3197
|
-
header?: (props: {
|
|
3235
|
+
header?: (props: {
|
|
3236
|
+
getStatus(): FoldStatus;
|
|
3237
|
+
setStatus(status: FoldStatus): void;
|
|
3238
|
+
toggle(): FoldStatus;
|
|
3239
|
+
}) => any;
|
|
3198
3240
|
} & {
|
|
3199
|
-
default?: (props: {
|
|
3241
|
+
default?: (props: {
|
|
3242
|
+
getStatus(): FoldStatus;
|
|
3243
|
+
setStatus(status: FoldStatus): void;
|
|
3244
|
+
toggle(): FoldStatus;
|
|
3245
|
+
}) => any;
|
|
3200
3246
|
};
|
|
3201
3247
|
});
|
|
3202
3248
|
Motion: {
|
|
@@ -3607,4 +3653,4 @@ declare const components: {
|
|
|
3607
3653
|
};
|
|
3608
3654
|
|
|
3609
3655
|
export { MOTION, components, getBuiltinIcon, mount, onAppCreated, triggerAppCreated, usePicker, usePopup, useReactive, useTreeContext };
|
|
3610
|
-
export type { ActionEvents, ActionItem, ActionItemsOptions, ActionOptions, ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElasticEvents, ElasticExpose, ElasticOptions, ElasticSpringStatus, EmitterType, EmptyOptions, EventsType, FlexOptions, FoldEvents, FoldOptions, FoldStatus, FollowElectResult, FollowExtend, FollowHandle, FollowOptions, FollowPositionOptions, FollowStrategy, FollowStrategyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, INumberFormatter, IPickerManager, IPopupManager, IReactiveManager, ISelectContext, ITreeBaseContext, IconOptions, IconType, InputEvents, InputOptions, LayoutAraeOptions, LayoutAreaItem, LayoutOptions, LoadingOptions, MessageOptions, MotionEffectOptions, MotionOptions, MoveEvents, NumberBaseOptions, NumberEvents, NumberFormatResult, NumberOptions, PickerExtend, PickerPopupOptions, PlaceholderOptions, PopupDescriptor, PopupHandle, PopupOptions, PopupStatus, PopupStatusOptions, PropsType, ReactiveVar, ReadonlyOptions, ScrollEvents, ScrollExpose, ScrollOptions, SearchEvents, SearchOptions, SelectBaseEvents, SelectBaseOptions, SelectEvents, SelectItem, SelectNodeEvents, SelectNodeOptions, SelectOptions, SelectPopupEvents, SelectPopupExtend, SelectPopupOptions, SelectSlotOptions, SlotsType, SortEvent, SortEvents, SortGroupHook, SortGroupOptions, SortOptions, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TextareaEvents, TextareaOptions, TimePickerHourItem, TimePickerMinuteItem, TimePickerOptions, TimePickerSecondItem, TitleOptions, ToastOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };
|
|
3656
|
+
export type { ActionEvents, ActionItem, ActionItemsOptions, ActionOptions, ButtonOptions, ChangeEvents, ChooseEvents, ChooseItem, ChooseOptions, ClickEvents, CloseEvents, ComponentBindOptions, ComponentOptions, ConfirmAreaOptions, ConfirmOptions, DatePickerDayItem, DatePickerMonthItem, DatePickerOptions, DatePickerYearItem, DatetimeDisabledOptions, DatetimePickerEvents, DeleteEvents, DialogHandle, DialogOptions, DisabledOptions, DragVerifyInfo, DragVerifyOptions, ElasticEvents, ElasticExpose, ElasticOptions, ElasticSpringStatus, EmitterType, EmptyOptions, EventsType, FlexOptions, FoldEvents, FoldOptions, FoldSlotHandle, FoldStatus, FollowElectResult, FollowExtend, FollowHandle, FollowOptions, FollowPositionOptions, FollowStrategy, FollowStrategyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, INumberFormatter, IPickerManager, IPopupManager, IReactiveManager, ISelectContext, ITreeBaseContext, IconOptions, IconType, InputEvents, InputOptions, LayoutAraeOptions, LayoutAreaItem, LayoutOptions, LoadingOptions, MessageOptions, MotionEffectOptions, MotionOptions, MoveEvents, NumberBaseOptions, NumberEvents, NumberFormatResult, NumberOptions, PickerExtend, PickerPopupOptions, PlaceholderOptions, PopupDescriptor, PopupHandle, PopupOptions, PopupStatus, PopupStatusOptions, PropsType, ReactiveVar, ReadonlyOptions, ScrollEvents, ScrollExpose, ScrollOptions, SearchEvents, SearchOptions, SelectBaseEvents, SelectBaseOptions, SelectEvents, SelectItem, SelectNodeEvents, SelectNodeOptions, SelectOptions, SelectPopupEvents, SelectPopupExtend, SelectPopupOptions, SelectSlotOptions, SlotsType, SortEvent, SortEvents, SortGroupHook, SortGroupOptions, SortOptions, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TextareaEvents, TextareaOptions, TimePickerHourItem, TimePickerMinuteItem, TimePickerOptions, TimePickerSecondItem, TitleOptions, ToastOptions, TreeEvents, TreeNode, TreeNodeEvents, TreeNodeExtend, TreeNodeModel, TreeNodeOptions, TreeNodeRenderOptions, TreeNodeSlotOptions, TreeOptions, TreeSearchResult, ValueOptions, WrapperEvents, WrapperOptions };
|
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, computed, mergeProps, unref, createElementVNode, toDisplayString, Fragment, renderList, mergeModels, useModel, normalizeStyle, createCommentVNode, createBlock, nextTick, useTemplateRef, createVNode, watch, withDirectives, isRef, vModelText, withCtx, createApp, resolveDynamicComponent, TransitionGroup, Transition, normalizeProps, guardReactiveProps, ref, onErrorCaptured, createSlots, onMounted, withModifiers, getCurrentInstance, resolveComponent, vShow, onBeforeUnmount, onActivated, getCurrentScope, onScopeDispose } from 'vue';
|
|
3
3
|
import { throwError, isObject, correctNumber, correctString, useKey, isArray, mountScope, useScopes, throwIfFalse, isPromise, wait, isNumberNotNaN, isStringNotEmpty, hasAny, mustFunction, useScope, removeFromArray, mustObject, isArrayNotEmpty, hasOwnProperty, isString, script, delay, useTimer, defer, useAsyncScope, useHook, newId, throwIfTrue, isFunction, isNullish, getTimeNumber, getDateValue, parseDate, formatDateValue, getDateByValue, parseTimeValue, getTimeValue, padStart, formatTimeValue, parseDateValue, correctDateFormat, isValidTime, getFromArray, onMountScope } from 'snail.core';
|
|
4
|
-
import {
|
|
4
|
+
import { link, css, useObserver, useScroll, useAnimation } from 'snail.view';
|
|
5
5
|
|
|
6
6
|
const _hoisted_1$o = ["title"];
|
|
7
7
|
var _sfc_main$F = defineComponent({
|
|
@@ -25,6 +25,10 @@ var _sfc_main$F = 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 getBuiltinIcon(iconType) {
|
|
29
33
|
switch (iconType) {
|
|
30
34
|
case "success":
|
|
@@ -137,7 +141,7 @@ var _sfc_main$E = defineComponent({
|
|
|
137
141
|
const _hoisted_1$m = ["title", "onClick"];
|
|
138
142
|
const _hoisted_2$e = ["type", "checked"];
|
|
139
143
|
const _hoisted_3$9 = ["textContent"];
|
|
140
|
-
const _hoisted_4$
|
|
144
|
+
const _hoisted_4$6 = ["textContent"];
|
|
141
145
|
var _sfc_main$D = defineComponent({
|
|
142
146
|
...{
|
|
143
147
|
name: "Choose",
|
|
@@ -230,16 +234,12 @@ var _sfc_main$D = defineComponent({
|
|
|
230
234
|
key: 3,
|
|
231
235
|
class: "item-des",
|
|
232
236
|
textContent: toDisplayString(node.item.description)
|
|
233
|
-
}, null, 8, _hoisted_4$
|
|
237
|
+
}, null, 8, _hoisted_4$6)) : createCommentVNode("", true)], 14, _hoisted_1$m);
|
|
234
238
|
}), 128))], 2);
|
|
235
239
|
};
|
|
236
240
|
}
|
|
237
241
|
});
|
|
238
242
|
|
|
239
|
-
var addLink = href => setTimeout(link.register, 0, href);
|
|
240
|
-
|
|
241
|
-
addLink("/styles/snail.vue.vue.css");
|
|
242
|
-
|
|
243
243
|
var _sfc_main$C = defineComponent({
|
|
244
244
|
...{
|
|
245
245
|
name: "Footer",
|
|
@@ -350,8 +350,8 @@ const _hoisted_2$d = {
|
|
|
350
350
|
const _hoisted_3$8 = {
|
|
351
351
|
class: "input-body"
|
|
352
352
|
};
|
|
353
|
-
const _hoisted_4$
|
|
354
|
-
const _hoisted_5$
|
|
353
|
+
const _hoisted_4$5 = ["type", "value", "readonly", "placeholder", "title"];
|
|
354
|
+
const _hoisted_5$3 = ["title"];
|
|
355
355
|
var _sfc_main$A = defineComponent({
|
|
356
356
|
...{
|
|
357
357
|
name: "Input",
|
|
@@ -413,7 +413,7 @@ var _sfc_main$A = defineComponent({
|
|
|
413
413
|
title: inputModel.value,
|
|
414
414
|
onChange: onValueChange,
|
|
415
415
|
onClick: _cache[0] || (_cache[0] = $event => emits("click"))
|
|
416
|
-
}, null, 40, _hoisted_4$
|
|
416
|
+
}, null, 40, _hoisted_4$5), !!validateRef.value ? (openBlock(), createElementBlock("span", {
|
|
417
417
|
key: 0,
|
|
418
418
|
class: "validate",
|
|
419
419
|
title: validateRef.value
|
|
@@ -422,7 +422,7 @@ var _sfc_main$A = defineComponent({
|
|
|
422
422
|
button: "",
|
|
423
423
|
size: 16,
|
|
424
424
|
color: "red"
|
|
425
|
-
})], 8, _hoisted_5$
|
|
425
|
+
})], 8, _hoisted_5$3)) : createCommentVNode("", true)])], 2);
|
|
426
426
|
};
|
|
427
427
|
}
|
|
428
428
|
});
|
|
@@ -633,11 +633,11 @@ const _hoisted_1$j = {
|
|
|
633
633
|
};
|
|
634
634
|
const _hoisted_2$c = ["textContent"];
|
|
635
635
|
const _hoisted_3$7 = ["inputmode", "placeholder", "title"];
|
|
636
|
-
const _hoisted_4$
|
|
636
|
+
const _hoisted_4$4 = {
|
|
637
637
|
key: 1,
|
|
638
638
|
class: "number-suffix"
|
|
639
639
|
};
|
|
640
|
-
const _hoisted_5$
|
|
640
|
+
const _hoisted_5$2 = ["textContent"];
|
|
641
641
|
const _hoisted_6$2 = ["title", "textContent"];
|
|
642
642
|
const _hoisted_7$1 = ["title", "textContent"];
|
|
643
643
|
var _sfc_main$z = defineComponent({
|
|
@@ -836,10 +836,10 @@ var _sfc_main$z = defineComponent({
|
|
|
836
836
|
button: "",
|
|
837
837
|
size: 20,
|
|
838
838
|
rotate: 90
|
|
839
|
-
})])], 64)) : createCommentVNode("", true)], 2), unref(hasSuffix) ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
839
|
+
})])], 64)) : createCommentVNode("", true)], 2), unref(hasSuffix) ? (openBlock(), createElementBlock("div", _hoisted_4$4, [createElementVNode("span", {
|
|
840
840
|
class: "ellipsis",
|
|
841
841
|
textContent: toDisplayString(unref(suffix))
|
|
842
|
-
}, null, 8, _hoisted_5$
|
|
842
|
+
}, null, 8, _hoisted_5$2)])) : createCommentVNode("", true), unref(upper) ? (openBlock(), createElementBlock("div", {
|
|
843
843
|
key: 2,
|
|
844
844
|
class: "number-util ellipsis",
|
|
845
845
|
title: upperTextRef.value,
|
|
@@ -2254,7 +2254,7 @@ const _hoisted_1$d = {
|
|
|
2254
2254
|
};
|
|
2255
2255
|
const _hoisted_2$7 = ["title", "textContent"];
|
|
2256
2256
|
const _hoisted_3$4 = ["textContent"];
|
|
2257
|
-
const _hoisted_4$
|
|
2257
|
+
const _hoisted_4$3 = {
|
|
2258
2258
|
key: 1,
|
|
2259
2259
|
class: "placeholder"
|
|
2260
2260
|
};
|
|
@@ -2407,7 +2407,7 @@ var _sfc_main$m = defineComponent({
|
|
|
2407
2407
|
button: "",
|
|
2408
2408
|
size: 24,
|
|
2409
2409
|
rotate: 90
|
|
2410
|
-
})) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("div", _hoisted_4$
|
|
2410
|
+
})) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("div", _hoisted_4$3, "暂无可选项"))], 2);
|
|
2411
2411
|
};
|
|
2412
2412
|
}
|
|
2413
2413
|
});
|
|
@@ -2586,10 +2586,15 @@ const _hoisted_1$a = {
|
|
|
2586
2586
|
class: "snail-action flex-cross-center",
|
|
2587
2587
|
ref: "snail-action"
|
|
2588
2588
|
};
|
|
2589
|
-
const _hoisted_2$5 =
|
|
2589
|
+
const _hoisted_2$5 = {
|
|
2590
|
+
class: "action-slot flex-cross-center"
|
|
2591
|
+
};
|
|
2590
2592
|
var _sfc_main$i = defineComponent({
|
|
2591
2593
|
__name: "action",
|
|
2592
2594
|
props: {
|
|
2595
|
+
disabled: {
|
|
2596
|
+
type: Boolean
|
|
2597
|
+
},
|
|
2593
2598
|
trigger: {},
|
|
2594
2599
|
actions: {}
|
|
2595
2600
|
},
|
|
@@ -2614,21 +2619,23 @@ var _sfc_main$i = defineComponent({
|
|
|
2614
2619
|
popupScope.destroy();
|
|
2615
2620
|
return;
|
|
2616
2621
|
}
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2622
|
+
if (props.disabled != true) {
|
|
2623
|
+
popupScope = follow(rootDom.value, {
|
|
2624
|
+
component: _sfc_main$j,
|
|
2625
|
+
closeOnEscape: true,
|
|
2626
|
+
closeOnMask: true,
|
|
2627
|
+
closeOnResize: true,
|
|
2628
|
+
closeOnTarget: true,
|
|
2629
|
+
followX: longPress ? ["center", "start", "end"] : ["after", "end", "start", "end", "center"],
|
|
2630
|
+
followY: longPress ? ["center", "after", "before"] : ["after", "before", "center", "end", "after"],
|
|
2631
|
+
props: {
|
|
2632
|
+
mode: "vertical",
|
|
2633
|
+
actions: props.actions
|
|
2634
|
+
}
|
|
2635
|
+
});
|
|
2636
|
+
const code = await popupScope;
|
|
2637
|
+
isStringNotEmpty(code) && emits("trigger", code);
|
|
2638
|
+
}
|
|
2632
2639
|
}
|
|
2633
2640
|
function onMouseDown() {
|
|
2634
2641
|
if (props.trigger == "long-press" && pressStartDate == void 0) {
|
|
@@ -2662,10 +2669,7 @@ var _sfc_main$i = defineComponent({
|
|
|
2662
2669
|
}
|
|
2663
2670
|
});
|
|
2664
2671
|
return (_ctx, _cache) => {
|
|
2665
|
-
return openBlock(), createElementBlock("div", _hoisted_1$a, [createElementVNode("div", {
|
|
2666
|
-
class: "action-slot flex-cross-center",
|
|
2667
|
-
title: String(__props.trigger == "hover")
|
|
2668
|
-
}, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_2$5), __props.trigger == "hover" ? (openBlock(), createBlock(_sfc_main$E, {
|
|
2672
|
+
return openBlock(), createElementBlock("div", _hoisted_1$a, [createElementVNode("div", _hoisted_2$5, [renderSlot(_ctx.$slots, "default")]), __props.trigger == "hover" && __props.disabled != true ? (openBlock(), createBlock(_sfc_main$E, {
|
|
2669
2673
|
key: 0,
|
|
2670
2674
|
class: "hover-tips",
|
|
2671
2675
|
button: "",
|
|
@@ -3041,19 +3045,12 @@ var _sfc_main$g = defineComponent({
|
|
|
3041
3045
|
}
|
|
3042
3046
|
});
|
|
3043
3047
|
|
|
3044
|
-
const _hoisted_1$9 =
|
|
3045
|
-
class: "fold-header"
|
|
3046
|
-
};
|
|
3048
|
+
const _hoisted_1$9 = ["textContent"];
|
|
3047
3049
|
const _hoisted_2$4 = ["textContent"];
|
|
3048
|
-
const _hoisted_3$3 =
|
|
3049
|
-
const _hoisted_4$3 = {
|
|
3050
|
+
const _hoisted_3$3 = {
|
|
3050
3051
|
key: 1,
|
|
3051
3052
|
class: "status"
|
|
3052
3053
|
};
|
|
3053
|
-
const _hoisted_5$2 = {
|
|
3054
|
-
class: "fold-body",
|
|
3055
|
-
ref: "foldBody"
|
|
3056
|
-
};
|
|
3057
3054
|
var _sfc_main$f = defineComponent({
|
|
3058
3055
|
...{
|
|
3059
3056
|
name: "Fold",
|
|
@@ -3065,7 +3062,9 @@ var _sfc_main$f = defineComponent({
|
|
|
3065
3062
|
type: Boolean
|
|
3066
3063
|
},
|
|
3067
3064
|
title: {},
|
|
3068
|
-
subtitle: {}
|
|
3065
|
+
subtitle: {},
|
|
3066
|
+
header: {},
|
|
3067
|
+
body: {}
|
|
3069
3068
|
}, {
|
|
3070
3069
|
"status": {
|
|
3071
3070
|
default: "expand"
|
|
@@ -3085,27 +3084,37 @@ var _sfc_main$f = defineComponent({
|
|
|
3085
3084
|
watcher
|
|
3086
3085
|
} = useReactive();
|
|
3087
3086
|
const statusModel = useModel(__props, "status");
|
|
3088
|
-
|
|
3087
|
+
const foldHeaderDom = useTemplateRef("foldHeader");
|
|
3089
3088
|
const foldBodyDom = useTemplateRef("foldBody");
|
|
3090
|
-
|
|
3089
|
+
const slotHandle = {
|
|
3090
|
+
getStatus: () => statusModel.value,
|
|
3091
|
+
setStatus: value => statusModel.value = value,
|
|
3092
|
+
toggle: () => (onStatusClick(), statusModel.value)
|
|
3093
|
+
};
|
|
3094
|
+
function updateFoldStyle(disableAnimation) {
|
|
3091
3095
|
const isExpand = statusModel.value == "expand";
|
|
3092
3096
|
if (foldBodyDom.value) {
|
|
3093
|
-
const minHeight =
|
|
3097
|
+
const minHeight = foldHeaderDom.value.getBoundingClientRect().height;
|
|
3094
3098
|
const maxHeight = minHeight + foldBodyDom.value.getBoundingClientRect().height;
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3099
|
+
const endStyle = {
|
|
3100
|
+
overflow: isExpand ? "" : "hidden",
|
|
3101
|
+
height: isExpand ? "" : `${minHeight}px`
|
|
3102
|
+
};
|
|
3103
|
+
if (disableAnimation === true) {
|
|
3104
|
+
Object.assign(foldBodyDom.value.parentElement.style, endStyle);
|
|
3105
|
+
} else {
|
|
3106
|
+
transition(foldBodyDom.value.parentElement, {
|
|
3107
|
+
from: {
|
|
3108
|
+
transition: "height 0.2s ease",
|
|
3109
|
+
overflow: "hidden",
|
|
3110
|
+
height: `${isExpand ? minHeight : maxHeight}px`
|
|
3111
|
+
},
|
|
3112
|
+
to: {
|
|
3113
|
+
height: `${isExpand ? maxHeight : minHeight}px`
|
|
3114
|
+
},
|
|
3115
|
+
end: endStyle
|
|
3116
|
+
});
|
|
3117
|
+
}
|
|
3109
3118
|
}
|
|
3110
3119
|
}
|
|
3111
3120
|
function onStatusClick() {
|
|
@@ -3121,24 +3130,33 @@ var _sfc_main$f = defineComponent({
|
|
|
3121
3130
|
}
|
|
3122
3131
|
nextTick(() => emits("change", statusModel.value));
|
|
3123
3132
|
}
|
|
3133
|
+
onMounted(() => {
|
|
3134
|
+
statusModel.value != "expand" && updateFoldStyle(true);
|
|
3135
|
+
watcher(statusModel, () => updateFoldStyle(false));
|
|
3136
|
+
});
|
|
3124
3137
|
return (_ctx, _cache) => {
|
|
3125
3138
|
return openBlock(), createElementBlock("div", {
|
|
3126
3139
|
class: normalizeClass(["snail-fold", statusModel.value])
|
|
3127
|
-
}, [createElementVNode("div",
|
|
3140
|
+
}, [createElementVNode("div", {
|
|
3141
|
+
class: normalizeClass(["fold-header", __props.header ? __props.header.class : []]),
|
|
3142
|
+
ref: "foldHeader"
|
|
3143
|
+
}, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps(slotHandle)), () => [createElementVNode("div", {
|
|
3128
3144
|
class: "title ellipsis",
|
|
3129
3145
|
textContent: toDisplayString(__props.title)
|
|
3130
|
-
}, null, 8,
|
|
3146
|
+
}, null, 8, _hoisted_1$9), !!__props.subtitle ? (openBlock(), createElementBlock("div", {
|
|
3131
3147
|
key: 0,
|
|
3132
3148
|
class: "subtitle ellipsis",
|
|
3133
3149
|
textContent: toDisplayString(__props.subtitle)
|
|
3134
|
-
}, null, 8,
|
|
3135
|
-
custom: false,
|
|
3150
|
+
}, null, 8, _hoisted_2$4)) : createCommentVNode("", true), __props.disabled != true ? (openBlock(), createElementBlock("div", _hoisted_3$3, [createVNode(_sfc_main$E, {
|
|
3136
3151
|
type: "arrow",
|
|
3137
3152
|
button: "",
|
|
3138
3153
|
title: statusModel.value == "expand" ? "收起" : "展开",
|
|
3139
3154
|
rotate: statusModel.value == "expand" ? -90 : 90,
|
|
3140
3155
|
onClick: onStatusClick
|
|
3141
|
-
}, null, 8, ["title", "rotate"])])) : createCommentVNode("", true)])]), createElementVNode("div",
|
|
3156
|
+
}, null, 8, ["title", "rotate"])])) : createCommentVNode("", true)])], 2), createElementVNode("div", {
|
|
3157
|
+
class: normalizeClass(["fold-body", __props.body ? __props.body.class : []]),
|
|
3158
|
+
ref: "foldBody"
|
|
3159
|
+
}, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotHandle)))], 2)], 2);
|
|
3142
3160
|
};
|
|
3143
3161
|
}
|
|
3144
3162
|
});
|
|
@@ -3203,34 +3221,45 @@ var _sfc_main$d = defineComponent({
|
|
|
3203
3221
|
const map = Object.create(null);
|
|
3204
3222
|
map.main = {
|
|
3205
3223
|
scrollable: props.main && props.main.scroll != void 0,
|
|
3206
|
-
class: "main-area",
|
|
3224
|
+
class: buildAreaClass("main-area", props.main),
|
|
3207
3225
|
style: void 0
|
|
3208
3226
|
};
|
|
3209
3227
|
if (props.mode == "vertical") {
|
|
3210
3228
|
map.top = {
|
|
3211
3229
|
scrollable: props.top && props.top.scroll != void 0,
|
|
3212
|
-
class: "top-area",
|
|
3230
|
+
class: buildAreaClass("top-area", props.top),
|
|
3213
3231
|
style: buildHeightStyle(props.top)
|
|
3214
3232
|
};
|
|
3215
3233
|
map.bottom = {
|
|
3216
3234
|
scrollable: props.bottom && props.bottom.scroll != void 0,
|
|
3217
|
-
class: "bottom-area",
|
|
3235
|
+
class: buildAreaClass("bottom-area", props.bottom),
|
|
3218
3236
|
style: buildHeightStyle(props.bottom)
|
|
3219
3237
|
};
|
|
3220
3238
|
} else {
|
|
3221
3239
|
map.left = {
|
|
3222
3240
|
scrollable: props.left && props.left.scroll != void 0,
|
|
3223
|
-
class: "left-area",
|
|
3241
|
+
class: buildAreaClass("left-area", props.left),
|
|
3224
3242
|
style: buildWidthStyle(props.left)
|
|
3225
3243
|
};
|
|
3226
3244
|
map.right = {
|
|
3227
3245
|
scrollable: props.right && props.right.scroll != void 0,
|
|
3228
|
-
class: "right-area",
|
|
3246
|
+
class: buildAreaClass("right-area", props.right),
|
|
3229
3247
|
style: buildWidthStyle(props.right)
|
|
3230
3248
|
};
|
|
3231
3249
|
}
|
|
3232
3250
|
return map;
|
|
3233
3251
|
});
|
|
3252
|
+
function buildAreaClass(fixedClass, cssClass) {
|
|
3253
|
+
const classArray = [fixedClass];
|
|
3254
|
+
if (cssClass != void 0) {
|
|
3255
|
+
if (isArray(cssClass.class) == true) {
|
|
3256
|
+
classArray.push(...cssClass.class);
|
|
3257
|
+
} else if (isStringNotEmpty(cssClass.class) == true) {
|
|
3258
|
+
classArray.push(cssClass.class);
|
|
3259
|
+
}
|
|
3260
|
+
}
|
|
3261
|
+
return classArray;
|
|
3262
|
+
}
|
|
3234
3263
|
function buildWidthStyle(style) {
|
|
3235
3264
|
return style ? css.buildStyle({
|
|
3236
3265
|
minWidth: style.minWidth,
|
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 getBuiltinIcon(iconType) {
|
|
31
35
|
switch (iconType) {
|
|
32
36
|
case "success":
|
|
@@ -139,7 +143,7 @@
|
|
|
139
143
|
const _hoisted_1$m = ["title", "onClick"];
|
|
140
144
|
const _hoisted_2$e = ["type", "checked"];
|
|
141
145
|
const _hoisted_3$9 = ["textContent"];
|
|
142
|
-
const _hoisted_4$
|
|
146
|
+
const _hoisted_4$6 = ["textContent"];
|
|
143
147
|
var _sfc_main$D = vue.defineComponent({
|
|
144
148
|
...{
|
|
145
149
|
name: "Choose",
|
|
@@ -232,16 +236,12 @@
|
|
|
232
236
|
key: 3,
|
|
233
237
|
class: "item-des",
|
|
234
238
|
textContent: vue.toDisplayString(node.item.description)
|
|
235
|
-
}, null, 8, _hoisted_4$
|
|
239
|
+
}, null, 8, _hoisted_4$6)) : vue.createCommentVNode("", true)], 14, _hoisted_1$m);
|
|
236
240
|
}), 128))], 2);
|
|
237
241
|
};
|
|
238
242
|
}
|
|
239
243
|
});
|
|
240
244
|
|
|
241
|
-
var addLink = href => setTimeout(snail_view.link.register, 0, href);
|
|
242
|
-
|
|
243
|
-
addLink("/styles/snail.vue.vue.css");
|
|
244
|
-
|
|
245
245
|
var _sfc_main$C = vue.defineComponent({
|
|
246
246
|
...{
|
|
247
247
|
name: "Footer",
|
|
@@ -352,8 +352,8 @@
|
|
|
352
352
|
const _hoisted_3$8 = {
|
|
353
353
|
class: "input-body"
|
|
354
354
|
};
|
|
355
|
-
const _hoisted_4$
|
|
356
|
-
const _hoisted_5$
|
|
355
|
+
const _hoisted_4$5 = ["type", "value", "readonly", "placeholder", "title"];
|
|
356
|
+
const _hoisted_5$3 = ["title"];
|
|
357
357
|
var _sfc_main$A = vue.defineComponent({
|
|
358
358
|
...{
|
|
359
359
|
name: "Input",
|
|
@@ -415,7 +415,7 @@
|
|
|
415
415
|
title: inputModel.value,
|
|
416
416
|
onChange: onValueChange,
|
|
417
417
|
onClick: _cache[0] || (_cache[0] = $event => emits("click"))
|
|
418
|
-
}, null, 40, _hoisted_4$
|
|
418
|
+
}, null, 40, _hoisted_4$5), !!validateRef.value ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
419
419
|
key: 0,
|
|
420
420
|
class: "validate",
|
|
421
421
|
title: validateRef.value
|
|
@@ -424,7 +424,7 @@
|
|
|
424
424
|
button: "",
|
|
425
425
|
size: 16,
|
|
426
426
|
color: "red"
|
|
427
|
-
})], 8, _hoisted_5$
|
|
427
|
+
})], 8, _hoisted_5$3)) : vue.createCommentVNode("", true)])], 2);
|
|
428
428
|
};
|
|
429
429
|
}
|
|
430
430
|
});
|
|
@@ -635,11 +635,11 @@
|
|
|
635
635
|
};
|
|
636
636
|
const _hoisted_2$c = ["textContent"];
|
|
637
637
|
const _hoisted_3$7 = ["inputmode", "placeholder", "title"];
|
|
638
|
-
const _hoisted_4$
|
|
638
|
+
const _hoisted_4$4 = {
|
|
639
639
|
key: 1,
|
|
640
640
|
class: "number-suffix"
|
|
641
641
|
};
|
|
642
|
-
const _hoisted_5$
|
|
642
|
+
const _hoisted_5$2 = ["textContent"];
|
|
643
643
|
const _hoisted_6$2 = ["title", "textContent"];
|
|
644
644
|
const _hoisted_7$1 = ["title", "textContent"];
|
|
645
645
|
var _sfc_main$z = vue.defineComponent({
|
|
@@ -838,10 +838,10 @@
|
|
|
838
838
|
button: "",
|
|
839
839
|
size: 20,
|
|
840
840
|
rotate: 90
|
|
841
|
-
})])], 64)) : vue.createCommentVNode("", true)], 2), vue.unref(hasSuffix) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
841
|
+
})])], 64)) : vue.createCommentVNode("", true)], 2), vue.unref(hasSuffix) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [vue.createElementVNode("span", {
|
|
842
842
|
class: "ellipsis",
|
|
843
843
|
textContent: vue.toDisplayString(vue.unref(suffix))
|
|
844
|
-
}, null, 8, _hoisted_5$
|
|
844
|
+
}, null, 8, _hoisted_5$2)])) : vue.createCommentVNode("", true), vue.unref(upper) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
845
845
|
key: 2,
|
|
846
846
|
class: "number-util ellipsis",
|
|
847
847
|
title: upperTextRef.value,
|
|
@@ -2256,7 +2256,7 @@
|
|
|
2256
2256
|
};
|
|
2257
2257
|
const _hoisted_2$7 = ["title", "textContent"];
|
|
2258
2258
|
const _hoisted_3$4 = ["textContent"];
|
|
2259
|
-
const _hoisted_4$
|
|
2259
|
+
const _hoisted_4$3 = {
|
|
2260
2260
|
key: 1,
|
|
2261
2261
|
class: "placeholder"
|
|
2262
2262
|
};
|
|
@@ -2409,7 +2409,7 @@
|
|
|
2409
2409
|
button: "",
|
|
2410
2410
|
size: 24,
|
|
2411
2411
|
rotate: 90
|
|
2412
|
-
})) : vue.createCommentVNode("", true)], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
2412
|
+
})) : vue.createCommentVNode("", true)], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, "暂无可选项"))], 2);
|
|
2413
2413
|
};
|
|
2414
2414
|
}
|
|
2415
2415
|
});
|
|
@@ -2588,10 +2588,15 @@
|
|
|
2588
2588
|
class: "snail-action flex-cross-center",
|
|
2589
2589
|
ref: "snail-action"
|
|
2590
2590
|
};
|
|
2591
|
-
const _hoisted_2$5 =
|
|
2591
|
+
const _hoisted_2$5 = {
|
|
2592
|
+
class: "action-slot flex-cross-center"
|
|
2593
|
+
};
|
|
2592
2594
|
var _sfc_main$i = vue.defineComponent({
|
|
2593
2595
|
__name: "action",
|
|
2594
2596
|
props: {
|
|
2597
|
+
disabled: {
|
|
2598
|
+
type: Boolean
|
|
2599
|
+
},
|
|
2595
2600
|
trigger: {},
|
|
2596
2601
|
actions: {}
|
|
2597
2602
|
},
|
|
@@ -2616,21 +2621,23 @@
|
|
|
2616
2621
|
popupScope.destroy();
|
|
2617
2622
|
return;
|
|
2618
2623
|
}
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2624
|
+
if (props.disabled != true) {
|
|
2625
|
+
popupScope = follow(rootDom.value, {
|
|
2626
|
+
component: _sfc_main$j,
|
|
2627
|
+
closeOnEscape: true,
|
|
2628
|
+
closeOnMask: true,
|
|
2629
|
+
closeOnResize: true,
|
|
2630
|
+
closeOnTarget: true,
|
|
2631
|
+
followX: longPress ? ["center", "start", "end"] : ["after", "end", "start", "end", "center"],
|
|
2632
|
+
followY: longPress ? ["center", "after", "before"] : ["after", "before", "center", "end", "after"],
|
|
2633
|
+
props: {
|
|
2634
|
+
mode: "vertical",
|
|
2635
|
+
actions: props.actions
|
|
2636
|
+
}
|
|
2637
|
+
});
|
|
2638
|
+
const code = await popupScope;
|
|
2639
|
+
snail_core.isStringNotEmpty(code) && emits("trigger", code);
|
|
2640
|
+
}
|
|
2634
2641
|
}
|
|
2635
2642
|
function onMouseDown() {
|
|
2636
2643
|
if (props.trigger == "long-press" && pressStartDate == void 0) {
|
|
@@ -2664,10 +2671,7 @@
|
|
|
2664
2671
|
}
|
|
2665
2672
|
});
|
|
2666
2673
|
return (_ctx, _cache) => {
|
|
2667
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.createElementVNode("div", {
|
|
2668
|
-
class: "action-slot flex-cross-center",
|
|
2669
|
-
title: String(__props.trigger == "hover")
|
|
2670
|
-
}, [vue.renderSlot(_ctx.$slots, "default")], 8, _hoisted_2$5), __props.trigger == "hover" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
2674
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [vue.createElementVNode("div", _hoisted_2$5, [vue.renderSlot(_ctx.$slots, "default")]), __props.trigger == "hover" && __props.disabled != true ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
2671
2675
|
key: 0,
|
|
2672
2676
|
class: "hover-tips",
|
|
2673
2677
|
button: "",
|
|
@@ -3043,19 +3047,12 @@
|
|
|
3043
3047
|
}
|
|
3044
3048
|
});
|
|
3045
3049
|
|
|
3046
|
-
const _hoisted_1$9 =
|
|
3047
|
-
class: "fold-header"
|
|
3048
|
-
};
|
|
3050
|
+
const _hoisted_1$9 = ["textContent"];
|
|
3049
3051
|
const _hoisted_2$4 = ["textContent"];
|
|
3050
|
-
const _hoisted_3$3 =
|
|
3051
|
-
const _hoisted_4$3 = {
|
|
3052
|
+
const _hoisted_3$3 = {
|
|
3052
3053
|
key: 1,
|
|
3053
3054
|
class: "status"
|
|
3054
3055
|
};
|
|
3055
|
-
const _hoisted_5$2 = {
|
|
3056
|
-
class: "fold-body",
|
|
3057
|
-
ref: "foldBody"
|
|
3058
|
-
};
|
|
3059
3056
|
var _sfc_main$f = vue.defineComponent({
|
|
3060
3057
|
...{
|
|
3061
3058
|
name: "Fold",
|
|
@@ -3067,7 +3064,9 @@
|
|
|
3067
3064
|
type: Boolean
|
|
3068
3065
|
},
|
|
3069
3066
|
title: {},
|
|
3070
|
-
subtitle: {}
|
|
3067
|
+
subtitle: {},
|
|
3068
|
+
header: {},
|
|
3069
|
+
body: {}
|
|
3071
3070
|
}, {
|
|
3072
3071
|
"status": {
|
|
3073
3072
|
default: "expand"
|
|
@@ -3087,27 +3086,37 @@
|
|
|
3087
3086
|
watcher
|
|
3088
3087
|
} = useReactive();
|
|
3089
3088
|
const statusModel = vue.useModel(__props, "status");
|
|
3090
|
-
|
|
3089
|
+
const foldHeaderDom = vue.useTemplateRef("foldHeader");
|
|
3091
3090
|
const foldBodyDom = vue.useTemplateRef("foldBody");
|
|
3092
|
-
|
|
3091
|
+
const slotHandle = {
|
|
3092
|
+
getStatus: () => statusModel.value,
|
|
3093
|
+
setStatus: value => statusModel.value = value,
|
|
3094
|
+
toggle: () => (onStatusClick(), statusModel.value)
|
|
3095
|
+
};
|
|
3096
|
+
function updateFoldStyle(disableAnimation) {
|
|
3093
3097
|
const isExpand = statusModel.value == "expand";
|
|
3094
3098
|
if (foldBodyDom.value) {
|
|
3095
|
-
const minHeight =
|
|
3099
|
+
const minHeight = foldHeaderDom.value.getBoundingClientRect().height;
|
|
3096
3100
|
const maxHeight = minHeight + foldBodyDom.value.getBoundingClientRect().height;
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3101
|
+
const endStyle = {
|
|
3102
|
+
overflow: isExpand ? "" : "hidden",
|
|
3103
|
+
height: isExpand ? "" : `${minHeight}px`
|
|
3104
|
+
};
|
|
3105
|
+
if (disableAnimation === true) {
|
|
3106
|
+
Object.assign(foldBodyDom.value.parentElement.style, endStyle);
|
|
3107
|
+
} else {
|
|
3108
|
+
transition(foldBodyDom.value.parentElement, {
|
|
3109
|
+
from: {
|
|
3110
|
+
transition: "height 0.2s ease",
|
|
3111
|
+
overflow: "hidden",
|
|
3112
|
+
height: `${isExpand ? minHeight : maxHeight}px`
|
|
3113
|
+
},
|
|
3114
|
+
to: {
|
|
3115
|
+
height: `${isExpand ? maxHeight : minHeight}px`
|
|
3116
|
+
},
|
|
3117
|
+
end: endStyle
|
|
3118
|
+
});
|
|
3119
|
+
}
|
|
3111
3120
|
}
|
|
3112
3121
|
}
|
|
3113
3122
|
function onStatusClick() {
|
|
@@ -3123,24 +3132,33 @@
|
|
|
3123
3132
|
}
|
|
3124
3133
|
vue.nextTick(() => emits("change", statusModel.value));
|
|
3125
3134
|
}
|
|
3135
|
+
vue.onMounted(() => {
|
|
3136
|
+
statusModel.value != "expand" && updateFoldStyle(true);
|
|
3137
|
+
watcher(statusModel, () => updateFoldStyle(false));
|
|
3138
|
+
});
|
|
3126
3139
|
return (_ctx, _cache) => {
|
|
3127
3140
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
3128
3141
|
class: vue.normalizeClass(["snail-fold", statusModel.value])
|
|
3129
|
-
}, [vue.createElementVNode("div",
|
|
3142
|
+
}, [vue.createElementVNode("div", {
|
|
3143
|
+
class: vue.normalizeClass(["fold-header", __props.header ? __props.header.class : []]),
|
|
3144
|
+
ref: "foldHeader"
|
|
3145
|
+
}, [vue.renderSlot(_ctx.$slots, "header", vue.normalizeProps(vue.guardReactiveProps(slotHandle)), () => [vue.createElementVNode("div", {
|
|
3130
3146
|
class: "title ellipsis",
|
|
3131
3147
|
textContent: vue.toDisplayString(__props.title)
|
|
3132
|
-
}, null, 8,
|
|
3148
|
+
}, null, 8, _hoisted_1$9), !!__props.subtitle ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
3133
3149
|
key: 0,
|
|
3134
3150
|
class: "subtitle ellipsis",
|
|
3135
3151
|
textContent: vue.toDisplayString(__props.subtitle)
|
|
3136
|
-
}, null, 8,
|
|
3137
|
-
custom: false,
|
|
3152
|
+
}, null, 8, _hoisted_2$4)) : vue.createCommentVNode("", true), __props.disabled != true ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [vue.createVNode(_sfc_main$E, {
|
|
3138
3153
|
type: "arrow",
|
|
3139
3154
|
button: "",
|
|
3140
3155
|
title: statusModel.value == "expand" ? "收起" : "展开",
|
|
3141
3156
|
rotate: statusModel.value == "expand" ? -90 : 90,
|
|
3142
3157
|
onClick: onStatusClick
|
|
3143
|
-
}, null, 8, ["title", "rotate"])])) : vue.createCommentVNode("", true)])]), vue.createElementVNode("div",
|
|
3158
|
+
}, null, 8, ["title", "rotate"])])) : vue.createCommentVNode("", true)])], 2), vue.createElementVNode("div", {
|
|
3159
|
+
class: vue.normalizeClass(["fold-body", __props.body ? __props.body.class : []]),
|
|
3160
|
+
ref: "foldBody"
|
|
3161
|
+
}, [vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(slotHandle)))], 2)], 2);
|
|
3144
3162
|
};
|
|
3145
3163
|
}
|
|
3146
3164
|
});
|
|
@@ -3205,34 +3223,45 @@
|
|
|
3205
3223
|
const map = Object.create(null);
|
|
3206
3224
|
map.main = {
|
|
3207
3225
|
scrollable: props.main && props.main.scroll != void 0,
|
|
3208
|
-
class: "main-area",
|
|
3226
|
+
class: buildAreaClass("main-area", props.main),
|
|
3209
3227
|
style: void 0
|
|
3210
3228
|
};
|
|
3211
3229
|
if (props.mode == "vertical") {
|
|
3212
3230
|
map.top = {
|
|
3213
3231
|
scrollable: props.top && props.top.scroll != void 0,
|
|
3214
|
-
class: "top-area",
|
|
3232
|
+
class: buildAreaClass("top-area", props.top),
|
|
3215
3233
|
style: buildHeightStyle(props.top)
|
|
3216
3234
|
};
|
|
3217
3235
|
map.bottom = {
|
|
3218
3236
|
scrollable: props.bottom && props.bottom.scroll != void 0,
|
|
3219
|
-
class: "bottom-area",
|
|
3237
|
+
class: buildAreaClass("bottom-area", props.bottom),
|
|
3220
3238
|
style: buildHeightStyle(props.bottom)
|
|
3221
3239
|
};
|
|
3222
3240
|
} else {
|
|
3223
3241
|
map.left = {
|
|
3224
3242
|
scrollable: props.left && props.left.scroll != void 0,
|
|
3225
|
-
class: "left-area",
|
|
3243
|
+
class: buildAreaClass("left-area", props.left),
|
|
3226
3244
|
style: buildWidthStyle(props.left)
|
|
3227
3245
|
};
|
|
3228
3246
|
map.right = {
|
|
3229
3247
|
scrollable: props.right && props.right.scroll != void 0,
|
|
3230
|
-
class: "right-area",
|
|
3248
|
+
class: buildAreaClass("right-area", props.right),
|
|
3231
3249
|
style: buildWidthStyle(props.right)
|
|
3232
3250
|
};
|
|
3233
3251
|
}
|
|
3234
3252
|
return map;
|
|
3235
3253
|
});
|
|
3254
|
+
function buildAreaClass(fixedClass, cssClass) {
|
|
3255
|
+
const classArray = [fixedClass];
|
|
3256
|
+
if (cssClass != void 0) {
|
|
3257
|
+
if (snail_core.isArray(cssClass.class) == true) {
|
|
3258
|
+
classArray.push(...cssClass.class);
|
|
3259
|
+
} else if (snail_core.isStringNotEmpty(cssClass.class) == true) {
|
|
3260
|
+
classArray.push(cssClass.class);
|
|
3261
|
+
}
|
|
3262
|
+
}
|
|
3263
|
+
return classArray;
|
|
3264
|
+
}
|
|
3236
3265
|
function buildWidthStyle(style) {
|
|
3237
3266
|
return style ? snail_view.css.buildStyle({
|
|
3238
3267
|
minWidth: style.minWidth,
|
|
@@ -2,12 +2,12 @@
|
|
|
2
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
3
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/choose.vue index:0 */
|
|
4
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>.item-text{color:#2e3033}.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 #dcdfe6}.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}
|
|
5
|
+
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/footer.vue index:0 */
|
|
6
|
+
.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}
|
|
5
7
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/header.vue index:0 */
|
|
6
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}
|
|
7
9
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/icon.vue index:0 */
|
|
8
10
|
.snail-icon{fill:#8a8099;opacity:1;transition:all .2s linear}.snail-icon.button{cursor:pointer}
|
|
9
|
-
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/footer.vue index:0 */
|
|
10
|
-
.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}
|
|
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 */
|
|
@@ -18,10 +18,10 @@
|
|
|
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
19
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/switch.vue index:0 */
|
|
20
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}
|
|
21
|
-
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/action.vue index:0 */
|
|
22
|
-
.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>.hover-tips{display:none;flex-shrink:0}.snail-action:hover>.hover-tips{display:block}
|
|
23
21
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/textarea.vue index:0 */
|
|
24
22
|
textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overflow-y:auto;resize:none;width:100%}
|
|
23
|
+
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/action.vue index:0 */
|
|
24
|
+
.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>.hover-tips{display:none;flex-shrink:0}.snail-action:hover>.hover-tips{display:block}
|
|
25
25
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/dynamic.vue index:0 */
|
|
26
26
|
.snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
|
|
27
27
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/elastic.vue index:0 */
|
|
@@ -60,20 +60,20 @@ textarea.snail-textarea{font-size:14px;line-height:1.5em;overflow-x:hidden;overf
|
|
|
60
60
|
.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}
|
|
61
61
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/prompt/loading.vue index:0 */
|
|
62
62
|
.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)}}
|
|
63
|
-
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/components/time-pc.vue index:0 */
|
|
64
|
-
.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%}
|
|
65
|
-
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/components/date-pc.vue index:0 */
|
|
66
|
-
.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}
|
|
67
63
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/confirm-container.vue index:0 */
|
|
68
64
|
.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}
|
|
69
65
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/dialog-container.vue index:0 */
|
|
70
66
|
.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)}
|
|
71
|
-
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/follow-container.vue index:0 */
|
|
72
|
-
.snail-follow{background-color:#fff;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}
|
|
73
67
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/popup-container.vue index:0 */
|
|
74
68
|
.snail-popup{left:0;position:fixed;top:0}
|
|
69
|
+
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/follow-container.vue index:0 */
|
|
70
|
+
.snail-follow{background-color:#fff;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}
|
|
75
71
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/popup/components/toast-container.vue index:0 */
|
|
76
72
|
.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}
|
|
73
|
+
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/components/time-pc.vue index:0 */
|
|
74
|
+
.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%}
|
|
75
|
+
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/picker/components/date-pc.vue index:0 */
|
|
76
|
+
.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}
|
|
77
77
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/base/components/select-popup.vue index:0 */
|
|
78
78
|
.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}
|
|
79
79
|
/* src:../../../../../01_snail/snail.js/packages/snail.vue/src/container/components/action-items.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.23",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/snail.vue.js",
|
|
9
9
|
"module": "dist/snail.vue.js",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"vue": "^3.5.14",
|
|
17
|
-
"snail.core": ">=2.0.
|
|
18
|
-
"snail.view": ">=2.0.
|
|
17
|
+
"snail.core": ">=2.0.30",
|
|
18
|
+
"snail.view": ">=2.0.11",
|
|
19
19
|
"sortablejs": ">=1.15.6"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|