snail.vue 1.0.26 → 1.0.28

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.
@@ -1,5 +1,5 @@
1
1
  import * as snail_view from 'snail.view';
2
- import { AlignStyle, WidthStyle, FlexStyle, BorderStyle, PaddingStyle, HeightStyle } from 'snail.view';
2
+ import { BaseStyle, WidthStyle, FlexBoxStyle, HeightStyle, BorderStyle, PaddingStyle } from 'snail.view';
3
3
  import * as vue from 'vue';
4
4
  import { Component, App, Ref, ShallowRef } from 'vue';
5
5
  import { IScope } from 'snail.core';
@@ -118,7 +118,7 @@ type InputOptions = {
118
118
  * - 对齐方式
119
119
  * - 标题区域宽度
120
120
  */
121
- titleStyle?: AlignStyle & WidthStyle & FlexStyle;
121
+ titleStyle?: BaseStyle & WidthStyle & FlexBoxStyle;
122
122
  };
123
123
  /**
124
124
  * 输入框事件
@@ -185,26 +185,16 @@ type TableOptions = ScrollOptions & {
185
185
  border?: boolean;
186
186
  /**
187
187
  * 表头样式
188
+ * - 约束高度和背景颜色
189
+ * - 后期再增加其他的
188
190
  */
189
- headerStyle?: TableStyleOptions;
191
+ headerStyle?: BaseStyle & HeightStyle;
190
192
  /**
191
193
  * 表尾部样式
194
+ * - 约束高度和背景颜色
195
+ * - 后期再增加其他的
192
196
  */
193
- footerStyle?: TableStyleOptions;
194
- };
195
- /**
196
- * 表格样式配置选项
197
- * - 用于表头和表尾配置样式
198
- */
199
- type TableStyleOptions = {
200
- /**
201
- * 背景色
202
- */
203
- background?: string;
204
- /**
205
- * 高度
206
- */
207
- height?: string;
197
+ footerStyle?: BaseStyle & HeightStyle;
208
198
  };
209
199
  /**
210
200
  * Table 行配置选项
@@ -214,7 +204,7 @@ type TableRowOptions = HeightStyle & {};
214
204
  * Table 列配置选项
215
205
  * - border 样式需要配合TableOptions.border使用,否则会导致边框线重叠
216
206
  */
217
- type TableColOptions = FlexStyle & WidthStyle & Pick<AlignStyle, "align"> & Pick<BorderStyle, "border"> & Pick<PaddingStyle, "padding">;
207
+ type TableColOptions = BaseStyle & FlexBoxStyle & WidthStyle & BorderStyle & PaddingStyle;
218
208
 
