@toclocoinc/lattice-grid 1.62.0 → 1.63.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/README.md +23 -8
- package/docs/API.html +526 -16
- package/docs/CHART-CODES.md +141 -2
- package/docs/api-detail.html +194 -5
- package/lattice-grid.d.ts +235 -5
- package/lattice-grid.esm.min.js +856 -78
- package/lattice-grid.min.cjs +856 -78
- package/lattice-grid.min.js +856 -78
- package/modules/ai.d.ts +1 -1
- package/modules/ai.esm.min.js +13 -16
- package/modules/ai.min.cjs +13 -16
- package/modules/ai.min.js +13 -16
- package/modules/angular.d.ts +1 -1
- package/modules/angular.esm.min.js +2 -2
- package/modules/angular.min.cjs +2 -2
- package/modules/angular.min.js +2 -2
- package/modules/chart-alluvial.d.ts +1 -1
- package/modules/chart-alluvial.esm.min.js +1 -1
- package/modules/chart-alluvial.min.cjs +147 -0
- package/modules/chart-alluvial.min.js +147 -0
- package/modules/chart-arc.d.ts +1 -1
- package/modules/chart-arc.esm.min.js +1 -1
- package/modules/chart-arc.min.cjs +106 -0
- package/modules/chart-arc.min.js +106 -0
- package/modules/chart-bubblemap.d.ts +1 -1
- package/modules/chart-bubblemap.esm.min.js +42 -6
- package/modules/chart-bubblemap.min.cjs +126 -0
- package/modules/chart-bubblemap.min.js +126 -0
- package/modules/chart-bump.d.ts +1 -1
- package/modules/chart-bump.esm.min.js +1 -1
- package/modules/chart-bump.min.cjs +110 -0
- package/modules/chart-bump.min.js +110 -0
- package/modules/chart-calendar.d.ts +1 -1
- package/modules/chart-calendar.esm.min.js +1 -1
- package/modules/chart-calendar.min.cjs +129 -0
- package/modules/chart-calendar.min.js +129 -0
- package/modules/chart-decomposition.d.ts +1 -1
- package/modules/chart-decomposition.esm.min.js +1 -1
- package/modules/chart-decomposition.min.cjs +131 -0
- package/modules/chart-decomposition.min.js +131 -0
- package/modules/chart-diverging.d.ts +1 -1
- package/modules/chart-diverging.esm.min.js +1 -1
- package/modules/chart-diverging.min.cjs +104 -0
- package/modules/chart-diverging.min.js +104 -0
- package/modules/chart-dumbbell.d.ts +1 -1
- package/modules/chart-dumbbell.esm.min.js +1 -1
- package/modules/chart-dumbbell.min.cjs +114 -0
- package/modules/chart-dumbbell.min.js +114 -0
- package/modules/chart-fan.d.ts +1 -1
- package/modules/chart-fan.esm.min.js +1 -1
- package/modules/chart-fan.min.cjs +139 -0
- package/modules/chart-fan.min.js +139 -0
- package/modules/chart-hexbin.d.ts +1 -1
- package/modules/chart-hexbin.esm.min.js +1 -1
- package/modules/chart-hexbin.min.cjs +148 -0
- package/modules/chart-hexbin.min.js +148 -0
- package/modules/chart-hexmap.d.ts +1 -1
- package/modules/chart-hexmap.esm.min.js +46 -6
- package/modules/chart-hexmap.min.cjs +164 -0
- package/modules/chart-hexmap.min.js +164 -0
- package/modules/chart-icicle.d.ts +1 -1
- package/modules/chart-icicle.esm.min.js +1 -1
- package/modules/chart-icicle.min.cjs +97 -0
- package/modules/chart-icicle.min.js +97 -0
- package/modules/chart-parallel.d.ts +1 -1
- package/modules/chart-parallel.esm.min.js +1 -1
- package/modules/chart-parallel.min.cjs +123 -0
- package/modules/chart-parallel.min.js +123 -0
- package/modules/chart-ridgeline.d.ts +1 -1
- package/modules/chart-ridgeline.esm.min.js +1 -1
- package/modules/chart-ridgeline.min.cjs +119 -0
- package/modules/chart-ridgeline.min.js +119 -0
- package/modules/chart-roc.d.ts +1 -1
- package/modules/chart-roc.esm.min.js +1 -1
- package/modules/chart-roc.min.cjs +181 -0
- package/modules/chart-roc.min.js +181 -0
- package/modules/chart-slope.d.ts +1 -1
- package/modules/chart-slope.esm.min.js +1 -1
- package/modules/chart-slope.min.cjs +100 -0
- package/modules/chart-slope.min.js +100 -0
- package/modules/chart-splom.d.ts +1 -1
- package/modules/chart-splom.esm.min.js +1 -1
- package/modules/chart-splom.min.cjs +124 -0
- package/modules/chart-splom.min.js +124 -0
- package/modules/chart-waffle.d.ts +1 -1
- package/modules/chart-waffle.esm.min.js +1 -1
- package/modules/chart-waffle.min.cjs +97 -0
- package/modules/chart-waffle.min.js +97 -0
- package/modules/charts.d.ts +1 -1
- package/modules/charts.esm.min.js +1917 -662
- package/modules/charts.min.cjs +1917 -662
- package/modules/charts.min.js +1917 -662
- package/modules/data-router.d.ts +1 -1
- package/modules/data-router.esm.min.js +129 -20
- package/modules/data-router.min.cjs +129 -20
- package/modules/data-router.min.js +129 -20
- package/modules/devtools.d.ts +1 -1
- package/modules/devtools.esm.min.js +2 -2
- package/modules/devtools.min.cjs +2 -2
- package/modules/devtools.min.js +2 -2
- package/modules/dhtmlx-compat.d.ts +1 -1
- package/modules/dhtmlx-compat.esm.min.js +4 -16
- package/modules/dhtmlx-compat.min.cjs +4 -16
- package/modules/dhtmlx-compat.min.js +4 -16
- package/modules/gantt.d.ts +1 -1
- package/modules/gantt.esm.min.js +187 -82
- package/modules/gantt.min.cjs +187 -82
- package/modules/gantt.min.js +187 -82
- package/modules/geo-europe-nuts.d.ts +16 -0
- package/modules/geo-europe-nuts.esm.min.js +29 -0
- package/modules/geo-uk.d.ts +18 -0
- package/modules/geo-uk.esm.min.js +29 -0
- package/modules/geo-us-states.d.ts +16 -0
- package/modules/geo-us-states.esm.min.js +29 -0
- package/modules/geo-world-110m.d.ts +17 -0
- package/modules/geo-world-110m.esm.min.js +29 -0
- package/modules/geo-world-50m.d.ts +16 -0
- package/modules/geo-world-50m.esm.min.js +29 -0
- package/modules/htmx.d.ts +1 -1
- package/modules/htmx.esm.min.js +856 -78
- package/modules/htmx.min.cjs +856 -78
- package/modules/htmx.min.js +856 -78
- package/modules/kanban.d.ts +1 -1
- package/modules/kanban.esm.min.js +4 -16
- package/modules/kanban.min.cjs +4 -16
- package/modules/kanban.min.js +4 -16
- package/modules/kpi.d.ts +1 -1
- package/modules/kpi.esm.min.js +29 -24
- package/modules/kpi.min.cjs +29 -24
- package/modules/kpi.min.js +29 -24
- package/modules/layout.d.ts +1 -1
- package/modules/layout.esm.min.js +4 -16
- package/modules/layout.min.cjs +4 -16
- package/modules/layout.min.js +4 -16
- package/modules/mock-socket.d.ts +1 -1
- package/modules/mock-socket.esm.min.js +2 -2
- package/modules/mock-socket.min.cjs +2 -2
- package/modules/mock-socket.min.js +2 -2
- package/modules/react.d.ts +308 -3
- package/modules/react.esm.min.js +1072 -22
- package/modules/react.min.cjs +1056 -21
- package/modules/react.min.js +1056 -21
- package/modules/svelte.d.ts +1 -1
- package/modules/svelte.esm.min.js +2 -2
- package/modules/svelte.min.cjs +2 -2
- package/modules/svelte.min.js +2 -2
- package/modules/tabs.d.ts +1 -1
- package/modules/tabs.esm.min.js +4 -16
- package/modules/tabs.min.cjs +4 -16
- package/modules/tabs.min.js +4 -16
- package/modules/vue.d.ts +1 -1
- package/modules/vue.esm.min.js +2 -2
- package/modules/vue.min.cjs +2 -2
- package/modules/vue.min.js +2 -2
- package/modules/webcomponent.d.ts +1 -1
- package/modules/webcomponent.esm.min.js +856 -78
- package/modules/webcomponent.min.cjs +856 -78
- package/modules/webcomponent.min.js +856 -78
- package/package.json +1 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Lattice Grid 1.63.0, chart-bubblemap module
|
|
3
|
+
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
|
+
* https://latticegrid.dev
|
|
5
|
+
*/
|
|
6
|
+
(function(root){
|
|
7
|
+
'use strict';
|
|
8
|
+
var __mods=Object.create(null);
|
|
9
|
+
var __cache=Object.create(null);
|
|
10
|
+
function __def(id,fn){__mods[id]=fn;}
|
|
11
|
+
function __req(id){
|
|
12
|
+
var hit=__cache[id];
|
|
13
|
+
if(hit)return hit;
|
|
14
|
+
var exports=Object.create(null);
|
|
15
|
+
__cache[id]=exports;
|
|
16
|
+
var fn=__mods[id];
|
|
17
|
+
if(!fn)throw new Error('[lattice] missing module: '+id);
|
|
18
|
+
fn(exports,__req);
|
|
19
|
+
return exports;
|
|
20
|
+
}
|
|
21
|
+
var __extmods=Object.create(null);
|
|
22
|
+
__extmods["@toclocoinc/lattice-grid/modules/charts"]=(root["LatticeGrid"]||null);
|
|
23
|
+
function __ext(spec){
|
|
24
|
+
var mod=__extmods[spec];
|
|
25
|
+
var g=typeof globalThis!=='undefined'?globalThis:(typeof self!=='undefined'?self:null);
|
|
26
|
+
if(mod)return mod;
|
|
27
|
+
if(spec==="@toclocoinc/lattice-grid/modules/charts"&&g&&g["LatticeGrid"])return g["LatticeGrid"];
|
|
28
|
+
throw new Error('[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: '+spec);
|
|
29
|
+
}
|
|
30
|
+
__def("packages/modules/chart-bubblemap/index.js",function(__exports,__req){
|
|
31
|
+
'use strict';
|
|
32
|
+
Object.defineProperty(__exports,"bindBubbleMap",{enumerable:true,get:function(){return bindBubbleMap;}});
|
|
33
|
+
Object.defineProperty(__exports,"drawBubbleMap",{enumerable:true,get:function(){return drawBubbleMap;}});
|
|
34
|
+
Object.defineProperty(__exports,"default",{enumerable:true,get:function(){return __default;}});
|
|
35
|
+
const __m0=__ext("@toclocoinc/lattice-grid/modules/charts");
|
|
36
|
+
const registerChartType=__m0["registerChartType"];
|
|
37
|
+
function bindBubbleMap(grid,spec){
|
|
38
|
+
const points=[];
|
|
39
|
+
const n=grid.rows.count();
|
|
40
|
+
for(let i=0;i<n;i++){
|
|
41
|
+
const row=grid.rows.get(i);
|
|
42
|
+
if(!row||row.group)continue;
|
|
43
|
+
const lon=Number(grid.rows.value(row.key,spec.lon));
|
|
44
|
+
const lat=Number(grid.rows.value(row.key,spec.lat));
|
|
45
|
+
if(!Number.isFinite(lon)||!Number.isFinite(lat))continue;
|
|
46
|
+
const size=spec.size?Number(grid.rows.value(row.key,spec.size)):1;
|
|
47
|
+
points.push({lon,lat,size:Number.isFinite(size)?size:0,label:spec.label?grid.rows.text(row.key,spec.label):''});
|
|
48
|
+
}
|
|
49
|
+
return{points,empty:points.length===0};
|
|
50
|
+
}
|
|
51
|
+
function packProjection(opts){
|
|
52
|
+
const{spec,plot,helpers}=opts;
|
|
53
|
+
if(!spec||!spec.shapes)return null;
|
|
54
|
+
const{
|
|
55
|
+
resolvePack,packRegions,fitted,resolveProjection,
|
|
56
|
+
}=helpers;
|
|
57
|
+
const resolved=resolvePack(spec.shapes,spec.layer);
|
|
58
|
+
if(!resolved)return null;
|
|
59
|
+
const regions=packRegions(resolved.topology);
|
|
60
|
+
const project=resolveProjection(
|
|
61
|
+
spec.projection||resolved.pack.projection,
|
|
62
|
+
{...(resolved.pack.projectionOptions||{}),...(spec.projectionOptions||{})},
|
|
63
|
+
);
|
|
64
|
+
const fit=fitted({project,rings:regions.flatMap((r)=>r.rings),plot});
|
|
65
|
+
return{to:fit.to,regions};
|
|
66
|
+
}
|
|
67
|
+
function drawBubbleMap(ctx){
|
|
68
|
+
const{
|
|
69
|
+
plot,bound,scheme,groups,spec,helpers,
|
|
70
|
+
}=ctx;
|
|
71
|
+
const{
|
|
72
|
+
extent,linearScale,sqrtScale,Pool,attrs,round,resolveScheme,NS,projectedPath,
|
|
73
|
+
}=helpers;
|
|
74
|
+
const sch=scheme||resolveScheme();
|
|
75
|
+
const colour=sch.series(0);
|
|
76
|
+
const{points}=bound;
|
|
77
|
+
const marks=new Pool(groups.marks);
|
|
78
|
+
const fit=packProjection({spec,plot,helpers});
|
|
79
|
+
let project;
|
|
80
|
+
if(fit){
|
|
81
|
+
for(const region of fit.regions){
|
|
82
|
+
const d=region.rings.map((ring)=>projectedPath(ring,fit.to)).filter(Boolean).join(' ');
|
|
83
|
+
if(!d)continue;
|
|
84
|
+
attrs(marks.next('path',`${NS}__region`),{
|
|
85
|
+
d,fill:'var(--lattice-chart-empty, #eceff1)',class:`${NS}__region`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
project=fit.to;
|
|
89
|
+
}else{
|
|
90
|
+
const lonD=extent(points.map((p)=>p.lon))||{min:0,max:1};
|
|
91
|
+
const latD=extent(points.map((p)=>p.lat))||{min:0,max:1};
|
|
92
|
+
const pad=Math.max(8,spec&&spec.maxRadius>0?spec.maxRadius:20);
|
|
93
|
+
const xScale=linearScale(lonD,[plot.left+pad,plot.right-pad]);
|
|
94
|
+
const yScale=linearScale(latD,[plot.bottom-pad,plot.top+pad]);
|
|
95
|
+
project=(lon,lat)=>[xScale.of(lon),yScale.of(lat)];
|
|
96
|
+
}
|
|
97
|
+
const sizeD=extent(points.map((p)=>p.size))||{min:0,max:1};
|
|
98
|
+
const rScale=sqrtScale({min:0,max:Math.max(1e-9,sizeD.max)},[2,spec&&spec.maxRadius>0?spec.maxRadius:20]);
|
|
99
|
+
const ordered=[...points].sort((a,b)=>b.size-a.size);
|
|
100
|
+
for(const p of ordered){
|
|
101
|
+
const[x,y]=project(p.lon,p.lat);
|
|
102
|
+
attrs(marks.next('circle',`${NS}__bubblemap-dot ${NS}__mark`),{
|
|
103
|
+
cx:round(x),
|
|
104
|
+
cy:round(y),
|
|
105
|
+
r:round(spec&&spec.size?rScale.of(p.size):4),
|
|
106
|
+
fill:colour,
|
|
107
|
+
'fill-opacity':0.5,
|
|
108
|
+
stroke:colour,
|
|
109
|
+
'data-size':p.size,
|
|
110
|
+
class:`${NS}__bubblemap-dot ${NS}__mark`,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
marks.finish();
|
|
114
|
+
return{points:points.length,legend:[],packed:!!fit};
|
|
115
|
+
}
|
|
116
|
+
registerChartType('bubblemap',{draw:drawBubbleMap,bind:bindBubbleMap,freeform:true,labelled:false});
|
|
117
|
+
const __default=drawBubbleMap;
|
|
118
|
+
});
|
|
119
|
+
var __entry=__req("packages/modules/chart-bubblemap/index.js");
|
|
120
|
+
if(typeof module==='object'&&module.exports){module.exports=__entry;}
|
|
121
|
+
else if(typeof define==='function'&&define.amd){define(function(){return __entry;});}
|
|
122
|
+
else{
|
|
123
|
+
var __t=root["LatticeGrid"]||(root["LatticeGrid"]={});
|
|
124
|
+
for(var __k in __entry){if(__k!=='default')__t[__k]=__entry[__k];}
|
|
125
|
+
}
|
|
126
|
+
})(typeof globalThis!=='undefined'?globalThis:this);
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Lattice Grid 1.63.0, chart-bubblemap module
|
|
3
|
+
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
|
+
* https://latticegrid.dev
|
|
5
|
+
*/
|
|
6
|
+
(function(root){
|
|
7
|
+
'use strict';
|
|
8
|
+
var __mods=Object.create(null);
|
|
9
|
+
var __cache=Object.create(null);
|
|
10
|
+
function __def(id,fn){__mods[id]=fn;}
|
|
11
|
+
function __req(id){
|
|
12
|
+
var hit=__cache[id];
|
|
13
|
+
if(hit)return hit;
|
|
14
|
+
var exports=Object.create(null);
|
|
15
|
+
__cache[id]=exports;
|
|
16
|
+
var fn=__mods[id];
|
|
17
|
+
if(!fn)throw new Error('[lattice] missing module: '+id);
|
|
18
|
+
fn(exports,__req);
|
|
19
|
+
return exports;
|
|
20
|
+
}
|
|
21
|
+
var __extmods=Object.create(null);
|
|
22
|
+
__extmods["@toclocoinc/lattice-grid/modules/charts"]=(root["LatticeGrid"]||null);
|
|
23
|
+
function __ext(spec){
|
|
24
|
+
var mod=__extmods[spec];
|
|
25
|
+
var g=typeof globalThis!=='undefined'?globalThis:(typeof self!=='undefined'?self:null);
|
|
26
|
+
if(mod)return mod;
|
|
27
|
+
if(spec==="@toclocoinc/lattice-grid/modules/charts"&&g&&g["LatticeGrid"])return g["LatticeGrid"];
|
|
28
|
+
throw new Error('[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: '+spec);
|
|
29
|
+
}
|
|
30
|
+
__def("packages/modules/chart-bubblemap/index.js",function(__exports,__req){
|
|
31
|
+
'use strict';
|
|
32
|
+
Object.defineProperty(__exports,"bindBubbleMap",{enumerable:true,get:function(){return bindBubbleMap;}});
|
|
33
|
+
Object.defineProperty(__exports,"drawBubbleMap",{enumerable:true,get:function(){return drawBubbleMap;}});
|
|
34
|
+
Object.defineProperty(__exports,"default",{enumerable:true,get:function(){return __default;}});
|
|
35
|
+
const __m0=__ext("@toclocoinc/lattice-grid/modules/charts");
|
|
36
|
+
const registerChartType=__m0["registerChartType"];
|
|
37
|
+
function bindBubbleMap(grid,spec){
|
|
38
|
+
const points=[];
|
|
39
|
+
const n=grid.rows.count();
|
|
40
|
+
for(let i=0;i<n;i++){
|
|
41
|
+
const row=grid.rows.get(i);
|
|
42
|
+
if(!row||row.group)continue;
|
|
43
|
+
const lon=Number(grid.rows.value(row.key,spec.lon));
|
|
44
|
+
const lat=Number(grid.rows.value(row.key,spec.lat));
|
|
45
|
+
if(!Number.isFinite(lon)||!Number.isFinite(lat))continue;
|
|
46
|
+
const size=spec.size?Number(grid.rows.value(row.key,spec.size)):1;
|
|
47
|
+
points.push({lon,lat,size:Number.isFinite(size)?size:0,label:spec.label?grid.rows.text(row.key,spec.label):''});
|
|
48
|
+
}
|
|
49
|
+
return{points,empty:points.length===0};
|
|
50
|
+
}
|
|
51
|
+
function packProjection(opts){
|
|
52
|
+
const{spec,plot,helpers}=opts;
|
|
53
|
+
if(!spec||!spec.shapes)return null;
|
|
54
|
+
const{
|
|
55
|
+
resolvePack,packRegions,fitted,resolveProjection,
|
|
56
|
+
}=helpers;
|
|
57
|
+
const resolved=resolvePack(spec.shapes,spec.layer);
|
|
58
|
+
if(!resolved)return null;
|
|
59
|
+
const regions=packRegions(resolved.topology);
|
|
60
|
+
const project=resolveProjection(
|
|
61
|
+
spec.projection||resolved.pack.projection,
|
|
62
|
+
{...(resolved.pack.projectionOptions||{}),...(spec.projectionOptions||{})},
|
|
63
|
+
);
|
|
64
|
+
const fit=fitted({project,rings:regions.flatMap((r)=>r.rings),plot});
|
|
65
|
+
return{to:fit.to,regions};
|
|
66
|
+
}
|
|
67
|
+
function drawBubbleMap(ctx){
|
|
68
|
+
const{
|
|
69
|
+
plot,bound,scheme,groups,spec,helpers,
|
|
70
|
+
}=ctx;
|
|
71
|
+
const{
|
|
72
|
+
extent,linearScale,sqrtScale,Pool,attrs,round,resolveScheme,NS,projectedPath,
|
|
73
|
+
}=helpers;
|
|
74
|
+
const sch=scheme||resolveScheme();
|
|
75
|
+
const colour=sch.series(0);
|
|
76
|
+
const{points}=bound;
|
|
77
|
+
const marks=new Pool(groups.marks);
|
|
78
|
+
const fit=packProjection({spec,plot,helpers});
|
|
79
|
+
let project;
|
|
80
|
+
if(fit){
|
|
81
|
+
for(const region of fit.regions){
|
|
82
|
+
const d=region.rings.map((ring)=>projectedPath(ring,fit.to)).filter(Boolean).join(' ');
|
|
83
|
+
if(!d)continue;
|
|
84
|
+
attrs(marks.next('path',`${NS}__region`),{
|
|
85
|
+
d,fill:'var(--lattice-chart-empty, #eceff1)',class:`${NS}__region`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
project=fit.to;
|
|
89
|
+
}else{
|
|
90
|
+
const lonD=extent(points.map((p)=>p.lon))||{min:0,max:1};
|
|
91
|
+
const latD=extent(points.map((p)=>p.lat))||{min:0,max:1};
|
|
92
|
+
const pad=Math.max(8,spec&&spec.maxRadius>0?spec.maxRadius:20);
|
|
93
|
+
const xScale=linearScale(lonD,[plot.left+pad,plot.right-pad]);
|
|
94
|
+
const yScale=linearScale(latD,[plot.bottom-pad,plot.top+pad]);
|
|
95
|
+
project=(lon,lat)=>[xScale.of(lon),yScale.of(lat)];
|
|
96
|
+
}
|
|
97
|
+
const sizeD=extent(points.map((p)=>p.size))||{min:0,max:1};
|
|
98
|
+
const rScale=sqrtScale({min:0,max:Math.max(1e-9,sizeD.max)},[2,spec&&spec.maxRadius>0?spec.maxRadius:20]);
|
|
99
|
+
const ordered=[...points].sort((a,b)=>b.size-a.size);
|
|
100
|
+
for(const p of ordered){
|
|
101
|
+
const[x,y]=project(p.lon,p.lat);
|
|
102
|
+
attrs(marks.next('circle',`${NS}__bubblemap-dot ${NS}__mark`),{
|
|
103
|
+
cx:round(x),
|
|
104
|
+
cy:round(y),
|
|
105
|
+
r:round(spec&&spec.size?rScale.of(p.size):4),
|
|
106
|
+
fill:colour,
|
|
107
|
+
'fill-opacity':0.5,
|
|
108
|
+
stroke:colour,
|
|
109
|
+
'data-size':p.size,
|
|
110
|
+
class:`${NS}__bubblemap-dot ${NS}__mark`,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
marks.finish();
|
|
114
|
+
return{points:points.length,legend:[],packed:!!fit};
|
|
115
|
+
}
|
|
116
|
+
registerChartType('bubblemap',{draw:drawBubbleMap,bind:bindBubbleMap,freeform:true,labelled:false});
|
|
117
|
+
const __default=drawBubbleMap;
|
|
118
|
+
});
|
|
119
|
+
var __entry=__req("packages/modules/chart-bubblemap/index.js");
|
|
120
|
+
if(typeof module==='object'&&module.exports){module.exports=__entry;}
|
|
121
|
+
else if(typeof define==='function'&&define.amd){define(function(){return __entry;});}
|
|
122
|
+
else{
|
|
123
|
+
var __t=root["LatticeGrid"]||(root["LatticeGrid"]={});
|
|
124
|
+
for(var __k in __entry){if(__k!=='default')__t[__k]=__entry[__k];}
|
|
125
|
+
}
|
|
126
|
+
})(typeof globalThis!=='undefined'?globalThis:this);
|
package/modules/chart-bump.d.ts
CHANGED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Lattice Grid 1.63.0, chart-bump module
|
|
3
|
+
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
|
+
* https://latticegrid.dev
|
|
5
|
+
*/
|
|
6
|
+
(function(root){
|
|
7
|
+
'use strict';
|
|
8
|
+
var __mods=Object.create(null);
|
|
9
|
+
var __cache=Object.create(null);
|
|
10
|
+
function __def(id,fn){__mods[id]=fn;}
|
|
11
|
+
function __req(id){
|
|
12
|
+
var hit=__cache[id];
|
|
13
|
+
if(hit)return hit;
|
|
14
|
+
var exports=Object.create(null);
|
|
15
|
+
__cache[id]=exports;
|
|
16
|
+
var fn=__mods[id];
|
|
17
|
+
if(!fn)throw new Error('[lattice] missing module: '+id);
|
|
18
|
+
fn(exports,__req);
|
|
19
|
+
return exports;
|
|
20
|
+
}
|
|
21
|
+
var __extmods=Object.create(null);
|
|
22
|
+
__extmods["@toclocoinc/lattice-grid/modules/charts"]=(root["LatticeGrid"]||null);
|
|
23
|
+
function __ext(spec){
|
|
24
|
+
var mod=__extmods[spec];
|
|
25
|
+
var g=typeof globalThis!=='undefined'?globalThis:(typeof self!=='undefined'?self:null);
|
|
26
|
+
if(mod)return mod;
|
|
27
|
+
if(spec==="@toclocoinc/lattice-grid/modules/charts"&&g&&g["LatticeGrid"])return g["LatticeGrid"];
|
|
28
|
+
throw new Error('[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: '+spec);
|
|
29
|
+
}
|
|
30
|
+
__def("packages/modules/chart-bump/index.js",function(__exports,__req){
|
|
31
|
+
'use strict';
|
|
32
|
+
Object.defineProperty(__exports,"drawBump",{enumerable:true,get:function(){return drawBump;}});
|
|
33
|
+
Object.defineProperty(__exports,"default",{enumerable:true,get:function(){return __default;}});
|
|
34
|
+
const __m0=__ext("@toclocoinc/lattice-grid/modules/charts");
|
|
35
|
+
const registerChartType=__m0["registerChartType"];
|
|
36
|
+
function drawBump(ctx){
|
|
37
|
+
const{
|
|
38
|
+
plot,bound,scheme,fontSize,groups,helpers,
|
|
39
|
+
}=ctx;
|
|
40
|
+
const{
|
|
41
|
+
linearScale,bandScale,Pool,attrs,path,round,setText,resolveScheme,NS,
|
|
42
|
+
}=helpers;
|
|
43
|
+
const sch=scheme||resolveScheme();
|
|
44
|
+
const labels=bound.labels||[];
|
|
45
|
+
const series=bound.series||[];
|
|
46
|
+
if(labels.length<2||!series.length)return{empty:true,legend:[]};
|
|
47
|
+
const ranks=labels.map((_,col)=>{
|
|
48
|
+
const scored=series
|
|
49
|
+
.map((s,i)=>({i,y:s.points[col]?s.points[col].y:null}))
|
|
50
|
+
.filter((e)=>e.y!==null)
|
|
51
|
+
.sort((a,b)=>b.y-a.y);
|
|
52
|
+
const byIndex=new Map();
|
|
53
|
+
scored.forEach((e,r)=>byIndex.set(e.i,r+1));
|
|
54
|
+
return byIndex;
|
|
55
|
+
});
|
|
56
|
+
const maxRank=series.length;
|
|
57
|
+
const xScale=bandScale(labels,[plot.left,plot.right],0.5);
|
|
58
|
+
const colX=labels.map((l)=>xScale.of(l)+xScale.bandwidth/2);
|
|
59
|
+
const yScale=linearScale({min:1,max:maxRank},[plot.top,plot.bottom]);
|
|
60
|
+
const axisPool=new Pool(groups.axis);
|
|
61
|
+
labels.forEach((label,i)=>{
|
|
62
|
+
const t=axisPool.next('text',`${NS}__tick`);
|
|
63
|
+
setText(t,String(label));
|
|
64
|
+
attrs(t,{x:round(colX[i]),y:round(plot.bottom+fontSize+4),'text-anchor':'middle','font-size':fontSize});
|
|
65
|
+
});
|
|
66
|
+
const marks=new Pool(groups.marks);
|
|
67
|
+
const overlay=new Pool(groups.overlay);
|
|
68
|
+
series.forEach((s,i)=>{
|
|
69
|
+
const colour=sch.series(i);
|
|
70
|
+
const parts=[];
|
|
71
|
+
labels.forEach((_,col)=>{
|
|
72
|
+
const rank=ranks[col].get(i);
|
|
73
|
+
if(rank===undefined){return;}
|
|
74
|
+
parts.push(parts.length?'L':'M',round(colX[col]),round(yScale.of(rank)));
|
|
75
|
+
});
|
|
76
|
+
if(parts.length>=3){
|
|
77
|
+
attrs(marks.next('path',`${NS}__bump-line ${NS}__mark`),{
|
|
78
|
+
d:path(parts),stroke:colour,'stroke-width':2.5,fill:'none','data-series':i,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
labels.forEach((_,col)=>{
|
|
82
|
+
const rank=ranks[col].get(i);
|
|
83
|
+
if(rank===undefined)return;
|
|
84
|
+
attrs(marks.next('circle',`${NS}__bump-dot ${NS}__mark`),{
|
|
85
|
+
cx:round(colX[col]),cy:round(yScale.of(rank)),r:4,fill:colour,
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
const firstCol=labels.findIndex((_,col)=>ranks[col].get(i)!==undefined);
|
|
89
|
+
if(firstCol>=0){
|
|
90
|
+
const t=overlay.next('text',`${NS}__bump-label`);
|
|
91
|
+
setText(t,String(s.label||s.key));
|
|
92
|
+
attrs(t,{x:round(plot.left-4),y:round(yScale.of(ranks[firstCol].get(i))),'text-anchor':'end','font-size':fontSize});
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
axisPool.finish();
|
|
96
|
+
marks.finish();
|
|
97
|
+
overlay.finish();
|
|
98
|
+
return{series:series.length,periods:labels.length,legend:[]};
|
|
99
|
+
}
|
|
100
|
+
registerChartType('bump',{draw:drawBump,labelled:false});
|
|
101
|
+
const __default=drawBump;
|
|
102
|
+
});
|
|
103
|
+
var __entry=__req("packages/modules/chart-bump/index.js");
|
|
104
|
+
if(typeof module==='object'&&module.exports){module.exports=__entry;}
|
|
105
|
+
else if(typeof define==='function'&&define.amd){define(function(){return __entry;});}
|
|
106
|
+
else{
|
|
107
|
+
var __t=root["LatticeGrid"]||(root["LatticeGrid"]={});
|
|
108
|
+
for(var __k in __entry){if(__k!=='default')__t[__k]=__entry[__k];}
|
|
109
|
+
}
|
|
110
|
+
})(typeof globalThis!=='undefined'?globalThis:this);
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Lattice Grid 1.63.0, chart-bump module
|
|
3
|
+
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
|
+
* https://latticegrid.dev
|
|
5
|
+
*/
|
|
6
|
+
(function(root){
|
|
7
|
+
'use strict';
|
|
8
|
+
var __mods=Object.create(null);
|
|
9
|
+
var __cache=Object.create(null);
|
|
10
|
+
function __def(id,fn){__mods[id]=fn;}
|
|
11
|
+
function __req(id){
|
|
12
|
+
var hit=__cache[id];
|
|
13
|
+
if(hit)return hit;
|
|
14
|
+
var exports=Object.create(null);
|
|
15
|
+
__cache[id]=exports;
|
|
16
|
+
var fn=__mods[id];
|
|
17
|
+
if(!fn)throw new Error('[lattice] missing module: '+id);
|
|
18
|
+
fn(exports,__req);
|
|
19
|
+
return exports;
|
|
20
|
+
}
|
|
21
|
+
var __extmods=Object.create(null);
|
|
22
|
+
__extmods["@toclocoinc/lattice-grid/modules/charts"]=(root["LatticeGrid"]||null);
|
|
23
|
+
function __ext(spec){
|
|
24
|
+
var mod=__extmods[spec];
|
|
25
|
+
var g=typeof globalThis!=='undefined'?globalThis:(typeof self!=='undefined'?self:null);
|
|
26
|
+
if(mod)return mod;
|
|
27
|
+
if(spec==="@toclocoinc/lattice-grid/modules/charts"&&g&&g["LatticeGrid"])return g["LatticeGrid"];
|
|
28
|
+
throw new Error('[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: '+spec);
|
|
29
|
+
}
|
|
30
|
+
__def("packages/modules/chart-bump/index.js",function(__exports,__req){
|
|
31
|
+
'use strict';
|
|
32
|
+
Object.defineProperty(__exports,"drawBump",{enumerable:true,get:function(){return drawBump;}});
|
|
33
|
+
Object.defineProperty(__exports,"default",{enumerable:true,get:function(){return __default;}});
|
|
34
|
+
const __m0=__ext("@toclocoinc/lattice-grid/modules/charts");
|
|
35
|
+
const registerChartType=__m0["registerChartType"];
|
|
36
|
+
function drawBump(ctx){
|
|
37
|
+
const{
|
|
38
|
+
plot,bound,scheme,fontSize,groups,helpers,
|
|
39
|
+
}=ctx;
|
|
40
|
+
const{
|
|
41
|
+
linearScale,bandScale,Pool,attrs,path,round,setText,resolveScheme,NS,
|
|
42
|
+
}=helpers;
|
|
43
|
+
const sch=scheme||resolveScheme();
|
|
44
|
+
const labels=bound.labels||[];
|
|
45
|
+
const series=bound.series||[];
|
|
46
|
+
if(labels.length<2||!series.length)return{empty:true,legend:[]};
|
|
47
|
+
const ranks=labels.map((_,col)=>{
|
|
48
|
+
const scored=series
|
|
49
|
+
.map((s,i)=>({i,y:s.points[col]?s.points[col].y:null}))
|
|
50
|
+
.filter((e)=>e.y!==null)
|
|
51
|
+
.sort((a,b)=>b.y-a.y);
|
|
52
|
+
const byIndex=new Map();
|
|
53
|
+
scored.forEach((e,r)=>byIndex.set(e.i,r+1));
|
|
54
|
+
return byIndex;
|
|
55
|
+
});
|
|
56
|
+
const maxRank=series.length;
|
|
57
|
+
const xScale=bandScale(labels,[plot.left,plot.right],0.5);
|
|
58
|
+
const colX=labels.map((l)=>xScale.of(l)+xScale.bandwidth/2);
|
|
59
|
+
const yScale=linearScale({min:1,max:maxRank},[plot.top,plot.bottom]);
|
|
60
|
+
const axisPool=new Pool(groups.axis);
|
|
61
|
+
labels.forEach((label,i)=>{
|
|
62
|
+
const t=axisPool.next('text',`${NS}__tick`);
|
|
63
|
+
setText(t,String(label));
|
|
64
|
+
attrs(t,{x:round(colX[i]),y:round(plot.bottom+fontSize+4),'text-anchor':'middle','font-size':fontSize});
|
|
65
|
+
});
|
|
66
|
+
const marks=new Pool(groups.marks);
|
|
67
|
+
const overlay=new Pool(groups.overlay);
|
|
68
|
+
series.forEach((s,i)=>{
|
|
69
|
+
const colour=sch.series(i);
|
|
70
|
+
const parts=[];
|
|
71
|
+
labels.forEach((_,col)=>{
|
|
72
|
+
const rank=ranks[col].get(i);
|
|
73
|
+
if(rank===undefined){return;}
|
|
74
|
+
parts.push(parts.length?'L':'M',round(colX[col]),round(yScale.of(rank)));
|
|
75
|
+
});
|
|
76
|
+
if(parts.length>=3){
|
|
77
|
+
attrs(marks.next('path',`${NS}__bump-line ${NS}__mark`),{
|
|
78
|
+
d:path(parts),stroke:colour,'stroke-width':2.5,fill:'none','data-series':i,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
labels.forEach((_,col)=>{
|
|
82
|
+
const rank=ranks[col].get(i);
|
|
83
|
+
if(rank===undefined)return;
|
|
84
|
+
attrs(marks.next('circle',`${NS}__bump-dot ${NS}__mark`),{
|
|
85
|
+
cx:round(colX[col]),cy:round(yScale.of(rank)),r:4,fill:colour,
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
const firstCol=labels.findIndex((_,col)=>ranks[col].get(i)!==undefined);
|
|
89
|
+
if(firstCol>=0){
|
|
90
|
+
const t=overlay.next('text',`${NS}__bump-label`);
|
|
91
|
+
setText(t,String(s.label||s.key));
|
|
92
|
+
attrs(t,{x:round(plot.left-4),y:round(yScale.of(ranks[firstCol].get(i))),'text-anchor':'end','font-size':fontSize});
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
axisPool.finish();
|
|
96
|
+
marks.finish();
|
|
97
|
+
overlay.finish();
|
|
98
|
+
return{series:series.length,periods:labels.length,legend:[]};
|
|
99
|
+
}
|
|
100
|
+
registerChartType('bump',{draw:drawBump,labelled:false});
|
|
101
|
+
const __default=drawBump;
|
|
102
|
+
});
|
|
103
|
+
var __entry=__req("packages/modules/chart-bump/index.js");
|
|
104
|
+
if(typeof module==='object'&&module.exports){module.exports=__entry;}
|
|
105
|
+
else if(typeof define==='function'&&define.amd){define(function(){return __entry;});}
|
|
106
|
+
else{
|
|
107
|
+
var __t=root["LatticeGrid"]||(root["LatticeGrid"]={});
|
|
108
|
+
for(var __k in __entry){if(__k!=='default')__t[__k]=__entry[__k];}
|
|
109
|
+
}
|
|
110
|
+
})(typeof globalThis!=='undefined'?globalThis:this);
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Lattice Grid 1.63.0, chart-calendar module
|
|
3
|
+
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
|
+
* https://latticegrid.dev
|
|
5
|
+
*/
|
|
6
|
+
(function(root){
|
|
7
|
+
'use strict';
|
|
8
|
+
var __mods=Object.create(null);
|
|
9
|
+
var __cache=Object.create(null);
|
|
10
|
+
function __def(id,fn){__mods[id]=fn;}
|
|
11
|
+
function __req(id){
|
|
12
|
+
var hit=__cache[id];
|
|
13
|
+
if(hit)return hit;
|
|
14
|
+
var exports=Object.create(null);
|
|
15
|
+
__cache[id]=exports;
|
|
16
|
+
var fn=__mods[id];
|
|
17
|
+
if(!fn)throw new Error('[lattice] missing module: '+id);
|
|
18
|
+
fn(exports,__req);
|
|
19
|
+
return exports;
|
|
20
|
+
}
|
|
21
|
+
var __extmods=Object.create(null);
|
|
22
|
+
__extmods["@toclocoinc/lattice-grid/modules/charts"]=(root["LatticeGrid"]||null);
|
|
23
|
+
function __ext(spec){
|
|
24
|
+
var mod=__extmods[spec];
|
|
25
|
+
var g=typeof globalThis!=='undefined'?globalThis:(typeof self!=='undefined'?self:null);
|
|
26
|
+
if(mod)return mod;
|
|
27
|
+
if(spec==="@toclocoinc/lattice-grid/modules/charts"&&g&&g["LatticeGrid"])return g["LatticeGrid"];
|
|
28
|
+
throw new Error('[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: '+spec);
|
|
29
|
+
}
|
|
30
|
+
__def("packages/modules/chart-calendar/index.js",function(__exports,__req){
|
|
31
|
+
'use strict';
|
|
32
|
+
Object.defineProperty(__exports,"drawCalendar",{enumerable:true,get:function(){return drawCalendar;}});
|
|
33
|
+
Object.defineProperty(__exports,"default",{enumerable:true,get:function(){return __default;}});
|
|
34
|
+
const __m0=__ext("@toclocoinc/lattice-grid/modules/charts");
|
|
35
|
+
const registerChartType=__m0["registerChartType"];
|
|
36
|
+
const DAY=86_400_000;
|
|
37
|
+
const WEEKDAYS=['S','M','T','W','T','F','S'];
|
|
38
|
+
const MONTHS=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
|
|
39
|
+
function dayStart(ms){
|
|
40
|
+
return Math.floor(ms/DAY)*DAY;
|
|
41
|
+
}
|
|
42
|
+
function drawCalendar(ctx){
|
|
43
|
+
const{
|
|
44
|
+
plot,bound,scheme,fontSize,groups,spec,helpers,
|
|
45
|
+
}=ctx;
|
|
46
|
+
const{
|
|
47
|
+
toTime,measureDomain,colourRamp,Pool,attrs,round,setText,resolveScheme,NS,
|
|
48
|
+
}=helpers;
|
|
49
|
+
const sch=scheme||resolveScheme();
|
|
50
|
+
const series=bound.series&&bound.series[0];
|
|
51
|
+
const points=(series&&series.points)||[];
|
|
52
|
+
const byDay=new Map();
|
|
53
|
+
const values=[];
|
|
54
|
+
for(const p of points){
|
|
55
|
+
const ms=toTime(p.x);
|
|
56
|
+
if(ms===null||!Number.isFinite(p.y))continue;
|
|
57
|
+
const day=dayStart(ms);
|
|
58
|
+
byDay.set(day,(byDay.get(day)||0)+p.y);
|
|
59
|
+
}
|
|
60
|
+
for(const v of byDay.values())values.push(v);
|
|
61
|
+
if(!byDay.size)return{empty:true,legend:[]};
|
|
62
|
+
const days=[...byDay.keys()].sort((a,b)=>a-b);
|
|
63
|
+
const first=days[0];
|
|
64
|
+
const last=days[days.length-1];
|
|
65
|
+
const firstDow=new Date(first).getUTCDay();
|
|
66
|
+
const gridStart=first-firstDow*DAY;
|
|
67
|
+
const weeks=Math.floor((last-gridStart)/(7*DAY))+1;
|
|
68
|
+
const domain=measureDomain(values,{zero:true});
|
|
69
|
+
const ramp=colourRamp(domain,false,sch);
|
|
70
|
+
const gutterLeft=fontSize+4;
|
|
71
|
+
const gutterTop=fontSize+4;
|
|
72
|
+
const availW=plot.right-plot.left-gutterLeft;
|
|
73
|
+
const availH=plot.bottom-plot.top-gutterTop;
|
|
74
|
+
const cell=Math.max(2,Math.floor(Math.min(availW/weeks,availH/7))-1);
|
|
75
|
+
const gap=Math.max(1,Math.round(cell*0.12));
|
|
76
|
+
const originX=plot.left+gutterLeft;
|
|
77
|
+
const originY=plot.top+gutterTop;
|
|
78
|
+
const cellPool=new Pool(groups.marks);
|
|
79
|
+
let drawn=0;
|
|
80
|
+
let lastMonth=-1;
|
|
81
|
+
const overlay=new Pool(groups.overlay);
|
|
82
|
+
for(let d=gridStart;d<=last;d+=DAY){
|
|
83
|
+
const week=Math.floor((d-gridStart)/(7*DAY));
|
|
84
|
+
const dow=new Date(d).getUTCDay();
|
|
85
|
+
const x=originX+week*(cell+gap);
|
|
86
|
+
const y=originY+dow*(cell+gap);
|
|
87
|
+
const value=byDay.get(d);
|
|
88
|
+
const present=value!==undefined&&d>=first;
|
|
89
|
+
const rect=cellPool.next('rect',`${NS}__cal-cell ${NS}__mark`);
|
|
90
|
+
const cellAttrs={
|
|
91
|
+
x:round(x),y:round(y),width:cell,height:cell,rx:2,
|
|
92
|
+
fill:present?ramp(value):'currentColor',
|
|
93
|
+
'fill-opacity':present?1:0.06,
|
|
94
|
+
};
|
|
95
|
+
if(present)cellAttrs['data-value']=value;
|
|
96
|
+
attrs(rect,cellAttrs);
|
|
97
|
+
if(present)drawn+=1;
|
|
98
|
+
const month=new Date(d).getUTCMonth();
|
|
99
|
+
if(dow===0&&month!==lastMonth){
|
|
100
|
+
lastMonth=month;
|
|
101
|
+
const label=overlay.next('text',`${NS}__cal-month`);
|
|
102
|
+
setText(label,MONTHS[month]);
|
|
103
|
+
attrs(label,{x:round(x),y:round(plot.top+fontSize),'font-size':fontSize});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const showDow=spec&&spec.weekdayLabels===false?[]:[1,3,5];
|
|
107
|
+
for(const dow of showDow){
|
|
108
|
+
const label=overlay.next('text',`${NS}__cal-dow`);
|
|
109
|
+
setText(label,WEEKDAYS[dow]);
|
|
110
|
+
attrs(label,{
|
|
111
|
+
x:round(plot.left),y:round(originY+dow*(cell+gap)+cell),
|
|
112
|
+
'font-size':fontSize,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
cellPool.finish();
|
|
116
|
+
overlay.finish();
|
|
117
|
+
return{cells:drawn,weeks,domain,legend:[]};
|
|
118
|
+
}
|
|
119
|
+
registerChartType('calendar',{draw:drawCalendar,freeform:true,labelled:false});
|
|
120
|
+
const __default=drawCalendar;
|
|
121
|
+
});
|
|
122
|
+
var __entry=__req("packages/modules/chart-calendar/index.js");
|
|
123
|
+
if(typeof module==='object'&&module.exports){module.exports=__entry;}
|
|
124
|
+
else if(typeof define==='function'&&define.amd){define(function(){return __entry;});}
|
|
125
|
+
else{
|
|
126
|
+
var __t=root["LatticeGrid"]||(root["LatticeGrid"]={});
|
|
127
|
+
for(var __k in __entry){if(__k!=='default')__t[__k]=__entry[__k];}
|
|
128
|
+
}
|
|
129
|
+
})(typeof globalThis!=='undefined'?globalThis:this);
|