pivotkit-element 0.5.0 → 0.6.0
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/CHANGELOG.md +34 -2
- package/README.md +1 -0
- package/dist/chunks/{chunk-SB3L4HHW.js → chunk-7V4PAOK7.js} +1 -1
- package/dist/chunks/chunk-CHSIHYYE.js +2 -0
- package/dist/chunks/chunk-CXSW4YRL.js +13 -0
- package/dist/chunks/chunk-HFUBAP3D.js +1 -0
- package/dist/chunks/chunk-KO3EKDH5.js +1 -0
- package/dist/chunks/chunk-NXZQI5LC.js +6 -0
- package/dist/chunks/{chunk-XETFD6GR.js → chunk-OHKPNELV.js} +1 -1
- package/dist/chunks/chunk-R6GXMVRO.js +1 -0
- package/dist/chunks/chunk-YMLEL3SK.js +8 -0
- package/dist/chunks/export-O6XO33DV.js +1 -0
- package/dist/chunks/import-ui-SZTWEYHK.js +1 -0
- package/dist/chunks/{link-45LOEA7H.js → link-7K6I4SJS.js} +1 -1
- package/dist/chunks/menu-texts-de-CRJ5OIVT.js +1 -0
- package/dist/chunks/menus-F36OYGXV.js +2 -0
- package/dist/chunks/{report-run-BZBFOMPF-4M6ACMUF.js → report-run-BZBFOMPF-T26ENZEM.js} +7 -7
- package/dist/element.js +1 -1
- package/dist/import-worker.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +4 -4
- package/types/element.d.ts +23 -2
- package/types/jsx.d.ts +1 -1
- package/dist/chunks/chunk-4PHDW2LB.js +0 -1
- package/dist/chunks/chunk-65O4Z5GI.js +0 -1
- package/dist/chunks/chunk-CCL5TDLA.js +0 -6
- package/dist/chunks/chunk-PJA6QZ4Y.js +0 -2
- package/dist/chunks/chunk-QOKB5RDG.js +0 -6
- package/dist/chunks/chunk-YUY4D5MF.js +0 -8
- package/dist/chunks/export-YHS47KGK.js +0 -1
- package/dist/chunks/import-ui-7XVUBL2H.js +0 -1
- package/dist/chunks/menu-texts-de-74DWTJDI.js +0 -1
- package/dist/chunks/menus-XBN5D32E.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as ce,H as ie,K as ue,N as fe,R as _,U as de,b as F,da as me,i as ae,j as M,k as Z,l as B,m as G,n as K}from"./chunk-4PHDW2LB.js";import{A as re,C as le,D as se,b as O,c as C,e as q,i as T,j as Q,m as R,s as ee,t as te,u as ne,w as j,z as oe}from"./chunk-XR4CMFGN.js";var V=Object.freeze(["string","number","boolean","date"]),Se=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,Ie=100;function pe(e){let t=e.trim();return t.length<=Ie&&Se.test(t)}var Re=100,ge=e=>e==null||e===""||typeof e=="function"||typeof e=="symbol";function Ee(e,t){if(ge(e))return null;switch(typeof e){case"number":return Number.isFinite(e)?"number":null;case"boolean":return"boolean";case"string":return oe(e)?"date":t&&pe(e)?"number":"string";case"bigint":return"number";default:return e instanceof Date?Number.isNaN(e.getTime())?null:"date":"string"}}function he(e,t){let n=null;for(let r=0;r<e.length;r++){let o=Ee(e[r],t);if(o==="string")return"string";if(!(o===null||o===n))if(n===null)n=o;else return"string"}return n??"null"}function $e(e){if(typeof e=="string")return e;if(e instanceof Date)return Number.isNaN(e.getTime())?"":e.toISOString();if(typeof e=="object")try{return JSON.stringify(e)??""}catch{return""}return String(e)}function Te(e){if(typeof e=="number")return Number.isFinite(e)?e:NaN;if(typeof e=="bigint")return Number(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string"&&pe(e)){let t=Number(e.trim());return Number.isFinite(t)?t:NaN}return NaN}function Pe(e){if(typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e!==0:null;if(typeof e=="string"){let t=e.trim().toLowerCase();if(t==="true"||t==="1"||t==="yes")return!0;if(t==="false"||t==="0"||t==="no")return!1}return null}var Ze={number:e=>{let t=Te(e);return Number.isNaN(t)?null:t},boolean:Pe,date:(e,t)=>{let n=se(e,t);return Number.isNaN(n)?null:n},string:e=>{let t=$e(e);return t===""?null:t},null:()=>null};function je(e,t,n,r){let o=t.length,c=new Int32Array(o),s=[],l=new Map,a=n==="number"||n==="boolean"||n==="date"?new Float64Array(o):null,i=Ze[n],d=!0;for(let m=0;m<o;m++){let h=t[m],p=ge(h)?null:i(h,r);if(p===null){c[m]=-1,a&&(a[m]=NaN);continue}n==="date"&&p%Q!==0&&(d=!1);let g=l.get(p);g===void 0&&(g=s.length,s.push(p),l.set(p,g)),c[m]=g,a&&(a[m]=typeof p=="boolean"?p?1:0:p)}let u=e.toLowerCase(),f={name:e,key:u,id:`column:${u}`,type:n,codes:c,dict:s,values:a};return n==="date"&&(f.dateOnly=d),f}function Fe(e){let t=e;return t!==null&&typeof t=="object"&&!Array.isArray(t)&&Array.isArray(t.columns)&&Array.isArray(t.data)}var Ke=e=>Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView);function st(e,t){t=R(t,"encode");let n=Fe(e);O(n||Array.isArray(e),"encode(rows): rows must be an array of objects or columnar data { columns, data }");let r=T(t),o=re(t.timeZone),c=le(o),s=t.inferNumbers===!0,l=Array.isArray(t.columns)?new Set(t.columns.filter(g=>typeof g=="string").map(g=>g.toLowerCase())):null,a=[],i=(g,b)=>{a.length<Re&&a.push({path:g,message:b})},{n:d,found:u}=n?Ue(e,l,r,i):_e(e,l,r,i),f=new Map;if(t.types&&typeof t.types=="object")for(let g of Object.keys(t.types)){let b=t.types[g];V.includes(b)&&f.set(g.toLowerCase(),b)}let m=l?[...l].filter(g=>u.has(g)):[...u.keys()],h=new Map,p=m.map(g=>{let{name:b,raw:v,type:x}=u.get(g),y=he(v,s),A=y==="string"&&!s?he(v,!0):y;return h.set(g,A),je(b,v,f.get(g)??x??y,c)});return De(d,p,{timeZone:o,issues:a,detected:h,cacheEntries:r.cacheEntries})}function _e(e,t,n,r){C("rows",e.length,n.rows,"rows");let o=e.length,c=new Map;for(let s=0;s<o;s++){let l=e[s];if(l===null||typeof l!="object")continue;let a=new Set;for(let i of Object.keys(l)){let d=i.toLowerCase(),u=c.get(d);if(u===void 0){if(t&&!t.has(d))continue;u={name:i,raw:new Array(o).fill(null),spellings:new Set([i])},c.set(d,u)}else u.spellings.has(i)||(u.spellings.add(i),r(u.name,`"${i}" and "${u.name}" are one column: names match case-insensitively`));a.has(d)&&r(u.name,`row ${s} has "${i}" next to another spelling of it; the later value is used`),a.add(d),u.raw[s]=l[i]}}return{n:o,found:c}}function Ue(e,t,n,r){let{columns:o,data:c,types:s}=e;O(c.length===o.length,`encode(data): ${o.length} column names but ${c.length} arrays in data`),O(s==null||Array.isArray(s),"encode(data): types must be an array, one entry per column");let l=c.length===0?0:c[0]?.length;for(let i=0;i<c.length;i++)O(Ke(c[i]),`encode(data): data[${i}] must be an array of the values of column ${i}`),O(c[i].length===l,`encode(data): every column must have the same length; data[0] has ${l} values, data[${i}] ${c[i].length}`);C("rows",l,n.rows,"rows");let a=new Map;for(let i=0;i<o.length;i++){let d=o[i];O(typeof d=="string",`encode(data): columns[${i}] must be a string`);let u=d.toLowerCase();if(t&&!t.has(u))continue;let f=a.get(u);if(f!==void 0){r(f.name,`"${d}" and "${f.name}" are one column: names match case-insensitively; the later column is left out`);continue}let m=s?s[i]:void 0;O(m==null||V.includes(m),`encode(data): types[${i}] must be one of ${V.join(", ")}`),a.set(u,{name:d,raw:c[i],type:m??void 0})}return{n:l,found:a}}function De(e,t,n){let r=new Map(t.map(c=>[c.key,c])),o={length:e,columns:t,schema:{fields:t.map(c=>({name:c.name,type:c.type,detected:n.detected.get(c.key)??c.type}))},column:c=>typeof c=="string"?r.get(c.toLowerCase()):void 0,timeZone:n.timeZone,issues:n.issues};return Object.defineProperty(o,"cache",{value:ne(n.cacheEntries),enumerable:!1}),o}function ye(e){let t=e;return t!==null&&typeof t=="object"&&Array.isArray(t.columns)&&typeof t.column=="function"&&"cache"in t}function z(e,t){let n=new Int32Array(t.length),r=[];if(e.length===0)return r.push([]),{groupOf:n,paths:r};let o=1;for(let d of e)o*=d.dict.length+1;let c=o<2**52,s=new Map,l=e.length,a=e.map(d=>d.codes),i=e.map(d=>d.dict.length+1);for(let d=0;d<t.length;d++){let u=t[d],f;if(c){f=0;for(let h=0;h<l;h++)f=f*i[h]+a[h][u]+1}else{f="";for(let h=0;h<l;h++)f+=a[h][u]+","}let m=s.get(f);if(m===void 0){m=r.length;let h=new Array(l);for(let p=0;p<l;p++)h[p]=a[p][u];r.push(h),s.set(f,m)}n[d]=m}return{groupOf:n,paths:r}}function we(e,t,n,r,o){return{id:e,depth:t,code:n,key:r,path:o?[...o.path,r]:[],parent:o,children:[],index:0}}function W(e,t,n={max:1/0,used:0}){let{groupOf:r,paths:o}=z(e,t);C("groups",n.used+o.length+(e.length>0?1:0),n.max,"groups");let c=we(0,0,-2,null,null),s=[c],l=Math.max(1,...e.map(f=>f.dict.length+1)),a=(Number.isFinite(n.max)?n.max:t.length*e.length+1)*l<2**53,i=new Map,d=new Array(o.length);o.forEach((f,m)=>{let h=c;for(let p=0;p<f.length;p++){let g=f[p],b=a?h.id*l+g+1:`${h.id},${g}`,v=i.get(b);if(v===void 0){n.used+s.length>=n.max&&C("groups",n.used+s.length+1,n.max,"groups");let x=g===-1?null:e[p].dict[g];v=we(s.length,p+1,g,x,h),s.push(v),i.set(b,v),h.children.push(v)}h=v}d[m]=h});let u=new Int32Array(t.length);for(let f=0;f<t.length;f++)u[f]=d[r[f]].id;return{root:c,nodes:s,leafOf:u,leafCount:o.length}}var He=(e,t)=>e===t||e===null&&t===null||typeof e=="number"&&typeof t=="number"&&Number.isNaN(e)&&Number.isNaN(t);function be(e,t,n){let r=t==="cols"?e.colRoot:e.rowRoot;for(let o of n||[])if(r=r.children.find(c=>He(c.key,o)),!r)return null;return r}function ut(e,t){t=R(t,"cellRows");let{row:n=[],col:r=[]}=t,o=Array.isArray(n)?be(e,"rows",n):n,c=Array.isArray(r)?be(e,"cols",r):r;if(!o||!c)return new Int32Array(0);let s=(a,i,d)=>{let u=a[i];for(;u&&u.depth>d.depth;)u=u.parent;return u===d},l=[];for(let a=0;a<e.rows.length;a++)s(e.rowNodes,e.rowLeafOf[a],o)&&s(e.colNodes,e.colLeafOf[a],c)&&l.push(e.rows[a]);return Int32Array.from(l)}var X=e=>`${e.agg}\0${e.field??""}`;function Be(e,t){let n=new Map(t.derived.map(o=>[o.name.toLowerCase(),o])),r=new Map;return o=>{if(o==null)return null;let c=o.toLowerCase();if(!r.has(c)){let s=n.get(c);r.set(c,s?ae(e,s):e.column(o)??null)}return r.get(c)}}function ve(e,t,n,r,o){let c=n?G(n,o,e.cache):null;return F(t.agg).create(n,r,c,s=>B(n,n.dict[s],o))}function Ge(e,t,n,r){let o=n.nodes.length,c=(t.depth+1)*(n.depth+1);C("pivotCells",Math.max(t.leafCount,n.leafCount)*c,r,"pivot cells");let s=m=>{let h=[];for(let p=m;p;p=p.parent)h.push(p.id);return h},l=new Map,a=new Map,i=new Int32Array(e.length),d=new Map,u=[],f=new Map;for(let m=0;m<e.length;m++){let h=t.leafOf[m],p=n.leafOf[m],g=h*o+p,b=d.get(g);if(b===void 0){b=d.size,d.set(g,b),C("pivotCells",u.length+c,r,"pivot cells"),l.has(h)||l.set(h,s(t.nodes[h])),a.has(p)||a.set(p,s(n.nodes[p]));for(let v of l.get(h))for(let x of a.get(p)){let y=v*o+x,A=f.get(y);A===void 0&&(A=f.size,f.set(y,A)),u.push(A)}}i[m]=b}return e.length===0&&f.set(0,0),{cellIndex:f,pairOf:i,cells:u,perPair:c}}function Ve(e,t,n,r,o,c,s,l){let a=s.nodes.length,{cellIndex:i,pairOf:d,cells:u,perPair:f}=Ge(o,c,s,l),m=i.size,h=t.map(x=>ve(e,x,x.field?n(x.field):null,m,r));for(let x of h)for(let y=0;y<o.length;y++){let A=d[y]*f,L=o[y];for(let N=A;N<A+f;N++)x.add(u[N],L)}let p=Symbol("unset"),g=t.map(()=>new Array(m).fill(p));return{value:(x,y,A)=>{let L=i.get(x.id*a+y.id);if(L===void 0)return null;let N=g[A][L];return N===p&&(N=g[A][L]=h[A].get(L)),N},has:(x,y)=>o.length>0&&i.has(x.id*a+y.id)}}function Ae(e,t,n,r,o,c){let s=l=>{if(l.children.length===0)return;let a=r.get(t[l.depth])??{by:"label",order:"asc"},i=a.order==="desc"?-1:1,d=c(n[l.depth]),u=m=>m.code<0?1/0:d[m.code],f=(m,h)=>{let p=u(m),g=u(h);return p===g?0:p===1/0||g===1/0?p===1/0?1:-1:(p-g)*i};if(a.by==="custom"){let m=new Map(a.items.map((p,g)=>[p,g])),h=p=>m.has(p.key)?m.get(p.key):1/0;l.children.sort((p,g)=>{let b=h(p),v=h(g);return b===1/0&&v===1/0?f(p,g):b===v?0:b===1/0?1:v===1/0?-1:(b-v)*i})}else if(a.by==="value"){let m=new Map(l.children.map(h=>[h,o(h,a.value)]));l.children.sort((h,p)=>{let g=m.get(h),b=m.get(p);return g===null||b===null?g===b?f(h,p):g===null?1:-1:(g-b)*i||f(h,p)})}else l.children.sort(f);l.children.forEach((m,h)=>{m.index=h,s(m)})};s(e.root)}function kt(e,t,n){n=R(n,"computePivot"),O(ye(e),"computePivot(data, view): data must come from encode()");let r=T(n),{view:o,issues:c}=me(t,e,n),s=j(o.formatting.locale,n.locale);o.formatting.timeZone&&o.formatting.timeZone!==e.timeZone&&c.push(de("formatting.timeZone",`the view was made for ${o.formatting.timeZone}, the data is encoded in ${e.timeZone}; pass timeZone to encode()`,"timeZoneMismatch",{value:o.formatting.timeZone,zone:e.timeZone}));let l=Be(e,o),a=w=>G(w,s,e.cache),i={view:o,locale:s,today:ce(n.now,e.timeZone),columnOf:l,groupBy:z,aggregateGroups:(w,k,S,I)=>{let P=ve(e,w,w.field?l(w.field):null,I,s);for(let E=0;E<k.length;E++)P.add(S[E],k[E]);return Array.from({length:I},(E,H)=>P.get(H))}},d=new Int32Array(e.length);for(let w=0;w<d.length;w++)d[w]=w;let u=o.filters.map(()=>null);d=ie(i,d,u);let f=new Map,m=[],h=w=>{let k=X(w);return f.has(k)||(f.set(k,m.length),m.push({field:w.field,agg:w.agg})),f.get(k)},p=o.values.map(h);for(let w of o.sort)w.by==="value"&&h(w.value);let g=m.reduce((w,k)=>w+(F(k.agg).keepsValues?q:1),0);C("work",d.length*(o.rows.length+1)*(o.cols.length+1)*g,r.work,"cell updates");let b=o.rows.map(l),v=o.cols.map(l),x={...W(b,d,{max:r.groups,used:0}),depth:b.length},y={...W(v,d,{max:r.groups,used:x.nodes.length}),depth:v.length},{value:A,has:L}=Ve(e,m,l,s,d,x,y,r.pivotCells),N=w=>typeof w=="number"?w:null,J=new Map(o.sort.map(w=>[w.field,w]));Ae(x,o.rows,b,J,(w,k)=>N(A(w,y.root,f.get(X(k)))),a),Ae(y,o.cols,v,J,(w,k)=>N(A(x.root,w,f.get(X(k)))),a);let Me=o.values.map(w=>{if(w.showAs)return"number";let k=w.field?l(w.field):null;return F(w.agg).resultType(k?k.type:"number")}),D=(w,k,S)=>A(w,k,p[S]),Le=(w,k,S)=>{let I=o.values[S],P=D(w,k,S);return I.showAs?_[I.showAs.type].compute(N(P),{rowNode:w,colNode:k,rowRoot:x.root,colRoot:y.root,raw:(E,H)=>N(D(E,H,S)),axis:I.showAs.axis}):P};return{view:o,issues:c,locale:s,timeZone:e.timeZone,encoded:e,rows:d,filters:o.filters.map((w,k)=>({field:w.field,type:w.type,kept:u[k]})),rowFields:o.rows,colFields:o.cols,rowColumns:b,colColumns:v,values:o.values,valueTypes:Me,rowRoot:x.root,colRoot:y.root,rowNodes:x.nodes,colNodes:y.nodes,rowLeafOf:x.leafOf,colLeafOf:y.leafOf,value:D,display:Le,hasRows:L,label:(w,k,S=M)=>{if(!k.parent)return S.grandTotal??M.grandTotal;let I=(w==="cols"?v:b)[k.depth-1];return B(I,k.key,s,S)}}}function xe(e){let t=e;return t!==null&&typeof t=="object"&&typeof t.display=="function"&&t.rowRoot!==void 0}function ke(e){return JSON.stringify(e)}function Y(e,t,n,r,o){let c=new Set(n.map(ke)),s=[];if(t===0)return s.push({node:e,kind:"leaf"}),s;let l=a=>{if(a.children.length===0){s.push({node:a,kind:"leaf"});return}if(c.has(ke(a.path))){s.push({node:a,kind:"collapsed"});return}a.children.forEach(l),r&&a.children.length>1&&s.push({node:a,kind:"subtotal"})};return e.children.forEach(l),(o||s.length===0)&&s.push({node:e,kind:"grand"}),s}var ze=new Set(["average","median","stdev","stdevp","var","varp"]),U=2;function We(e,t){let n=t?e.column(t):void 0;return!n||n.type!=="number"?U:e.cache.getOrSet(`decimals:${n.id}`,()=>{let r=0;for(let o of n.dict)if(typeof o=="number"&&(r=Math.max(r,te(o)),r>=U))return U;return r})}function Xe(e,t){let n=e.values[t],r=n.showAs?_[n.showAs.type].format:null;if(r==="percent")return n.format&&ue(n.format).name==="percent"?n.format:"percent:1";if(r==="integer")return"integer";if(n.format)return n.format;let o=e.valueTypes[t];if(o==="text")return"text";if(o==="date"){let c=e.encoded.column(n.field);return c&&c.dateOnly===!1?"datetime":"date"}return n.agg==="count"||n.agg==="countUnique"?"integer":`number:${ze.has(n.agg)?U:We(e.encoded,n.field)}`}function Ye(e,t=M){if(e.label)return e.label;let n;if(!e.field)n=t.countRows??M.countRows;else{let l={...M.aggregators,...t.aggregators||{}},a=Object.hasOwn(l,e.agg)?l[e.agg]:e.agg;n=K(t.valueName??M.valueName,{agg:a,field:Z(e.field,t)})}if(!e.showAs)return n;let r={...M.showAs,...t.showAs||{}},o=e.showAs.type,c=Object.hasOwn(r,o)?r[o]:o,s=e.field&&e.agg==="sum"?Z(e.field,t):n;return K(t.showAsName??M.showAsName,{showAs:c,value:s})}var $=e=>e==="grand"?2:e==="subtotal"?1:0;function Je(e,t){let n=e;for(;n&&n.depth>t;)n=n.parent;return n}function Ne(e,t,n,r,o,c){for(let s=t;s<r;s++)for(let l=n;l<o;l++){let a=e[s][l];if(!a||a.mergeKey===void 0)continue;let i=a.mergeKey,d=l+1;for(;d<o&&e[s][d]&&e[s][d].mergeKey===i;)d++;let u=s+1;for(;u<r;){let f=!0;for(let m=l;m<d;m++)if(!e[u][m]||e[u][m].mergeKey!==i){f=!1;break}if(!f)break;u++}if(d-l>1||u-s>1){a.colSpan=d-l,a.rowSpan=u-s,c.push({row:s,col:l,rowSpan:u-s,colSpan:d-l});for(let f=s;f<u;f++)for(let m=l;m<d;m++)(f!==s||m!==l)&&(e[f][m]=null)}}}function qe(e,t){let n=e.map(ee),r=n.length===3?t<=.5?0:1:0,o=n.length===3?t<=.5?t*2:(t-.5)*2:t,c=n[r],s=n[r+1];return"#"+c.map((l,a)=>Math.round(l+(s[a]-l)*o).toString(16).padStart(2,"0")).join("")}function Tt(e){let t=e;return t!==null&&typeof t=="object"&&Array.isArray(t.rows)&&Array.isArray(t.merges)&&Number.isInteger(t.columnCount)}var Oe=(e,t,n)=>({axis:e,path:t.path,collapsed:n});function Ce(e,t,{node:n,kind:r},o){let c=t==="cols"?"colHeader":"rowHeader",s=u=>t==="cols"?{colPath:u.path}:{rowPath:u.path},l=u=>e.result.label(t,u,e.labels),a=r==="grand"?0:n.depth-1;if(r!=="leaf"&&o===a){let f={text:r==="collapsed"?l(n):n.parent?K(e.labels.total,{label:l(n)}):e.labels.grandTotal,value:r==="collapsed"?n.key:null,kind:c,total:$(r),...s(n),mergeKey:`s${n.id}:${r}`};return r==="collapsed"&&(f.toggle=Oe(t,n,!0)),f}if(r!=="leaf"&&o>a)return{text:"",value:null,kind:c,total:$(r),mergeKey:`s${n.id}:${r}`};let i=Je(n,o+1),d={text:l(i),value:i.key,kind:c,total:0,...s(i),mergeKey:`n${i.id}`};return i.children.length>0&&(d.toggle=Oe(t,i,!1)),d}function Qe(e){let{view:t,k:n,h:r,width:o}=e,c=Array.from({length:r},()=>new Array(o).fill(null));for(let l=0;l<r;l++)for(let a=0;a<n;a++)l===r-1?c[l][a]={text:t.rows.length>0?Z(t.rows[a],e.labels):"",value:null,kind:"corner",total:0,field:t.rows.length>0?t.rows[a]:void 0}:a===n-1?c[l][a]={text:Z(t.cols[l],e.labels),value:null,kind:"corner",total:0,field:t.cols[l]}:c[l][a]={text:"",value:null,kind:"corner",total:0,mergeKey:"corner"};let s=t.values.length===1;return e.dataColumns.forEach(({line:l,vi:a},i)=>{let d=n+i;for(let f=0;f<t.cols.length;f++)c[f][d]=Ce(e,"cols",l,f);let u={text:a>=0?e.names[a]:"",value:null,kind:"colHeader",total:s?0:$(l.kind),valueIndex:a>=0?a:void 0,colPath:s?[]:l.node.path};s&&(u.mergeKey="value"),c[r-1][d]=u}),c}function et(e,t){let{result:n,view:r,k:o,width:c}=e;return t.map(s=>{let{node:l,kind:a}=s,i=new Array(c).fill(null),d=r.values.length>0;for(let u=0;u<o;u++)i[u]=r.rows.length===0?{text:d?e.labels.grandTotal:"",value:null,kind:"rowHeader",total:d?2:0,rowPath:[]}:Ce(e,"rows",s,u);return e.dataColumns.forEach(({line:u,vi:f},m)=>{let h=Math.max($(a),$(u.kind)),p=n.hasRows(l,u.node);if(f<0){i[o+m]={text:"",value:null,kind:"value",total:h,rowPath:l.path,colPath:u.node.path,hasRows:p};return}let g=n.display(l,u.node,f);i[o+m]={text:g===null?"":e.formatters[f](g),value:g,kind:"value",total:h,valueType:r.values[f].showAs?"number":n.valueTypes[f],format:e.formats[f],rowPath:l.path,colPath:u.node.path,valueIndex:f,hasRows:p}}),i})}function tt(e,t){e.view.values.forEach((n,r)=>{if(!n.conditional)return;let o=[];for(let l of t)for(let a=e.k;a<e.width;a++){let i=l[a];i&&i.valueIndex===r&&i.total===0&&typeof i.value=="number"&&o.push(i)}if(o.length===0)return;let c=1/0,s=-1/0;for(let l of o)c=Math.min(c,l.value),s=Math.max(s,l.value);for(let l of o)if(n.conditional.type==="colorScale"){let a=s===c?.5:(l.value-c)/(s-c),i=n.conditional.colors;l.style={scale:a,color:i.length>=2?qe(i,a):null}}else{let a=Math.min(0,c),i=Math.max(0,s);l.style={bar:i===a?0:(l.value-a)/(i-a),color:n.conditional.color}}})}function Pt(e,t){t=R(t,"toGrid"),O(xe(e),"toGrid(result): result must come from computePivot()");let n=T(t),r=e.view,o=j(r.formatting.locale,t.locale??e.locale),c={...M,...t.labels||{}},s=r.values.length>0?r.totals:{grandTotalRow:!1,grandTotalColumn:!1,rowSubtotals:!1,colSubtotals:!1},l=Y(e.rowRoot,r.rows.length,r.collapsed.rows,s.rowSubtotals,s.grandTotalRow),a=Y(e.colRoot,r.cols.length,r.collapsed.cols,s.colSubtotals,s.grandTotalColumn),i=r.values.length>0?a.flatMap(y=>r.values.map((A,L)=>({line:y,vi:L}))):r.cols.length>0?a.map(y=>({line:y,vi:-1})):[],d=Math.max(1,r.rows.length),u=r.cols.length+1,f=d+i.length;C("cells",(u+l.length)*f,n.cells,"grid cells");let m=r.values.map((y,A)=>Xe(e,A)),h={result:e,view:r,labels:c,dataColumns:i,k:d,h:u,width:f,formats:m,formatters:m.map(y=>fe(y,o)),names:r.values.map(y=>Ye(y,c))},p=Qe(h),g=et(h,l),b=[];Ne(p,0,0,u,f,b);let v=[];Ne(g,0,0,g.length,d,v),b.push(...v.map(y=>({...y,row:y.row+u}))),tt(h,g);let x=p.concat(g);for(let y of x)for(let A of y)A&&delete A.mergeKey;return{rows:x,headerRows:u,rowHeaderColumns:d,columnCount:f,merges:b,dataColumns:i.map(({line:y,vi:A})=>({colPath:y.node.path,valueIndex:A,total:$(y.kind)})),bodyRows:l.map(({node:y,kind:A})=>({rowPath:y.path,total:$(A),collapsed:A==="collapsed"})),formats:m,showAs:r.values.map(y=>y.showAs?y.showAs.type:null),valueNames:h.names,conditional:r.values.map(y=>y.conditional),locale:o,timeZone:e.timeZone}}export{V as a,st as b,ye as c,be as d,ut as e,kt as f,xe as g,Y as h,Xe as i,Ye as j,qe as k,Tt as l,Pt as m};
|
|
1
|
+
import{G as ce,K as ie,N as ue,Q as fe,U as _,X as de,b as F,ga as me,i as ae,j as M,n as Z,o as B,p as G,q as K}from"./chunk-KO3EKDH5.js";import{A as re,C as le,D as se,b as O,c as C,e as q,i as T,j as Q,m as R,s as ee,t as te,u as ne,w as j,z as oe}from"./chunk-XR4CMFGN.js";var V=Object.freeze(["string","number","boolean","date"]),Se=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,Ie=100;function pe(e){let t=e.trim();return t.length<=Ie&&Se.test(t)}var Re=100,ge=e=>e==null||e===""||typeof e=="function"||typeof e=="symbol";function Ee(e,t){if(ge(e))return null;switch(typeof e){case"number":return Number.isFinite(e)?"number":null;case"boolean":return"boolean";case"string":return oe(e)?"date":t&&pe(e)?"number":"string";case"bigint":return"number";default:return e instanceof Date?Number.isNaN(e.getTime())?null:"date":"string"}}function he(e,t){let n=null;for(let r=0;r<e.length;r++){let o=Ee(e[r],t);if(o==="string")return"string";if(!(o===null||o===n))if(n===null)n=o;else return"string"}return n??"null"}function $e(e){if(typeof e=="string")return e;if(e instanceof Date)return Number.isNaN(e.getTime())?"":e.toISOString();if(typeof e=="object")try{return JSON.stringify(e)??""}catch{return""}return String(e)}function Te(e){if(typeof e=="number")return Number.isFinite(e)?e:NaN;if(typeof e=="bigint")return Number(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string"&&pe(e)){let t=Number(e.trim());return Number.isFinite(t)?t:NaN}return NaN}function Pe(e){if(typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e!==0:null;if(typeof e=="string"){let t=e.trim().toLowerCase();if(t==="true"||t==="1"||t==="yes")return!0;if(t==="false"||t==="0"||t==="no")return!1}return null}var Ze={number:e=>{let t=Te(e);return Number.isNaN(t)?null:t},boolean:Pe,date:(e,t)=>{let n=se(e,t);return Number.isNaN(n)?null:n},string:e=>{let t=$e(e);return t===""?null:t},null:()=>null};function je(e,t,n,r){let o=t.length,c=new Int32Array(o),s=[],l=new Map,a=n==="number"||n==="boolean"||n==="date"?new Float64Array(o):null,i=Ze[n],d=!0;for(let m=0;m<o;m++){let h=t[m],p=ge(h)?null:i(h,r);if(p===null){c[m]=-1,a&&(a[m]=NaN);continue}n==="date"&&p%Q!==0&&(d=!1);let g=l.get(p);g===void 0&&(g=s.length,s.push(p),l.set(p,g)),c[m]=g,a&&(a[m]=typeof p=="boolean"?p?1:0:p)}let u=e.toLowerCase(),f={name:e,key:u,id:`column:${u}`,type:n,codes:c,dict:s,values:a};return n==="date"&&(f.dateOnly=d),f}function Fe(e){let t=e;return t!==null&&typeof t=="object"&&!Array.isArray(t)&&Array.isArray(t.columns)&&Array.isArray(t.data)}var Ke=e=>Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView);function st(e,t){t=R(t,"encode");let n=Fe(e);O(n||Array.isArray(e),"encode(rows): rows must be an array of objects or columnar data { columns, data }");let r=T(t),o=re(t.timeZone),c=le(o),s=t.inferNumbers===!0,l=Array.isArray(t.columns)?new Set(t.columns.filter(g=>typeof g=="string").map(g=>g.toLowerCase())):null,a=[],i=(g,b)=>{a.length<Re&&a.push({path:g,message:b})},{n:d,found:u}=n?Ue(e,l,r,i):_e(e,l,r,i),f=new Map;if(t.types&&typeof t.types=="object")for(let g of Object.keys(t.types)){let b=t.types[g];V.includes(b)&&f.set(g.toLowerCase(),b)}let m=l?[...l].filter(g=>u.has(g)):[...u.keys()],h=new Map,p=m.map(g=>{let{name:b,raw:v,type:x}=u.get(g),y=he(v,s),A=y==="string"&&!s?he(v,!0):y;return h.set(g,A),je(b,v,f.get(g)??x??y,c)});return De(d,p,{timeZone:o,issues:a,detected:h,cacheEntries:r.cacheEntries})}function _e(e,t,n,r){C("rows",e.length,n.rows,"rows");let o=e.length,c=new Map;for(let s=0;s<o;s++){let l=e[s];if(l===null||typeof l!="object")continue;let a=new Set;for(let i of Object.keys(l)){let d=i.toLowerCase(),u=c.get(d);if(u===void 0){if(t&&!t.has(d))continue;u={name:i,raw:new Array(o).fill(null),spellings:new Set([i])},c.set(d,u)}else u.spellings.has(i)||(u.spellings.add(i),r(u.name,`"${i}" and "${u.name}" are one column: names match case-insensitively`));a.has(d)&&r(u.name,`row ${s} has "${i}" next to another spelling of it; the later value is used`),a.add(d),u.raw[s]=l[i]}}return{n:o,found:c}}function Ue(e,t,n,r){let{columns:o,data:c,types:s}=e;O(c.length===o.length,`encode(data): ${o.length} column names but ${c.length} arrays in data`),O(s==null||Array.isArray(s),"encode(data): types must be an array, one entry per column");let l=c.length===0?0:c[0]?.length;for(let i=0;i<c.length;i++)O(Ke(c[i]),`encode(data): data[${i}] must be an array of the values of column ${i}`),O(c[i].length===l,`encode(data): every column must have the same length; data[0] has ${l} values, data[${i}] ${c[i].length}`);C("rows",l,n.rows,"rows");let a=new Map;for(let i=0;i<o.length;i++){let d=o[i];O(typeof d=="string",`encode(data): columns[${i}] must be a string`);let u=d.toLowerCase();if(t&&!t.has(u))continue;let f=a.get(u);if(f!==void 0){r(f.name,`"${d}" and "${f.name}" are one column: names match case-insensitively; the later column is left out`);continue}let m=s?s[i]:void 0;O(m==null||V.includes(m),`encode(data): types[${i}] must be one of ${V.join(", ")}`),a.set(u,{name:d,raw:c[i],type:m??void 0})}return{n:l,found:a}}function De(e,t,n){let r=new Map(t.map(c=>[c.key,c])),o={length:e,columns:t,schema:{fields:t.map(c=>({name:c.name,type:c.type,detected:n.detected.get(c.key)??c.type}))},column:c=>typeof c=="string"?r.get(c.toLowerCase()):void 0,timeZone:n.timeZone,issues:n.issues};return Object.defineProperty(o,"cache",{value:ne(n.cacheEntries),enumerable:!1}),o}function ye(e){let t=e;return t!==null&&typeof t=="object"&&Array.isArray(t.columns)&&typeof t.column=="function"&&"cache"in t}function z(e,t){let n=new Int32Array(t.length),r=[];if(e.length===0)return r.push([]),{groupOf:n,paths:r};let o=1;for(let d of e)o*=d.dict.length+1;let c=o<2**52,s=new Map,l=e.length,a=e.map(d=>d.codes),i=e.map(d=>d.dict.length+1);for(let d=0;d<t.length;d++){let u=t[d],f;if(c){f=0;for(let h=0;h<l;h++)f=f*i[h]+a[h][u]+1}else{f="";for(let h=0;h<l;h++)f+=a[h][u]+","}let m=s.get(f);if(m===void 0){m=r.length;let h=new Array(l);for(let p=0;p<l;p++)h[p]=a[p][u];r.push(h),s.set(f,m)}n[d]=m}return{groupOf:n,paths:r}}function we(e,t,n,r,o){return{id:e,depth:t,code:n,key:r,path:o?[...o.path,r]:[],parent:o,children:[],index:0}}function W(e,t,n={max:1/0,used:0}){let{groupOf:r,paths:o}=z(e,t);C("groups",n.used+o.length+(e.length>0?1:0),n.max,"groups");let c=we(0,0,-2,null,null),s=[c],l=Math.max(1,...e.map(f=>f.dict.length+1)),a=(Number.isFinite(n.max)?n.max:t.length*e.length+1)*l<2**53,i=new Map,d=new Array(o.length);o.forEach((f,m)=>{let h=c;for(let p=0;p<f.length;p++){let g=f[p],b=a?h.id*l+g+1:`${h.id},${g}`,v=i.get(b);if(v===void 0){n.used+s.length>=n.max&&C("groups",n.used+s.length+1,n.max,"groups");let x=g===-1?null:e[p].dict[g];v=we(s.length,p+1,g,x,h),s.push(v),i.set(b,v),h.children.push(v)}h=v}d[m]=h});let u=new Int32Array(t.length);for(let f=0;f<t.length;f++)u[f]=d[r[f]].id;return{root:c,nodes:s,leafOf:u,leafCount:o.length}}var He=(e,t)=>e===t||e===null&&t===null||typeof e=="number"&&typeof t=="number"&&Number.isNaN(e)&&Number.isNaN(t);function be(e,t,n){let r=t==="cols"?e.colRoot:e.rowRoot;for(let o of n||[])if(r=r.children.find(c=>He(c.key,o)),!r)return null;return r}function ut(e,t){t=R(t,"cellRows");let{row:n=[],col:r=[]}=t,o=Array.isArray(n)?be(e,"rows",n):n,c=Array.isArray(r)?be(e,"cols",r):r;if(!o||!c)return new Int32Array(0);let s=(a,i,d)=>{let u=a[i];for(;u&&u.depth>d.depth;)u=u.parent;return u===d},l=[];for(let a=0;a<e.rows.length;a++)s(e.rowNodes,e.rowLeafOf[a],o)&&s(e.colNodes,e.colLeafOf[a],c)&&l.push(e.rows[a]);return Int32Array.from(l)}var X=e=>`${e.agg}\0${e.field??""}`;function Be(e,t){let n=new Map(t.derived.map(o=>[o.name.toLowerCase(),o])),r=new Map;return o=>{if(o==null)return null;let c=o.toLowerCase();if(!r.has(c)){let s=n.get(c);r.set(c,s?ae(e,s):e.column(o)??null)}return r.get(c)}}function ve(e,t,n,r,o){let c=n?G(n,o,e.cache):null;return F(t.agg).create(n,r,c,s=>B(n,n.dict[s],o))}function Ge(e,t,n,r){let o=n.nodes.length,c=(t.depth+1)*(n.depth+1);C("pivotCells",Math.max(t.leafCount,n.leafCount)*c,r,"pivot cells");let s=m=>{let h=[];for(let p=m;p;p=p.parent)h.push(p.id);return h},l=new Map,a=new Map,i=new Int32Array(e.length),d=new Map,u=[],f=new Map;for(let m=0;m<e.length;m++){let h=t.leafOf[m],p=n.leafOf[m],g=h*o+p,b=d.get(g);if(b===void 0){b=d.size,d.set(g,b),C("pivotCells",u.length+c,r,"pivot cells"),l.has(h)||l.set(h,s(t.nodes[h])),a.has(p)||a.set(p,s(n.nodes[p]));for(let v of l.get(h))for(let x of a.get(p)){let y=v*o+x,A=f.get(y);A===void 0&&(A=f.size,f.set(y,A)),u.push(A)}}i[m]=b}return e.length===0&&f.set(0,0),{cellIndex:f,pairOf:i,cells:u,perPair:c}}function Ve(e,t,n,r,o,c,s,l){let a=s.nodes.length,{cellIndex:i,pairOf:d,cells:u,perPair:f}=Ge(o,c,s,l),m=i.size,h=t.map(x=>ve(e,x,x.field?n(x.field):null,m,r));for(let x of h)for(let y=0;y<o.length;y++){let A=d[y]*f,L=o[y];for(let N=A;N<A+f;N++)x.add(u[N],L)}let p=Symbol("unset"),g=t.map(()=>new Array(m).fill(p));return{value:(x,y,A)=>{let L=i.get(x.id*a+y.id);if(L===void 0)return null;let N=g[A][L];return N===p&&(N=g[A][L]=h[A].get(L)),N},has:(x,y)=>o.length>0&&i.has(x.id*a+y.id)}}function Ae(e,t,n,r,o,c){let s=l=>{if(l.children.length===0)return;let a=r.get(t[l.depth])??{by:"label",order:"asc"},i=a.order==="desc"?-1:1,d=c(n[l.depth]),u=m=>m.code<0?1/0:d[m.code],f=(m,h)=>{let p=u(m),g=u(h);return p===g?0:p===1/0||g===1/0?p===1/0?1:-1:(p-g)*i};if(a.by==="custom"){let m=new Map(a.items.map((p,g)=>[p,g])),h=p=>m.has(p.key)?m.get(p.key):1/0;l.children.sort((p,g)=>{let b=h(p),v=h(g);return b===1/0&&v===1/0?f(p,g):b===v?0:b===1/0?1:v===1/0?-1:(b-v)*i})}else if(a.by==="value"){let m=new Map(l.children.map(h=>[h,o(h,a.value)]));l.children.sort((h,p)=>{let g=m.get(h),b=m.get(p);return g===null||b===null?g===b?f(h,p):g===null?1:-1:(g-b)*i||f(h,p)})}else l.children.sort(f);l.children.forEach((m,h)=>{m.index=h,s(m)})};s(e.root)}function kt(e,t,n){n=R(n,"computePivot"),O(ye(e),"computePivot(data, view): data must come from encode()");let r=T(n),{view:o,issues:c}=me(t,e,n),s=j(o.formatting.locale,n.locale);o.formatting.timeZone&&o.formatting.timeZone!==e.timeZone&&c.push(de("formatting.timeZone",`the view was made for ${o.formatting.timeZone}, the data is encoded in ${e.timeZone}; pass timeZone to encode()`,"timeZoneMismatch",{value:o.formatting.timeZone,zone:e.timeZone}));let l=Be(e,o),a=w=>G(w,s,e.cache),i={view:o,locale:s,today:ce(n.now,e.timeZone),columnOf:l,groupBy:z,aggregateGroups:(w,k,S,I)=>{let P=ve(e,w,w.field?l(w.field):null,I,s);for(let E=0;E<k.length;E++)P.add(S[E],k[E]);return Array.from({length:I},(E,H)=>P.get(H))}},d=new Int32Array(e.length);for(let w=0;w<d.length;w++)d[w]=w;let u=o.filters.map(()=>null);d=ie(i,d,u);let f=new Map,m=[],h=w=>{let k=X(w);return f.has(k)||(f.set(k,m.length),m.push({field:w.field,agg:w.agg})),f.get(k)},p=o.values.map(h);for(let w of o.sort)w.by==="value"&&h(w.value);let g=m.reduce((w,k)=>w+(F(k.agg).keepsValues?q:1),0);C("work",d.length*(o.rows.length+1)*(o.cols.length+1)*g,r.work,"cell updates");let b=o.rows.map(l),v=o.cols.map(l),x={...W(b,d,{max:r.groups,used:0}),depth:b.length},y={...W(v,d,{max:r.groups,used:x.nodes.length}),depth:v.length},{value:A,has:L}=Ve(e,m,l,s,d,x,y,r.pivotCells),N=w=>typeof w=="number"?w:null,J=new Map(o.sort.map(w=>[w.field,w]));Ae(x,o.rows,b,J,(w,k)=>N(A(w,y.root,f.get(X(k)))),a),Ae(y,o.cols,v,J,(w,k)=>N(A(x.root,w,f.get(X(k)))),a);let Me=o.values.map(w=>{if(w.showAs)return"number";let k=w.field?l(w.field):null;return F(w.agg).resultType(k?k.type:"number")}),D=(w,k,S)=>A(w,k,p[S]),Le=(w,k,S)=>{let I=o.values[S],P=D(w,k,S);return I.showAs?_[I.showAs.type].compute(N(P),{rowNode:w,colNode:k,rowRoot:x.root,colRoot:y.root,raw:(E,H)=>N(D(E,H,S)),axis:I.showAs.axis}):P};return{view:o,issues:c,locale:s,timeZone:e.timeZone,encoded:e,rows:d,filters:o.filters.map((w,k)=>({field:w.field,type:w.type,kept:u[k]})),rowFields:o.rows,colFields:o.cols,rowColumns:b,colColumns:v,values:o.values,valueTypes:Me,rowRoot:x.root,colRoot:y.root,rowNodes:x.nodes,colNodes:y.nodes,rowLeafOf:x.leafOf,colLeafOf:y.leafOf,value:D,display:Le,hasRows:L,label:(w,k,S=M)=>{if(!k.parent)return S.grandTotal??M.grandTotal;let I=(w==="cols"?v:b)[k.depth-1];return B(I,k.key,s,S)}}}function xe(e){let t=e;return t!==null&&typeof t=="object"&&typeof t.display=="function"&&t.rowRoot!==void 0}function ke(e){return JSON.stringify(e)}function Y(e,t,n,r,o){let c=new Set(n.map(ke)),s=[];if(t===0)return s.push({node:e,kind:"leaf"}),s;let l=a=>{if(a.children.length===0){s.push({node:a,kind:"leaf"});return}if(c.has(ke(a.path))){s.push({node:a,kind:"collapsed"});return}a.children.forEach(l),r&&a.children.length>1&&s.push({node:a,kind:"subtotal"})};return e.children.forEach(l),(o||s.length===0)&&s.push({node:e,kind:"grand"}),s}var ze=new Set(["average","median","stdev","stdevp","var","varp"]),U=2;function We(e,t){let n=t?e.column(t):void 0;return!n||n.type!=="number"?U:e.cache.getOrSet(`decimals:${n.id}`,()=>{let r=0;for(let o of n.dict)if(typeof o=="number"&&(r=Math.max(r,te(o)),r>=U))return U;return r})}function Xe(e,t){let n=e.values[t],r=n.showAs?_[n.showAs.type].format:null;if(r==="percent")return n.format&&ue(n.format).name==="percent"?n.format:"percent:1";if(r==="integer")return"integer";if(n.format)return n.format;let o=e.valueTypes[t];if(o==="text")return"text";if(o==="date"){let c=e.encoded.column(n.field);return c&&c.dateOnly===!1?"datetime":"date"}return n.agg==="count"||n.agg==="countUnique"?"integer":`number:${ze.has(n.agg)?U:We(e.encoded,n.field)}`}function Ye(e,t=M){if(e.label)return e.label;let n;if(!e.field)n=t.countRows??M.countRows;else{let l={...M.aggregators,...t.aggregators||{}},a=Object.hasOwn(l,e.agg)?l[e.agg]:e.agg;n=K(t.valueName??M.valueName,{agg:a,field:Z(e.field,t)})}if(!e.showAs)return n;let r={...M.showAs,...t.showAs||{}},o=e.showAs.type,c=Object.hasOwn(r,o)?r[o]:o,s=e.field&&e.agg==="sum"?Z(e.field,t):n;return K(t.showAsName??M.showAsName,{showAs:c,value:s})}var $=e=>e==="grand"?2:e==="subtotal"?1:0;function Je(e,t){let n=e;for(;n&&n.depth>t;)n=n.parent;return n}function Ne(e,t,n,r,o,c){for(let s=t;s<r;s++)for(let l=n;l<o;l++){let a=e[s][l];if(!a||a.mergeKey===void 0)continue;let i=a.mergeKey,d=l+1;for(;d<o&&e[s][d]&&e[s][d].mergeKey===i;)d++;let u=s+1;for(;u<r;){let f=!0;for(let m=l;m<d;m++)if(!e[u][m]||e[u][m].mergeKey!==i){f=!1;break}if(!f)break;u++}if(d-l>1||u-s>1){a.colSpan=d-l,a.rowSpan=u-s,c.push({row:s,col:l,rowSpan:u-s,colSpan:d-l});for(let f=s;f<u;f++)for(let m=l;m<d;m++)(f!==s||m!==l)&&(e[f][m]=null)}}}function qe(e,t){let n=e.map(ee),r=n.length===3?t<=.5?0:1:0,o=n.length===3?t<=.5?t*2:(t-.5)*2:t,c=n[r],s=n[r+1];return"#"+c.map((l,a)=>Math.round(l+(s[a]-l)*o).toString(16).padStart(2,"0")).join("")}function Tt(e){let t=e;return t!==null&&typeof t=="object"&&Array.isArray(t.rows)&&Array.isArray(t.merges)&&Number.isInteger(t.columnCount)}var Oe=(e,t,n)=>({axis:e,path:t.path,collapsed:n});function Ce(e,t,{node:n,kind:r},o){let c=t==="cols"?"colHeader":"rowHeader",s=u=>t==="cols"?{colPath:u.path}:{rowPath:u.path},l=u=>e.result.label(t,u,e.labels),a=r==="grand"?0:n.depth-1;if(r!=="leaf"&&o===a){let f={text:r==="collapsed"?l(n):n.parent?K(e.labels.total,{label:l(n)}):e.labels.grandTotal,value:r==="collapsed"?n.key:null,kind:c,total:$(r),...s(n),mergeKey:`s${n.id}:${r}`};return r==="collapsed"&&(f.toggle=Oe(t,n,!0)),f}if(r!=="leaf"&&o>a)return{text:"",value:null,kind:c,total:$(r),mergeKey:`s${n.id}:${r}`};let i=Je(n,o+1),d={text:l(i),value:i.key,kind:c,total:0,...s(i),mergeKey:`n${i.id}`};return i.children.length>0&&(d.toggle=Oe(t,i,!1)),d}function Qe(e){let{view:t,k:n,h:r,width:o}=e,c=Array.from({length:r},()=>new Array(o).fill(null));for(let l=0;l<r;l++)for(let a=0;a<n;a++)l===r-1?c[l][a]={text:t.rows.length>0?Z(t.rows[a],e.labels):"",value:null,kind:"corner",total:0,field:t.rows.length>0?t.rows[a]:void 0}:a===n-1?c[l][a]={text:Z(t.cols[l],e.labels),value:null,kind:"corner",total:0,field:t.cols[l]}:c[l][a]={text:"",value:null,kind:"corner",total:0,mergeKey:"corner"};let s=t.values.length===1;return e.dataColumns.forEach(({line:l,vi:a},i)=>{let d=n+i;for(let f=0;f<t.cols.length;f++)c[f][d]=Ce(e,"cols",l,f);let u={text:a>=0?e.names[a]:"",value:null,kind:"colHeader",total:s?0:$(l.kind),valueIndex:a>=0?a:void 0,colPath:s?[]:l.node.path};s&&(u.mergeKey="value"),c[r-1][d]=u}),c}function et(e,t){let{result:n,view:r,k:o,width:c}=e;return t.map(s=>{let{node:l,kind:a}=s,i=new Array(c).fill(null),d=r.values.length>0;for(let u=0;u<o;u++)i[u]=r.rows.length===0?{text:d?e.labels.grandTotal:"",value:null,kind:"rowHeader",total:d?2:0,rowPath:[]}:Ce(e,"rows",s,u);return e.dataColumns.forEach(({line:u,vi:f},m)=>{let h=Math.max($(a),$(u.kind)),p=n.hasRows(l,u.node);if(f<0){i[o+m]={text:"",value:null,kind:"value",total:h,rowPath:l.path,colPath:u.node.path,hasRows:p};return}let g=n.display(l,u.node,f);i[o+m]={text:g===null?"":e.formatters[f](g),value:g,kind:"value",total:h,valueType:r.values[f].showAs?"number":n.valueTypes[f],format:e.formats[f],rowPath:l.path,colPath:u.node.path,valueIndex:f,hasRows:p}}),i})}function tt(e,t){e.view.values.forEach((n,r)=>{if(!n.conditional)return;let o=[];for(let l of t)for(let a=e.k;a<e.width;a++){let i=l[a];i&&i.valueIndex===r&&i.total===0&&typeof i.value=="number"&&o.push(i)}if(o.length===0)return;let c=1/0,s=-1/0;for(let l of o)c=Math.min(c,l.value),s=Math.max(s,l.value);for(let l of o)if(n.conditional.type==="colorScale"){let a=s===c?.5:(l.value-c)/(s-c),i=n.conditional.colors;l.style={scale:a,color:i.length>=2?qe(i,a):null}}else{let a=Math.min(0,c),i=Math.max(0,s);l.style={bar:i===a?0:(l.value-a)/(i-a),color:n.conditional.color}}})}function Pt(e,t){t=R(t,"toGrid"),O(xe(e),"toGrid(result): result must come from computePivot()");let n=T(t),r=e.view,o=j(r.formatting.locale,t.locale??e.locale),c={...M,...t.labels||{}},s=r.values.length>0?r.totals:{grandTotalRow:!1,grandTotalColumn:!1,rowSubtotals:!1,colSubtotals:!1},l=Y(e.rowRoot,r.rows.length,r.collapsed.rows,s.rowSubtotals,s.grandTotalRow),a=Y(e.colRoot,r.cols.length,r.collapsed.cols,s.colSubtotals,s.grandTotalColumn),i=r.values.length>0?a.flatMap(y=>r.values.map((A,L)=>({line:y,vi:L}))):r.cols.length>0?a.map(y=>({line:y,vi:-1})):[],d=Math.max(1,r.rows.length),u=r.cols.length+1,f=d+i.length;C("cells",(u+l.length)*f,n.cells,"grid cells");let m=r.values.map((y,A)=>Xe(e,A)),h={result:e,view:r,labels:c,dataColumns:i,k:d,h:u,width:f,formats:m,formatters:m.map(y=>fe(y,o)),names:r.values.map(y=>Ye(y,c))},p=Qe(h),g=et(h,l),b=[];Ne(p,0,0,u,f,b);let v=[];Ne(g,0,0,g.length,d,v),b.push(...v.map(y=>({...y,row:y.row+u}))),tt(h,g);let x=p.concat(g);for(let y of x)for(let A of y)A&&delete A.mergeKey;return{rows:x,headerRows:u,rowHeaderColumns:d,columnCount:f,merges:b,dataColumns:i.map(({line:y,vi:A})=>({colPath:y.node.path,valueIndex:A,total:$(y.kind)})),bodyRows:l.map(({node:y,kind:A})=>({rowPath:y.path,total:$(A),collapsed:A==="collapsed"})),formats:m,showAs:r.values.map(y=>y.showAs?y.showAs.type:null),valueNames:h.names,conditional:r.values.map(y=>y.conditional),locale:o,timeZone:e.timeZone}}export{V as a,st as b,ye as c,be as d,ut as e,kt as f,xe as g,Y as h,Xe as i,Ye as j,qe as k,Tt as l,Pt as m};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r=/^([^]*)#[0-9a-f]{16}$/;function n(t){let e=typeof t=="string"?r.exec(t):null;return e?e[1]:null}function s(t){let e=t&&typeof t=="object"?t.params?.sheet:void 0;return typeof e=="string"&&e?e:null}function l(t,e){return!t.sourceId||!e.id||t.sourceId===e.id?!0:!!(t.sheet&&e.sheet&&n(t.sourceId)!==null&&n(t.sourceId)===n(e.id))}function o(t,e){let i=t.sheet;if(!i||!e.sheet||i===e.sheet)return{kind:"none"};let u=n(t.id);return u===null||u!==n(e.id)?{kind:"none"}:{kind:e.sheets.includes(i)?"switch":"missing",sheet:i}}export{s as a,l as b,o as c};
|