@iwusong/datav-vue3
Version:
Vue3 large screen data display component library
2 lines (1 loc) • 1.36 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),_=require("lodash-es");function q(y){let s=y;const a={},i=t=>{var e;return(e=a[t])!=null?e:0},p=t=>{var e;a[t]=((e=a[t])!=null?e:0)+1},N=t=>{let e=a[t]-1;e<=0&&(e=0),a[t]=e},S=t=>{s=t},u=(t,e=!0)=>`${e?".":""}${s||""}${t}`,g=t=>u(t,!1),v=(t,e)=>{const d=u(e);return`.__STYLED__ {${t.toString()}}`.replaceAll(".__STYLED__",d)};function n(t){return e=>{const d=document.createElement("style"),f=l=>{d.innerHTML=v(e,l),document.querySelector("head").appendChild(d)},P=()=>document.querySelector("head").removeChild(d);return l=>{const R=t,c=_.uniqueId("style");return r.defineComponent({setup(h,{slots:o}){r.onMounted(()=>{i(c)===0&&f(l),p(c)}),r.onUnmounted(()=>{N(c),i(c)===0&&P()});const x=u(l,!1);return()=>r.createVNode(R,r.mergeProps(h,{class:x}),{default:()=>{var m;return[(m=o==null?void 0:o.default)==null?void 0:m.call(o)]}})}})}}}return n.setClassNamePrefix=S,n.getClassNameForBind=g,n.span=n((t,{slots:e})=>r.createVNode("span",t,[e==null?void 0:e.default()])),n.div=n((t,{slots:e})=>r.createVNode("div",t,[e==null?void 0:e.default()])),n.img=n(t=>r.createVNode("img",t,null)),n.svg=n((t,{slots:e})=>r.createVNode("svg",t,[e==null?void 0:e.default()])),n}const E="dv-",C=q(E),F=C.setClassNamePrefix;exports.setClassNamePrefix=F;exports.styled=C;