snail.vue 1.0.16 → 1.0.18
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/css/snail.vue.vue.css +8 -8
- package/dist/snail.vue.d.ts +18 -2
- package/dist/snail.vue.js +11 -1
- package/dist/snail.vue.umd.js +11 -0
- package/package.json +2 -2
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/* src:base\button.vue index:0 */
|
|
2
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:80px}.snail-button.normal{height:28px;width:54px}.snail-button.small{height:20px;width:30px}.snail-button.primary{background-color:#5ca3ff;color:#fff}.snail-button.default{background-color:#fff;border:1px solid #dddfed;color:#2e2f33}.snail-button.link{color:#4c9aff}
|
|
3
|
-
/* src:base\icon.vue index:0 */
|
|
4
|
-
.snail-icon{cursor:pointer;opacity:1}
|
|
5
3
|
/* src:base\footer.vue index:0 */
|
|
6
4
|
.snail-footer{align-items:center;background-color:#fff;display:flex;height:72px;padding:0 40px;width:100%}.snail-footer.start-divider{border-top:1px solid #dddfed}.snail-footer.left{justify-content:left}.snail-footer.left>.snail-button{margin-left:20px}.snail-footer.center{justify-content:center}.snail-footer.center>.snail-button:nth-child(n+2){margin-left:20px}.snail-footer.right{justify-content:right}.snail-footer.right>.snail-button{margin-right:20px}
|
|
7
5
|
/* src:container\dynamic.vue index:0 */
|
|
8
6
|
.snail-dynamic-error{color:red}.snail-dynamic-error>span{color:gray}
|
|
9
|
-
/* src:container\scroll.vue index:0 */
|
|
10
|
-
.snail-scroll{overflow:hidden}.snail-scroll.scroll-x{overflow-x:auto}.snail-scroll.scroll-y{overflow-y:auto}
|
|
11
7
|
/* src:base\header.vue index:0 */
|
|
12
8
|
.snail-header{align-items:center;background-color:#fff;display:flex;flex-direction:row;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>.header-slot{flex:1}.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}
|
|
13
|
-
/* src:container\
|
|
14
|
-
.snail-
|
|
9
|
+
/* src:container\scroll.vue index:0 */
|
|
10
|
+
.snail-scroll{overflow:hidden}.snail-scroll.scroll-x{overflow-x:auto}.snail-scroll.scroll-y{overflow-y:auto}
|
|
11
|
+
/* src:base\icon.vue index:0 */
|
|
12
|
+
.snail-icon{cursor:pointer;opacity:1}
|
|
15
13
|
/* src:prompt\drag-verify.vue index:0 */
|
|
16
14
|
.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}}
|
|
17
|
-
/* src:
|
|
18
|
-
.snail-
|
|
15
|
+
/* src:container\table.vue index:0 */
|
|
16
|
+
.snail-table{display:flex;flex-direction:column}.snail-table>header.table-footer,.snail-table>header.table-header{align-items:center;display:flex;flex-shrink:0;width:100%}.snail-table>header.table-header{position:sticky!important;top:0}.snail-table>main.table-body{flex:1;width:100%}.snail-table>main.table-body>.table-row{align-items:center;display:flex}.snail-table>header.table-header>.table-col,.snail-table>main.table-body>.table-row>.table-col{align-items:center;display:inline-flex;height:100%;white-space:nowrap}.snail-table.start-border>header.table-header>.table-col:nth-child(n+2),.snail-table.start-border>main.table-body>.table-row>.table-col:nth-child(n+2),.snail-table.start-border>main.table-footer>.table-col:nth-child(n+2){border-left:none!important}.snail-table.start-border>main.table-body>.table-row>.table-col{border-top:none!important}
|
|
19
17
|
/* src:prompt\no-data.vue index:0 */
|
|
20
18
|
.snail-no-data{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.snail-no-data>img{height:60px;width:60px}.snail-no-data>div.hint-message{color:#babdc2;font-size:14px;font-weight:400;padding:0 10px 10px}
|
|
19
|
+
/* src:prompt\loading.vue index:0 */
|
|
20
|
+
.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}
|
|
21
21
|
/* src:prompt\components\toast.vue index:0 */
|
|
22
22
|
.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}
|
|
23
23
|
/* src:prompt\components\confirm.vue index:0 */
|
package/dist/snail.vue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { Component, App } from 'vue';
|
|
2
|
+
import { Component, App, Ref, ShallowRef } from 'vue';
|
|
3
3
|
import { IScope } from 'snail.core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -497,6 +497,22 @@ declare function onResize(el: Element, fn: (size: Readonly<{
|
|
|
497
497
|
*/
|
|
498
498
|
declare function onRerect(el: Element, fn: (rect: DOMRectReadOnly) => void): IScope;
|
|
499
499
|
|
|
500
|
+
/**
|
|
501
|
+
* 响应式助手类,封装一些响应式相关的工具方法
|
|
502
|
+
*/
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* 作用域ref
|
|
506
|
+
* - 在scope创建时,为rv变量赋 sv 值;scope销毁时赋 dv 值
|
|
507
|
+
* - 可和 snail.core 中的awaitInScope方法联动实现:api请求开始时显示loading,api请求结束后隐藏loading
|
|
508
|
+
* @param rv 响应式变量对象
|
|
509
|
+
* @param sv 起始值,scope创建时执行 rv.value = sv
|
|
510
|
+
* @param dv 销毁值,scope销毁时执行 rv.value = dv
|
|
511
|
+
* @param dealy 销毁时的延迟时间;单位 ms ;实现延迟设置 dv 值
|
|
512
|
+
* @returns 新创建的作用域对象
|
|
513
|
+
*/
|
|
514
|
+
declare function scopeRef<T>(rv: Ref<T> | ShallowRef<T>, sv: T, dv: T, dealy?: number): IScope;
|
|
515
|
+
|
|
500
516
|
/**
|
|
501
517
|
* 模态弹窗显示的组件配置选项
|
|
502
518
|
*/
|
|
@@ -894,5 +910,5 @@ declare const components: {
|
|
|
894
910
|
*/
|
|
895
911
|
declare function mount(options: ComponentMountOptions, onDestroyed?: (fn: () => void) => void): IScope;
|
|
896
912
|
|
|
897
|
-
export { components, confirm, getSvgIcon, mount, onAppCreated, onEvent, onInterval, onRerect, onResize, onTimeout, openDialog, toast, triggerAppCreated, useScopes };
|
|
913
|
+
export { components, confirm, getSvgIcon, mount, onAppCreated, onEvent, onInterval, onRerect, onResize, onTimeout, openDialog, scopeRef, toast, triggerAppCreated, useScopes };
|
|
898
914
|
export type { ButtonOptions, ComponentMountOptions, ComponentOptions, ConfirmHandle, ConfirmOptions, Dialog, DialogHandle, DialogOpenResult, DialogOptions, DragVerifyInfo, DragVerifyOptions, FooterEvents, FooterOptions, HeaderEvents, HeaderOptions, IconOptions, IconPathOptions, IconType, LoadingOptions, NoDataOptions, ScrollEvents, ScrollOptions, ScrollTouchType, TableColOptions, TableOptions, TableRowOptions, TableStyleOptions, ToastHandle, ToastOptions };
|
package/dist/snail.vue.js
CHANGED
|
@@ -306,6 +306,16 @@ function onRerect(el, fn) {
|
|
|
306
306
|
};
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
+
function scopeRef(rv, sv, dv, dealy) {
|
|
310
|
+
rv.value = sv;
|
|
311
|
+
const destroy = () => rv.value = dv;
|
|
312
|
+
return dealy > 0 ? {
|
|
313
|
+
destroy: () => setTimeout(destroy, dealy)
|
|
314
|
+
} : {
|
|
315
|
+
destroy
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
|
|
309
319
|
var _sfc_main$a = defineComponent({
|
|
310
320
|
...{
|
|
311
321
|
name: "Loading",
|
|
@@ -1029,4 +1039,4 @@ function mount(options, onDestroyed) {
|
|
|
1029
1039
|
};
|
|
1030
1040
|
}
|
|
1031
1041
|
|
|
1032
|
-
export { components, confirm, getSvgIcon, mount, onAppCreated, onEvent, onInterval, onRerect, onResize, onTimeout, openDialog, toast, triggerAppCreated, useScopes };
|
|
1042
|
+
export { components, confirm, getSvgIcon, mount, onAppCreated, onEvent, onInterval, onRerect, onResize, onTimeout, openDialog, scopeRef, toast, triggerAppCreated, useScopes };
|
package/dist/snail.vue.umd.js
CHANGED
|
@@ -305,6 +305,16 @@
|
|
|
305
305
|
};
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
+
function scopeRef(rv, sv, dv, dealy) {
|
|
309
|
+
rv.value = sv;
|
|
310
|
+
const destroy = () => rv.value = dv;
|
|
311
|
+
return dealy > 0 ? {
|
|
312
|
+
destroy: () => setTimeout(destroy, dealy)
|
|
313
|
+
} : {
|
|
314
|
+
destroy
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
|
|
308
318
|
var _sfc_main$a = vue.defineComponent({
|
|
309
319
|
...{
|
|
310
320
|
name: "Loading",
|
|
@@ -1039,6 +1049,7 @@
|
|
|
1039
1049
|
exports.onResize = onResize;
|
|
1040
1050
|
exports.onTimeout = onTimeout;
|
|
1041
1051
|
exports.openDialog = openDialog;
|
|
1052
|
+
exports.scopeRef = scopeRef;
|
|
1042
1053
|
exports.toast = toast;
|
|
1043
1054
|
exports.triggerAppCreated = triggerAppCreated;
|
|
1044
1055
|
exports.useScopes = useScopes;
|
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.
|
|
6
|
+
"version": "1.0.18",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/snail.vue.js",
|
|
9
9
|
"module": "dist/snail.vue.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"vue": "^3.5.14",
|
|
18
|
-
"snail.core": ">=1.2.
|
|
18
|
+
"snail.core": ">=1.2.12"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"vue-tsc": "^2.2.10",
|