219
209
  /**
220
210
  * 折叠面板配置选项
@@ -989,4 +979,4 @@ declare const components: {
989
979
  declare function mount(options: ComponentMountOptions, onDestroyed?: (fn: () => void) => void): IScope;
990
980
 
991
981
  export { components, confirm, getSvgIcon, mount, onAppCreated, openDialog, scopeDialog, scopeRef, toast, triggerAppCreated };
992
- export type { ButtonOptions, ComponentMountOptions, ComponentOptions, ConfirmHandle, ConfirmOptions, Dialog, DialogHandle, DialogOpenResult, DialogOptions, DragVerifyInfo, DragVerifyOptions, EmptyOptions, FoldEvents, FoldOptions, FoldStatus, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, IconOptions, IconPathOptions, IconType, InputEvents, InputOptions, LoadingOptions, ScrollEvents, ScrollOptions, ScrollTouchType, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, TableStyleOptions, ToastHandle, ToastOptions };
982
+ export type { ButtonOptions, ComponentMountOptions, ComponentOptions, ConfirmHandle, ConfirmOptions, Dialog, DialogHandle, DialogOpenResult, DialogOptions, DragVerifyInfo, DragVerifyOptions, EmptyOptions, FoldEvents, FoldOptions, FoldStatus, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, IconOptions, IconPathOptions, IconType, InputEvents, InputOptions, LoadingOptions, ScrollEvents, ScrollOptions, ScrollTouchType, SwitchEvents, SwitchOptions, TableColOptions, TableOptions, TableRowOptions, ToastHandle, ToastOptions };
package/dist/snail.vue.js CHANGED
@@ -23,10 +23,6 @@ var _sfc_main$h = defineComponent({
23
23
  }
24
24
  });
25
25
 
26
- var addLink = href => setTimeout(link.register, 0, href);
27
-
28
- addLink("/styles/snail.vue.vue.css");
29
-
30
26
  var _sfc_main$g = defineComponent({
31
27
  ...{
32
28
  name: "Footer",
@@ -76,6 +72,10 @@ var _sfc_main$g = defineComponent({
76
72
  }
77
73
  });
78
74
 
75
+ var addLink = href => setTimeout(link.register, 0, href);
76
+
77
+ addLink("/styles/snail.vue.vue.css");
78
+
79
79
  function getSvgIcon(options) {
80
80
  var {
81
81
  type,
@@ -556,13 +556,8 @@ var _sfc_main$8 = defineComponent({
556
556
  },
557
557
  setup(__props) {
558
558
  const props = __props;
559
- function getStyle(styleOptions) {
560
- styleOptions = styleOptions || {};
561
- const style = Object.create(null);
562
- styleOptions.background && (style.background = styleOptions.background);
563
- styleOptions.height && (style.height = styleOptions.height);
564
- return style;
565
- }
559
+ const headerStyle = computed(() => css.buildStyle(props.headerStyle));
560
+ const footerStyle = computed(() => css.buildStyle(props.footerStyle));
566
561
  return (_ctx, _cache) => {
567
562
  return openBlock(), createBlock(_sfc_main$9, {
568
563
  class: normalizeClass(["snail-table", {
@@ -573,10 +568,10 @@ var _sfc_main$8 = defineComponent({
573
568
  }, {
574
569
  default: withCtx(() => [createElementVNode("div", {
575
570
  class: "table-header",
576
- style: normalizeStyle(getStyle(props.headerStyle))
571
+ style: normalizeStyle(headerStyle.value)
577
572
  }, [renderSlot(_ctx.$slots, "header")], 4), createElementVNode("div", _hoisted_1$6, [renderSlot(_ctx.$slots, "default")]), createElementVNode("div", {
578
573
  class: "table-footer",
579
- style: normalizeStyle(getStyle(props.footerStyle))
574
+ style: normalizeStyle(footerStyle.value)
580
575
  }, [renderSlot(_ctx.$slots, "footer")], 4)]),
581
576
  _: 3
582
577
  }, 8, ["scroll-x", "scroll-y", "class"]);
@@ -614,23 +609,39 @@ var _sfc_main$6 = defineComponent({
614
609
  },
615
610
  __name: "table-col",
616
611
  props: {
612
+ color: {},
613
+ backgroundColor: {},
614
+ textAlign: {},
615
+ verticalAlign: {},
616
+ justifyContent: {},
617
+ alignItems: {},
617
618
  flex: {},
618
619
  flexBasis: {},
619
620
  flexGrow: {},
620
621
  flexShrink: {},
622
+ order: {},
623
+ alignSelf: {},
621
624
  width: {},
622
625
  minWidth: {},
623
626
  maxWidth: {},
624
- align: {},
627
+ borderRadius: {},
625
628
  border: {},
626
- padding: {}
629
+ borderTop: {},
630
+ borderRight: {},
631
+ borderBottom: {},
632
+ borderLeft: {},
633
+ padding: {},
634
+ paddingTop: {},
635
+ paddingRight: {},
636
+ paddingBottom: {},
637
+ paddingLeft: {}
627
638
  },
628
639
  setup(__props) {
629
640
  const props = __props;
630
641
  const colStyle = computed(() => css.buildStyle(props));
631
642
  return (_ctx, _cache) => {
632
643
  return openBlock(), createElementBlock("div", {
633
- class: normalizeClass(["table-col", props.align]),
644
+ class: normalizeClass(["table-col", props.textAlign]),
634
645
  style: normalizeStyle(colStyle.value)
635
646
  }, [renderSlot(_ctx.$slots, "default")], 6);
636
647
  };
@@ -770,10 +781,6 @@ const initVueApp = (() => {
770
781
  };
771
782
  })();
772
783
 
773
- function getTitleStyle(options, isFlex) {
774
- return options && options.titleStyle ? css.buildStyle(options.titleStyle, isFlex) : Object.create(null);
775
- }
776
-
777
784
  const _hoisted_1$4 = ["textContent"];
778
785
  const _hoisted_2$3 = {
779
786
  key: 0,
@@ -818,7 +825,7 @@ var _sfc_main$4 = defineComponent({
818
825
  const inputRef = useTemplateRef("inputRef");
819
826
  const inputModel = useModel(__props, "modelValue");
820
827
  const validateRef = shallowRef();
821
- const titleStyle = getTitleStyle(props, true);
828
+ const titleStyle = computed(() => css.buildStyle(props.titleStyle));
822
829
  function onValueChange() {
823
830
  const text = inputRef.value.value || "";
824
831
  inputModel.value = text;
@@ -833,7 +840,7 @@ var _sfc_main$4 = defineComponent({
833
840
  }, [!!props.title ? (openBlock(), createElementBlock("div", {
834
841
  key: 0,
835
842
  class: "input-title",
836
- style: normalizeStyle(unref(titleStyle))
843
+ style: normalizeStyle(titleStyle.value)
837
844
  }, [createElementVNode("span", {
838
845
  class: "text",
839
846
  textContent: toDisplayString(props.title)
@@ -978,7 +985,8 @@ var _sfc_main$2 = defineComponent({
978
985
  "use-to": "dialog",
979
986
  title: props.title || "提示",
980
987
  onClose: _cache[0] || (_cache[0] = $event => props.closeDialog(false))
981
- }, null, 8, ["title"]), createElementVNode("main", {
988
+ }, null, 8, ["title"]), createElementVNode("div", {
989
+ class: "confirm-body",
982
990
  innerHTML: props.message || "请确认?"
983
991
  }, null, 8, _hoisted_2$1), createVNode(_sfc_main$g, {
984
992
  align: "right",
@@ -554,13 +554,8 @@
554
554
  },
555
555
  setup(__props) {
556
556
  const props = __props;
557
- function getStyle(styleOptions) {
558
- styleOptions = styleOptions || {};
559
- const style = Object.create(null);
560
- styleOptions.background && (style.background = styleOptions.background);
561
- styleOptions.height && (style.height = styleOptions.height);
562
- return style;
563
- }
557
+ const headerStyle = vue.computed(() => snail_view.css.buildStyle(props.headerStyle));
558
+ const footerStyle = vue.computed(() => snail_view.css.buildStyle(props.footerStyle));
564
559
  return (_ctx, _cache) => {
565
560
  return vue.openBlock(), vue.createBlock(_sfc_main$9, {
566
561
  class: vue.normalizeClass(["snail-table", {
@@ -571,10 +566,10 @@
571
566
  }, {
572
567
  default: vue.withCtx(() => [vue.createElementVNode("div", {
573
568
  class: "table-header",
574
- style: vue.normalizeStyle(getStyle(props.headerStyle))
569
+ style: vue.normalizeStyle(headerStyle.value)
575
570
  }, [vue.renderSlot(_ctx.$slots, "header")], 4), vue.createElementVNode("div", _hoisted_1$6, [vue.renderSlot(_ctx.$slots, "default")]), vue.createElementVNode("div", {
576
571
  class: "table-footer",
577
- style: vue.normalizeStyle(getStyle(props.footerStyle))
572
+ style: vue.normalizeStyle(footerStyle.value)
578
573
  }, [vue.renderSlot(_ctx.$slots, "footer")], 4)]),
579
574
  _: 3
580
575
  }, 8, ["scroll-x", "scroll-y", "class"]);
@@ -612,23 +607,39 @@
612
607
  },
613
608
  __name: "table-col",
614
609
  props: {
610
+ color: {},
611
+ backgroundColor: {},
612
+ textAlign: {},
613
+ verticalAlign: {},
614
+ justifyContent: {},
615
+ alignItems: {},
615
616
  flex: {},
616
617
  flexBasis: {},
617
618
  flexGrow: {},
618
619
  flexShrink: {},
620
+ order: {},
621
+ alignSelf: {},
619
622
  width: {},
620
623
  minWidth: {},
621
624
  maxWidth: {},
622
- align: {},
625
+ borderRadius: {},
623
626
  border: {},
624
- padding: {}
627
+ borderTop: {},
628
+ borderRight: {},
629
+ borderBottom: {},
630
+ borderLeft: {},
631
+ padding: {},
632
+ paddingTop: {},
633
+ paddingRight: {},
634
+ paddingBottom: {},
635
+ paddingLeft: {}
625
636
  },
626
637
  setup(__props) {
627
638
  const props = __props;
628
639
  const colStyle = vue.computed(() => snail_view.css.buildStyle(props));
629
640
  return (_ctx, _cache) => {
630
641
  return vue.openBlock(), vue.createElementBlock("div", {
631
- class: vue.normalizeClass(["table-col", props.align]),
642
+ class: vue.normalizeClass(["table-col", props.textAlign]),
632
643
  style: vue.normalizeStyle(colStyle.value)
633
644
  }, [vue.renderSlot(_ctx.$slots, "default")], 6);
634
645
  };
@@ -768,10 +779,6 @@
768
779
  };
769
780
  })();
770
781
 
771
- function getTitleStyle(options, isFlex) {
772
- return options && options.titleStyle ? snail_view.css.buildStyle(options.titleStyle, isFlex) : Object.create(null);
773
- }
774
-
775
782
  const _hoisted_1$4 = ["textContent"];
776
783
  const _hoisted_2$3 = {
777
784
  key: 0,
@@ -816,7 +823,7 @@
816
823
  const inputRef = vue.useTemplateRef("inputRef");
817
824
  const inputModel = vue.useModel(__props, "modelValue");
818
825
  const validateRef = vue.shallowRef();
819
- const titleStyle = getTitleStyle(props, true);
826
+ const titleStyle = vue.computed(() => snail_view.css.buildStyle(props.titleStyle));
820
827
  function onValueChange() {
821
828
  const text = inputRef.value.value || "";
822
829
  inputModel.value = text;
@@ -831,7 +838,7 @@
831
838
  }, [!!props.title ? (vue.openBlock(), vue.createElementBlock("div", {
832
839
  key: 0,
833
840
  class: "input-title",
834
- style: vue.normalizeStyle(vue.unref(titleStyle))
841
+ style: vue.normalizeStyle(titleStyle.value)
835
842
  }, [vue.createElementVNode("span", {
836
843
  class: "text",
837
844
  textContent: vue.toDisplayString(props.title)
@@ -976,7 +983,8 @@
976
983
  "use-to": "dialog",
977
984
  title: props.title || "提示",
978
985
  onClose: _cache[0] || (_cache[0] = $event => props.closeDialog(false))
979
- }, null, 8, ["title"]), vue.createElementVNode("main", {
986
+ }, null, 8, ["title"]), vue.createElementVNode("div", {
987
+ class: "confirm-body",
980
988
  innerHTML: props.message || "请确认?"
981
989
  }, null, 8, _hoisted_2$1), vue.createVNode(_sfc_main$g, {
982
990
  align: "right",
@@ -1,36 +1,36 @@
1
- /* src:base\icon.vue index:0 */
2
- .snail-icon{cursor:pointer;opacity:1}
3
- /* src:base\header.vue index:0 */
4
- .snail-header{align-items:center;background-color:#fff;display:flex;flex-direction:row;flex-shrink:0;position:relative;width:100%}.snail-header>.header-title{color:#2e3033;flex:1;line-height:48px;overflow:hidden;padding-left:24px;text-overflow:ellipsis;white-space:nowrap}.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:700}.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}
5
1
  /* src:base\button.vue index:0 */
6
2
  .snail-button{align-items:center;border-radius:2px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;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}
7
3
  /* src:base\footer.vue index:0 */
8
4
  .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:left}.snail-footer.center{justify-content:center}.snail-footer.right{justify-content:right}
