@tan-bin/ui 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/dist/es/tb-ui.css +1 -0
- package/dist/es/tb-ui.js +1276 -0
- package/dist/umd/tb-ui.css +1 -0
- package/dist/umd/tb-ui.umd.cjs +6 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a{text-decoration:none;color:inherit}input,textarea,button,select{border:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:0;background:transparent}input:focus,textarea:focus,button:focus,select:focus{outline:none;outline-offset:0}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}.modal-container[data-v-eff05c57]{position:fixed;inset:0;background:var(--bg, rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(var(--blur, 0px));backdrop-filter:blur(var(--blur, 0px));z-index:var(--z-index, 1000);display:flex;align-items:center;justify-content:center}.modal-enter-active[data-v-eff05c57],.modal-leave-active[data-v-eff05c57]{transition:var(--duration)}.modal-enter-from[data-v-eff05c57],.modal-leave-to[data-v-eff05c57]{background:transparent}@font-face{font-family:_icon;src:url(//at.alicdn.com/t/c/font_4937687_e276hihhdas.woff2?t=1756650184085) format("woff2"),url(//at.alicdn.com/t/c/font_4937687_e276hihhdas.woff?t=1756650184085) format("woff"),url(//at.alicdn.com/t/c/font_4937687_e276hihhdas.ttf?t=1756650184085) format("truetype");font-display:block}._icon[data-v-288c6a41]{font-family:_icon!important;font-style:normal;font-size:inherit;display:inline-block}._icon._icon-tool[data-v-288c6a41]:before{content:""}._icon._icon-game[data-v-288c6a41]:before{content:""}._icon._icon-info[data-v-288c6a41]:before{content:""}._icon._icon-avatar[data-v-288c6a41]:before{content:""}._icon._icon-2048[data-v-288c6a41]:before{content:""}._icon._icon-box[data-v-288c6a41]:before{content:""}._icon._icon-klotski[data-v-288c6a41]:before{content:""}._icon._icon-home[data-v-288c6a41]:before{content:""}._icon._icon-snake[data-v-288c6a41]:before{content:""}._icon._icon-mine[data-v-288c6a41]:before{content:""}._icon._icon-nav[data-v-288c6a41]:before{content:""}._icon._icon-search[data-v-288c6a41]:before{content:""}._icon._icon-delete[data-v-288c6a41]:before{content:""}._icon._icon-up[data-v-288c6a41],._icon._icon-down[data-v-288c6a41],._icon._icon-left[data-v-288c6a41],._icon._icon-right[data-v-288c6a41]{transition:.3s}._icon._icon-up[data-v-288c6a41]:before,._icon._icon-down[data-v-288c6a41]:before,._icon._icon-left[data-v-288c6a41]:before,._icon._icon-right[data-v-288c6a41]:before{content:""}._icon._icon-down[data-v-288c6a41]{transform:rotate(180deg)}._icon._icon-left[data-v-288c6a41]{transform:rotate(270deg)}._icon._icon-right[data-v-288c6a41]{transform:rotate(90deg)}._icon._icon-music[data-v-288c6a41]:before{content:""}._icon._icon-more[data-v-288c6a41]:before{content:""}._icon._icon-close[data-v-288c6a41]:before{content:""}._icon._icon-yes[data-v-288c6a41]:before{content:""}._icon._icon-no[data-v-288c6a41]:before{content:""}._icon._icon-ask[data-v-288c6a41]:before{content:""}._icon._icon-tip[data-v-288c6a41]:before{content:""}.dialog-container[data-v-876a5595]{position:fixed;inset:0;-webkit-user-select:none;user-select:none;z-index:999}.dialog-container .area[data-v-876a5595]{position:absolute;width:80%;max-width:380px;min-width:200px;background:#eee;border-radius:10px;box-sizing:border-box;padding-top:22px;box-shadow:0 0 5px #0000001a;text-align:center;word-break:break-word;overflow:hidden;color:#444}.dialog-container .area .title[data-v-876a5595]{font-size:18px;font-weight:600;margin-bottom:10px;padding:0 20px}.dialog-container .area .content[data-v-876a5595]{line-height:1.5;padding:0 20px;max-height:50vh;overflow:auto}.dialog-container .area .content .input-item[data-v-876a5595]{display:block;width:95%;margin:10px auto;position:relative}.dialog-container .area .content .input-item input[data-v-876a5595]{display:block;width:100%;height:40px;line-height:40px;padding:0 25px 0 10px;background:transparent;border:1px solid #aaa;border-radius:10px;box-sizing:border-box;transition:.3s ease-in-out}.dialog-container .area .content .input-item input[data-v-876a5595]::placeholder{color:#aaa}.dialog-container .area .content .input-item input[data-v-876a5595]:focus{border-color:#08f}.dialog-container .area .content .input-item input:focus~.label[data-v-876a5595]{color:#08f}.dialog-container .area .content .input-item .label[data-v-876a5595]{position:absolute;left:5px;top:-8px;color:#aaa;transition:.3s ease-in-out;pointer-events:none;padding:0 5px;box-sizing:border-box;font-size:12px;line-height:16px;background:#eee;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-container .area .content .input-item .msg[data-v-876a5595]{display:none;font-size:12px;padding:0 5px;color:#ff4d4f;text-align:left}.dialog-container .area .content .input-item .icon-container[data-v-876a5595]{position:absolute;right:5px;top:5px;cursor:pointer;width:20px;height:20px;font-size:20px;color:#aaa}.dialog-container .area .content .input-item .icon-container[data-v-876a5595]:hover{color:#ff4d4f}.dialog-container .area .content .input-item.error input[data-v-876a5595]{border-color:#ff4d4f}.dialog-container .area .content .input-item.error input~.label[data-v-876a5595]{color:#ff4d4f}.dialog-container .area .content .input-item.error .msg[data-v-876a5595]{display:block}.dialog-container .area .content .total-err[data-v-876a5595]{color:#ff4d4f;font-size:14px}.dialog-container .area .tip[data-v-876a5595]{font-size:12px;color:#888;line-height:1.4;margin-top:5px;max-height:30vh;overflow:auto}.dialog-container .area .btns[data-v-876a5595]{border-top:1px solid #ccc;margin-top:15px;display:flex}.dialog-container .area .btns .btn[data-v-876a5595]{flex:1;padding:16px 10px;cursor:pointer;font-size:14px;border-radius:0;transition:.1s ease-in-out;box-shadow:unset;background:#eee}.dialog-container .area .btns .btn[data-v-876a5595]:hover:not(:disabled){background:#ddd}.dialog-container .area .btns .btn.confirm[data-v-876a5595]{font-weight:700;color:#2691ff}.dialog-container .area .btns .btn.confirm.danger[data-v-876a5595]{color:#ff4d4f}.dialog-container .area .btns .btn.confirm[data-v-876a5595]:disabled{cursor:not-allowed;color:#aaa}.dialog-container .area .btns .btn.cancel[data-v-876a5595]{color:#444;border-right:1px solid #ccc}.modal-enter-active[data-v-876a5595],.modal-leave-active[data-v-876a5595]{transition:var(--duration)}.modal-enter-from[data-v-876a5595],.modal-leave-to[data-v-876a5595]{background:transparent}.area-enter-active[data-v-876a5595],.area-leave-active[data-v-876a5595]{transition:var(--duration) cubic-bezier(.5,1.75,.5,1)}.area-enter-from[data-v-876a5595],.area-leave-to[data-v-876a5595]{opacity:0;transform:scale(.8)}.loading-container[data-v-b253c0cf]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color);gap:10px;white-space:nowrap;text-align:center;pointer-events:none}.loading-svg[data-v-b253c0cf]{display:inline;height:var(--size);width:var(--size);animation:loading-rotate-b253c0cf 2s linear infinite}.path[data-v-b253c0cf]{animation:loading-dash-b253c0cf 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--color);stroke-linecap:round}@keyframes loading-rotate-b253c0cf{to{transform:rotate(360deg)}}@keyframes loading-dash-b253c0cf{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.message-container[data-v-31eeb9bf]{position:fixed;width:85%;max-width:800px;left:50%;bottom:80%;transform:translate(-50%);z-index:1000;line-height:1.2;font-size:15px;display:flex;flex-direction:column;gap:4px;pointer-events:none;color:#fff;text-align:center}.message-container .item[data-v-31eeb9bf]{padding:5px 34px}.message-container .item.info[data-v-31eeb9bf]{background:linear-gradient(90deg,transparent,rgba(64,158,255,.5),rgba(64,158,255,.7),rgba(64,158,255,.9),rgba(64,158,255,.9),rgba(64,158,255,.9),rgba(64,158,255,.7),rgba(64,158,255,.5),transparent)}.message-container .item.success[data-v-31eeb9bf]{background:linear-gradient(90deg,transparent,rgba(57,179,98,.5),rgba(57,179,98,.7),rgba(57,179,98,.9),rgba(57,179,98,.9),rgba(57,179,98,.9),rgba(57,179,98,.7),rgba(57,179,98,.5),transparent)}.message-container .item.warn[data-v-31eeb9bf]{background:linear-gradient(90deg,transparent,rgba(255,130,0,.5),rgba(255,130,0,.7),rgba(255,130,0,.9),rgba(255,130,0,.9),rgba(255,130,0,.9),rgba(255,130,0,.7),rgba(255,130,0,.5),transparent)}.message-container .item.error[data-v-31eeb9bf]{background:linear-gradient(90deg,transparent,rgba(255,51,51,.5),rgba(255,51,51,.7),rgba(255,51,51,.9),rgba(255,51,51,.9),rgba(255,51,51,.9),rgba(255,51,51,.7),rgba(255,51,51,.5),transparent)}.v-enter-active[data-v-31eeb9bf],.v-leave-active[data-v-31eeb9bf]{transition:.5s}.v-move[data-v-31eeb9bf]{transition:.2s}.v-enter-from[data-v-31eeb9bf],.v-leave-to[data-v-31eeb9bf]{opacity:0;transform:scaleY(.5)}.nav-container .nav-container[data-v-69d79c4b]{font-size:14px;transition:.4s ease}.nav-container .nav-container .link[data-v-69d79c4b]{padding:15px;padding-left:calc(20px + var(--layer) * 15px)}.link[data-v-69d79c4b]{padding:20px;display:flex;gap:10px;align-items:center;color:#333;transition:.3s;position:relative}.link[data-v-69d79c4b]:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;transform:scaleY(0);background:#409eff;transition:.3s}.link[data-v-69d79c4b]:hover{background:#e3f1ff}.link.active[data-v-69d79c4b]{color:#409eff;background:#d9ecff}.link.active[data-v-69d79c4b]:after{transform:scaleY(1)}.arrow-icon[data-v-69d79c4b]{margin-left:auto}.arrow-icon[data-v-69d79c4b]:hover{color:#409eff}.pagination-container[data-v-e175d2aa]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:#333}.controls[data-v-e175d2aa]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}button[data-v-e175d2aa]{padding:6px 10px;cursor:pointer;border-radius:4px;min-width:36px;text-align:center;background:#e6e6e6;color:#333;box-shadow:none;border:1px solid #b3b3b3;transition:.3s}button[data-v-e175d2aa]:hover:not(:disabled){background:#bbb}button[data-v-e175d2aa]:disabled{cursor:not-allowed;opacity:.6}button.active[data-v-e175d2aa]:not(:disabled){background:#2d8cf0;color:#fff}.meta[data-v-e175d2aa]{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.meta select[data-v-e175d2aa]{padding:4px 6px;border:1px solid #dcdcdc;border-radius:4px}input[data-v-e175d2aa]{width:72px;padding:4px 6px;border:1px solid #dcdcdc;border-radius:4px}.warn-container[data-v-0e46cecf]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px;height:100%;color:#aaa}.warn-container .icon-container[data-v-0e46cecf]{font-size:3em}.table-container[data-v-f0bc9df0]{width:100%;max-height:100%;overflow:auto;border-radius:4px}.table-inner[data-v-f0bc9df0]{display:table;width:100%}header.row[data-v-f0bc9df0]{display:table-row;background:#dfdfdf;font-weight:700;position:sticky;top:0}header.row .cell[data-v-f0bc9df0]{padding:8px 10px}.row[data-v-f0bc9df0]{display:table-row;transition:.3s}.row[data-v-f0bc9df0]:nth-child(2n){background:#f9f9f9}div.row[data-v-f0bc9df0]:hover{background:#eaeaea}.cell[data-v-f0bc9df0]{display:table-cell;border:1px solid #ddd}.content[data-v-f0bc9df0]{padding:10px;word-break:keep-all;max-height:150px;overflow:hidden auto}.watermark-container[data-v-b86ee0ab]{position:relative;height:100%;overflow:hidden}.switch-container[data-v-f75b2497]{width:46px;height:24px;background:#c4c4c4;border-radius:999px;display:inline-block;align-items:center;position:relative;transition:all .2s cubic-bezier(.27,.2,.25,1.51);cursor:pointer}.switch-container input[data-v-f75b2497]{display:none}.switch-container svg[data-v-f75b2497]{transition:all .2s cubic-bezier(.27,.2,.25,1.51);position:absolute;height:auto}.switch-container .checkmark[data-v-f75b2497]{width:10px;color:#00da50;transform:scale(0)}.switch-container .cross[data-v-f75b2497]{width:6px;color:#c4c4c4}.slider[data-v-f75b2497]{box-sizing:border-box;width:46px;height:24px;background:#c4c4c4;border-radius:999px;display:flex;align-items:center;position:relative;transition:all .2s cubic-bezier(.27,.2,.25,1.51);cursor:pointer}.circle[data-v-f75b2497]{width:18px;height:18px;background:#fff;border-radius:inherit;box-shadow:1px 1px 2px #92929273;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.27,.2,.25,1.51);z-index:1;position:absolute;left:3px}.slider[data-v-f75b2497]:before{content:"";position:absolute;width:9px;height:3.5px;left:7.5px;background:#fff;border-radius:1px;transition:all .2s ease-in-out}.switch-container input:checked+.slider[data-v-f75b2497]{background:#00da50}.switch-container input:checked+.slider .checkmark[data-v-f75b2497]{transform:scale(1)}.switch-container input:checked+.slider .cross[data-v-f75b2497]{transform:scale(0)}.switch-container input:checked+.slider[data-v-f75b2497]:before{left:calc(100% - 16.5px)}.switch-container input:checked+.slider .circle[data-v-f75b2497]{left:calc(100% - 21px);box-shadow:-1px 1px 2px #a3a3a373}.checkbox-container[data-v-d71f306b]{height:100%}.checkbox-container .label[data-v-d71f306b]{display:flex;align-items:center;height:100%;cursor:inherit}.checkbox-container .label input[data-v-d71f306b]{display:none}.checkbox-container .label input:checked+.svg .box[data-v-d71f306b],.checkbox-container .label input:checked+.svg .tick[data-v-d71f306b]{stroke-dashoffset:0}.checkbox-container .label .desc[data-v-d71f306b]{margin-left:5px;padding-right:2px;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-container .label .svg[data-v-d71f306b]{height:70%;margin-left:5px;border-radius:3px}.checkbox-container .label .svg .box[data-v-d71f306b]{stroke:#409eff;stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset .6s ease-in}.checkbox-container .label .svg .tick[data-v-d71f306b]{stroke:#409eff;stroke-dasharray:172;stroke-dashoffset:172;transition:stroke-dashoffset .6s ease-in}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(function(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.TBUI={},f.Vue,f.VueRouter))})(this,(function(f,e,ae){"use strict";const E={disabledCount:0,allowedElements:new Set,touchStartY:0,touchStartScrollTop:0,touchStartElement:null,isInAllowedElement:!1};function K(t={}){const{allowedElements:n,immediate:a=!1}=t,o=new Set,r=e.ref(!1),c=l=>{if(!l)return null;let i=l;for(;i;){if(E.allowedElements.has(i))return i;i=i.parentElement}return null},p=l=>l?l.scrollHeight>l.clientHeight+1:!1,s=l=>{const i=c(l.target);if(i&&p(i)){const d=i.scrollTop===0&&l.deltaY<0,w=Math.ceil(i.scrollTop+i.clientHeight)>=i.scrollHeight&&l.deltaY>0;if(!(d||w))return}l.cancelable&&l.preventDefault()},m=l=>{const i=l.touches[0];E.touchStartY=i.clientY;const d=l.target,w=c(d);w&&p(w)?(E.touchStartElement=w,E.touchStartScrollTop=w.scrollTop,E.isInAllowedElement=!0):(E.touchStartElement=null,E.isInAllowedElement=!1)},k=l=>{if(!E.isInAllowedElement){l.cancelable&&l.preventDefault();return}if(!E.touchStartElement){l.cancelable&&l.preventDefault();return}const w=l.touches[0].clientY-E.touchStartY;if(Math.abs(w)<1)return;const N=E.touchStartElement,J=N.scrollTop,oe=N.scrollHeight,le=N.clientHeight,St=J===0,Bt=Math.ceil(J+le)>=oe,xt=w>0,$t=w<0;if(St&&xt||Bt&&$t)l.cancelable&&l.preventDefault();else return},b=()=>{E.touchStartElement=null,E.isInAllowedElement=!1},x=l=>{if(!["Space","ArrowUp","ArrowDown","PageUp","PageDown"].includes(l.code))return;const d=c(document.activeElement);if(d&&p(d)){const w=d.scrollTop,N=d.scrollHeight,J=d.clientHeight,oe=w===0&&(l.code==="ArrowUp"||l.code==="PageUp"),le=Math.ceil(w+J)>=N&&(l.code==="ArrowDown"||l.code==="PageDown"||l.code==="Space");(oe||le)&&l.cancelable&&l.preventDefault();return}l.cancelable&&l.preventDefault()},$=()=>{document.addEventListener("wheel",s,{passive:!1}),document.addEventListener("mousewheel",s,{passive:!1}),document.addEventListener("touchstart",m,{passive:!0}),document.addEventListener("touchmove",k,{passive:!1}),document.addEventListener("touchend",b,{passive:!0}),document.addEventListener("touchcancel",b,{passive:!0}),document.addEventListener("keydown",x,{passive:!1})},y=()=>{document.removeEventListener("wheel",s),document.removeEventListener("mousewheel",s),document.removeEventListener("touchstart",m),document.removeEventListener("touchmove",k),document.removeEventListener("touchend",b),document.removeEventListener("touchcancel",b),document.removeEventListener("keydown",x)},u=()=>{r.value||(r.value=!0,E.disabledCount++,E.disabledCount===1&&$())},h=()=>{r.value&&(r.value=!1,E.disabledCount>0&&(E.disabledCount--,E.disabledCount===0&&y()))},S=l=>{if(!l)return;(Array.isArray(l)?l:[l]).forEach(d=>{if(!(d instanceof HTMLElement)){console.warn("Allowed element must be an HTMLElement",d);return}o.add(d),E.allowedElements.add(d),d.dataset.scrollAllowed="true"})},C=l=>{g(),S(l)},T=l=>{if(!l)return;(Array.isArray(l)?l:[l]).forEach(d=>{o.delete(d),E.allowedElements.delete(d),delete d.dataset.scrollAllowed})},g=()=>{o.forEach(l=>{E.allowedElements.delete(l),delete l.dataset.scrollAllowed}),o.clear()};return e.onMounted(()=>{n&&S(n),a&&u()}),e.onUnmounted(()=>{g(),r.value&&h()}),{isDisabled:r,disableScroll:u,enableScroll:h,addAllowedElement:S,removeAllowedElement:T,updateAllowedElements:C,clearAllowedElements:g}}function Be(t={}){const{allowedElements:n=[]}=t,{enableScroll:a}=K({allowedElements:n,immediate:!0});return a}const _=(t,n)=>{const a=t.__vccOpts||t;for(const[o,r]of n)a[o]=r;return a},M=_(Object.assign({name:"Modal"},{__name:"index",props:{visible:{type:Boolean,default:!0},bg:{type:String},blur:{type:Number},zIndex:{type:Number},duration:{type:Number,default:300},disableScroll:{type:Boolean,default:!1},allowScrollEl:{type:[HTMLElement,Array],default:null}},setup(t){const{disableScroll:n,enableScroll:a,updateAllowedElements:o}=K(),r=t;return e.watchEffect(()=>{r.disableScroll&&r.visible?(n(),o(r.allowScrollEl?r.allowScrollEl:null)):a()}),(c,p)=>(e.openBlock(),e.createBlock(e.Transition,{name:"modal",appear:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"modal-container",style:e.normalizeStyle({"--bg":t.bg,"--blur":t.blur?`${t.blur}px`:"","--z-index":t.zIndex,"--duration":`${t.duration}ms`})},[e.renderSlot(c.$slots,"default",{},void 0,!0)],4),[[e.vShow,t.visible]])]),_:3}))}}),[["__scopeId","data-v-eff05c57"]]);M.install=function(t){t.component(M.name,M)};const re=(t=16)=>{const n=Date.now().toString(36);return n+ce(t-n.length)},ce=t=>{const n=Math.random().toString(36).substring(2,2+t);return n.length===t?n:n+ce(t-n.length)},xe=(t,n)=>Math.floor(Math.random()*(n-t))+t,B=_(Object.assign({name:"Icon"},{__name:"index",props:{type:{type:String,required:!0}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(["_icon icon-container",`_icon-${t.type}`])},[e.renderSlot(n.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-288c6a41"]]);B.install=function(t){t.component(B.name,B)};const $e=["innerHTML"],Ne=["type","onUpdate:modelValue","name","placeholder","onInput"],Ce={class:"label"},Te={class:"msg"},Le={class:"total-err"},Me=["innerHTML"],Ve=["innerHTML"],ve={class:"btns"},Ie=["onClick","disabled"],G=300,V=_(Object.assign({name:"Dialog"},{__name:"index",emits:["destroy"],setup(t,{expose:n,emit:a}){const o=e.useTemplateRef("content"),r=e.ref(null),c=a,p=e.ref([]),s=e.computed(()=>p.value.at(-1));let m;const k=(g,l)=>({title:"",content:"",textColor:"",tip:"",type:"",confirmText:g.type==="alert"?"我知道了":"确定",confirmColor:"",cancelText:"取消",modal:!1,id:re(),...g,resolve:l}),b=g=>{g.msg=g.validate?.(g.value),s.value.totalErr=""},x=g=>{g.content.forEach(l=>{l.value=l.value??"",l.validate=l.validate??(i=>i===""?`请输入${l.label}`:""),l.placeholder=l.placeholder??"请输入"}),g.totalErr=""},$=()=>{p.value.pop(),s.value||(m=setTimeout(()=>c("destroy"),G))},y=g=>(clearTimeout(m),new Promise(l=>{const i=k(g,l);g.type==="prompt"&&x(i),p.value.push(i)})),u=()=>{s.value&&(s.value.resolve(!0),$())},h=()=>{if(!s.value||(s.value.content.forEach(l=>l.msg=l.validate(l.value)),s.value.content.some(l=>l.msg)||(s.value.totalErr=s.value.validateAll?.(...s.value.content))||s.value.content.some(l=>l.msg)))return;const g=s.value.content.map(l=>l.value);s.value.resolve(g),$()},S=()=>{s.value&&(s.value.resolve(!1),$())},C=()=>{s.value&&(s.value.modal||(s.value.resolve(!1),$()))},T=()=>{s.value&&(p.value.forEach(g=>{g.resolve(!1)}),p.value.length=0,m=setTimeout(()=>c("destroy"),G))};return e.watch(s,()=>{r.value=o.value.at(-1)},{flush:"post"}),n({open:y,destroyAll:T}),(g,l)=>(e.openBlock(),e.createBlock(e.Transition,{name:"modal"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(e.unref(M),e.mergeProps({class:"dialog-container",onClick:e.withModifiers(C,["self"]),duration:G,disableScroll:!0,allowScrollEl:r.value},s.value?.modal?{blur:2}:{bg:"rgba(0, 0, 0, 0.3)"}),{default:e.withCtx(()=>[e.createVNode(e.TransitionGroup,{name:"area"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,i=>(e.openBlock(),e.createElementBlock("div",{class:"area",style:e.normalizeStyle({color:i.textColor}),key:i.id},[i.title?(e.openBlock(),e.createElementBlock("p",{key:0,class:"title",innerHTML:i.title},null,8,$e)):e.createCommentVNode("",!0),i.type==="prompt"?(e.openBlock(),e.createElementBlock("form",{key:1,class:"content",onSubmit:e.withModifiers(h,["prevent"]),ref_for:!0,ref:"content"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.content,(d,w)=>(e.openBlock(),e.createElementBlock("label",{key:w,class:e.normalizeClass(["input-item",{error:d.msg}])},[e.withDirectives(e.createElementVNode("input",{type:d.type,"onUpdate:modelValue":N=>d.value=N,name:d.label,placeholder:d.placeholder,onInput:N=>b(d)},null,40,Ne),[[e.vModelDynamic,d.value]]),e.createElementVNode("span",Ce,e.toDisplayString(d.label),1),e.createElementVNode("span",Te,e.toDisplayString(d.msg),1),e.withDirectives(e.createVNode(e.unref(B),{type:"close",onClick:N=>d.value=""},null,8,["onClick"]),[[e.vShow,d.value!==""]])],2))),128)),e.withDirectives(e.createElementVNode("p",Le,[e.createVNode(e.unref(B),{type:"tip"}),e.createTextVNode(" "+e.toDisplayString(i.totalErr),1)],512),[[e.vShow,i.totalErr]])],544)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[i.content?(e.openBlock(),e.createElementBlock("p",{key:0,class:"content",ref_for:!0,ref:"content",innerHTML:i.content},null,8,Me)):e.createCommentVNode("",!0)],64)),i.tip?(e.openBlock(),e.createElementBlock("p",{key:3,class:"tip",innerHTML:i.tip},null,8,Ve)):e.createCommentVNode("",!0),e.createElementVNode("div",ve,[i.type!=="alert"?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn cancel",onClick:S},e.toDisplayString(i.cancelText),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:e.normalizeClass(["btn confirm",{danger:i.danger}]),onClick:d=>i.type==="prompt"?h():u(),disabled:i.type==="prompt"&&(i.content.some(d=>d.msg)||i.totalErr!=="")},e.toDisplayString(i.confirmText),11,Ie)])],4))),128))]),_:1})]),_:1},16,["allowScrollEl"]),[[e.vShow,s.value]])]),_:1}))}}),[["__scopeId","data-v-876a5595"]]);V.install=function(t){t.component(V.name,V)};const De=["innerHTML"],v=_(Object.assign({name:"Loading"},{__name:"index",props:{size:{type:Number,default:42},color:{type:String,default:"#409eff"},text:{type:String,default:""}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:"loading-container",style:e.normalizeStyle({"--size":t.size+"px","--color":t.color})},[a[0]||(a[0]=e.createElementVNode("svg",{viewBox:"0 0 50 50",class:"loading-svg"},[e.createElementVNode("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})],-1)),e.withDirectives(e.createElementVNode("p",{innerHTML:t.text},null,8,De),[[e.vShow,t.text]])],4))}}),[["__scopeId","data-v-b253c0cf"]]);v.install=function(t){t.component(v.name,v)};const Ae=["innerHTML"],ze=3e3,He=3,I=_(Object.assign({name:"Message"},{__name:"index",emits:["destroy"],setup(t,{expose:n,emit:a}){const o=a,r=e.ref([]);let c;const p=()=>{clearTimeout(r.value[0]?.timer),r.value.shift(),!r.value.length&&(c=setTimeout(()=>o("destroy"),500))};return n({add:(m,k)=>{clearTimeout(c),r.value.length>=He&&p();const b=re(),x=setTimeout(()=>p(),ze);r.value.push({id:b,content:m,type:k,timer:x})}}),(m,k)=>(e.openBlock(),e.createBlock(e.TransitionGroup,{tag:"div",class:"message-container"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,b=>(e.openBlock(),e.createElementBlock("div",{key:b.id,class:e.normalizeClass(["item",[b.type]])},[typeof b.content=="string"?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:b.content},null,8,Ae)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.content),{key:1}))],2))),128))]),_:1}))}}),[["__scopeId","data-v-31eeb9bf"]]);I.install=function(t){t.component(I.name,I)};const Oe={class:"text"},A=_(Object.assign({name:"Nav"},{__name:"index",props:{list:{type:Array,default:()=>[]}},setup(t){const n=t,a=e.inject("layer",0);e.provide("layer",a+1);const o=e.reactive(n.list.map(()=>!0)),r={beforeEnter(c){c.style.height="0",c.style.opacity="0",c.style.overflow="hidden"},enter(c){c.style.height=c.scrollHeight+"px",c.style.opacity="1"},afterEnter(c){c.style.height="",c.style.overflow="",c.style.opacity=""},beforeLeave(c){c.style.height=c.scrollHeight+"px",c.style.opacity="0",c.style.overflow="hidden"},leave(c){c.style.height="0",c.style.opacity="0"},afterLeave(c){c.style.height="",c.style.overflow="",c.style.opacity=""}};return(c,p)=>{const s=e.resolveComponent("RouterLink"),m=e.resolveComponent("Nav");return e.openBlock(),e.createElementBlock("div",{class:"nav-container",style:e.normalizeStyle({"--layer":e.unref(a)})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.list,(k,b)=>(e.openBlock(),e.createElementBlock("div",{class:"nav-item",key:k.path},[e.createVNode(s,{class:"link",to:{name:k.name},"exact-active-class":"active"},{default:e.withCtx(()=>[e.createVNode(e.unref(B),{type:k.meta?.icon},null,8,["type"]),e.createElementVNode("span",Oe,e.toDisplayString(k.meta?.title),1),k.children?.length?(e.openBlock(),e.createBlock(e.unref(B),{key:0,type:o[b]?"down":"right",class:"arrow-icon",onClick:x=>o[b]=!o[b]},null,8,["type","onClick"])):e.createCommentVNode("",!0)]),_:2},1032,["to"]),e.createVNode(e.Transition,e.toHandlers(r),{default:e.withCtx(()=>[k.children?.length?e.withDirectives((e.openBlock(),e.createBlock(m,{key:0,list:k.children},null,8,["list"])),[[e.vShow,o[b]]]):e.createCommentVNode("",!0)]),_:2},1040)]))),128))],4)}}}),[["__scopeId","data-v-69d79c4b"]]);A.install=function(t){t.component(A.name,A)};const Q=document.createElement("div");let z=null,se=null;const q=(t,n)=>{z||(document.body.appendChild(Q),z=e.createApp(I,{onDestroy:()=>{z.unmount(),z=null,document.body.removeChild(Q)}}),se=z.mount(Q)),se.add(t,n)},ie={success:t=>{q(t,"success")},error:t=>{q(t,"error")},warn:t=>{q(t,"warn")},info:t=>{q(t,"info")}},je={key:0,class:"pagination-container"},Pe={key:0,class:"controls"},Re=["disabled"],Ue=["onClick"],Ye=["disabled"],qe={class:"meta"},Fe=["value"],We=["max"],H=_(Object.assign({name:"Pagination"},{__name:"index",props:e.mergeModels({total:{type:Number,default:0},pageSizes:{type:Array,default:()=>[10,20,50,100]},maxButtonCount:{type:Number,default:7}},{modelValue:{type:Number,default:1},modelModifiers:{},pageSize:{type:Number,default:10},pageSizeModifiers:{}}),emits:["update:modelValue","update:pageSize"],setup(t){const n=ae.useRouter(),a=ae.useRoute(),o=e.useModel(t,"modelValue"),r=e.useModel(t,"pageSize"),c=t,p=e.ref("");e.watch(r,()=>{o.value>s.value&&m(s.value)});const s=e.computed(()=>!c.total||r.value<=0?0:Math.max(0,Math.ceil(c.total/r.value)));function m(y){const u=Math.min(Math.max(1,Math.floor(y||1)),Math.max(1,s.value||1));u!==o.value&&(o.value=u)}function k(){let y=Number(p.value);if(!y||isNaN(y)||y<1||y>s.value){p.value="",ie.warn("请输入有效页码");return}m(y),p.value=""}function b(y){if(y)if(y.ellipsis){const u=Math.max(3,Math.min(s.value,Math.max(5,c.maxButtonCount)-2));y.key==="left"?m(o.value-u):m(o.value+u)}else y.page&&m(y.page)}const x=e.computed(()=>{const y=[],u=s.value,h=Math.max(5,c.maxButtonCount),S=o.value;if(u<=h){for(let l=1;l<=u;l++)y.push({key:`p${l}`,page:l,label:l});return y}const C=Math.floor((h-1)/2);let T=Math.max(2,S-C),g=Math.min(u-1,S+C);S-1<=C&&(T=2,g=h-1),u-S<=C&&(T=u-(h-2),g=u-1),y.push({key:"p1",page:1,label:1}),T>2&&y.push({key:"left",ellipsis:!0,label:"..."});for(let l=T;l<=g;l++)y.push({key:`p${l}`,page:l,label:l});return g<u-1&&y.push({key:"right",ellipsis:!0,label:"..."}),y.push({key:`p${u}`,page:u,label:u}),y}),$=e.watch(()=>c.total,y=>{if(!y)return;const u=+a.query.page,h=+a.query.pageSize;h&&!isNaN(h)&&c.pageSizes.includes(h)&&(r.value=h),u<=s.value&&(m(u),$())},{immediate:!0});return e.watch([o,r],()=>{n.replace({query:{...a.query,page:o.value,pageSize:r.value}})}),(y,u)=>t.total?(e.openBlock(),e.createElementBlock("div",je,[t.total>r.value?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("button",{disabled:o.value===1,onClick:u[0]||(u[0]=h=>m(o.value-1))},"上一页",8,Re),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,h=>(e.openBlock(),e.createElementBlock("button",{key:h.key,class:e.normalizeClass({active:h.page===o.value}),onClick:S=>b(h)},e.toDisplayString(h.label),11,Ue))),128)),e.createElementVNode("button",{disabled:o.value===s.value||!s.value,onClick:u[1]||(u[1]=h=>m(o.value+1))}," 下一页 ",8,Ye)])):e.createCommentVNode("",!0),e.createElementVNode("div",qe,[e.createElementVNode("p",null,"共"+e.toDisplayString(t.total)+"条,第"+e.toDisplayString(o.value)+" / "+e.toDisplayString(s.value||1)+"页",1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u[2]||(u[2]=h=>r.value=h)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizes,h=>(e.openBlock(),e.createElementBlock("option",{key:h,value:h},e.toDisplayString(h)+" / 页",9,Fe))),128))],512),[[e.vModelSelect,r.value,void 0,{number:!0}]]),t.total>r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":u[3]||(u[3]=h=>p.value=h),min:"1",max:s.value||1,onKeyup:e.withKeys(k,["enter"]),placeholder:"页码"},null,40,We),[[e.vModelText,p.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:k},"跳转")],64)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-e175d2aa"]]);H.install=function(t){t.component(H.name,H)};const Xe={class:"warn-container"},D=_(Object.assign({name:"Warn"},{__name:"index",props:{msg:{type:String,default:"暂无数据"}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Xe,[e.createVNode(e.unref(B),{type:"tip"}),e.createElementVNode("p",null,e.toDisplayString(t.msg),1),e.renderSlot(n.$slots,"default",{},void 0,!0)]))}}),[["__scopeId","data-v-0e46cecf"]]);D.install=function(t){t.component(D.name,D)};const Je={class:"table-container"},Ke={key:0,class:"table-inner"},Ge={class:"row"},Qe={class:"content"},O=_(Object.assign({name:"Table"},{__name:"index",props:{data:{type:Array,required:!0}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Je,[t.data.length?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("header",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data[0],(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:"cell",key:r},e.toDisplayString(r),1))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:"row",key:r},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o,(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:"cell",key:p},[e.createElementVNode("p",Qe,e.toDisplayString(c),1)]))),128))]))),128))])):(e.openBlock(),e.createBlock(e.unref(D),{key:1}))]))}}),[["__scopeId","data-v-f0bc9df0"]]);O.install=function(t){t.component(O.name,O)};const Ze={class:"timer-container"},j=Object.assign({name:"Timer"},{__name:"index",setup(t,{expose:n}){const a=e.ref(0);let o;const r=e.computed(()=>c(a.value));e.onUnmounted(()=>{clearInterval(o)});const c=()=>{const m=Math.floor(a.value/3600),k=Math.floor(a.value%3600/60),b=a.value%60;return(m?[m,k,b]:[k,b]).map($=>$.toString().padStart(2,"0")).join(":")};return n({start:m=>{m!==void 0&&(a.value=m),!o&&(o=setInterval(()=>{a.value++},1e3))},stop:()=>{clearInterval(o),o=null},getTime:()=>a.value}),(m,k)=>(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(r.value),1))}});j.install=function(t){t.component(j.name,j)};const et=t=>e.computed(()=>{const n=document.createElement("canvas"),a=window.devicePixelRatio||1,r=t.fontSize*a+"px serif",c=n.getContext("2d"),{width:p}=c.measureText(t.text),s=Math.max(100,p)+t.gap*a;return n.width=s,n.height=s,c.translate(n.width/2,n.height/2),c.rotate(Math.PI/180*-t.rotate),c.fillStyle=t.color,c.font=r,c.textAlign="center",c.textBaseline="middle",c.fillText(t.text,0,0),{base64:n.toDataURL(),size:s/a}}),P=_(Object.assign({name:"Watermark"},{__name:"index",props:{text:{type:String,default:"Watermark"},fontSize:{type:Number,default:20},gap:{type:Number,default:100},rotate:{type:Number,default:-45},color:{type:String,default:"rgba(0, 0, 0, .1)"}},setup(t){const n=e.useTemplateRef("parentRef"),a=t;let o;const r=et(a),c=()=>{if(!n.value)return;o&&o.remove();const{base64:s,size:m}=r.value;o=document.createElement("div"),o.style.position="absolute",o.style.backgroundImage=`url(${s})`,o.style.backgroundRepeat="repeat",o.style.backgroundSize=`${m}px ${m}px`,o.style.pointerEvents="none",o.style.zIndex=9999,o.style.inset=0,n.value.appendChild(o)},p=new MutationObserver(s=>{for(const m of s){for(const k of m.removedNodes)if(k===o){c();return}if(m.target===o){c();return}}});return e.onMounted(()=>{c(),p.observe(n.value,{attributes:!0,childList:!0,subtree:!0})}),e.onUnmounted(()=>{p.disconnect()}),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:"watermark-container",ref_key:"parentRef",ref:n},[e.renderSlot(s.$slots,"default",{},void 0,!0)],512))}}),[["__scopeId","data-v-b86ee0ab"]]);P.install=function(t){t.component(P.name,P)};const tt={class:"switch-container"},nt={class:"slider"},ot={class:"circle"},lt={class:"cross","xml:space":"preserve",style:{"enable-background":"new 0 0 512 512"},viewBox:"0 0 365.696 365.696",y:"0",x:"0",height:"6",width:"6","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},at={class:"checkmark","xml:space":"preserve",style:{"enable-background":"new 0 0 512 512"},viewBox:"0 0 24 24",y:"0",x:"0",height:"10",width:"10","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},R=_(Object.assign({name:"Switch"},{__name:"index",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue");return(a,o)=>(e.openBlock(),e.createElementBlock("label",tt,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":o[0]||(o[0]=r=>n.value=r)},null,512),[[e.vModelCheckbox,n.value]]),e.createElementVNode("div",nt,[e.createElementVNode("div",ot,[(e.openBlock(),e.createElementBlock("svg",lt,o[1]||(o[1]=[e.createElementVNode("g",null,[e.createElementVNode("path",{"data-original":"#000000",fill:"currentColor",d:"M243.188 182.86 356.32 69.726c12.5-12.5 12.5-32.766 0-45.247L341.238 9.398c-12.504-12.503-32.77-12.503-45.25 0L182.86 122.528 69.727 9.374c-12.5-12.5-32.766-12.5-45.247 0L9.375 24.457c-12.5 12.504-12.5 32.77 0 45.25l113.152 113.152L9.398 295.99c-12.503 12.503-12.503 32.769 0 45.25L24.48 356.32c12.5 12.5 32.766 12.5 45.247 0l113.132-113.132L295.99 356.32c12.503 12.5 32.769 12.5 45.25 0l15.081-15.082c12.5-12.504 12.5-32.77 0-45.25zm0 0"})],-1)]))),(e.openBlock(),e.createElementBlock("svg",at,o[2]||(o[2]=[e.createElementVNode("g",null,[e.createElementVNode("path",{class:"","data-original":"#000000",fill:"currentColor",d:"M9.707 19.121a.997.997 0 0 1-1.414 0l-5.646-5.647a1.5 1.5 0 0 1 0-2.121l.707-.707a1.5 1.5 0 0 1 2.121 0L9 14.171l9.525-9.525a1.5 1.5 0 0 1 2.121 0l.707.707a1.5 1.5 0 0 1 0 2.121z"})],-1)])))])])]))}}),[["__scopeId","data-v-f75b2497"]]);R.install=function(t){t.component(R.name,R)};const rt={class:"checkbox-container"},ct={class:"label"},st=["value"],it={class:"desc"},U=_(Object.assign({name:"Checkbox"},{__name:"index",props:e.mergeModels({value:{required:!0},title:{type:String,required:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue");return(a,o)=>(e.openBlock(),e.createElementBlock("div",rt,[e.createElementVNode("label",ct,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":o[0]||(o[0]=r=>n.value=r),value:t.value},null,8,st),[[e.vModelCheckbox,n.value]]),o[1]||(o[1]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 200 200",class:"svg"},[e.createElementVNode("rect",{x:"0",y:"0",width:"200",height:"200","stroke-width":"40",class:"box",fill:"rgba(207,205,205,0.425)",rx:"30",ry:"30"}),e.createElementVNode("path",{"stroke-width":"15",d:"M52 111.018L76.9867 136L149 64",class:"tick"})],-1)),e.createElementVNode("span",it,e.toDisplayString(t.title),1)])]))}}),[["__scopeId","data-v-d71f306b"]]);U.install=function(t){t.component(U.name,U)};const dt=500,F=100,de={up:[{transform:`translateY(${F}px)`,opacity:0},{transform:"translateY(0)",opacity:1}],down:[{transform:`translateY(-${F}px)`,opacity:0},{transform:"translateY(0)",opacity:1}],left:[{transform:`translateX(${F}px)`,opacity:0},{transform:"translateX(0)",opacity:1}],right:[{transform:`translateX(-${F}px)`,opacity:0},{transform:"translateX(0)",opacity:1}],scale:[{transform:"scale(0)",opacity:0},{transform:"scale(1)",opacity:1}],opacity:[{opacity:0},{opacity:1}],fade:[{transform:"translateY(-5px) scale(1.2)",opacity:0},{transform:"translateY(0) scale(1)",opacity:1}]},me={name:"delay-in",mounted(t,n){const a=n.arg||"fade",o=t.animate(de[a]||de.fade,{duration:dt,easing:"ease-in-out",delay:n.value||0,fill:"both"});o.onfinish=()=>{o.cancel()},o.play()}},mt="正在加载...",Z=new WeakMap,ut=()=>{const t=document.createElement("div");return t.style.position="absolute",t.style.top="50%",t.style.left="50%",t.style.transform="translate(-50%, -50%)",t.style.zIndex="100",t},ue=t=>{const n=Z.get(t);n&&(n.app.unmount(),n.container.remove(),n.changePosition&&(t.style.position=""))},pe=(t,n)=>{const a={};getComputedStyle(t).position==="static"&&(t.style.position="relative",a.changePosition=!0);const o=e.ref("");fe(o,n.value);const r=ut(),c=e.defineComponent({render:()=>e.h(v,{text:o.value})}),p=e.createApp(c);p.mount(r),t.appendChild(r),a.container=r,a.app=p,a.textRef=o,Z.set(t,a)},fe=(t,n)=>{n===!0?t.value=mt:t.value=n},he={name:"loading",mounted(t,n){n.value!==!1&&pe(t,n)},updated(t,n){if(n.value===!1){ue(t);return}const a=Z.get(t);a?fe(a.textRef,n.value):pe(t,n)},unmounted(t){ue(t)}},pt=600,ye=100,ge=new WeakMap,ee=new IntersectionObserver(t=>{for(const n of t){const a=ge.get(n.target);a&&n.isIntersecting&&(a.play(),ee.unobserve(n.target))}}),ft=t=>t.getBoundingClientRect().top-ye>window.innerHeight,ke={name:"slide-in",mounted(t,n){if(!ft(t))return;const a=t.animate([{transform:`translateY(${ye}px)`,opacity:.5},{transform:"translateY(0px)",opacity:1}],{duration:pt,easing:"ease-out",delay:n.value||0,fill:"both"});a.pause(),a.onfinish=()=>{a.cancel()},ge.set(t,a),ee.observe(t)},unmounted(t){ee.unobserve(t)}},be={name:"text-jump",mounted(t,n){const a=n.value||["#ff1e00","#335bff"];t.style.cssText+=`
|
|
2
|
+
background-image: linear-gradient(90deg, ${a[0]}33 0%, ${a[0]} 20%, ${a[1]} 80%, ${a[1]}33 100%);
|
|
3
|
+
background-size: 200% 100%;
|
|
4
|
+
background-clip: text;
|
|
5
|
+
color: transparent;
|
|
6
|
+
`,t.animate([{backgroundPositionX:"200%"},{backgroundPositionX:"0%"}],{duration:4e3,easing:"linear",iterations:1/0,delay:xe(0,8)*-500}).play()}};let L=null;const W=new WeakMap,Ee=()=>L||(L=new IntersectionObserver(t=>{t.forEach(n=>{if(n.isIntersecting){const a=n.target,{src:o,callbacks:r}=W.get(a);r.onEnterViewport?.(a),L.unobserve(a),r.onLoadStart?.(a,o),ht(a,o,r.onLoadSuccess,r.onLoadError)}})}),L),ht=(t,n,a,o)=>{const r=new Image;r.src=n,r.onload=()=>{t.src=n,a?.(t,n)},r.onerror=c=>{o?.(t,n,c)}},we={name:"lazy",mounted(t,n){if(!(t instanceof HTMLImageElement)){console.warn("v-lazy 指令仅支持 img 元素");return}let a="",o={onEnterViewport:null,onLoadStart:null,onLoadSuccess:null,onLoadError:null};if(typeof n.value=="string")a=n.value;else if(typeof n.value=="object"&&n.value.src)a=n.value.src,o={...o,...n.value};else{console.error("v-lazy 绑定值格式错误,支持:字符串地址 | { src: 地址, 回调函数 }");return}W.set(t,{src:a,callbacks:o}),Ee().observe(t)},updated(t,n){let a="",o={onEnterViewport:null,onLoadStart:null,onLoadSuccess:null,onLoadError:null};if(typeof n.value=="string")a=n.value;else if(typeof n.value=="object"&&n.value.src)a=n.value.src,o={...o,...n.value};else return;W.set(t,{src:a,callbacks:o}),Ee().observe(t)},unmounted(t){L&&t instanceof HTMLImageElement&&(L.unobserve(t),W.delete(t))}};let Y=null,X=null;const te=document.createElement("div"),_e=t=>typeof t=="object"&&t!==null,yt=(t,n)=>(!_e(t)&&(t={content:t}),n==="prompt"&>(t),t.type=n,t),gt=t=>{if(!Array.isArray(t.content))throw new Error("Prompt content must be an array");t.content=t.content.map(n=>{if(typeof n=="string")return{label:n};if(_e(n))return n;throw new Error("Prompt content must be an array of strings or objects")})},kt=()=>{Y||(document.body.appendChild(te),Y=e.createApp(V,{onDestroy:()=>{Y.unmount(),Y=null,document.body.removeChild(te)}}),X=Y.mount(te))},ne=(t,n)=>{kt();const a=yt(t,n);return X.open(a)},bt={destroy:()=>{X&&X.destroyAll()},confirm:t=>ne(t,"confirm"),alert:t=>ne(t,"alert"),prompt:t=>ne(t,"prompt")},Et=[V,B,v,I,M,A,H,O,j,D,P,R,U],wt=[me,he,ke,be,we],Se=t=>{Et.forEach(n=>{t.component(n.name,n)}),wt.forEach(n=>{t.directive(n.name,n)})},_t={install:Se};f.Checkbox=U,f.Dialog=V,f.Icon=B,f.Loading=v,f.Message=I,f.Modal=M,f.Nav=A,f.Pagination=H,f.Switch=R,f.Table=O,f.Timer=j,f.Warn=D,f.Watermark=P,f.default=_t,f.dialog=bt,f.disableBodyScroll=Be,f.install=Se,f.msg=ie,f.useScrollControl=K,f.vDelayIn=me,f.vLazy=we,f.vLoading=he,f.vSlideIn=ke,f.vTextJump=be,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tan-bin/ui",
|
|
3
|
+
"engines": {
|
|
4
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
5
|
+
},
|
|
6
|
+
"version": "1.0.3",
|
|
7
|
+
"description": "this is a Vue3 components library",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"vue3",
|
|
12
|
+
"components",
|
|
13
|
+
"library"
|
|
14
|
+
],
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"module": "dist/em/tb-ui.js",
|
|
19
|
+
"main": "dist/umd/tb-ui.umd.cjs",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"import": "./dist/es/tb-ui.js",
|
|
23
|
+
"require": "./dist/umd/tb-ui.umd.cjs"
|
|
24
|
+
},
|
|
25
|
+
"./style.css": {
|
|
26
|
+
"import": "./dist/es/tb-ui.css",
|
|
27
|
+
"require": "./dist/umd/tb-ui.css"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"vue": "^3.5.18",
|
|
32
|
+
"vue-router": "^4.6.4"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"dev": "vite",
|
|
36
|
+
"build": "vite build --config vite.es.config.js && vite build --config vite.umd.config.js",
|
|
37
|
+
"preview": "vite preview"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@vitejs/plugin-vue": "^6.0.2",
|
|
42
|
+
"less": "^4.5.1",
|
|
43
|
+
"vite": "^7.2.4",
|
|
44
|
+
"vite-plugin-vue-devtools": "^8.0.5",
|
|
45
|
+
"vue": "^3.5.18",
|
|
46
|
+
"vue-router": "^4.6.4"
|
|
47
|
+
}
|
|
48
|
+
}
|