@toclocoinc/lattice-grid 1.67.0 → 1.68.1
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 +1 -1
- package/angular/package.json +1 -1
- package/docs/API.html +5334 -3788
- package/docs/api-detail.html +40 -5
- package/lattice-grid.d.ts +3368 -2
- package/lattice-grid.esm.min.js +32 -10
- package/lattice-grid.min.cjs +32 -10
- package/lattice-grid.min.js +32 -10
- package/modules/ai.d.ts +64 -1
- package/modules/ai.esm.min.js +3 -3
- package/modules/ai.min.cjs +3 -3
- package/modules/ai.min.js +3 -3
- package/modules/angular.d.ts +1 -1
- package/modules/angular.esm.min.js +3 -3
- package/modules/angular.min.cjs +3 -3
- package/modules/angular.min.js +3 -3
- package/modules/chart-alluvial.d.ts +1 -1
- package/modules/chart-alluvial.esm.min.js +1 -1
- package/modules/chart-alluvial.min.cjs +1 -1
- package/modules/chart-alluvial.min.js +1 -1
- package/modules/chart-arc.d.ts +1 -1
- package/modules/chart-arc.esm.min.js +1 -1
- package/modules/chart-arc.min.cjs +1 -1
- package/modules/chart-arc.min.js +1 -1
- package/modules/chart-bubblemap.d.ts +1 -1
- package/modules/chart-bubblemap.esm.min.js +1 -1
- package/modules/chart-bubblemap.min.cjs +1 -1
- package/modules/chart-bubblemap.min.js +1 -1
- package/modules/chart-bump.d.ts +1 -1
- package/modules/chart-bump.esm.min.js +1 -1
- package/modules/chart-bump.min.cjs +1 -1
- package/modules/chart-bump.min.js +1 -1
- package/modules/chart-calendar.d.ts +1 -1
- package/modules/chart-calendar.esm.min.js +1 -1
- package/modules/chart-calendar.min.cjs +1 -1
- package/modules/chart-calendar.min.js +1 -1
- package/modules/chart-decomposition.d.ts +1 -1
- package/modules/chart-decomposition.esm.min.js +1 -1
- package/modules/chart-decomposition.min.cjs +1 -1
- package/modules/chart-decomposition.min.js +1 -1
- package/modules/chart-diverging.d.ts +1 -1
- package/modules/chart-diverging.esm.min.js +1 -1
- package/modules/chart-diverging.min.cjs +1 -1
- package/modules/chart-diverging.min.js +1 -1
- package/modules/chart-dumbbell.d.ts +1 -1
- package/modules/chart-dumbbell.esm.min.js +1 -1
- package/modules/chart-dumbbell.min.cjs +1 -1
- package/modules/chart-dumbbell.min.js +1 -1
- package/modules/chart-fan.d.ts +1 -1
- package/modules/chart-fan.esm.min.js +1 -1
- package/modules/chart-fan.min.cjs +1 -1
- package/modules/chart-fan.min.js +1 -1
- package/modules/chart-hexbin.d.ts +1 -1
- package/modules/chart-hexbin.esm.min.js +1 -1
- package/modules/chart-hexbin.min.cjs +1 -1
- package/modules/chart-hexbin.min.js +1 -1
- package/modules/chart-hexmap.d.ts +1 -1
- package/modules/chart-hexmap.esm.min.js +1 -1
- package/modules/chart-hexmap.min.cjs +1 -1
- package/modules/chart-hexmap.min.js +1 -1
- package/modules/chart-icicle.d.ts +1 -1
- package/modules/chart-icicle.esm.min.js +1 -1
- package/modules/chart-icicle.min.cjs +1 -1
- package/modules/chart-icicle.min.js +1 -1
- package/modules/chart-markermap.d.ts +1 -1
- package/modules/chart-markermap.esm.min.js +1 -1
- package/modules/chart-markermap.min.cjs +1 -1
- package/modules/chart-markermap.min.js +1 -1
- package/modules/chart-parallel.d.ts +1 -1
- package/modules/chart-parallel.esm.min.js +1 -1
- package/modules/chart-parallel.min.cjs +1 -1
- package/modules/chart-parallel.min.js +1 -1
- package/modules/chart-ridgeline.d.ts +1 -1
- package/modules/chart-ridgeline.esm.min.js +1 -1
- package/modules/chart-ridgeline.min.cjs +1 -1
- package/modules/chart-ridgeline.min.js +1 -1
- package/modules/chart-roc.d.ts +1 -1
- package/modules/chart-roc.esm.min.js +1 -1
- package/modules/chart-roc.min.cjs +1 -1
- package/modules/chart-roc.min.js +1 -1
- package/modules/chart-slope.d.ts +1 -1
- package/modules/chart-slope.esm.min.js +1 -1
- package/modules/chart-slope.min.cjs +1 -1
- package/modules/chart-slope.min.js +1 -1
- package/modules/chart-splom.d.ts +1 -1
- package/modules/chart-splom.esm.min.js +1 -1
- package/modules/chart-splom.min.cjs +1 -1
- package/modules/chart-splom.min.js +1 -1
- package/modules/chart-waffle.d.ts +1 -1
- package/modules/chart-waffle.esm.min.js +1 -1
- package/modules/chart-waffle.min.cjs +1 -1
- package/modules/chart-waffle.min.js +1 -1
- package/modules/charts.d.ts +16 -1
- package/modules/charts.esm.min.js +1391 -1257
- package/modules/charts.min.cjs +1391 -1257
- package/modules/charts.min.js +1391 -1257
- package/modules/data-router.d.ts +227 -1
- package/modules/data-router.esm.min.js +204 -8
- package/modules/data-router.min.cjs +204 -8
- package/modules/data-router.min.js +204 -8
- package/modules/devtools.d.ts +1 -1
- package/modules/devtools.esm.min.js +1 -1
- package/modules/devtools.min.cjs +1 -1
- package/modules/devtools.min.js +1 -1
- package/modules/dhtmlx-compat.d.ts +1 -1
- package/modules/dhtmlx-compat.esm.min.js +3 -3
- package/modules/dhtmlx-compat.min.cjs +3 -3
- package/modules/dhtmlx-compat.min.js +3 -3
- package/modules/gantt.d.ts +302 -1
- package/modules/gantt.esm.min.js +32 -7
- package/modules/gantt.min.cjs +32 -7
- package/modules/gantt.min.js +32 -7
- package/modules/geo-europe-nuts.d.ts +1 -1
- package/modules/geo-europe-nuts.esm.min.js +1 -1
- package/modules/geo-uk.d.ts +1 -1
- package/modules/geo-uk.esm.min.js +1 -1
- package/modules/geo-us-states.d.ts +1 -1
- package/modules/geo-us-states.esm.min.js +1 -1
- package/modules/geo-world-110m.d.ts +1 -1
- package/modules/geo-world-110m.esm.min.js +1 -1
- package/modules/geo-world-50m.d.ts +1 -1
- package/modules/geo-world-50m.esm.min.js +1 -1
- package/modules/htmx.d.ts +1 -1
- package/modules/htmx.esm.min.js +32 -10
- package/modules/htmx.min.cjs +32 -10
- package/modules/htmx.min.js +32 -10
- package/modules/kanban.d.ts +233 -1
- package/modules/kanban.esm.min.js +3 -3
- package/modules/kanban.min.cjs +3 -3
- package/modules/kanban.min.js +3 -3
- package/modules/kpi.d.ts +196 -8
- package/modules/kpi.esm.min.js +32 -7
- package/modules/kpi.min.cjs +32 -7
- package/modules/kpi.min.js +32 -7
- package/modules/layout.d.ts +117 -1
- package/modules/layout.esm.min.js +3 -3
- package/modules/layout.min.cjs +3 -3
- package/modules/layout.min.js +3 -3
- package/modules/mock-socket.d.ts +6 -1
- package/modules/mock-socket.esm.min.js +1 -1
- package/modules/mock-socket.min.cjs +1 -1
- package/modules/mock-socket.min.js +1 -1
- package/modules/react.d.ts +14 -1
- package/modules/react.esm.min.js +3 -3
- package/modules/react.min.cjs +3 -3
- package/modules/react.min.js +3 -3
- package/modules/svelte.d.ts +1 -1
- package/modules/svelte.esm.min.js +3 -3
- package/modules/svelte.min.cjs +3 -3
- package/modules/svelte.min.js +3 -3
- package/modules/tabs.d.ts +30 -1
- package/modules/tabs.esm.min.js +13 -14
- package/modules/tabs.min.cjs +13 -14
- package/modules/tabs.min.js +13 -14
- package/modules/vue.d.ts +8 -1
- package/modules/vue.esm.min.js +3 -3
- package/modules/vue.min.cjs +3 -3
- package/modules/vue.min.js +3 -3
- package/modules/webcomponent.d.ts +113 -1
- package/modules/webcomponent.esm.min.js +32 -10
- package/modules/webcomponent.min.cjs +32 -10
- package/modules/webcomponent.min.js +32 -10
- package/package.json +1 -1
package/modules/tabs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, tabs module type declarations
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -41,6 +41,7 @@ interface TabDescriptor {
|
|
|
41
41
|
where?: (row: unknown) => boolean;
|
|
42
42
|
/** Group-by forwarded to the derived source. */
|
|
43
43
|
group?: unknown;
|
|
44
|
+
/** An alias for `group`, forwarded verbatim to the derived source. */
|
|
44
45
|
groupBy?: unknown;
|
|
45
46
|
/** Time-bucketing forwarded to the derived source. */
|
|
46
47
|
bucket?: unknown;
|
|
@@ -72,12 +73,23 @@ interface TabDescriptor {
|
|
|
72
73
|
|
|
73
74
|
/** The payload every tab-change event carries. */
|
|
74
75
|
interface TabChangeEvent {
|
|
76
|
+
/** The tab being switched to. */
|
|
75
77
|
id: string;
|
|
78
|
+
/** The tab being left, or null for the first activation. */
|
|
76
79
|
previousId: string | null;
|
|
80
|
+
/**
|
|
81
|
+
* Who caused the switch: `user` for a click or keypress, `api` for `activate()`, `init`
|
|
82
|
+
* for the opening tab. Defaults to `user`.
|
|
83
|
+
*/
|
|
77
84
|
origin?: 'api' | 'user' | 'init';
|
|
85
|
+
/**
|
|
86
|
+
* Why the switch was refused — the reason given to `preventDefault`, `prevented` when
|
|
87
|
+
* none was, or `error` when a handler threw.
|
|
88
|
+
*/
|
|
78
89
|
reason?: string | null;
|
|
79
90
|
/** Cancel the switch (only meaningful on `beforeTabChange`). */
|
|
80
91
|
preventDefault?: (reason?: string) => void;
|
|
92
|
+
/** True once a handler has cancelled the switch. */
|
|
81
93
|
defaultPrevented?: boolean;
|
|
82
94
|
}
|
|
83
95
|
|
|
@@ -95,8 +107,18 @@ interface TabsConfig {
|
|
|
95
107
|
ariaLabel?: string;
|
|
96
108
|
/** An explicit message-catalogue override; otherwise a mounted tab's own `grid.messages` is used. */
|
|
97
109
|
messages?: { t(key: string, params?: Record<string, unknown>): string };
|
|
110
|
+
/** Called after the active tab has changed, alongside the `tab:changed` event. */
|
|
98
111
|
onTabChange?: (event: TabChangeEvent) => void;
|
|
112
|
+
/**
|
|
113
|
+
* Called before the switch. Return `false`, call `preventDefault(reason)`, or throw, to
|
|
114
|
+
* stay where you are; return a promise and the switch waits for it. Alongside the
|
|
115
|
+
* `beforeTabChange` event.
|
|
116
|
+
*/
|
|
99
117
|
onBeforeTabChange?: (event: TabChangeEvent) => boolean | void | Promise<boolean>;
|
|
118
|
+
/**
|
|
119
|
+
* Called when a switch was refused, with the reason on the payload. Alongside
|
|
120
|
+
* `tabChange:cancelled`.
|
|
121
|
+
*/
|
|
100
122
|
onTabChangeCancelled?: (event: TabChangeEvent) => void;
|
|
101
123
|
}
|
|
102
124
|
|
|
@@ -106,6 +128,7 @@ interface TabsConfig {
|
|
|
106
128
|
* alive, hidden, until `destroy()`.
|
|
107
129
|
*/
|
|
108
130
|
interface Tabs {
|
|
131
|
+
/** The element the strip was mounted on. */
|
|
109
132
|
readonly el: HTMLElement;
|
|
110
133
|
/** The currently active tab id. */
|
|
111
134
|
readonly activeId: string;
|
|
@@ -117,7 +140,13 @@ interface Tabs {
|
|
|
117
140
|
isMounted(id: string): boolean;
|
|
118
141
|
/** Switch the active tab, gated by `beforeTabChange`. */
|
|
119
142
|
activate(id: string, opts?: { origin?: 'api' | 'user' }): boolean | Promise<boolean>;
|
|
143
|
+
/**
|
|
144
|
+
* Subscribe to `beforeTabChange`, `tab:changed` or `tabChange:cancelled`; returns a
|
|
145
|
+
* function that unsubscribes. Any other name is warned about once, because it names a
|
|
146
|
+
* binding that could never fire.
|
|
147
|
+
*/
|
|
120
148
|
on(name: 'beforeTabChange' | 'tab:changed' | 'tabChange:cancelled' | string, fn: (event: TabChangeEvent) => void): () => void;
|
|
149
|
+
/** Remove a handler registered with `on`. */
|
|
121
150
|
off(name: string, fn: (event: TabChangeEvent) => void): void;
|
|
122
151
|
/** Tear the whole strip down; destroys every mounted tab's grid. */
|
|
123
152
|
destroy(): void;
|
package/modules/tabs.esm.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, tabs module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -52,12 +52,12 @@ Object.defineProperty(__exports,"frameBatched",{enumerable:true,get:function(){r
|
|
|
52
52
|
Object.defineProperty(__exports,"settleDebounce",{enumerable:true,get:function(){return settleDebounce;}});
|
|
53
53
|
Object.defineProperty(__exports,"whenIdle",{enumerable:true,get:function(){return whenIdle;}});
|
|
54
54
|
Object.defineProperty(__exports,"uid",{enumerable:true,get:function(){return uid;}});
|
|
55
|
-
const STAMPED_VERSION="1.
|
|
55
|
+
const STAMPED_VERSION="1.68.1";
|
|
56
56
|
async function resolveVersion(){
|
|
57
57
|
if(STAMPED_VERSION!=='0.0.0-source')return STAMPED_VERSION;
|
|
58
58
|
return STAMPED_VERSION;
|
|
59
59
|
}
|
|
60
|
-
const VERSION="1.
|
|
60
|
+
const VERSION="1.68.1";
|
|
61
61
|
const warned=new Set();
|
|
62
62
|
const WARNED_LIMIT=2000;
|
|
63
63
|
function rememberWarned(key){
|
|
@@ -499,7 +499,7 @@ const style=doc.createElement('style');
|
|
|
499
499
|
style.id=`${NS}-styles`;
|
|
500
500
|
style.setAttribute('id',`${NS}-styles`);
|
|
501
501
|
style.textContent=`
|
|
502
|
-
.${NS}{display:flex;flex-direction:column;height:100%;
|
|
502
|
+
:where(.${NS}){display:flex;flex-direction:column;height:100%;
|
|
503
503
|
font-family:var(--${NS}-font-family,var(--lattice-font-family,var(--lat-chrome-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)));
|
|
504
504
|
font-size:var(--${NS}-font-size,var(--lattice-font-size,var(--lat-chrome-font-size,13px)));
|
|
505
505
|
line-height:var(--${NS}-line-height,var(--lattice-line-height,var(--lat-chrome-line-height,1.4)))}
|
|
@@ -512,12 +512,12 @@ style.textContent=`
|
|
|
512
512
|
padding:var(--${NS}-pad-y,5px) var(--${NS}-pad-x,12px);cursor:pointer;color:var(--${NS}-muted,#586069)}
|
|
513
513
|
.${NS} .${NS}__tab + .${NS}__tab{border-left:1px solid var(--${NS}-separator,#e7eaee)}
|
|
514
514
|
.${NS} .${NS}__tab:hover{background:var(--${NS}-hover,#ebeef1)}
|
|
515
|
-
.${NS} .${NS}__tab:focus-visible{outline:2px solid var(--${NS}-focus,#2563eb);outline-offset:var(--${NS}-focus-offset,-4px)}
|
|
515
|
+
:where(.${NS} .${NS}__tab:focus-visible){outline:2px solid var(--${NS}-focus,#2563eb);outline-offset:var(--${NS}-focus-offset,-4px)}
|
|
516
516
|
.${NS} .${NS}__tab[aria-selected="true"]{background:var(--${NS}-bg,#fff);color:var(--${NS}-active,#14171a);font-weight:600;
|
|
517
517
|
margin-bottom:-1px;padding-bottom:calc(var(--${NS}-pad-y,5px) + 1px);
|
|
518
518
|
box-shadow:inset 0 calc(-1 * var(--${NS}-accent-width,2px)) 0 0 var(--${NS}-accent,#1a6bc7)}
|
|
519
|
-
.${NS} .${NS}__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1}
|
|
520
|
-
.${NS} .${NS}__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
519
|
+
:where(.${NS} .${NS}__icon){flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1}
|
|
520
|
+
:where(.${NS} .${NS}__label){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
521
521
|
.${NS} .${NS}__badge{flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
522
522
|
min-width:var(--${NS}-badge-size,1.5em);padding:0 var(--${NS}-badge-pad,0.4em);
|
|
523
523
|
border-radius:var(--${NS}-badge-radius,999px);font-size:var(--${NS}-badge-font-size,0.85em);
|
|
@@ -528,19 +528,18 @@ style.textContent=`
|
|
|
528
528
|
.${NS} .${NS}__badge[data-tone="bad"]{background:var(--${NS}-badge-bad-bg,#fbe0e0);color:var(--${NS}-badge-bad-fg,#8a1c1c)}
|
|
529
529
|
.${NS} .${NS}__badge[data-tone="unknown"]{background:none;color:var(--${NS}-badge-unknown-fg,#586069);
|
|
530
530
|
box-shadow:inset 0 0 0 1px var(--${NS}-badge-unknown-edge,#c3c9d0)}
|
|
531
|
-
.${NS}__unit{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
532
|
-
.${NS}__panels{position:relative;flex:1 1 auto;min-height:0}
|
|
533
|
-
.${NS}__panel{position:absolute;inset:0}
|
|
534
|
-
.${NS}__panel[hidden]{display:none}
|
|
535
|
-
.${NS}__body{position:absolute;inset:0}
|
|
536
|
-
.${NS}__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
531
|
+
:where(.${NS}__unit){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
532
|
+
:where(.${NS}__panels){position:relative;flex:1 1 auto;min-height:0}
|
|
533
|
+
:where(.${NS}__panel){position:absolute;inset:0}
|
|
534
|
+
:where(.${NS}__panel[hidden]){display:none}
|
|
535
|
+
:where(.${NS}__body){position:absolute;inset:0}
|
|
536
|
+
:where(.${NS}__live){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
537
537
|
`;
|
|
538
538
|
(doc.head||doc.documentElement).appendChild(style);
|
|
539
539
|
}
|
|
540
540
|
function renderShell(state){
|
|
541
541
|
const{doc,el,order}=state;
|
|
542
542
|
injectStyles(doc);
|
|
543
|
-
el.classList.add(NS);
|
|
544
543
|
const root=doc.createElement('div');
|
|
545
544
|
root.className=NS;
|
|
546
545
|
const list=doc.createElement('div');
|
package/modules/tabs.min.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, tabs module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -54,12 +54,12 @@ Object.defineProperty(__exports,"frameBatched",{enumerable:true,get:function(){r
|
|
|
54
54
|
Object.defineProperty(__exports,"settleDebounce",{enumerable:true,get:function(){return settleDebounce;}});
|
|
55
55
|
Object.defineProperty(__exports,"whenIdle",{enumerable:true,get:function(){return whenIdle;}});
|
|
56
56
|
Object.defineProperty(__exports,"uid",{enumerable:true,get:function(){return uid;}});
|
|
57
|
-
const STAMPED_VERSION="1.
|
|
57
|
+
const STAMPED_VERSION="1.68.1";
|
|
58
58
|
async function resolveVersion(){
|
|
59
59
|
if(STAMPED_VERSION!=='0.0.0-source')return STAMPED_VERSION;
|
|
60
60
|
return STAMPED_VERSION;
|
|
61
61
|
}
|
|
62
|
-
const VERSION="1.
|
|
62
|
+
const VERSION="1.68.1";
|
|
63
63
|
const warned=new Set();
|
|
64
64
|
const WARNED_LIMIT=2000;
|
|
65
65
|
function rememberWarned(key){
|
|
@@ -501,7 +501,7 @@ const style=doc.createElement('style');
|
|
|
501
501
|
style.id=`${NS}-styles`;
|
|
502
502
|
style.setAttribute('id',`${NS}-styles`);
|
|
503
503
|
style.textContent=`
|
|
504
|
-
.${NS}{display:flex;flex-direction:column;height:100%;
|
|
504
|
+
:where(.${NS}){display:flex;flex-direction:column;height:100%;
|
|
505
505
|
font-family:var(--${NS}-font-family,var(--lattice-font-family,var(--lat-chrome-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)));
|
|
506
506
|
font-size:var(--${NS}-font-size,var(--lattice-font-size,var(--lat-chrome-font-size,13px)));
|
|
507
507
|
line-height:var(--${NS}-line-height,var(--lattice-line-height,var(--lat-chrome-line-height,1.4)))}
|
|
@@ -514,12 +514,12 @@ style.textContent=`
|
|
|
514
514
|
padding:var(--${NS}-pad-y,5px) var(--${NS}-pad-x,12px);cursor:pointer;color:var(--${NS}-muted,#586069)}
|
|
515
515
|
.${NS} .${NS}__tab + .${NS}__tab{border-left:1px solid var(--${NS}-separator,#e7eaee)}
|
|
516
516
|
.${NS} .${NS}__tab:hover{background:var(--${NS}-hover,#ebeef1)}
|
|
517
|
-
.${NS} .${NS}__tab:focus-visible{outline:2px solid var(--${NS}-focus,#2563eb);outline-offset:var(--${NS}-focus-offset,-4px)}
|
|
517
|
+
:where(.${NS} .${NS}__tab:focus-visible){outline:2px solid var(--${NS}-focus,#2563eb);outline-offset:var(--${NS}-focus-offset,-4px)}
|
|
518
518
|
.${NS} .${NS}__tab[aria-selected="true"]{background:var(--${NS}-bg,#fff);color:var(--${NS}-active,#14171a);font-weight:600;
|
|
519
519
|
margin-bottom:-1px;padding-bottom:calc(var(--${NS}-pad-y,5px) + 1px);
|
|
520
520
|
box-shadow:inset 0 calc(-1 * var(--${NS}-accent-width,2px)) 0 0 var(--${NS}-accent,#1a6bc7)}
|
|
521
|
-
.${NS} .${NS}__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1}
|
|
522
|
-
.${NS} .${NS}__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
521
|
+
:where(.${NS} .${NS}__icon){flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1}
|
|
522
|
+
:where(.${NS} .${NS}__label){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
523
523
|
.${NS} .${NS}__badge{flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
524
524
|
min-width:var(--${NS}-badge-size,1.5em);padding:0 var(--${NS}-badge-pad,0.4em);
|
|
525
525
|
border-radius:var(--${NS}-badge-radius,999px);font-size:var(--${NS}-badge-font-size,0.85em);
|
|
@@ -530,19 +530,18 @@ style.textContent=`
|
|
|
530
530
|
.${NS} .${NS}__badge[data-tone="bad"]{background:var(--${NS}-badge-bad-bg,#fbe0e0);color:var(--${NS}-badge-bad-fg,#8a1c1c)}
|
|
531
531
|
.${NS} .${NS}__badge[data-tone="unknown"]{background:none;color:var(--${NS}-badge-unknown-fg,#586069);
|
|
532
532
|
box-shadow:inset 0 0 0 1px var(--${NS}-badge-unknown-edge,#c3c9d0)}
|
|
533
|
-
.${NS}__unit{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
534
|
-
.${NS}__panels{position:relative;flex:1 1 auto;min-height:0}
|
|
535
|
-
.${NS}__panel{position:absolute;inset:0}
|
|
536
|
-
.${NS}__panel[hidden]{display:none}
|
|
537
|
-
.${NS}__body{position:absolute;inset:0}
|
|
538
|
-
.${NS}__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
533
|
+
:where(.${NS}__unit){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
534
|
+
:where(.${NS}__panels){position:relative;flex:1 1 auto;min-height:0}
|
|
535
|
+
:where(.${NS}__panel){position:absolute;inset:0}
|
|
536
|
+
:where(.${NS}__panel[hidden]){display:none}
|
|
537
|
+
:where(.${NS}__body){position:absolute;inset:0}
|
|
538
|
+
:where(.${NS}__live){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
539
539
|
`;
|
|
540
540
|
(doc.head||doc.documentElement).appendChild(style);
|
|
541
541
|
}
|
|
542
542
|
function renderShell(state){
|
|
543
543
|
const{doc,el,order}=state;
|
|
544
544
|
injectStyles(doc);
|
|
545
|
-
el.classList.add(NS);
|
|
546
545
|
const root=doc.createElement('div');
|
|
547
546
|
root.className=NS;
|
|
548
547
|
const list=doc.createElement('div');
|
package/modules/tabs.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, tabs module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -54,12 +54,12 @@ Object.defineProperty(__exports,"frameBatched",{enumerable:true,get:function(){r
|
|
|
54
54
|
Object.defineProperty(__exports,"settleDebounce",{enumerable:true,get:function(){return settleDebounce;}});
|
|
55
55
|
Object.defineProperty(__exports,"whenIdle",{enumerable:true,get:function(){return whenIdle;}});
|
|
56
56
|
Object.defineProperty(__exports,"uid",{enumerable:true,get:function(){return uid;}});
|
|
57
|
-
const STAMPED_VERSION="1.
|
|
57
|
+
const STAMPED_VERSION="1.68.1";
|
|
58
58
|
async function resolveVersion(){
|
|
59
59
|
if(STAMPED_VERSION!=='0.0.0-source')return STAMPED_VERSION;
|
|
60
60
|
return STAMPED_VERSION;
|
|
61
61
|
}
|
|
62
|
-
const VERSION="1.
|
|
62
|
+
const VERSION="1.68.1";
|
|
63
63
|
const warned=new Set();
|
|
64
64
|
const WARNED_LIMIT=2000;
|
|
65
65
|
function rememberWarned(key){
|
|
@@ -501,7 +501,7 @@ const style=doc.createElement('style');
|
|
|
501
501
|
style.id=`${NS}-styles`;
|
|
502
502
|
style.setAttribute('id',`${NS}-styles`);
|
|
503
503
|
style.textContent=`
|
|
504
|
-
.${NS}{display:flex;flex-direction:column;height:100%;
|
|
504
|
+
:where(.${NS}){display:flex;flex-direction:column;height:100%;
|
|
505
505
|
font-family:var(--${NS}-font-family,var(--lattice-font-family,var(--lat-chrome-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)));
|
|
506
506
|
font-size:var(--${NS}-font-size,var(--lattice-font-size,var(--lat-chrome-font-size,13px)));
|
|
507
507
|
line-height:var(--${NS}-line-height,var(--lattice-line-height,var(--lat-chrome-line-height,1.4)))}
|
|
@@ -514,12 +514,12 @@ style.textContent=`
|
|
|
514
514
|
padding:var(--${NS}-pad-y,5px) var(--${NS}-pad-x,12px);cursor:pointer;color:var(--${NS}-muted,#586069)}
|
|
515
515
|
.${NS} .${NS}__tab + .${NS}__tab{border-left:1px solid var(--${NS}-separator,#e7eaee)}
|
|
516
516
|
.${NS} .${NS}__tab:hover{background:var(--${NS}-hover,#ebeef1)}
|
|
517
|
-
.${NS} .${NS}__tab:focus-visible{outline:2px solid var(--${NS}-focus,#2563eb);outline-offset:var(--${NS}-focus-offset,-4px)}
|
|
517
|
+
:where(.${NS} .${NS}__tab:focus-visible){outline:2px solid var(--${NS}-focus,#2563eb);outline-offset:var(--${NS}-focus-offset,-4px)}
|
|
518
518
|
.${NS} .${NS}__tab[aria-selected="true"]{background:var(--${NS}-bg,#fff);color:var(--${NS}-active,#14171a);font-weight:600;
|
|
519
519
|
margin-bottom:-1px;padding-bottom:calc(var(--${NS}-pad-y,5px) + 1px);
|
|
520
520
|
box-shadow:inset 0 calc(-1 * var(--${NS}-accent-width,2px)) 0 0 var(--${NS}-accent,#1a6bc7)}
|
|
521
|
-
.${NS} .${NS}__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1}
|
|
522
|
-
.${NS} .${NS}__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
521
|
+
:where(.${NS} .${NS}__icon){flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:1}
|
|
522
|
+
:where(.${NS} .${NS}__label){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
523
523
|
.${NS} .${NS}__badge{flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
524
524
|
min-width:var(--${NS}-badge-size,1.5em);padding:0 var(--${NS}-badge-pad,0.4em);
|
|
525
525
|
border-radius:var(--${NS}-badge-radius,999px);font-size:var(--${NS}-badge-font-size,0.85em);
|
|
@@ -530,19 +530,18 @@ style.textContent=`
|
|
|
530
530
|
.${NS} .${NS}__badge[data-tone="bad"]{background:var(--${NS}-badge-bad-bg,#fbe0e0);color:var(--${NS}-badge-bad-fg,#8a1c1c)}
|
|
531
531
|
.${NS} .${NS}__badge[data-tone="unknown"]{background:none;color:var(--${NS}-badge-unknown-fg,#586069);
|
|
532
532
|
box-shadow:inset 0 0 0 1px var(--${NS}-badge-unknown-edge,#c3c9d0)}
|
|
533
|
-
.${NS}__unit{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
534
|
-
.${NS}__panels{position:relative;flex:1 1 auto;min-height:0}
|
|
535
|
-
.${NS}__panel{position:absolute;inset:0}
|
|
536
|
-
.${NS}__panel[hidden]{display:none}
|
|
537
|
-
.${NS}__body{position:absolute;inset:0}
|
|
538
|
-
.${NS}__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
533
|
+
:where(.${NS}__unit){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
534
|
+
:where(.${NS}__panels){position:relative;flex:1 1 auto;min-height:0}
|
|
535
|
+
:where(.${NS}__panel){position:absolute;inset:0}
|
|
536
|
+
:where(.${NS}__panel[hidden]){display:none}
|
|
537
|
+
:where(.${NS}__body){position:absolute;inset:0}
|
|
538
|
+
:where(.${NS}__live){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
539
539
|
`;
|
|
540
540
|
(doc.head||doc.documentElement).appendChild(style);
|
|
541
541
|
}
|
|
542
542
|
function renderShell(state){
|
|
543
543
|
const{doc,el,order}=state;
|
|
544
544
|
injectStyles(doc);
|
|
545
|
-
el.classList.add(NS);
|
|
546
545
|
const root=doc.createElement('div');
|
|
547
546
|
root.className=NS;
|
|
548
547
|
const list=doc.createElement('div');
|
package/modules/vue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, vue module type declarations
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -143,6 +143,7 @@ export type LatticeVueGridEmit = {
|
|
|
143
143
|
|
|
144
144
|
/** What a `<LatticeGrid>` template ref exposes; `grid()` is null before mount. */
|
|
145
145
|
export interface LatticeVueGridExposed {
|
|
146
|
+
/** The live grid the component built, or null before mount. */
|
|
146
147
|
grid(): Grid | null;
|
|
147
148
|
}
|
|
148
149
|
|
|
@@ -190,6 +191,7 @@ export type LatticeVueViewerCommonProps = LatticeVueHostProps & {
|
|
|
190
191
|
|
|
191
192
|
/** What a viewer's template ref exposes; `instance()` is null before mount. */
|
|
192
193
|
export interface LatticeVueViewerExposed<Instance = unknown> {
|
|
194
|
+
/** The live viewer the component built, or null before mount. */
|
|
193
195
|
instance(): Instance | null;
|
|
194
196
|
}
|
|
195
197
|
|
|
@@ -233,7 +235,12 @@ export type LatticeVueLayoutProps = Record<string, unknown> & LatticeVueViewerCo
|
|
|
233
235
|
|
|
234
236
|
/** One tab of a `<LatticeTabs>`; a slot named for its `id` makes it Vue's. */
|
|
235
237
|
export interface LatticeVueTabSpec {
|
|
238
|
+
/**
|
|
239
|
+
* The tab's identity, which also names the slot whose content Vue renders into the
|
|
240
|
+
* panel. Required, non-empty and unique.
|
|
241
|
+
*/
|
|
236
242
|
id: string;
|
|
243
|
+
/** The text on the tab button. Defaults to the id. */
|
|
237
244
|
label?: string;
|
|
238
245
|
[key: string]: unknown;
|
|
239
246
|
}
|
package/modules/vue.esm.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, vue module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -52,12 +52,12 @@ Object.defineProperty(__exports,"frameBatched",{enumerable:true,get:function(){r
|
|
|
52
52
|
Object.defineProperty(__exports,"settleDebounce",{enumerable:true,get:function(){return settleDebounce;}});
|
|
53
53
|
Object.defineProperty(__exports,"whenIdle",{enumerable:true,get:function(){return whenIdle;}});
|
|
54
54
|
Object.defineProperty(__exports,"uid",{enumerable:true,get:function(){return uid;}});
|
|
55
|
-
const STAMPED_VERSION="1.
|
|
55
|
+
const STAMPED_VERSION="1.68.1";
|
|
56
56
|
async function resolveVersion(){
|
|
57
57
|
if(STAMPED_VERSION!=='0.0.0-source')return STAMPED_VERSION;
|
|
58
58
|
return STAMPED_VERSION;
|
|
59
59
|
}
|
|
60
|
-
const VERSION="1.
|
|
60
|
+
const VERSION="1.68.1";
|
|
61
61
|
const warned=new Set();
|
|
62
62
|
const WARNED_LIMIT=2000;
|
|
63
63
|
function rememberWarned(key){
|
package/modules/vue.min.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, vue module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -54,12 +54,12 @@ Object.defineProperty(__exports,"frameBatched",{enumerable:true,get:function(){r
|
|
|
54
54
|
Object.defineProperty(__exports,"settleDebounce",{enumerable:true,get:function(){return settleDebounce;}});
|
|
55
55
|
Object.defineProperty(__exports,"whenIdle",{enumerable:true,get:function(){return whenIdle;}});
|
|
56
56
|
Object.defineProperty(__exports,"uid",{enumerable:true,get:function(){return uid;}});
|
|
57
|
-
const STAMPED_VERSION="1.
|
|
57
|
+
const STAMPED_VERSION="1.68.1";
|
|
58
58
|
async function resolveVersion(){
|
|
59
59
|
if(STAMPED_VERSION!=='0.0.0-source')return STAMPED_VERSION;
|
|
60
60
|
return STAMPED_VERSION;
|
|
61
61
|
}
|
|
62
|
-
const VERSION="1.
|
|
62
|
+
const VERSION="1.68.1";
|
|
63
63
|
const warned=new Set();
|
|
64
64
|
const WARNED_LIMIT=2000;
|
|
65
65
|
function rememberWarned(key){
|
package/modules/vue.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, vue module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -54,12 +54,12 @@ Object.defineProperty(__exports,"frameBatched",{enumerable:true,get:function(){r
|
|
|
54
54
|
Object.defineProperty(__exports,"settleDebounce",{enumerable:true,get:function(){return settleDebounce;}});
|
|
55
55
|
Object.defineProperty(__exports,"whenIdle",{enumerable:true,get:function(){return whenIdle;}});
|
|
56
56
|
Object.defineProperty(__exports,"uid",{enumerable:true,get:function(){return uid;}});
|
|
57
|
-
const STAMPED_VERSION="1.
|
|
57
|
+
const STAMPED_VERSION="1.68.1";
|
|
58
58
|
async function resolveVersion(){
|
|
59
59
|
if(STAMPED_VERSION!=='0.0.0-source')return STAMPED_VERSION;
|
|
60
60
|
return STAMPED_VERSION;
|
|
61
61
|
}
|
|
62
|
-
const VERSION="1.
|
|
62
|
+
const VERSION="1.68.1";
|
|
63
63
|
const warned=new Set();
|
|
64
64
|
const WARNED_LIMIT=2000;
|
|
65
65
|
function rememberWarned(key){
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.68.1, webcomponent module type declarations
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -70,12 +70,34 @@ export interface LatticeViewerEventDetail<Instance = unknown> { instance: Instan
|
|
|
70
70
|
export interface LatticeGridElement<Row = any> extends HTMLElement {
|
|
71
71
|
/** Every attribute in the table above is also a property of the same name. */
|
|
72
72
|
theme: string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* The row height and padding as a named step, rather than pixel by pixel. The `density`
|
|
75
|
+
* attribute.
|
|
76
|
+
*/
|
|
73
77
|
density: string | undefined;
|
|
78
|
+
/** The locale the grid formats and sorts in. The `locale` attribute. */
|
|
74
79
|
locale: string | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Which field identifies a row. As an attribute it can only be a field name; the
|
|
82
|
+
* composite and function forms are properties.
|
|
83
|
+
*/
|
|
75
84
|
rowKey: string | undefined;
|
|
85
|
+
/** Row height in pixels. The `row-height` attribute, parsed as a number. */
|
|
76
86
|
rowHeight: number | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Header height in pixels. The `header-height` attribute, parsed as a number; unset,
|
|
89
|
+
* the header follows the density token.
|
|
90
|
+
*/
|
|
77
91
|
headerHeight: number | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Let the grid grow to its rows rather than capping its height. The `auto-height`
|
|
94
|
+
* attribute is a bare boolean — present is true.
|
|
95
|
+
*/
|
|
78
96
|
autoHeight: boolean | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* What the reader may select: `single`, `multiple` or `none`. The `selection`
|
|
99
|
+
* attribute; the full selection config goes through `config`.
|
|
100
|
+
*/
|
|
79
101
|
selection: string | undefined;
|
|
80
102
|
/** The live grid, or null while the element is disconnected. */
|
|
81
103
|
readonly grid: Grid | null;
|
|
@@ -122,64 +144,150 @@ export interface LatticeViewerElement<Instance = unknown> extends HTMLElement {
|
|
|
122
144
|
* empty; give it `rows` for a standalone panel.
|
|
123
145
|
*/
|
|
124
146
|
export interface LatticeKPIElement<Row = any> extends LatticeViewerElement {
|
|
147
|
+
/** The panel's tiles. A structure, so it is a property rather than an attribute. */
|
|
125
148
|
tiles: unknown[];
|
|
149
|
+
/** Rows for a standalone panel. Set them and the element stops waiting for a grid. */
|
|
126
150
|
rows: Row[];
|
|
151
|
+
/** How many tile columns to aim for. */
|
|
127
152
|
columns: number | undefined;
|
|
153
|
+
/** Which field identifies a row, for the panel's own keyed store. */
|
|
128
154
|
rowKey: string | undefined;
|
|
155
|
+
/** The default locale a clock tile formats in. */
|
|
129
156
|
locale: string | undefined;
|
|
157
|
+
/**
|
|
158
|
+
* Passed to the panel as `theme`, which the panel does not read — it mirrors the
|
|
159
|
+
* theme of the grid it is mounted beside, and otherwise follows the page's tokens.
|
|
160
|
+
*/
|
|
130
161
|
theme: string | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* Passed to the panel as `density`, which the panel does not read — density is
|
|
164
|
+
* mirrored from the grid the panel belongs to.
|
|
165
|
+
*/
|
|
131
166
|
density: string | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Passed to the panel as `format`, which the panel does not read — formatting is
|
|
169
|
+
* per tile (`tiles: [{ format }]`).
|
|
170
|
+
*/
|
|
132
171
|
format: unknown;
|
|
133
172
|
}
|
|
134
173
|
|
|
135
174
|
/** `<lattice-chart>`. Always drawn from a grid, so it waits for one. */
|
|
136
175
|
export interface LatticeChartElement extends LatticeViewerElement {
|
|
176
|
+
/**
|
|
177
|
+
* A geomap's geometry: a loaded pack, `{ pack: id }`, GeoJSON, or a map of code to path
|
|
178
|
+
* data. A structure, so it is a property.
|
|
179
|
+
*/
|
|
137
180
|
shapes: unknown;
|
|
181
|
+
/** The column that splits the measure into one series per distinct value. */
|
|
138
182
|
series: unknown;
|
|
183
|
+
/**
|
|
184
|
+
* Passed to the chart as `data`, which the chart does not read — a chart draws the
|
|
185
|
+
* grid's own filtered rows. Use the grid's rows, or the chart spec's `rows`, through
|
|
186
|
+
* `config`.
|
|
187
|
+
*/
|
|
139
188
|
data: unknown;
|
|
189
|
+
/**
|
|
190
|
+
* Passed to the chart as `formatting`, which the chart does not read — a chart formats
|
|
191
|
+
* through the grid's own formatting and each column's type.
|
|
192
|
+
*/
|
|
140
193
|
formatting: unknown;
|
|
194
|
+
/** Which chart to draw. The `type` attribute. */
|
|
141
195
|
type: string | undefined;
|
|
196
|
+
/** The category column. */
|
|
142
197
|
x: string | undefined;
|
|
198
|
+
/** The measure column, or several for a multi-measure chart. */
|
|
143
199
|
y: string | string[] | undefined;
|
|
200
|
+
/** The measure a markermap writes beside each dot and colours it by. */
|
|
144
201
|
value: string | undefined;
|
|
202
|
+
/** The row-label column, for the types that name their rows. */
|
|
145
203
|
label: string | undefined;
|
|
204
|
+
/** The longitude column, in degrees east, for the maps that place a row by where it is. */
|
|
146
205
|
lon: string | undefined;
|
|
206
|
+
/** The latitude column, in degrees north. */
|
|
147
207
|
lat: string | undefined;
|
|
208
|
+
/** Print the value beside each mark. The `labels` attribute is a bare boolean. */
|
|
148
209
|
labels: boolean | undefined;
|
|
210
|
+
/**
|
|
211
|
+
* Passed to the chart as `stacked`, which the chart does not read — its own option is
|
|
212
|
+
* `stack`, reachable through `config`.
|
|
213
|
+
*/
|
|
149
214
|
stacked: boolean | undefined;
|
|
215
|
+
/**
|
|
216
|
+
* Passed to the chart as `horizontal`, which the chart does not read — orientation
|
|
217
|
+
* follows the chart type (`horizontalBar` and the row-named types draw along y).
|
|
218
|
+
*/
|
|
150
219
|
horizontal: boolean | undefined;
|
|
220
|
+
/** The colour scheme by name. */
|
|
151
221
|
scheme: string | undefined;
|
|
152
222
|
}
|
|
153
223
|
|
|
154
224
|
/** `<lattice-kanban>`. Grid-bound like the KPI panel; give it `rows` to stand alone. */
|
|
155
225
|
export interface LatticeKanbanElement<Row = any> extends LatticeViewerElement {
|
|
226
|
+
/** Rows for a standalone board. Set them and the element stops waiting for a grid. */
|
|
156
227
|
rows: Row[];
|
|
228
|
+
/** The board's column definitions. */
|
|
157
229
|
columns: unknown[];
|
|
230
|
+
/** The card template's field mapping — title, subtitle, labels, assignee and the rest. */
|
|
158
231
|
card: unknown;
|
|
232
|
+
/**
|
|
233
|
+
* Passed to the board as `facets`, which the board does not read — filter it with
|
|
234
|
+
* `filter`, `quickFilter`, `setSprint` or `setEpic` instead.
|
|
235
|
+
*/
|
|
159
236
|
facets: unknown;
|
|
237
|
+
/** Which field identifies a card. */
|
|
160
238
|
rowKey: string | undefined;
|
|
239
|
+
/** The row property that puts a card in a column. */
|
|
161
240
|
columnProperty: string | undefined;
|
|
241
|
+
/**
|
|
242
|
+
* Passed to the board as `titleProperty`, which the board does not read — map the
|
|
243
|
+
* card's headline through `card` (`card: { title: 'name' }`).
|
|
244
|
+
*/
|
|
162
245
|
titleProperty: string | undefined;
|
|
246
|
+
/**
|
|
247
|
+
* Draw the two-dimensional swimlane layout. The `swimlanes` attribute is a bare
|
|
248
|
+
* boolean; name the lane property through `swimlane-property`.
|
|
249
|
+
*/
|
|
163
250
|
swimlanes: boolean | undefined;
|
|
164
251
|
}
|
|
165
252
|
|
|
166
253
|
/** `<lattice-gantt>`. */
|
|
167
254
|
export interface LatticeGanttElement extends LatticeViewerElement {
|
|
255
|
+
/** The plan's tasks. A structure, so it is a property. */
|
|
168
256
|
tasks: unknown[];
|
|
257
|
+
/** The links between tasks. */
|
|
169
258
|
dependencies: unknown[];
|
|
259
|
+
/** The resource capacities, for over-allocation and levelling. */
|
|
170
260
|
resources: unknown;
|
|
261
|
+
/** The working-time calendar: the `weekends` preset, or explicit workdays and holidays. */
|
|
171
262
|
calendar: unknown;
|
|
263
|
+
/** The table panel's columns, for the split view. */
|
|
172
264
|
columns: unknown;
|
|
265
|
+
/** Which field identifies a task. */
|
|
173
266
|
rowKey: string | undefined;
|
|
267
|
+
/**
|
|
268
|
+
* Passed to the plan as `scale`, which it does not read — the timeline's zoom is a
|
|
269
|
+
* render option, set through `config: { render: { zoom } }`.
|
|
270
|
+
*/
|
|
174
271
|
scale: string | undefined;
|
|
272
|
+
/**
|
|
273
|
+
* Cascade an edit down the dependency chain rather than only recomputing. A bare
|
|
274
|
+
* boolean attribute.
|
|
275
|
+
*/
|
|
175
276
|
autoSchedule: boolean | undefined;
|
|
176
277
|
}
|
|
177
278
|
|
|
178
279
|
/** `<lattice-layout>`. */
|
|
179
280
|
export interface LatticeLayoutElement extends LatticeViewerElement {
|
|
281
|
+
/**
|
|
282
|
+
* The windows to place, each with its content and its cell. A structure, so it is a
|
|
283
|
+
* property.
|
|
284
|
+
*/
|
|
180
285
|
windows: unknown[];
|
|
286
|
+
/** How many columns the grid of windows has. */
|
|
181
287
|
columns: number | undefined;
|
|
288
|
+
/** How many rows the grid of windows has. */
|
|
182
289
|
rows: number | undefined;
|
|
290
|
+
/** Which way windows collapse into the space a closed one left. */
|
|
183
291
|
compact: string | undefined;
|
|
184
292
|
}
|
|
185
293
|
|
|
@@ -189,6 +297,10 @@ export interface LatticeLayoutElement extends LatticeViewerElement {
|
|
|
189
297
|
* left to the module.
|
|
190
298
|
*/
|
|
191
299
|
export interface LatticeTabsElement extends LatticeViewerElement {
|
|
300
|
+
/**
|
|
301
|
+
* The tab descriptors. A tab's content comes from a `<template data-tab="‹id›">` child
|
|
302
|
+
* when there is one.
|
|
303
|
+
*/
|
|
192
304
|
tabs: unknown[];
|
|
193
305
|
}
|
|
194
306
|
|