9
- /* src:container\dynamic.vue index:0 */
10
- .snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
5
+ /* src:base\icon.vue index:0 */
6
+ .snail-icon{cursor:pointer;opacity:1}
11
7
  /* src:base\switch.vue index:0 */
12
8
  .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:default}
9
+ /* src:base\header.vue index:0 */
10
+ .snail-header{align-items:center;background-color:#fff;display:flex;flex-direction:row;flex-shrink:0;position:relative;width:100%}.snail-header>.header-title{color:#2e3033;flex:1;line-height:48px;overflow:hidden;padding-left:24px;text-overflow:ellipsis;white-space:nowrap}.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:700}.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:container\dynamic.vue index:0 */
12
+ .snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
13
13
  /* src:container\fold.vue index:0 */
14
14
  .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>.subtitle,.snail-fold>div.fold-header>.title{overflow:hidden;white-space:nowrap}.snail-fold>div.fold-header>.title{color:#2e3033;font-size:14px;font-weight:700;padding-left:20px}.snail-fold>div.fold-header>.subtitle{color:#8a9099;font-size:13px}.snail-fold>div.fold-header>div.status{display:flex;flex:1;justify-content:right;justify-self:right}.snail-fold>div.fold-body{padding-left:20px}
15
15
  /* src:container\scroll.vue index:0 */
16
16
  .snail-scroll{overflow:hidden}.snail-scroll.scroll-x{overflow-x:auto}.snail-scroll.scroll-y{overflow-y:auto}
17
17
  /* src:container\table.vue index:0 */
18
18
  .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{position:sticky!important;top:0}.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}
19
- /* src:container\components\table-row.vue index:0 */
20
- .table-row{align-items:center;display:flex;min-width:100%}
21
19
  /* src:container\components\table-col.vue index:0 */
22
20
  .table-col{align-items:center;display:inline-flex;height:100%;white-space:nowrap}.table-col.left{justify-content:left}.table-col.center{justify-content:center}.table-col.right{justify-content:right}
23
21
  /* src:form\input.vue index:0 */
24
22
  .snail-input{display:inline-flex;min-height:34px}.snail-input>.input-title{flex-shrink:0;font-size:14px;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{border:1px solid #dddfed;color:#2e3033;flex:1;font-size:14px;font-weight:400;padding:0 10px;text-overflow:ellipsis}.snail-input>.input-body>input:focus{border:1px solid #3292ea}.snail-input>.input-body>span{background-color:red;flex-shrink:0}.snail-input.readonly>div.input-body>input:focus{border:1px solid #dddfed}
23
+ /* src:container\components\table-row.vue index:0 */
24
+ .table-row{align-items:center;display:flex;min-width:100%}
25
25
  /* src:prompt\drag-verify.vue index:0 */
26
26
  .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{align-items:center;background-image:-webkit-linear-gradient(left,#666,#666 45%,#fff 50%,#666 55%,#666);color:#7e848c;display:flex;font-size:12px;font-weight:400;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-text-fill-color:transparent;animation:snail-drag-verify 2s linear infinite;-webkit-background-clip:text;background-clip:text;background-size:200% 100%}.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}}
27
27
  /* src:prompt\empty.vue index:0 */
28
28
  .snail-empty{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.snail-empty>img{height:60px;width:60px}.snail-empty>div.message{color:#babdc2;font-size:14px;font-weight:400;padding:0 10px 10px}
29
29
  /* src:prompt\loading.vue index:0 */
30
30
  .snail-loading{bottom:0;left:0;position:absolute;right:0;top:0;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 .5s ease-in-out}.snail-loading-enter-from,.snail-loading-leave-to{opacity:0}
31
- /* src:prompt\components\toast.vue index:0 */
32
- .snail-toast{background:rgba(0,0,0,.7);border-radius:5px;color:#fff;display:flex;max-height:200px;max-width:500px;min-width:200px;opacity:.2;overflow:hidden;padding:20px 30px 20px 20px;position:fixed;transition:opacity .2s ease;z-index:99999}.snail-toast.show-toast{opacity:1}.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}.snail-toast>div.message{flex:1;line-height:24px;overflow:hidden;word-break:break-all}
33
31
  /* src:container\components\dialog-wrapper.vue index:0 */
34
32
  .snail-dialog{align-items:center;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0}.snail-dialog:before{background-color:rgba(24,27,33,.45);content:"";height:100%;position:absolute;width:100%}.snail-dialog>.dialog-body{background-color:#fff;border-radius:4px;box-shadow:0 0 15px rgba(0,0,0,.3);box-sizing:border-box;position:relative}.snail-dialog.unactive:before{display:none!important}.snail-dialog.unactive>.dialog-body{box-shadow:0 0 4px rgba(0,0,0,.3)}.snail-dialog-enter-active,.snail-dialog-leave-active{transition:scale .1s ease-in-out,opacity .1s ease}.snail-dialog-enter-from{opacity:0;scale:.4}.snail-dialog-leave-to{opacity:0;scale:0}
35
33
  /* src:prompt\components\confirm.vue index:0 */
36
- .snail-confirm{background-color:#fff;border-radius:4px;box-sizing:border-box;color:#2e2f33;display:flex;flex-direction:column;max-height:350px;max-width:548px;min-width:348px}.snail-confirm>main{flex:1;font-size:14px;margin:20px 40px;overflow:auto;word-wrap:break-word;box-sizing:border-box}
34
+ .snail-confirm{background-color:#fff;border-radius:4px;box-sizing:border-box;color:#2e2f33;display:flex;flex-direction:column;max-height:350px;max-width:548px;min-width:348px}.snail-confirm>div.confirm-body{flex:1;font-size:14px;margin:20px 40px;overflow:auto;word-wrap:break-word;box-sizing:border-box}
35
+ /* src:prompt\components\toast.vue index:0 */
36
+ .snail-toast{background:rgba(0,0,0,.7);border-radius:5px;color:#fff;display:flex;max-height:200px;max-width:500px;min-width:200px;opacity:.2;overflow:hidden;padding:20px 30px 20px 20px;position:fixed;transition:opacity .2s ease;z-index:99999}.snail-toast.show-toast{opacity:1}.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}.snail-toast>div.message{flex:1;line-height:24px;overflow:hidden;word-break:break-all}
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": "1.0.26",
6
+ "version": "1.0.28",
7
7
  "type": "module",
8
8
  "main": "dist/snail.vue.js",
9
9
  "module": "dist/snail.vue.js",
@@ -16,7 +16,7 @@
16
16
  "dependencies": {
17
17
  "vue": "^3.5.14",
18
18
  "snail.core": ">=2.0.6",
19
- "snail.view": ">=1.0.10"
19
+ "snail.view": ">=1.0.11"
20
20
  },
21
21
  "devDependencies": {
22
22
  "vue-tsc": "^2.2.10",