UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 1.16 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue");function a(r){return typeof r=="string"&&r.endsWith("%")}function c(r){return Number(r.slice(0,-1))/100}const b=(r,l)=>{const S=t.computed(()=>t.unref(r).map(e=>e.size)),p=t.computed(()=>t.unref(r).length),o=t.computed(()=>t.unref(l)||0),g=e=>e*t.unref(o),f=t.ref(t.unref(r).map(e=>e.defaultSize||e["default-size"])),m=t.computed(()=>{const e=[];for(let s=0;s<p.value;s+=1)e[s]=S.value[s]??f.value[s];return e}),d=t.computed(()=>{let e=[],s=0;for(let u=0;u<p.value;u+=1){const n=m.value[u];if(a(n))e[u]=c(n);else if(n||n===0){const z=Number(n);Number.isNaN(z)||(e[u]=z/o.value)}else s+=1,e[u]=void 0}const i=e.reduce((u,n)=>u+(n||0),0);if(i>1||!s){const u=1/i;e=e.map(n=>n===void 0?0:n*u)}else{const u=(1-i)/s;e=e.map(n=>n===void 0?u:n)}return e}),v=t.computed(()=>t.unref(d).map(g)),P=t.computed(()=>t.unref(r).map(e=>a(e.min)?c(e.min):(e.min||0)/o.value)),x=t.computed(()=>t.unref(r).map(e=>a(e.max)?c(e.max):(e.max||o.value)/o.value));return[t.computed(()=>l?.value?t.unref(v):t.unref(m)),v,d,P,x,e=>{f.value=e}]};exports.getPtg=c;exports.useSizes=b;