@graphysdk/viz-engine 0.0.1-plugins.9 → 1.8.1-beta.1786024899180
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.md +17 -0
- package/README.md +25 -1
- package/dist/config.types-CQX-tSXl.cjs +1 -0
- package/dist/config.types-uM8CYfC1.js +1951 -0
- package/dist/graph-config.cjs +1 -0
- package/dist/graph-config.d.ts +2569 -0
- package/dist/graph-config.mjs +966 -0
- package/dist/index.cjs +22 -38
- package/dist/index.d.ts +6418 -2717
- package/dist/index.mjs +11358 -8471
- package/package.json +22 -5
package/LICENSE.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# License
|
|
2
|
+
|
|
3
|
+
This software is available under any of the following licenses, at your option,
|
|
4
|
+
depending on which one's conditions you meet:
|
|
5
|
+
|
|
6
|
+
- **PolyForm Noncommercial 1.0.0** — for noncommercial use (personal,
|
|
7
|
+
charitable, educational, research, government).
|
|
8
|
+
See [licenses/PolyForm-NonCommercial-1.0.0.md](licenses/PolyForm-NonCommercial-1.0.0.md)
|
|
9
|
+
|
|
10
|
+
- **PolyForm Small Business 1.0.0** — free commercial use for organizations
|
|
11
|
+
under the size thresholds defined in the license.
|
|
12
|
+
See [licenses/PolyForm-Small-Business-1.0.0.md](licenses/PolyForm-Small-Business-1.0.0.md)
|
|
13
|
+
|
|
14
|
+
- **PolyForm Free Trial 1.0.0** — a 32-day evaluation for anyone else.
|
|
15
|
+
See [licenses/PolyForm-Free-Trial-1.0.0.md](licenses/PolyForm-Free-Trial-1.0.0.md)
|
|
16
|
+
|
|
17
|
+
For commercial use beyond these terms, contact [hello@graphy.dev](mailto:hello@graphy.dev) or visit [https://graphy.dev](https://graphy.dev).
|
package/README.md
CHANGED
|
@@ -1 +1,25 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @graphysdk/viz-engine
|
|
2
|
+
|
|
3
|
+
Grammar-of-graphics engine for Graphy charts. Compiles a declarative `Spec` into a render-ready `CompiledSpec`. Framework-agnostic — no DOM, no React.
|
|
4
|
+
|
|
5
|
+
## Docs
|
|
6
|
+
|
|
7
|
+
- [How a chart is built](https://docs.graphy.dev/sdk-next/concepts/how-a-chart-is-built)
|
|
8
|
+
- [Quickstart](https://docs.graphy.dev/sdk-next/quickstart) — start with `@graphysdk/react` for the batteries-included React path
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pnpm add @graphysdk/viz-engine
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import { createSpec, pipe, geom, scale, createCompiler } from '@graphysdk/viz-engine';
|
|
20
|
+
|
|
21
|
+
const input = pipe(createSpec({ x: 'month', y: 'revenue' }), geom.bar(), scale.x(), scale.y());
|
|
22
|
+
const { compiled } = createCompiler().compile({ input, data });
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
For React painting, use [`@graphysdk/react`](https://www.npmjs.com/package/@graphysdk/react) (recommended) or [`@graphysdk/react-renderer`](https://www.npmjs.com/package/@graphysdk/react-renderer).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let l=require("date-fns"),ue=require("lodash-es"),_=require("arquero");var Je=e=>e.length>0;function q(e){return e!=null}function Ze(e){if(e===null||typeof e!="object")return!1;const r=Object.getPrototypeOf(e);return r===Object.prototype||r===null}var le="\0graphy\0_",c=e=>`${le}${e}`,ce={x:c("constantX")},H={count:c("count"),mean:c("mean")},de={group:c("group")},fe={x:c("x"),y:c("y"),xMin:c("xMin"),xMax:c("xMax"),yMin:c("yMin"),yMax:c("yMax"),yRaw:c("yRaw")},ye={role:c("stackRole")},me={color:c("color"),size:c("size"),alpha:c("alpha"),strokeWidth:c("strokeWidth"),lineType:c("lineType")},pe={y:c("ruleY"),x:c("ruleX")},rn={...ce,...H,...de,...fe,...ye,...me,...pe},er=new Set(Object.values(H)),rr=e=>c(`scaled_${e}`),tr=e=>e.startsWith(le),nr=e=>er.has(e);function ar(e){return{type:"mapping",mapping:e}}function or(e){return q(e)?typeof e=="string"?e:"variable"in e?e.variable:null:null}function ir(e){if(!(!q(e)||typeof e=="string")&&"value"in e)return e.value}var U=e=>e instanceof Date&&(0,l.isValid)(e),sr=e=>U(e)||e===null,ur=e=>typeof e=="string",be=e=>typeof e=="number"&&!Number.isNaN(e)&&Number.isFinite(e),lr=e=>be(e)||e===null,X=e=>(Array.isArray(e)?e:[e]).map(r=>r instanceof Date?r.toISOString():String(r??"<null>")).join("\0"),cr=(e,r)=>e===r?!0:U(e)&&U(r)?e.getTime()===r.getTime():!1,A=process.env.NODE_ENV!=="production",$=!0,dr=e=>{$=e},fr=()=>$,yr=()=>{let e=null;const r={hits:0,misses:0};return Object.assign((n,a)=>{if(!$)return A&&(r.misses+=1),a();if(e&&he(e.args,n))return A&&(r.hits+=1),e.out;A&&(r.misses+=1);const o=a();return e={args:n,out:o},o},{stats:r,reset:()=>{e=null}})},ge=()=>{const e=new WeakMap,r={hits:0,misses:0};return Object.assign((n,a,o)=>{if(!$)return A&&(r.misses+=1),o();const i=e.get(n);if(i){for(const u of i)if(he(u.args,a))return A&&(r.hits+=1),u.out}A&&(r.misses+=1);const s=o();return i?i.push({args:a,out:s}):e.set(n,[{args:a,out:s}]),s},{stats:r})},mr=(...e)=>e.reduce((r,t)=>({hits:r.hits+t.hits,misses:r.misses+t.misses}),{hits:0,misses:0}),he=(e,r)=>{if(e.length!==r.length)return!1;for(let t=0;t<e.length;t+=1)if(e[t]!==r[t])return!1;return!0},ve=class{constructor(){this.memo=ge(),this.singletonKey={}}get stats(){return this.memo.stats}compile(e){return this.memo(this.key(e),this.dependencies(e),()=>this.run(e))}key(e){return this.singletonKey}},Q=class extends Error{constructor(e){super(e.message,e.cause!==void 0?{cause:e.cause}:void 0),this.name=new.target.name,this.code=e.code,this.context=e.context,this.suggestion=e.suggestion}},R=class extends Q{constructor(e){super(e),this.kind="user-input"}},h=class extends Q{constructor(e){super({...e,code:e.code??"INTERNAL_INVARIANT"}),this.kind="internal"}},J=e=>e.type==="lookup",Me=e=>e.type==="text",V=e=>e.type==="date"||e.type==="datetime"||e.type==="year"||e.type==="month_year"||e.type==="month"||e.type==="day_month"||e.type==="weekly_date_range"||e.type==="weekly_date_range_with_year"||e.type==="quarter"||e.type==="time",Ee=e=>e.type==="decimal"||e.type==="integer"||e.type==="percentage"||e.type==="duration"||e.type==="currency",pr=e=>e.type==="currency",br=e=>e.type==="month"||e.type==="day_month"||e.type==="weekly_date_range",Oe=e=>{if(J(e))return Oe(e.fallback);if(V(e))return"temporal";if(Ee(e))return"numeric";if(Me(e))return"categorical";throw new h({message:`No data type found for value format: ${e.type}`})},gr=e=>J(e)?e.fallback:e,_e={k:1e3,m:1e6,b:1e9,t:1e12},Z=["k","m","b","t"],hr=new RegExp(`^-?(\\d{1,3}(,\\d{3})*|\\d+)\\.?\\d*(${Z.join("|")})?$`,"i"),vr=/^-?\d{1,3}(?:,\d{3})*(?:\.\d+)?%?$/,T=e=>e===null||e instanceof Date||Array.isArray(e)||typeof e=="boolean"?!1:typeof e=="string"?hr.test(e)&&!Number.isNaN(Number(e.replace(new RegExp(`[,${Z.join("")}]`,"gi"),""))):!Number.isNaN(Number(e)),Ae=e=>T(e)?!0:typeof e=="string"?vr.test(e):!1,Te={$:"usd","£":"gbp","€":"eur","¥":"jpy","₹":"inr","₱":"php",P:"php","₩":"krw","₪":"ils","₫":"vnd","₽":"rub","฿":"thb",R$:"brl",Rp:"idr",RM:"myr","₦":"ngn",zł:"pln","₺":"try",kr:"dkk",Fr:"chf",R:"zar","د.إ":"aed","﷼":"sar",Ch$:"clp",NT$:"twd",HK$:"hkd",S$:"sgd",A$:"aud",C$:"cad",NZ$:"nzd",MX$:"mxn"},Fe=e=>{if(typeof e=="string"){const r=De(e);return r.length?T(r):!1}return T(e)},Mr=e=>{const r=Se(e),t=r?Te[r]:void 0;if(!t)throw new h({message:"Could not get currency ISO"});return t},De=e=>{const r=Se(e);let t=e;if(r){const n=e.indexOf(r);n===0?t=e.slice(r.length):n===e.length-r.length?t=e.slice(0,e.length-r.length):e[0]==="-"&&n===1&&(t=`-${e.slice(r.length+1)}`)}return T(t)?t.split(",").join(""):""},Se=e=>Object.keys(Te).sort((r,t)=>t.length-r.length).find(r=>e.includes(r)),Ne=e=>{const r=Object.entries(e);return!r.length||!r.some(([,t])=>!C(t))},C=e=>typeof e=="string"&&e.trim()===""||e===void 0||e===null||e==="-",ee="en-GB",Pe=class{constructor(){this.currentYear=new Date().getUTCFullYear(),this.previousDate=null,this.previousYear=null}incrementYearIfNeeded(e){this.previousYear===null?this.previousYear=e.getUTCFullYear():this.previousDate!==null&&(0,l.isBefore)(new Date(this.currentYear,e.getUTCMonth(),e.getUTCDate()),new Date(this.currentYear,this.previousDate.getUTCMonth(),this.previousDate.getUTCDate()))&&this.previousYear++;const r=new Date(e.getTime());return r.setUTCFullYear(this.previousYear),this.previousDate=r,r}},Er=/^\d{4}-\d{2}-\d{2}(T|\s)\d{1,2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|\+00:00)?$/,Or=/^\s*(19\d{2}|2[01]\d{2})\s*$/,_r=[[/\bJan\b/i,"January"],[/\bFeb\b/i,"February"],[/\bMar\b/i,"March"],[/\bApr\b/i,"April"],[/\bJun\b/i,"June"],[/\bJul\b/i,"July"],[/\bAug\b/i,"August"],[/\bSept?\b/i,"September"],[/\bOct\b/i,"October"],[/\bNov\b/i,"November"],[/\bDec\b/i,"December"]],Ar={"en-US":"MDY","en-GB":"DMY","pt-PT":"DMY",ar:"DMY"},je=["/","-","."," "],te=[["d","M","yy"],["d","MM","yy"],["d","MMMM","yy"],["dd","M","yy"],["dd","MM","yy"],["dd","MMMM","yy"],["do","MMMM","yy"],["d","M","yyyy"],["d","MM","yyyy"],["d","MMMM","yyyy"],["dd","M","yyyy"],["dd","MM","yyyy"],["dd","MMMM","yyyy"],["do","MMMM","yyyy"]],ne=[["M","d","yy"],["M","dd","yy"],["MM","d","yy"],["MM","dd","yy"],["MMMM","d","yy"],["MMMM","dd","yy"],["MMMM","do","yy"],["M","d","yyyy"],["M","dd","yyyy"],["MM","d","yyyy"],["MM","dd","yyyy"],["MMMM","d","yyyy"],["MMMM","dd","yyyy"],["MMMM","do","yyyy"]],ae=[["yyyy","M","d"],["yyyy","M","dd"],["yyyy","MM","d"],["yyyy","MM","dd"],["yyyy","MMMM","d"],["yyyy","MMMM","dd"],["yyyy","MMMM","do"]],Le=[["d","MMMM"],["dd","MMMM"],["do","MMMM"],["MMMM","d"],["MMMM","dd"],["MMMM","do"]],Tr=[{dateFormat:"MMMM d, yyyy",type:"date"},{dateFormat:"MMMM dd, yyyy",type:"date"},{dateFormat:"MMMM do, yyyy",type:"date"},{dateFormat:"yyyy-MM",type:"month_year"}],Re=1900,we=2199,Fr=3,Dr=6,Sr=5,Nr=1,Pr=28,jr=/\s*[–—]\s*|\s-\s/,Lr=e=>typeof e=="number"?Number.isNaN(e)?!1:e>=Re&&e<=we:typeof e=="string"?Or.test(e):!1,Ve=(e,r)=>{const t=w(e);return!r&&T(t)?Cr(t):typeof t=="string"?r?(0,l.isValid)((0,l.parse)(t,r,new Date)):!!Ce(t)||z(t)&&(0,l.isValid)(new Date(t)):(0,l.isValid)(t)},w=e=>{if(typeof e!="string")return e;let r=e;for(const[t,n]of _r)r=r.replace(t,n);return r},Ce=(e,r=ee)=>{const t=w(e);return z(t)?{type:"datetime"}:Ie(r).find(n=>!V(n)||n.type==="month"&&t.length<Fr?!1:n.dateFormat&&(0,l.isValid)((0,l.parse)(t,n.dateFormat,new Date)))},z=e=>Er.test(e.trim()),Rr=e=>{if(e instanceof Date)return(0,l.isValid)(e)?e:null;if(typeof e!="string"||!z(e))return null;const r=new Date(e.trim());return(0,l.isValid)(r)?r:null},wr=(e,r=ee)=>{const[t,n]=e.split(jr);if(!t||!n)return;const a=w(t).trim(),o=w(n).trim();return Vr(r).find(i=>{if(!V(i)||!i.dateFormat)return!1;const s=(0,l.parse)(a,i.dateFormat,new Date),u=(0,l.parse)(o,i.dateFormat,new Date);if(!(0,l.isValid)(s)||!(0,l.isValid)(u))return!1;const d=new Pe,f=d.incrementYearIfNeeded(s),E=d.incrementYearIfNeeded(u),y=(0,l.differenceInDays)(E,f);return(0,l.isWithinInterval)(new Date(f.getFullYear(),Nr,Pr),{start:f,end:E})&&y===Sr?!0:y===Dr})},Ie=e=>{const r={date:ke(e),year:[["yyyy"]],day_month:Le,month_year:[["MMMM","yyyy"],["yyyy","MMMM"]],month:[["MMMM"]],quarter:[["QQQ","yyyy"],["yyyy","QQQ"]]};return[...Tr,...Object.entries(r).flatMap(([t,n])=>n.flatMap(a=>je.map(o=>({dateFormat:a.join(o),type:t}))))]},ke=e=>Ar[e]==="MDY"?[...ne,...te,...ae]:[...te,...ne,...ae],Vr=e=>{const r={weekly_date_range:Le,weekly_date_range_with_year:ke(e)};return Object.entries(r).flatMap(([t,n])=>n.flatMap(a=>je.map(o=>({dateFormat:a.join(o),type:t}))))},Cr=e=>{const r=Number(e);if(!(0,ue.isInteger)(r))return!1;const t=new Date(r),n=new Date(r*1e3),a=o=>(0,l.isValid)(o)&&o.getFullYear()>=Re&&o.getFullYear()<=we;return a(t)||a(n)},Ir=/\s*[–—]\s*|\s-\s/,xe=(e,r,t)=>{if(C(e))return null;switch(r.type){case"decimal":case"integer":case"duration":return Ue(e);case"percentage":return kr(e);case"currency":return xr(e);case"datetime":case"date":case"year":case"month_year":case"month":case"day_month":case"quarter":case"time":return Be(e,r.dateFormat,t);case"weekly_date_range":case"weekly_date_range_with_year":return Br(e,r.dateFormat,t);case"text":return Ur(e);case"lookup":throw new h({message:"Cannot parse: lookup value formats are produced by transforms, not raw input"});default:throw new h({message:`Unhandled value format: ${r.type}`})}},Be=(e,r,t)=>{if(e instanceof Date)return(0,l.isValid)(e)?e:null;const n=w(String(e).trim());if(n.length===0)return null;const a=new Date;if(r){const i=(0,l.parse)(n,r,a);return(0,l.isValid)(i)?G(i):null}for(const i of Ie(t)){if(!V(i)||!i.dateFormat)continue;const s=(0,l.parse)(n,i.dateFormat,a);if((0,l.isValid)(s))return G(s)}const o=new Date(n);return Ve(o)?z(n)?o:G(o):null},Ue=e=>{if(typeof e=="number")return Number.isNaN(e)?null:e;if(typeof e!="string")return null;let r=e.trim();if(!T(r))return null;let t=1;for(const n of Z)if(new RegExp(`${n}$`,"i").test(r)){t=_e[n],r=r.slice(0,-1);break}return Number(r.split(",").join(""))*t},kr=e=>{if(typeof e=="number")return Number.isNaN(e)?null:e;if(typeof e!="string")return null;const r=e.trim();if(!Ae(r))return null;const t=Number(r.replace(/%/g,"").replace(/,/g,""))/100;return Number.isNaN(t)?null:t},xr=e=>{if(typeof e=="number")return Number.isNaN(e)?null:e;if(typeof e!="string")return null;const r=e.trim();return Fe(r)?Ue(De(r)):null},Br=(e,r,t)=>{const n=String(e).trim().split(Ir),[a,o]=[n[0]?.trim(),n[1]?.trim()];return!a||!o?null:Be(a,r,t)},Ur=e=>String(e).trim(),G=e=>new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())),Yr=new Set(["count","sum","mean","median"]);function Ye(e,r){return Yr.has(e)?"numeric":r}var $r="value",oe="\0__rowMaskIndex",L={numeric:{type:"decimal"},categorical:{type:"text"},temporal:{type:"datetime"}},zr={eq:(e,r)=>e[r.__variableName]===r.__value,neq:(e,r)=>e[r.__variableName]!==r.__value,gt:(e,r)=>e[r.__variableName]>r.__value,gte:(e,r)=>e[r.__variableName]>=r.__value,lt:(e,r)=>e[r.__variableName]<r.__value,lte:(e,r)=>e[r.__variableName]<=r.__value},$e=(e,r)=>e==="count"?{type:"integer"}:r,Y=class b{constructor(r={}){const{table:t,variableMetadata:n}=this.parseVariableMap(r);this.table=t,this.variableMetadata=n}static fromTrusted(r,t){const n=Object.create(b.prototype);return n.table=r,n.variableMetadata=t,n}size(){return this.table.numRows()}getVariableNames(){return this.table.columnNames()}hasVariable(r){return this.table.column(r)!==void 0}addVariable(r,t,n,a){const o={...this.variableMetadata,[r]:{type:t,valueFormat:this.resolveAddedVariableFormat(r,t,a)}},i=this.normalizeRawValues(t,n),s=this.table.assign((0,_.table)({[r]:i}));return b.fromTrusted(s,o)}addConstantVariable(r,t,n,a){const o={...this.variableMetadata,[r]:{type:t,valueFormat:this.resolveAddedVariableFormat(r,t,a),constant:{value:n}}},[i]=this.normalizeRawValues(t,[n]),s=this.table.assign((0,_.table)({[r]:Array(this.size()).fill(i)}));return b.fromTrusted(s,o)}getConstant(r){return this.variableMetadata[r]?.constant}deriveVariable(r,t,n,a){const o=Array.from({length:this.size()},(i,s)=>n(this.table.object(s)));return this.addVariable(r,t,o,a)}renameVariable(r,t){const n=this.variableMetadata[r];if(!n)throw new h({message:`Variable ${r} not defined`});const a=this.table.rename({[r]:t}),{[r]:o,...i}=this.variableMetadata,s={...i,[t]:n};return b.fromTrusted(a,s)}selectVariables(...r){const t=this.table.select(...r),n=Object.fromEntries(Object.entries(this.variableMetadata).filter(([a])=>r.includes(a)));return b.fromTrusted(t,n)}getType(r){const t=this.variableMetadata[r];if(!t)throw new h({message:`Variable ${r} not defined`});return t.type}getValueFormat(r){const t=this.variableMetadata[r];if(!t)throw new h({message:`Variable ${r} not defined`});return t.valueFormat}groupVariableNamesByType(){const r={numeric:[],categorical:[],temporal:[]};for(const[t,{type:n}]of Object.entries(this.variableMetadata))r[n].push(t);return r}getValues(r,t){if(!this.hasVariable(r))throw new h({message:`Variable '${r}' not defined`});const n=this.getType(r);if(t?.type!==void 0&&n!==t.type)throw new h({message:`Variable '${r}' has type '${n}', expected '${t.type}'`});let a=this.table.array(r);return t?.distinct&&(a=this.getDistinctValues(n,a)),t?.skipNulls&&(a=this.skipNulls(a)),a}filter(r,t,n){const a=zr[t],o=this.table.params({__variableName:r,__value:n}).filter(a);return b.fromTrusted(o,this.variableMetadata)}filterByMask(r){if(r.length!==this.size())throw new h({message:`Row mask length ${r.length} does not match dataset size ${this.size()}`});const t=Array.from({length:r.length},(a,o)=>o),n=this.table.assign((0,_.table)({[oe]:t})).params({__indexColumnName:oe,__mask:r}).filter((a,o)=>o.__mask[a[o.__indexColumnName]]===1).select(...this.table.columnNames());return b.fromTrusted(n,this.variableMetadata)}orderBy(r,t="asc"){const n=this.table.orderby(t==="asc"?r:(0,_.desc)(r));return b.fromTrusted(n,this.variableMetadata)}getAt(r){return r<0||r>=this.size()?null:this.table.object(r)}getFirst(){return this.getAt(0)}getLast(){return this.getAt(this.size()-1)}findLast(r){for(let t=this.size()-1;t>=0;t--){const n=this.table.object(t);if(r(n))return n}return null}groupBy(...r){const t=this.table.groupby(...r);return new Wr(r,t,this.variableMetadata)}rollup(r){const t=this.table.rollup(Object.fromEntries(Object.entries(r).map(([a,o])=>[a,_.op[o.aggregation](o.variableName)]))),n={};for(const[a,{variableName:o,aggregation:i}]of Object.entries(r)){const s=this.variableMetadata[o],u=s?.type??"numeric",d=s?.valueFormat??L[u];n[a]={type:Ye(i,u),valueFormat:$e(i,d)}}return b.fromTrusted(t,n)}reshapeFromWideToLong({keep:r,reshape:t,keyName:n="key",valueName:a=$r}={}){const{numeric:o,categorical:i,temporal:s}=this.groupVariableNamesByType(),u=r??[...i,...s],d=t??o.filter(y=>!u.includes(y));if(u.includes(n)||u.includes(a))throw new R({code:"INVALID_DATA_SHAPE",message:`The variables to keep includes the variables '${n}' or '${a}' to create the key and value variables`});if(d.length===0){const y={};for(const P of u){const W=this.variableMetadata[P];W&&(y[P]={type:W.type,values:[],valueFormat:W.valueFormat})}return y[n]={type:"categorical",values:[],valueFormat:{type:"text"}},y[a]={type:"numeric",values:[],valueFormat:{type:"decimal"}},new b(y)}if(d.filter(y=>this.variableMetadata[y]?.type!=="numeric").length>0)throw new R({code:"INVALID_DATA_SHAPE",message:"Only numeric variables can be reshaped"});const f=this.table.select([...u,...d]).fold(d,{as:[n,a]}),E={};for(const y of u){const P=this.variableMetadata[y];P&&(E[y]=P)}return E[n]={type:"categorical",valueFormat:{type:"text"}},E[a]={type:"numeric",valueFormat:Gr(this.variableMetadata,d,n)},b.fromTrusted(f,E)}print(){console.table(this.variableMetadata),this.table.print()}[Symbol.iterator](){return this.table[Symbol.iterator]()}resolveAddedVariableFormat(r,t,n){if(n!==void 0)return n;const a=this.variableMetadata[r];return a?a.valueFormat:L[t]}parseVariableMap(r){const t={},n={};for(const[a,{type:o,values:i,valueFormat:s}]of Object.entries(r))t[a]=i,n[a]={type:o,valueFormat:s??L[o]};return{table:(0,_.table)(t),variableMetadata:n}}normalizeRawValues(r,t){switch(r){case"numeric":return t.map(n=>typeof n!="number"||Number.isNaN(n)?null:n);case"categorical":return t.map(n=>typeof n!="string"?null:n);case"temporal":return t.map(n=>!(n instanceof Date)||!(0,l.isValid)(n)?null:n);default:throw new h({message:`Cannot normalize raw value of unknown type: ${r}`})}}skipNulls(r){return r.filter(t=>t!==null)}getDistinctValues(r,t){const n=r==="temporal",a=new Set,o=[];for(const i of t){const s=n&&i instanceof Date?i.getTime():i;a.has(s)||(a.add(s),o.push(i))}return o}},Wr=class{constructor(e,r,t){this.groupedBy=e,this.grouped=r,this.variableMetadata=t}forEach(e){const r=this.grouped.partitions(),t=this.grouped.columnNames(),n=this.groupedBy.map(o=>this.grouped.column(o)).filter(o=>o!==void 0);let a=0;for(const o of r){const i=o[0];if(i===void 0)continue;const s=this.getStableKey(n,i),u=(0,_.table)(Object.fromEntries(t.map(d=>{const f=this.grouped.column(d);return[d,o.map(E=>f?.get(E))]})));e(Y.fromTrusted(u,this.variableMetadata),s,a++)}}rollup(e){const r=this.grouped.rollup(Object.fromEntries(Object.entries(e).map(([n,a])=>[n,_.op[a.aggregation](a.variableName)]))),t=Object.fromEntries(this.groupedBy.map(n=>{const a=this.variableMetadata[n],o=a?.type??"categorical";return[n,{type:o,valueFormat:a?.valueFormat??L[o]}]}));for(const[n,{variableName:a,aggregation:o}]of Object.entries(e)){const i=this.variableMetadata[a],s=i?.type??"numeric",u=i?.valueFormat??L[s];t[n]={type:Ye(o,s),valueFormat:$e(o,u)}}return Y.fromTrusted(r,t)}getStableKey(e,r){return X(e.map(t=>t.get(r)))}};function Gr(e,r,t){const n=r.map(s=>e[s]?.valueFormat??{type:"decimal"}),[a,...o]=n;if(!a)return{type:"decimal"};for(const s of n)if(s.type==="lookup")throw new R({code:"INVALID_DATA_SHAPE",message:"Cannot reshape: a source column has a lookup format and lookups cannot nest"});if(o.every(s=>(0,ue.isEqual)(s,a))||a.type==="lookup")return a;const i={};for(const[s,u]of r.entries()){const d=X([u]),f=n[s];f&&f.type!=="lookup"&&(i[d]=f)}return{type:"lookup",byVariable:t,cases:i,fallback:a}}var ze=class{constructor(e){this.label=e,this.items=new Map}register(e,r){return this.items.set(e,r),this}get(e){if(!this.items.has(e)){const r=[...this.items.keys()].map(t=>`'${t}'`).join(", ");throw new R({code:"UNKNOWN_REGISTERED_TYPE",message:`Unknown ${this.label}: '${e}' (available: ${r})`,context:{kind:this.label,requested:e,available:[...this.items.keys()]},suggestion:`Register a custom ${this.label} named '${e}' in the \`plugins\` array, or use one of: ${r}.`})}return this.items.get(e)}getAll(){return[...this.items.values()]}has(e){return this.items.has(e)}},Kr=(e,r)=>{const t=typeof e=="string"?e.trim():e;if(T(t))return{type:"decimal"};const n=typeof t=="string"&&Ce(t,r);if(n)return n;const a=typeof t=="string"&&wr(t,r);return a||(Ve(e)?{type:"date"}:Ae(e)?{type:"percentage"}:Fe(e)&&typeof e=="string"?{type:"currency",iso:Mr(e)}:{type:"text"})},qr={type:"year",dateFormat:"yyyy"},We=e=>{const r=e._metadata?.parsingLocale??"en-GB",t={},n=Jr(e),a=Xr(e);for(const[o,i]of e.columns.entries()){if(i._metadata?.isHidden)continue;const s=n.get(i.key);if(C(s))continue;const u=o===a?qr:Kr(s,r),d=Oe(u);t[i.key]=Qr(i.key,e.rows,u,d,r)}return new Y(t)},Hr=class extends ve{dependencies(e){return[e]}run(e){return We(e)}},Xr=e=>{const r=Zr(e.rows,5);return e.columns.findIndex(t=>{const n=r.map(a=>a[t.key]).filter(a=>!C(a));return n.length>=2&&n.every(Lr)})},Qr=(e,r,t,n,a)=>({type:n,values:r.reduce((o,i)=>(Ne(i)||o.push(xe(i[e],t,a)),o),[]),valueFormat:t}),Jr=e=>{const r=new Map,t=new Set(e.columns.map(n=>n.key));for(const n of e.rows){for(const a of t){const o=n[a];C(o)||(r.set(a,o),t.delete(a))}if(t.size===0)break}return r},Zr=(e,r)=>{const t=[];for(const n of e)if(Ne(n)||t.push(n),t.length===r)return t;return t},et=class{constructor(){this.transformType="aggregate"}apply(e,r){const{options:t}=r,n={};for(const a of t.operations)n[a.as]={variableName:a.variableName,aggregation:a.op};return e.groupBy(...t.groupby).rollup(n)}},rt=class{constructor(){this.transformType="constant"}apply(e,r){const{options:t}=r;return e.addConstantVariable(t.variableName,t.type,t.value)}getIntroducedVariables(e){const{options:r}=e;return[r.variableName]}},tt=class{constructor(){this.transformType="filter"}apply(e,r){const{options:t}=r;return e.filter(t.variableName,t.operator,t.value)}},nt=class{constructor(){this.transformType="reshape"}apply(e,r){const{options:t}=r;return e.reshapeFromWideToLong({keep:t.keep,reshape:t.reshape,keyName:t.keyName,valueName:t.valueName})}getIntroducedVariables(e){const{options:r}=e;return[r.keyName??"key"]}},at=class{constructor(){this.transformType="sort"}apply(e,r){const{options:t}=r;return e.orderBy(t.variableName,t.direction??"asc")}},ot=[new et,new rt,new tt,new nt,new at],it=class extends ze{constructor(){super("transform");for(const e of ot)this.register(e.transformType,e)}},st=["grey","red","orange","yellow","green","cyan","blue","purple","pink"],ut=["cyan","pink","purple","red","orange","yellow","green","blue"],re=["#B399FE","#FC7E91","#33B6E0","#FFC849","#25CDA5","#FA9B65","#D93C95","#845FD8","#3F8EEB","#58C8D8","#F35074","#6EA0DA"],g={red:"#E83562",orange:"#F38650",yellow:"#FBBC30",green:"#31FCB4",cyan:"#40F8FF",blue:"#279EFF",purple:"#B399FD",dark_purple:"#6D48D2",plum:"#C82184",pink:"#FC8497"},lt=[g.purple,g.dark_purple],ct=[g.purple,g.pink,g.yellow,g.blue,g.red,g.cyan,g.orange,g.plum,g.green,g.dark_purple],v={green:"#B2DDC9",cyan:"#A2D5E2",blue:"#AAC4FF",purple:"#B2A4FF",plum:"#DCA8C7",pink:"#FFCCD3",red:"#FFADAD",orange:"#FFDEB4",yellow:"#FDF7C3"},dt=[v.green,v.purple,v.red,v.cyan,v.pink,v.blue,v.orange,v.plum,v.yellow],K={grey900:"#1c1917",grey800:"#292524",grey700:"#44403c",grey600:"#57534e",grey500:"#78716c",grey400:"#a8a29e",grey300:"#d6d3d1",grey200:"#e7e5e4",grey100:"#f5f5f4",grey50:"#fafaf9",red900:"#7f1d1d",red800:"#991b1b",red700:"#b91c1c",red600:"#dc2626",red500:"#ef4444",red400:"#f87171",red300:"#fca5a5",red200:"#fecaca",red100:"#fee2e2",red50:"#fef2f2",orange900:"#7c2d12",orange800:"#9a3412",orange700:"#c2410c",orange600:"#ea580c",orange500:"#f97316",orange400:"#fb923c",orange300:"#fdba74",orange200:"#fed7aa",orange100:"#ffedd5",orange50:"#fff7ed",yellow900:"#553B0C",yellow800:"#6F4B08",yellow700:"#8D6300",yellow600:"#BD8A00",yellow500:"#E5B400",yellow400:"#FFC800",yellow300:"#FBDA2B",yellow200:"#FEED72",yellow100:"#FEF8B4",yellow50:"#FEFCE2",green900:"#064e3b",green800:"#065f46",green700:"#047857",green600:"#059669",green500:"#10b981",green400:"#34d399",green300:"#6ee7b7",green200:"#a7f3d0",green100:"#d1fae5",green50:"#ecfdf5",cyan900:"#164e63",cyan800:"#155e75",cyan700:"#0e7490",cyan600:"#0891B2",cyan500:"#06b6d4",cyan400:"#22d3ee",cyan300:"#67e8f9",cyan200:"#a5f3fc",cyan100:"#cffafe",cyan50:"#ecfeff",blue900:"#1e3a8a",blue800:"#1e40af",blue700:"#1d4ed8",blue600:"#2563eb",blue500:"#3b82f6",blue400:"#60a5fa",blue300:"#93c5fd",blue200:"#bfdbfe",blue100:"#dbeafe",blue50:"#eff6ff",purple900:"#4c1d95",purple800:"#5b21b6",purple700:"#6d28d9",purple600:"#7c3aed",purple500:"#8b5cf6",purple400:"#a78bfa",purple300:"#c4b5fd",purple200:"#ddd6fe",purple100:"#ede9fe",purple50:"#f5f3ff",pink900:"#751A5E",pink800:"#8F1972",pink700:"#AF1C8A",pink600:"#D326A8",pink500:"#E845BF",pink400:"#F979D9",pink300:"#FCABE8",pink200:"#FED0F3",pink100:"#FFE8F9",pink50:"#FFF4FC"},ft=[K.grey200,v.green,v.red,K.grey200],ie={dark:{1:[500],2:[600,400],3:[600,400,200],4:[600,500,300,100],5:[700,600,400,200,50],6:[600,500,400,300,200,100],7:[600,500,400,300,200,100,50],default:[700,600,500,400,300,200,100,50]},light:{1:[600],2:[700,500],3:[800,600,400],4:[800,600,400,300],5:[800,700,600,500,400],6:[800,700,600,500,400,300],7:[900,800,700,600,500,400,300],default:[900,800,700,600,500,400,300,200]}},p={cyan:"#22D3EE",pink:"#F377EF",purple:"#6528F7",red:"#FB2576",orange:"#FF9300",yellow:"#FBFF00",green:"#06FF00",blue:"#0079FF"},I=[p.cyan,p.pink,p.purple,p.red,p.orange,p.yellow,p.green,p.blue],yt=[p.cyan,p.green,p.red,p.cyan],k={start:"#84D1FC",positive:"#84FC89",negative:"#FC8497",total:"#84D1FC"},mt=[k.start,k.positive,k.negative,k.total],pt={transform:"linear",reverse:!1,nice:!0,zero:!1,domainMin:null,domainMax:null,range:null,scheme:null,interpolate:"lab",domainMid:null,symmetric:!1},bt={size:[4,20],alpha:[.1,1],strokeWidth:[1,4]},gt={domainMin:null,domainMax:null,nice:!1,reverse:!1},ht={range:null,domain:null,padding:.1,reverse:!1},se={palette:{type:"default"}};function vt(e,r="light",t){return((t!==void 0?ie[r][t]:void 0)??ie[r].default).map(n=>K[`${e}${n}`])}function Mt(e){const r=I.indexOf(p[e]);return r<=0?I:[...I.slice(r),...I.slice(0,r)]}function Et(e,r){switch(e.type){case"default":return re;case"graphy":return e.variant==="waterfall"?mt:ct;case"pastel":return e.variant==="waterfall"?ft:dt;case"neon":return e.variant==="waterfall"?yt:Mt(e.base);case"mono":return vt(e.base,e.variant??"light",r);case"custom":return e.colors}}function Ot(e,r){if(!r)return e;const t=[...e];for(const[n,a]of Object.entries(r)){const o=Number(n);if(!Number.isInteger(o)||o<1)continue;const i=o-1;i<t.length&&(t[i]=a)}return t}function _t(e,r,t,n){if(!r)return;const a=t?.type==="custom"?n[t.id]:void 0,o={};for(const[i,s]of Object.entries(r)){const u=Number(i);if(!(!Number.isInteger(u)||u<1)){if(s.hex!==void 0){o[u]=s.hex;continue}if(s.id!==void 0){const d=a?.find(f=>f.id===s.id)?.hex;d!==void 0?o[u]=d:e.diagnostics.addWarning({code:"PALETTE_NOT_FOUND",message:`Palette override at slot ${u} with id '${s.id}' did not resolve against the active palette — falling back to palette color.`,context:{requested:s.id,available:a?.map(f=>f.id)??[]},suggestion:"Define the override id in the active custom palette, or use a hex value instead."})}}}return Object.keys(o).length>0?o:void 0}function At(e,r,t){if(!r)return se.palette;if(r.type==="custom"){const n=t[r.id];if(!n)return e.diagnostics.addWarning({code:"PALETTE_NOT_FOUND",message:`Custom palette with id "${r.id}" not found — falling back to the default palette.`,context:{requested:r.id,available:Object.keys(t)},suggestion:"Register the palette in customPalettes, or reference an existing palette id."}),se.palette;const a=n.map(o=>o.hex);return{type:"custom",id:r.id,colors:a}}return r}function m(e,r={}){const t=r;return{type:"scale",scaledAesthetic:e,scaleType:"continuous",transform:r.transform,reverse:r.reverse,nice:r.nice,zero:r.zero,clamp:r.clamp,domainMin:r.domainMin??null,domainMax:r.domainMax??null,range:r.range,scheme:t.scheme??null,interpolate:t.interpolate,domainMid:t.domainMid??null,symmetric:t.symmetric}}function x(e,r={}){return{type:"scale",scaledAesthetic:e,scaleType:"datetime",domainMin:r.domainMin??null,domainMax:r.domainMax??null,nice:r.nice,reverse:r.reverse,clamp:r.clamp}}function O(e,r={}){return{type:"scale",scaledAesthetic:e,scaleType:"discrete",range:r.range,domain:r.domain??null,padding:r.padding,reverse:r.reverse}}function j(e,r={}){return{type:"scale",scaledAesthetic:e,scaleType:"identity"}}function B(e,r){return{type:"scale",scaledAesthetic:e,scaleType:"inferred",options:r}}function Ge(e,r={}){return{type:"scale",scaledAesthetic:e,scaleType:"palette",palette:r.palette,overrides:r.overrides}}var Ke=["none","xs","sm","md","lg","xl","full"],Tt={point:Dt,line:St,area:Nt,bar:Pt,rule:jt},Ft=e=>typeof e=="string"&&Ke.includes(e);function N(e,r){return{type:"layer",id:r.id,geom:e,mapping:r.aes,stat:r.stat,params:r.params,position:r.position,yScaleType:r.yScaleType,transforms:r.transforms,interactive:r.interactive,dataLabels:r.dataLabels}}function Dt(e={}){return N("point",e)}function St(e={}){return N("line",e)}function Nt(e={}){return N("area",e)}function Pt(e={}){return N("bar",e)}function jt(e={}){return N("rule",e)}var Lt=["dimmed","hovered"],Rt=e=>typeof e=="object"&&e!==null&&typeof e.light=="string"&&typeof e.dark=="string",wt=e=>typeof e=="object"&&e!==null&&typeof e.token=="string";function Vt(e){return{type:"styles",...e}}function S(e){return{token:e}}var F=e=>{const r={...e?.where===void 0?{}:{where:e.where},...e?.state===void 0?{}:{state:e.state}};return{...e?.id===void 0?{}:{id:e.id},...Object.keys(r).length===0?{}:{when:r}}},D=e=>e?.layer===void 0?{}:{layer:e.layer},M={geom:Object.assign((e,r)=>({...F(r),select:{target:"geom",...D(r)},declarations:e}),{bar:(e,r)=>({...F(r),select:{target:"geom",kind:"bar",...D(r)},declarations:e}),line:(e,r)=>({...F(r),select:{target:"geom",kind:"line",...D(r)},declarations:e}),area:(e,r)=>({...F(r),select:{target:"geom",kind:"area",...D(r)},declarations:e}),point:(e,r)=>({...F(r),select:{target:"geom",kind:"point",...D(r)},declarations:e}),rule:(e,r)=>({...F(r),select:{target:"geom",kind:"rule",...D(r)},declarations:e})})},qe=re[0],Ct=Object.freeze({light:"#1D2129",dark:"#FFFFFF"}),He="#ffffff",Xe=.4,It={geomColor:qe,ruleColor:Ct,pointBorderColor:"#ffffff",hoverAffordanceColor:He},Qe=[M.geom({color:S("geomColor"),alpha:1}),M.geom.bar({borderRadius:"sm",borderWidth:1}),M.geom.line({strokeWidth:2,lineType:"solid"}),M.geom.area({alpha:.3,strokeWidth:2,lineType:"solid",strokeAlpha:1}),M.geom.point({size:8,borderColor:S("pointBorderColor"),borderWidth:1}),M.geom.rule({color:S("ruleColor"),strokeWidth:1,lineType:"dashed"}),M.geom({alpha:Xe},{state:"dimmed"}),M.geom.point({borderColor:S("hoverAffordanceColor")},{state:"hovered"}),M.geom.bar({borderColor:S("hoverAffordanceColor")},{state:"hovered"})];for(const e of Qe){Object.freeze(e.select);for(const r of Object.values(e.declarations))typeof r=="object"&&Object.freeze(r);Object.freeze(e.declarations),e.when!==void 0&&Object.freeze(e.when),Object.freeze(e)}var kt=Object.freeze({tokens:Object.freeze(It),defaults:Object.freeze(Qe),overrides:Object.freeze([])}),xt={cartesian:(e={})=>({type:"coord",coordType:"cartesian",params:e}),flip:(e={})=>({type:"coord",coordType:"flip",params:e}),polar:(e={})=>({type:"coord",coordType:"polar",params:e})},Bt={x:Object.assign(e=>B("x",e),{continuous:e=>m("x",e),discrete:e=>O("x",e),datetime:e=>x("x",e),log:e=>m("x",{...e,transform:"log"}),sqrt:e=>m("x",{...e,transform:"sqrt"})}),y:Object.assign(e=>B("y",e),{continuous:e=>m("y",e),discrete:e=>O("y",e),datetime:e=>x("y",e),log:e=>m("y",{...e,transform:"log"}),sqrt:e=>m("y",{...e,transform:"sqrt"})}),ySecondary:Object.assign(e=>B("ySecondary",e),{continuous:e=>m("ySecondary",e),discrete:e=>O("ySecondary",e),datetime:e=>x("ySecondary",e),log:e=>m("ySecondary",{...e,transform:"log"}),sqrt:e=>m("ySecondary",{...e,transform:"sqrt"})}),color:{continuous:e=>m("color",e),discrete:e=>O("color",e),palette:e=>Ge("color",e)},size:{continuous:e=>m("size",e),discrete:e=>O("size",e),identity:e=>j("size",e)},alpha:{continuous:e=>m("alpha",e),discrete:e=>O("alpha",e),identity:e=>j("alpha",e)},strokeWidth:{continuous:e=>m("strokeWidth",e),discrete:e=>O("strokeWidth",e),identity:e=>j("strokeWidth",e)},lineType:{discrete:e=>O("lineType",e),identity:e=>j("lineType",e)}},Ut={identity:$t,count:zt,smooth:Yt,mean:Wt};function Yt(e){return{type:"smooth",method:e.method,order:e.order,bandwidth:e.bandwidth}}function $t(){return{type:"identity"}}function zt(){return{type:"count"}}function Wt(){return{type:"mean"}}var Gt={reshape:Kt,filter:qt,sort:Ht,aggregate:Xt,constant:Qt};function Kt(e={}){return{type:"transform",transformType:"reshape",options:e}}function qt(e){return{type:"transform",transformType:"filter",options:e}}function Ht(e){return{type:"transform",transformType:"sort",options:e}}function Xt(e){return{type:"transform",transformType:"aggregate",options:e}}function Qt(e){return{type:"transform",transformType:"constant",options:e}}function Jt(e){const r=e.layout?.gaps;if(r===void 0)return e;const t={};for(const n of Object.keys(r)){const a=r[n];a!==void 0&&(t[n]=typeof a=="number"?{after:a}:a)}return{...e,layout:{...e.layout,gaps:t}}}var Zt=["lilac","neon_pink","blackberry","sun","iceland","sunset","ultraviolet","purple","ice_cream","mint","cool","fresh"];function en(e){return{type:"config",config:Jt(e)}}Object.defineProperty(exports,"BORDER_PRESETS",{enumerable:!0,get:function(){return Zt}});Object.defineProperty(exports,"BORDER_RADIUS_TOKENS",{enumerable:!0,get:function(){return Ke}});Object.defineProperty(exports,"BUILTIN_STYLES",{enumerable:!0,get:function(){return kt}});Object.defineProperty(exports,"CONSTANT_VARIABLES",{enumerable:!0,get:function(){return ce}});Object.defineProperty(exports,"CONTINUOUS_SCALE_DEFAULTS",{enumerable:!0,get:function(){return pt}});Object.defineProperty(exports,"ChronologicalDateManager",{enumerable:!0,get:function(){return Pe}});Object.defineProperty(exports,"DATETIME_SCALE_DEFAULTS",{enumerable:!0,get:function(){return gt}});Object.defineProperty(exports,"DEFAULT_COLOR_PALETTE",{enumerable:!0,get:function(){return re}});Object.defineProperty(exports,"DEFAULT_DIMMED_ALPHA",{enumerable:!0,get:function(){return Xe}});Object.defineProperty(exports,"DEFAULT_GEOM_COLOR",{enumerable:!0,get:function(){return qe}});Object.defineProperty(exports,"DEFAULT_HOVER_AFFORDANCE_COLOR",{enumerable:!0,get:function(){return He}});Object.defineProperty(exports,"DEFAULT_LOCALE",{enumerable:!0,get:function(){return ee}});Object.defineProperty(exports,"DEFAULT_SEQUENTIAL_RAMP",{enumerable:!0,get:function(){return lt}});Object.defineProperty(exports,"DISCRETE_SCALE_DEFAULTS",{enumerable:!0,get:function(){return ht}});Object.defineProperty(exports,"DataCompiler",{enumerable:!0,get:function(){return Hr}});Object.defineProperty(exports,"Dataset",{enumerable:!0,get:function(){return Y}});Object.defineProperty(exports,"GROUP_VARIABLES",{enumerable:!0,get:function(){return de}});Object.defineProperty(exports,"IS_DEV",{enumerable:!0,get:function(){return A}});Object.defineProperty(exports,"InternalError",{enumerable:!0,get:function(){return h}});Object.defineProperty(exports,"MONO_BASES",{enumerable:!0,get:function(){return st}});Object.defineProperty(exports,"NEON_BASES",{enumerable:!0,get:function(){return ut}});Object.defineProperty(exports,"NON_POSITION_RANGE_DEFAULTS",{enumerable:!0,get:function(){return bt}});Object.defineProperty(exports,"POSITION_VARIABLES",{enumerable:!0,get:function(){return fe}});Object.defineProperty(exports,"RULE_VARIABLES",{enumerable:!0,get:function(){return pe}});Object.defineProperty(exports,"Registry",{enumerable:!0,get:function(){return ze}});Object.defineProperty(exports,"STACK_VARIABLES",{enumerable:!0,get:function(){return ye}});Object.defineProperty(exports,"STAT_VARIABLES",{enumerable:!0,get:function(){return H}});Object.defineProperty(exports,"STYLE_STATES",{enumerable:!0,get:function(){return Lt}});Object.defineProperty(exports,"SUFFIX_MULTIPLIERS",{enumerable:!0,get:function(){return _e}});Object.defineProperty(exports,"Stage",{enumerable:!0,get:function(){return ve}});Object.defineProperty(exports,"TransformRegistry",{enumerable:!0,get:function(){return it}});Object.defineProperty(exports,"UserInputError",{enumerable:!0,get:function(){return R}});Object.defineProperty(exports,"VISUAL_VARIABLES",{enumerable:!0,get:function(){return me}});Object.defineProperty(exports,"VizError",{enumerable:!0,get:function(){return Q}});Object.defineProperty(exports,"applyOverrides",{enumerable:!0,get:function(){return Ot}});Object.defineProperty(exports,"areDataValuesEqual",{enumerable:!0,get:function(){return cr}});Object.defineProperty(exports,"buildLayerInput",{enumerable:!0,get:function(){return N}});Object.defineProperty(exports,"config",{enumerable:!0,get:function(){return en}});Object.defineProperty(exports,"continuous",{enumerable:!0,get:function(){return m}});Object.defineProperty(exports,"coord",{enumerable:!0,get:function(){return xt}});Object.defineProperty(exports,"createPerKeyMemo",{enumerable:!0,get:function(){return ge}});Object.defineProperty(exports,"createSingleSlotMemo",{enumerable:!0,get:function(){return yr}});Object.defineProperty(exports,"datetime",{enumerable:!0,get:function(){return x}});Object.defineProperty(exports,"discrete",{enumerable:!0,get:function(){return O}});Object.defineProperty(exports,"extractConstantValue",{enumerable:!0,get:function(){return ir}});Object.defineProperty(exports,"extractVariableName",{enumerable:!0,get:function(){return or}});Object.defineProperty(exports,"geom",{enumerable:!0,get:function(){return Tt}});Object.defineProperty(exports,"getStableKey",{enumerable:!0,get:function(){return X}});Object.defineProperty(exports,"identity",{enumerable:!0,get:function(){return j}});Object.defineProperty(exports,"inferred",{enumerable:!0,get:function(){return B}});Object.defineProperty(exports,"isBorderRadiusToken",{enumerable:!0,get:function(){return Ft}});Object.defineProperty(exports,"isCategoricalValueFormat",{enumerable:!0,get:function(){return Me}});Object.defineProperty(exports,"isCompilerCachingEnabled",{enumerable:!0,get:function(){return fr}});Object.defineProperty(exports,"isCurrencyValueFormat",{enumerable:!0,get:function(){return pr}});Object.defineProperty(exports,"isDateWithoutYearValueFormat",{enumerable:!0,get:function(){return br}});Object.defineProperty(exports,"isDefined",{enumerable:!0,get:function(){return q}});Object.defineProperty(exports,"isInternalVariable",{enumerable:!0,get:function(){return tr}});Object.defineProperty(exports,"isLightDarkColor",{enumerable:!0,get:function(){return Rt}});Object.defineProperty(exports,"isLookupValueFormat",{enumerable:!0,get:function(){return J}});Object.defineProperty(exports,"isNonEmptyArray",{enumerable:!0,get:function(){return Je}});Object.defineProperty(exports,"isNumericDataValue",{enumerable:!0,get:function(){return lr}});Object.defineProperty(exports,"isNumericValueFormat",{enumerable:!0,get:function(){return Ee}});Object.defineProperty(exports,"isPlainObject",{enumerable:!0,get:function(){return Ze}});Object.defineProperty(exports,"isStatVariable",{enumerable:!0,get:function(){return nr}});Object.defineProperty(exports,"isStrictCategoricalDataValue",{enumerable:!0,get:function(){return ur}});Object.defineProperty(exports,"isStrictNumericDataValue",{enumerable:!0,get:function(){return be}});Object.defineProperty(exports,"isStrictTemporalDataValue",{enumerable:!0,get:function(){return U}});Object.defineProperty(exports,"isStyleTokenRef",{enumerable:!0,get:function(){return wt}});Object.defineProperty(exports,"isTemporalDataValue",{enumerable:!0,get:function(){return sr}});Object.defineProperty(exports,"isTemporalValueFormat",{enumerable:!0,get:function(){return V}});Object.defineProperty(exports,"mapping",{enumerable:!0,get:function(){return ar}});Object.defineProperty(exports,"palette",{enumerable:!0,get:function(){return Ge}});Object.defineProperty(exports,"parseDataset",{enumerable:!0,get:function(){return We}});Object.defineProperty(exports,"parseValue",{enumerable:!0,get:function(){return xe}});Object.defineProperty(exports,"prefixInternalVariable",{enumerable:!0,get:function(){return c}});Object.defineProperty(exports,"readISOInstant",{enumerable:!0,get:function(){return Rr}});Object.defineProperty(exports,"resolvePaletteConfig",{enumerable:!0,get:function(){return At}});Object.defineProperty(exports,"resolvePaletteOverrides",{enumerable:!0,get:function(){return _t}});Object.defineProperty(exports,"resolvePaletteRange",{enumerable:!0,get:function(){return Et}});Object.defineProperty(exports,"resolveScaledAestheticVariable",{enumerable:!0,get:function(){return rr}});Object.defineProperty(exports,"scale",{enumerable:!0,get:function(){return Bt}});Object.defineProperty(exports,"setCompilerCachingEnabled",{enumerable:!0,get:function(){return dr}});Object.defineProperty(exports,"stat",{enumerable:!0,get:function(){return Ut}});Object.defineProperty(exports,"style",{enumerable:!0,get:function(){return M}});Object.defineProperty(exports,"styles",{enumerable:!0,get:function(){return Vt}});Object.defineProperty(exports,"sumMemoStats",{enumerable:!0,get:function(){return mr}});Object.defineProperty(exports,"toExplicitValueFormat",{enumerable:!0,get:function(){return gr}});Object.defineProperty(exports,"token",{enumerable:!0,get:function(){return S}});Object.defineProperty(exports,"transform",{enumerable:!0,get:function(){return Gt}});
|