wd-loading.js 2.4 KB

1
  1. "use strict";const e=require("../../../../common/vendor.js"),t=e.defineComponent({name:"wd-loading",options:{virtualHost:!0,addGlobalClass:!0,styleIsolation:"shared"},props:e.loadingProps,setup(t){const o=e.context.id++,s=e.context.id++,i=e.context.id++,n={outline:(e="#4D80F0")=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42 42"><defs><linearGradient x1="100%" y1="0%" x2="0%" y2="0%" id="${o}"><stop stop-color="#FFF" offset="0%" stop-opacity="0"/><stop stop-color="#FFF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M21 1c11.046 0 20 8.954 20 20s-8.954 20-20 20S1 32.046 1 21 9.954 1 21 1zm0 7C13.82 8 8 13.82 8 21s5.82 13 13 13 13-5.82 13-13S28.18 8 21 8z" fill="${e}"/><path d="M4.599 21c0 9.044 7.332 16.376 16.376 16.376 9.045 0 16.376-7.332 16.376-16.376" stroke="url(#${o}) " stroke-width="3.5" stroke-linecap="round"/></g></svg>`,ring:(e="#4D80F0",t="#a6bff7")=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><linearGradient id="${s}" gradientUnits="userSpaceOnUse" x1="50" x2="50" y2="180"><stop offset="0" stop-color="${e}"></stop> <stop offset="1" stop-color="${t}"></stop></linearGradient> <path fill="url(#${s})" d="M20 100c0-44.1 35.9-80 80-80V0C44.8 0 0 44.8 0 100s44.8 100 100 100v-20c-44.1 0-80-35.9-80-80z"></path> <linearGradient id="${i}" gradientUnits="userSpaceOnUse" x1="150" y1="20" x2="150" y2="180"><stop offset="0" stop-color="#fff" stop-opacity="0"></stop> <stop offset="1" stop-color="${t}"></stop></linearGradient> <path fill="url(#${i})" d="M100 0v20c44.1 0 80 35.9 80 80s-35.9 80-80 80v20c55.2 0 100-44.8 100-100S155.2 0 100 0z"></path> <circle cx="100" cy="10" r="10" fill="${e}"></circle></svg>`},a=t,l=e.ref(""),r=e.ref(""),d=e.ref(null);e.watch((()=>a.size),(t=>{d.value=e.addUnit(t)}),{deep:!0,immediate:!0}),e.watch((()=>a.type),(()=>{p()}),{deep:!0,immediate:!0});const c=e.computed((()=>{const t={};return e.isDef(d.value)&&(t.height=e.addUnit(d.value),t.width=e.addUnit(d.value)),`${e.objToStyle(t)} ${a.customStyle}`}));function p(){const{type:t,color:o}=a;let s=e.isDef(t)?t:"ring";const i=`"data:image/svg+xml;base64,${e.encode("ring"===s?n[s](o,r.value):n[s](o))}"`;l.value=i}return e.onBeforeMount((()=>{r.value=e.gradient(a.color,"#ffffff",2)[1],p()})),(t,o)=>({a:e.s(`background-image: url(${l.value});`),b:e.n(`wd-loading ${a.customClass}`),c:e.s(c.value)})}}),o=e._export_sfc(t,[["__scopeId","data-v-4224d8d3"]]);wx.createComponent(o);