@toclocoinc/lattice-grid 1.68.1 → 1.69.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 +26 -1
- package/angular/fesm2022/toclocoinc-lattice-grid-angular.mjs +1 -0
- package/angular/package.json +1 -1
- package/docs/API.html +3834 -1278
- package/docs/api-detail.html +102 -4
- package/lattice-grid.d.ts +2635 -143
- package/lattice-grid.esm.min.js +257 -50
- package/lattice-grid.min.cjs +257 -50
- package/lattice-grid.min.css +1 -1
- package/lattice-grid.min.js +257 -50
- package/modules/ai.d.ts +111 -13
- package/modules/ai.esm.min.js +19 -3
- package/modules/ai.min.cjs +19 -3
- package/modules/ai.min.js +19 -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 +1 -1
- package/modules/charts.esm.min.js +9 -9
- package/modules/charts.min.cjs +9 -9
- package/modules/charts.min.js +9 -9
- package/modules/data-router.d.ts +35 -5
- package/modules/data-router.esm.min.js +9 -4
- package/modules/data-router.min.cjs +9 -4
- package/modules/data-router.min.js +9 -4
- 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 +283 -33
- package/modules/gantt.esm.min.js +15 -8
- package/modules/gantt.min.cjs +15 -8
- package/modules/gantt.min.js +15 -8
- 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 +257 -50
- package/modules/htmx.min.cjs +257 -50
- package/modules/htmx.min.js +257 -50
- package/modules/kanban.d.ts +456 -5
- 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 +68 -4
- package/modules/kpi.esm.min.js +3 -3
- package/modules/kpi.min.cjs +3 -3
- package/modules/kpi.min.js +3 -3
- package/modules/layout.d.ts +134 -8
- 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 +1 -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 +5 -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 +96 -20
- package/modules/tabs.esm.min.js +3 -3
- package/modules/tabs.min.cjs +3 -3
- package/modules/tabs.min.js +3 -3
- package/modules/vue.d.ts +5 -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 +10 -39
- package/modules/webcomponent.esm.min.js +302 -54
- package/modules/webcomponent.min.cjs +302 -54
- package/modules/webcomponent.min.js +302 -54
- package/package.json +1 -1
package/modules/kanban.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.69.0, kanban module type declarations
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -172,6 +172,10 @@ interface KanbanCardMap {
|
|
|
172
172
|
* plain.
|
|
173
173
|
*/
|
|
174
174
|
accent?: KanbanFieldMap;
|
|
175
|
+
/**
|
|
176
|
+
* Any other card slot the board's theme declares, mapped the same way as the named
|
|
177
|
+
* ones above. `undefined` is the honest value for a slot that is left unmapped.
|
|
178
|
+
*/
|
|
175
179
|
[field: string]: KanbanFieldMap | undefined;
|
|
176
180
|
}
|
|
177
181
|
|
|
@@ -182,7 +186,11 @@ type KanbanReadonly = boolean | {
|
|
|
182
186
|
cards?: Record<string, boolean>;
|
|
183
187
|
};
|
|
184
188
|
|
|
185
|
-
/**
|
|
189
|
+
/**
|
|
190
|
+
* The payload of the three card pointer events — `card:click`, `card:dblclick`
|
|
191
|
+
* and `card:contextmenu`. The board's other events carry their own shapes;
|
|
192
|
+
* {@link KanbanEventPayloads} names one per event.
|
|
193
|
+
*/
|
|
186
194
|
interface KanbanEvent {
|
|
187
195
|
/** The card the event is about. */
|
|
188
196
|
card: KanbanCard;
|
|
@@ -533,6 +541,447 @@ interface KanbanMoveEvent {
|
|
|
533
541
|
* between the neighbours at the drop point. Null when no order property is configured.
|
|
534
542
|
*/
|
|
535
543
|
orders: number[] | null;
|
|
544
|
+
/** Where the move came from: `'user'` for a drag or keyboard move, `'ai'` for an approved AI proposal, `'api'` for `board.move`. */
|
|
545
|
+
origin: 'user' | 'api' | 'init' | 'ai';
|
|
546
|
+
/** The swimlane the cards were moved to, when the gesture named one and a swimlane property is configured. */
|
|
547
|
+
lane?: unknown;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
/** The members every cancellable board before-event carries. */
|
|
551
|
+
interface KanbanBeforeEvent {
|
|
552
|
+
/** The event's own name. */
|
|
553
|
+
type: string;
|
|
554
|
+
/** Where the action came from. */
|
|
555
|
+
origin: 'user' | 'api' | 'init' | 'ai';
|
|
556
|
+
/** Cancel the pending action; the reason is surfaced on the matching `<action>:cancelled`. */
|
|
557
|
+
preventDefault(reason?: string): void;
|
|
558
|
+
/** True once any handler has cancelled it. */
|
|
559
|
+
readonly defaultPrevented: boolean;
|
|
560
|
+
/** The first reason given to `preventDefault`, or null. */
|
|
561
|
+
readonly reason: string | null;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/** `card:edit` and `beforeEdit`: one field of one card. */
|
|
565
|
+
interface KanbanCardEditEvent {
|
|
566
|
+
/** The card being edited. */
|
|
567
|
+
card: KanbanCard;
|
|
568
|
+
/** That card's key. */
|
|
569
|
+
key: unknown;
|
|
570
|
+
/** The card-spec name of the field. */
|
|
571
|
+
field: string;
|
|
572
|
+
/** The row property the field writes to. */
|
|
573
|
+
fieldPath: string;
|
|
574
|
+
/** The value being written. */
|
|
575
|
+
value: unknown;
|
|
576
|
+
/** Where the edit came from. */
|
|
577
|
+
origin: 'user' | 'api' | 'init' | 'ai';
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/** `beforeEdit`: an inline card edit is about to be written. */
|
|
581
|
+
interface KanbanBeforeEditEvent extends KanbanBeforeEvent {
|
|
582
|
+
/** The card being edited. */
|
|
583
|
+
card: KanbanCard;
|
|
584
|
+
/** That card's key. */
|
|
585
|
+
key: unknown;
|
|
586
|
+
/** The card-spec name of the field. */
|
|
587
|
+
field: string;
|
|
588
|
+
/** The row property the field writes to. */
|
|
589
|
+
fieldPath: string;
|
|
590
|
+
/** The value that would be written. */
|
|
591
|
+
value: unknown;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
/** `edit:cancelled`: a `beforeEdit` handler refused the write. */
|
|
595
|
+
interface KanbanEditCancelledEvent extends KanbanCardEditEvent {
|
|
596
|
+
/** The reason given to `preventDefault`, or `'prevented'`. */
|
|
597
|
+
reason: string;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/** `card:add`: a card was appended to a column. */
|
|
601
|
+
interface KanbanCardAddEvent {
|
|
602
|
+
/** The column it was added to. */
|
|
603
|
+
column: string;
|
|
604
|
+
/** The new card's key — the grid's temporary key on a grid-bound board until the server confirms it. */
|
|
605
|
+
key: unknown;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
/** `beforeAdd`: a card is about to be appended. */
|
|
609
|
+
interface KanbanBeforeAddEvent extends KanbanBeforeEvent {
|
|
610
|
+
/** The column it would be added to. */
|
|
611
|
+
column: string;
|
|
612
|
+
/** The seed values the new row would be built from. */
|
|
613
|
+
seed: Record<string, unknown>;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
/** `add:cancelled`: a `beforeAdd` handler refused the append. */
|
|
617
|
+
interface KanbanAddCancelledEvent {
|
|
618
|
+
/** The column the card was not added to. */
|
|
619
|
+
column: string;
|
|
620
|
+
/** The seed values that were not written. */
|
|
621
|
+
seed: Record<string, unknown>;
|
|
622
|
+
/** Where the append came from. */
|
|
623
|
+
origin: 'user' | 'api' | 'init' | 'ai';
|
|
624
|
+
/** The reason given to `preventDefault`, or `'prevented'`. */
|
|
625
|
+
reason: string;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
/** `beforeMove`: one card of a move is about to be applied; raised once per card. */
|
|
629
|
+
interface KanbanBeforeMoveEvent extends KanbanBeforeEvent {
|
|
630
|
+
/** The card being moved. */
|
|
631
|
+
card: KanbanCard;
|
|
632
|
+
/** That card's key. */
|
|
633
|
+
key: unknown;
|
|
634
|
+
/** The column it is in, or null when it is unplaced. */
|
|
635
|
+
from: string | null;
|
|
636
|
+
/** The column it would land in. */
|
|
637
|
+
to: string;
|
|
638
|
+
/** The position asked for within that column, or null for the end. */
|
|
639
|
+
index: number | null;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
/** `move:cancelled`: a `beforeMove` handler refused one card of a move. */
|
|
643
|
+
interface KanbanMoveCancelledEvent {
|
|
644
|
+
/** The one key that did not move. */
|
|
645
|
+
keys: unknown[];
|
|
646
|
+
/** That one card. */
|
|
647
|
+
cards: KanbanCard[];
|
|
648
|
+
/** The column it is still in. */
|
|
649
|
+
from: (string | null)[];
|
|
650
|
+
/** The column it would have landed in. */
|
|
651
|
+
to: string;
|
|
652
|
+
/** The position that was asked for, or null. */
|
|
653
|
+
index: number | null;
|
|
654
|
+
/** The reason given to `preventDefault`, or `'prevented'`. */
|
|
655
|
+
reason: string;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* `card:reverted`: a move did not stick — the bound grid refused the write, an
|
|
660
|
+
* `onCardMove` callback returned false, or the server reverted the cell.
|
|
661
|
+
*/
|
|
662
|
+
interface KanbanCardRevertedEvent {
|
|
663
|
+
/** The keys that went back. */
|
|
664
|
+
keys: unknown[];
|
|
665
|
+
/** Those cards. */
|
|
666
|
+
cards: KanbanCard[];
|
|
667
|
+
/** Where each came from. */
|
|
668
|
+
from: (string | null)[];
|
|
669
|
+
/** The column they are in again, or null when it is not known. */
|
|
670
|
+
to: string | null;
|
|
671
|
+
/** The position that had been asked for, or null. */
|
|
672
|
+
index: number | null;
|
|
673
|
+
/** The order values that had been computed, or null. */
|
|
674
|
+
orders: number[] | null;
|
|
675
|
+
/** Where the move came from, on the two board-side reverts. */
|
|
676
|
+
origin?: 'user' | 'api' | 'init' | 'ai';
|
|
677
|
+
/** True on the grid-side revert, which reports it explicitly. */
|
|
678
|
+
reverted?: boolean;
|
|
679
|
+
/** Why the grid reverted the cell, on the grid-side revert. */
|
|
680
|
+
reason?: string;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
/** `card:confirmed`: the grid confirmed the column write behind an optimistic move. */
|
|
684
|
+
interface KanbanCardConfirmedEvent {
|
|
685
|
+
/** The key that was confirmed. */
|
|
686
|
+
keys: unknown[];
|
|
687
|
+
/** That card, or an empty array when it has since gone. */
|
|
688
|
+
cards: KanbanCard[];
|
|
689
|
+
/** The column it is in, or null when the card has gone. */
|
|
690
|
+
to: string | null;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
/** `selection:changed`: the selected cards changed. */
|
|
694
|
+
interface KanbanSelectionEvent {
|
|
695
|
+
/** Every selected card key, in selection order. */
|
|
696
|
+
keys: unknown[];
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
/** `column:collapse`: a column was collapsed or expanded. */
|
|
700
|
+
interface KanbanColumnCollapseEvent {
|
|
701
|
+
/** The column that moved. */
|
|
702
|
+
column: string;
|
|
703
|
+
/** True when it is now collapsed. */
|
|
704
|
+
collapsed: boolean;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
/** `beforeColumnChange`: a column is about to be collapsed or expanded. */
|
|
708
|
+
interface KanbanBeforeColumnChangeEvent extends KanbanBeforeEvent {
|
|
709
|
+
/** The column that would move. */
|
|
710
|
+
column: string;
|
|
711
|
+
/** True when it would become collapsed. */
|
|
712
|
+
collapsed: boolean;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
/** `columnChange:cancelled`: a `beforeColumnChange` handler refused it. */
|
|
716
|
+
interface KanbanColumnChangeCancelledEvent extends KanbanColumnCollapseEvent {
|
|
717
|
+
/** Where the change came from. */
|
|
718
|
+
origin: 'user' | 'api' | 'init' | 'ai';
|
|
719
|
+
/** The reason given to `preventDefault`, or `'prevented'`. */
|
|
720
|
+
reason: string;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
/** `swimlane:collapse`: a swimlane was collapsed or expanded. */
|
|
724
|
+
interface KanbanSwimlaneCollapseEvent {
|
|
725
|
+
/** The lane that moved. */
|
|
726
|
+
swimlane: string;
|
|
727
|
+
/** True when it is now collapsed. */
|
|
728
|
+
collapsed: boolean;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/** `column:reorder` and `swimlane:reorder`: the order the board draws them in. */
|
|
732
|
+
interface KanbanOrderEvent {
|
|
733
|
+
/** The ids in their new order, as the rebuilt model holds them. */
|
|
734
|
+
order: string[];
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
/** `beforeColumnReorder` and `beforeLaneReorder`: an order is about to be applied. */
|
|
738
|
+
interface KanbanBeforeOrderEvent extends KanbanBeforeEvent {
|
|
739
|
+
/** The ids in the order that was asked for. */
|
|
740
|
+
order: string[];
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/** `columnReorder:cancelled` and `laneReorder:cancelled`: a handler refused the order. */
|
|
744
|
+
interface KanbanOrderCancelledEvent extends KanbanOrderEvent {
|
|
745
|
+
/** Where the reorder came from. */
|
|
746
|
+
origin: 'user' | 'api' | 'init' | 'ai';
|
|
747
|
+
/** The reason given to `preventDefault`, or `'prevented'`. */
|
|
748
|
+
reason: string;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
/** `filter:changed`: the quick filter or a named predicate changed. */
|
|
752
|
+
interface KanbanFilterChangedEvent {
|
|
753
|
+
/** The quick-filter text now in force, or undefined when there is none. */
|
|
754
|
+
quickFilter?: string;
|
|
755
|
+
/** True when at least one named predicate is registered. */
|
|
756
|
+
hasFilter: boolean;
|
|
757
|
+
/** The names of the registered predicates. */
|
|
758
|
+
filters: string[];
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/** `sprint:changed`: the shown sprint changed. */
|
|
762
|
+
interface KanbanSprintChangedEvent {
|
|
763
|
+
/** The sprint now shown: a sprint id, `board.BACKLOG`, or undefined for all of them. */
|
|
764
|
+
sprint: unknown;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
/** `epic:changed`: the shown epic changed. */
|
|
768
|
+
interface KanbanEpicChangedEvent {
|
|
769
|
+
/** The epic now shown, or undefined for all of them. */
|
|
770
|
+
epic: unknown;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
/** `card:expand`: a card's children were opened. */
|
|
774
|
+
interface KanbanCardExpandEvent {
|
|
775
|
+
/** The card that was expanded. */
|
|
776
|
+
card: KanbanCard;
|
|
777
|
+
/** Its child rows, as the children loader returned them. */
|
|
778
|
+
rows: Record<string, unknown>[];
|
|
779
|
+
/** How they are being presented. */
|
|
780
|
+
present: 'drawer' | 'modal' | 'inline';
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
/** `card:drill`: a card was expanded from inside an already-open detail. */
|
|
784
|
+
interface KanbanCardDrillEvent {
|
|
785
|
+
/** The card that was expanded. */
|
|
786
|
+
card: KanbanCard;
|
|
787
|
+
/** Its child rows. */
|
|
788
|
+
rows: Record<string, unknown>[];
|
|
789
|
+
/** How many levels down this is; 1 is the first drill. */
|
|
790
|
+
depth: number;
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
/** `drag:start`: a card drag began. */
|
|
794
|
+
interface KanbanDragStartEvent {
|
|
795
|
+
/** Every key the drag carries — the selection when the dragged card is in it. */
|
|
796
|
+
keys: unknown[];
|
|
797
|
+
/** The card under the pointer. */
|
|
798
|
+
card: KanbanCard;
|
|
799
|
+
/** The DOM `dragstart` event. */
|
|
800
|
+
originalEvent: unknown;
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
/** `drag:end`: a card drag ended, whether or not it dropped on a column. */
|
|
804
|
+
interface KanbanDragEndEvent {
|
|
805
|
+
/** The keys the drag carried. */
|
|
806
|
+
keys: unknown[];
|
|
807
|
+
/** The DOM `drop` event; absent when the browser ended the drag without one. */
|
|
808
|
+
originalEvent?: unknown;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/** `card:sla`: a card crossed an ageing threshold. */
|
|
812
|
+
interface KanbanSlaEvent {
|
|
813
|
+
/** The card's key. */
|
|
814
|
+
key: unknown;
|
|
815
|
+
/** The card, or null when it is no longer on the board. */
|
|
816
|
+
card: KanbanCard | null;
|
|
817
|
+
/** The level it has just reached. */
|
|
818
|
+
level: 'ok' | 'warn' | 'breach' | null;
|
|
819
|
+
/** The level it was at before this crossing. */
|
|
820
|
+
previous: 'ok' | 'warn' | 'breach' | null;
|
|
821
|
+
/** Its age in ms, or null when unknown. */
|
|
822
|
+
ageMs: number | null;
|
|
823
|
+
/** A short human age label (`2d`, `5h`, …). */
|
|
824
|
+
ageText: string;
|
|
825
|
+
/** The column it was aged in. */
|
|
826
|
+
columnId: string | null;
|
|
827
|
+
/** Its swimlane value, on a board with swimlanes. */
|
|
828
|
+
lane?: unknown;
|
|
829
|
+
/** The resolved warn threshold in ms, or null. */
|
|
830
|
+
warnMs: number | null;
|
|
831
|
+
/** The resolved breach threshold in ms, or null. */
|
|
832
|
+
breachMs: number | null;
|
|
833
|
+
/** The epoch (ms) of the crossing. */
|
|
834
|
+
at: number;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
/**
|
|
838
|
+
* The events a board raises.
|
|
839
|
+
*
|
|
840
|
+
* The board's own, not the grid's: `grid.on` takes {@link EventName} and knows
|
|
841
|
+
* nothing about these, and a grid-bound board follows the grid's events itself
|
|
842
|
+
* rather than re-publishing them. `on()` warns once on any other name, because
|
|
843
|
+
* a binding to an event that can never fire is a silent no-op.
|
|
844
|
+
*
|
|
845
|
+
* The `before…` six are cancellable on the same contract the grid core uses: call `preventDefault(reason?)` on the payload, or return
|
|
846
|
+
* a Promise to hold the action until it settles; a veto fires the matching
|
|
847
|
+
* `<action>:cancelled` carrying the reason.
|
|
848
|
+
*/
|
|
849
|
+
type KanbanEventName =
|
|
850
|
+
/** A card was clicked, or Enter was pressed on a focused card. */
|
|
851
|
+
| 'card:click'
|
|
852
|
+
/** A card was double-clicked. */
|
|
853
|
+
| 'card:dblclick'
|
|
854
|
+
/** A context menu was requested on a card. */
|
|
855
|
+
| 'card:contextmenu'
|
|
856
|
+
/** One or more cards were moved to a column, after every `beforeMove` gate passed and the write-back was applied. */
|
|
857
|
+
| 'card:move'
|
|
858
|
+
/** A move did not stick: the bound grid refused the write, an `onCardMove` callback returned false, or the server reverted the cell. */
|
|
859
|
+
| 'card:reverted'
|
|
860
|
+
/** The bound grid confirmed the column write behind an optimistic move. */
|
|
861
|
+
| 'card:confirmed'
|
|
862
|
+
/** The set of selected cards changed. */
|
|
863
|
+
| 'selection:changed'
|
|
864
|
+
/** A column was collapsed or expanded. */
|
|
865
|
+
| 'column:collapse'
|
|
866
|
+
/** A card was appended to a column. */
|
|
867
|
+
| 'card:add'
|
|
868
|
+
/** A card drag began. */
|
|
869
|
+
| 'drag:start'
|
|
870
|
+
/** A card drag ended, whether or not it dropped on a column. */
|
|
871
|
+
| 'drag:end'
|
|
872
|
+
/** A swimlane was collapsed or expanded. */
|
|
873
|
+
| 'swimlane:collapse'
|
|
874
|
+
/** The swimlane order changed. */
|
|
875
|
+
| 'swimlane:reorder'
|
|
876
|
+
/** The column order changed. */
|
|
877
|
+
| 'column:reorder'
|
|
878
|
+
/** The quick filter or a named card predicate changed. */
|
|
879
|
+
| 'filter:changed'
|
|
880
|
+
/** The shown sprint changed. */
|
|
881
|
+
| 'sprint:changed'
|
|
882
|
+
/** The shown epic changed. */
|
|
883
|
+
| 'epic:changed'
|
|
884
|
+
/** A card's children were opened. */
|
|
885
|
+
| 'card:expand'
|
|
886
|
+
/** A card was expanded from inside an already-open detail. */
|
|
887
|
+
| 'card:drill'
|
|
888
|
+
/** An inline card edit was written. */
|
|
889
|
+
| 'card:edit'
|
|
890
|
+
/** A card crossed an ageing threshold — ok to warn, or ok/warn to breach. */
|
|
891
|
+
| 'card:sla'
|
|
892
|
+
/** One card of a move is about to be applied; raised once per card, and cancellable. */
|
|
893
|
+
| 'beforeMove'
|
|
894
|
+
/** A card is about to be appended; cancellable. */
|
|
895
|
+
| 'beforeAdd'
|
|
896
|
+
/** An inline card edit is about to be written; cancellable. */
|
|
897
|
+
| 'beforeEdit'
|
|
898
|
+
/** A swimlane reorder is about to be applied; cancellable. */
|
|
899
|
+
| 'beforeLaneReorder'
|
|
900
|
+
/** A column reorder is about to be applied; cancellable. */
|
|
901
|
+
| 'beforeColumnReorder'
|
|
902
|
+
/** A column collapse or expand is about to be applied; cancellable. */
|
|
903
|
+
| 'beforeColumnChange'
|
|
904
|
+
/** A `beforeMove` handler refused one card; raised once per refused card. */
|
|
905
|
+
| 'move:cancelled'
|
|
906
|
+
/** A `beforeAdd` handler refused the append. */
|
|
907
|
+
| 'add:cancelled'
|
|
908
|
+
/** A `beforeEdit` handler refused the write. */
|
|
909
|
+
| 'edit:cancelled'
|
|
910
|
+
/** A `beforeLaneReorder` handler refused the order. */
|
|
911
|
+
| 'laneReorder:cancelled'
|
|
912
|
+
/** A `beforeColumnReorder` handler refused the order. */
|
|
913
|
+
| 'columnReorder:cancelled'
|
|
914
|
+
/** A `beforeColumnChange` handler refused the collapse or expand. */
|
|
915
|
+
| 'columnChange:cancelled';
|
|
916
|
+
|
|
917
|
+
/** What a handler receives, per board event. */
|
|
918
|
+
interface KanbanEventPayloads {
|
|
919
|
+
/** The card, its column, its element and the DOM event. */
|
|
920
|
+
'card:click': KanbanEvent;
|
|
921
|
+
/** The card, its column, its element and the DOM event. */
|
|
922
|
+
'card:dblclick': KanbanEvent;
|
|
923
|
+
/** The card, its column, its element and the DOM event. */
|
|
924
|
+
'card:contextmenu': KanbanEvent;
|
|
925
|
+
/** Which cards moved, where from and to, and the order values written. */
|
|
926
|
+
'card:move': KanbanMoveEvent;
|
|
927
|
+
/** Which cards went back, and why when the grid said so. */
|
|
928
|
+
'card:reverted': KanbanCardRevertedEvent;
|
|
929
|
+
/** The card the grid confirmed, and the column it is in. */
|
|
930
|
+
'card:confirmed': KanbanCardConfirmedEvent;
|
|
931
|
+
/** Every selected card key. */
|
|
932
|
+
'selection:changed': KanbanSelectionEvent;
|
|
933
|
+
/** The column, and whether it is now collapsed. */
|
|
934
|
+
'column:collapse': KanbanColumnCollapseEvent;
|
|
935
|
+
/** The column added to, and the new card's key. */
|
|
936
|
+
'card:add': KanbanCardAddEvent;
|
|
937
|
+
/** The keys the drag carries, the card under the pointer, and the DOM event. */
|
|
938
|
+
'drag:start': KanbanDragStartEvent;
|
|
939
|
+
/** The keys the drag carried, and the DOM event where there was one. */
|
|
940
|
+
'drag:end': KanbanDragEndEvent;
|
|
941
|
+
/** The lane, and whether it is now collapsed. */
|
|
942
|
+
'swimlane:collapse': KanbanSwimlaneCollapseEvent;
|
|
943
|
+
/** The lane ids in their new order. */
|
|
944
|
+
'swimlane:reorder': KanbanOrderEvent;
|
|
945
|
+
/** The column ids in their new order. */
|
|
946
|
+
'column:reorder': KanbanOrderEvent;
|
|
947
|
+
/** The quick-filter text, and the named predicates in force. */
|
|
948
|
+
'filter:changed': KanbanFilterChangedEvent;
|
|
949
|
+
/** The sprint now shown. */
|
|
950
|
+
'sprint:changed': KanbanSprintChangedEvent;
|
|
951
|
+
/** The epic now shown. */
|
|
952
|
+
'epic:changed': KanbanEpicChangedEvent;
|
|
953
|
+
/** The card, its child rows, and how they are presented. */
|
|
954
|
+
'card:expand': KanbanCardExpandEvent;
|
|
955
|
+
/** The card, its child rows, and how deep the drill is. */
|
|
956
|
+
'card:drill': KanbanCardDrillEvent;
|
|
957
|
+
/** The card, the field, and the value written. */
|
|
958
|
+
'card:edit': KanbanCardEditEvent;
|
|
959
|
+
/** The crossing: the level reached, the one before it, and the age behind it. */
|
|
960
|
+
'card:sla': KanbanSlaEvent;
|
|
961
|
+
/** The card about to move, with `preventDefault` to stop it. */
|
|
962
|
+
beforeMove: KanbanBeforeMoveEvent;
|
|
963
|
+
/** The column and seed about to be appended, with `preventDefault` to stop it. */
|
|
964
|
+
beforeAdd: KanbanBeforeAddEvent;
|
|
965
|
+
/** The field about to be written, with `preventDefault` to stop it. */
|
|
966
|
+
beforeEdit: KanbanBeforeEditEvent;
|
|
967
|
+
/** The lane order about to be applied, with `preventDefault` to stop it. */
|
|
968
|
+
beforeLaneReorder: KanbanBeforeOrderEvent;
|
|
969
|
+
/** The column order about to be applied, with `preventDefault` to stop it. */
|
|
970
|
+
beforeColumnReorder: KanbanBeforeOrderEvent;
|
|
971
|
+
/** The collapse about to be applied, with `preventDefault` to stop it. */
|
|
972
|
+
beforeColumnChange: KanbanBeforeColumnChangeEvent;
|
|
973
|
+
/** The one card that did not move, and why. */
|
|
974
|
+
'move:cancelled': KanbanMoveCancelledEvent;
|
|
975
|
+
/** The card that was not added, and why. */
|
|
976
|
+
'add:cancelled': KanbanAddCancelledEvent;
|
|
977
|
+
/** The write that was not made, and why. */
|
|
978
|
+
'edit:cancelled': KanbanEditCancelledEvent;
|
|
979
|
+
/** The lane order that was not applied, and why. */
|
|
980
|
+
'laneReorder:cancelled': KanbanOrderCancelledEvent;
|
|
981
|
+
/** The column order that was not applied, and why. */
|
|
982
|
+
'columnReorder:cancelled': KanbanOrderCancelledEvent;
|
|
983
|
+
/** The collapse that was not applied, and why. */
|
|
984
|
+
'columnChange:cancelled': KanbanColumnChangeCancelledEvent;
|
|
536
985
|
}
|
|
537
986
|
|
|
538
987
|
/** The keyed-diff consumer surface a board shares with a grid, so a Data Router routes to it directly. */
|
|
@@ -605,11 +1054,13 @@ interface Kanban {
|
|
|
605
1054
|
card(key: unknown): KanbanCard | undefined;
|
|
606
1055
|
/**
|
|
607
1056
|
* Register an event handler; returns a function that removes it. An unrecognised event
|
|
608
|
-
* name is warned about once, because it names a binding that could never fire.
|
|
1057
|
+
* name is warned about once, because it names a binding that could never fire. What each
|
|
1058
|
+
* event carries is {@link KanbanEventPayloads}; the handler is declared with the widest
|
|
1059
|
+
* of them, so narrow on the name inside it.
|
|
609
1060
|
*/
|
|
610
|
-
on(name:
|
|
1061
|
+
on(name: KanbanEventName, fn: (event: KanbanEventPayloads[KanbanEventName]) => void): () => void;
|
|
611
1062
|
/** Remove a handler registered with `on`. */
|
|
612
|
-
off(name:
|
|
1063
|
+
off(name: KanbanEventName, fn: (event: KanbanEventPayloads[KanbanEventName]) => void): void;
|
|
613
1064
|
/**
|
|
614
1065
|
* Whether editing is blocked — for the whole board, or for the column or card named in
|
|
615
1066
|
* the scope.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.69.0, kanban 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.69.0";
|
|
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.69.0";
|
|
61
61
|
const warned=new Set();
|
|
62
62
|
const WARNED_LIMIT=2000;
|
|
63
63
|
function rememberWarned(key){
|
package/modules/kanban.min.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.69.0, kanban 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.69.0";
|
|
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.69.0";
|
|
63
63
|
const warned=new Set();
|
|
64
64
|
const WARNED_LIMIT=2000;
|
|
65
65
|
function rememberWarned(key){
|
package/modules/kanban.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.69.0, kanban 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.69.0";
|
|
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.69.0";
|
|
63
63
|
const warned=new Set();
|
|
64
64
|
const WARNED_LIMIT=2000;
|
|
65
65
|
function rememberWarned(key){
|
package/modules/kpi.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.69.0, kpi module type declarations
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
@@ -310,6 +310,11 @@ interface KPIEvent {
|
|
|
310
310
|
tile: KPITileModel;
|
|
311
311
|
/** That tile's id, for a host that only needs to switch on it. */
|
|
312
312
|
id: string;
|
|
313
|
+
/**
|
|
314
|
+
* The tree node the tile sits in, on a hierarchical panel; absent on a flat one and on
|
|
315
|
+
* the keyboard route.
|
|
316
|
+
*/
|
|
317
|
+
node?: KPINodeModel;
|
|
313
318
|
/**
|
|
314
319
|
* The DOM event behind this one — a click, double-click, context-menu gesture or the
|
|
315
320
|
* Enter/Space keypress that stands in for a click.
|
|
@@ -317,6 +322,64 @@ interface KPIEvent {
|
|
|
317
322
|
originalEvent?: unknown;
|
|
318
323
|
}
|
|
319
324
|
|
|
325
|
+
/** The whole panel model, as `change` hands it over. */
|
|
326
|
+
interface KPIModel {
|
|
327
|
+
/** Every tile model, in configured order. */
|
|
328
|
+
tiles: KPITileModel[];
|
|
329
|
+
/** The decorated tree, on a hierarchical panel only. */
|
|
330
|
+
nodes?: KPINodeModel[];
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/** `node:toggle`: a branch of a hierarchical panel was expanded or collapsed. */
|
|
334
|
+
interface KPINodeToggleEvent {
|
|
335
|
+
/** The key of the node that moved. */
|
|
336
|
+
key: string;
|
|
337
|
+
/** True when it was opened, false when it was closed. */
|
|
338
|
+
expanded: boolean;
|
|
339
|
+
/** The node, as the panel now holds it; undefined when the key names none. */
|
|
340
|
+
node?: KPINodeModel;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/** `change`: the panel rebuilt its model. */
|
|
344
|
+
interface KPIChangeEvent {
|
|
345
|
+
/** The model the panel now holds. */
|
|
346
|
+
model: KPIModel;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* The events a KPI panel raises.
|
|
351
|
+
*
|
|
352
|
+
* The panel's own, not the grid's: `grid.on` takes {@link EventName} and knows
|
|
353
|
+
* nothing about these, and a grid-bound panel follows the grid's events itself
|
|
354
|
+
* rather than re-publishing them. `on()` warns once on any other name, because
|
|
355
|
+
* a binding to an event that can never fire is a silent no-op.
|
|
356
|
+
*/
|
|
357
|
+
type KPIEventName =
|
|
358
|
+
/** A tile was clicked, or Enter or Space was pressed on a focused one. */
|
|
359
|
+
| 'tile:click'
|
|
360
|
+
/** A tile was double-clicked. */
|
|
361
|
+
| 'tile:dblclick'
|
|
362
|
+
/** A context menu was requested on a tile. */
|
|
363
|
+
| 'tile:contextmenu'
|
|
364
|
+
/** A branch of a hierarchical panel was expanded or collapsed, by the host or by a click on its twisty. */
|
|
365
|
+
| 'node:toggle'
|
|
366
|
+
/** The panel rebuilt its model — new rows, a changed configuration, or a followed grid event. */
|
|
367
|
+
| 'change';
|
|
368
|
+
|
|
369
|
+
/** What a handler receives, per KPI event. */
|
|
370
|
+
interface KPIEventPayloads {
|
|
371
|
+
/** The tile clicked, its id, its node on a tree panel, and the DOM event. */
|
|
372
|
+
'tile:click': KPIEvent;
|
|
373
|
+
/** The tile double-clicked, its id, its node on a tree panel, and the DOM event. */
|
|
374
|
+
'tile:dblclick': KPIEvent;
|
|
375
|
+
/** The tile the menu was asked for, its id, its node on a tree panel, and the DOM event. */
|
|
376
|
+
'tile:contextmenu': KPIEvent;
|
|
377
|
+
/** Which branch moved and which way. */
|
|
378
|
+
'node:toggle': KPINodeToggleEvent;
|
|
379
|
+
/** The rebuilt model. */
|
|
380
|
+
change: KPIChangeEvent;
|
|
381
|
+
}
|
|
382
|
+
|
|
320
383
|
/** KPI panel configuration. */
|
|
321
384
|
interface KPIConfig {
|
|
322
385
|
/**
|
|
@@ -482,11 +545,12 @@ interface KPI {
|
|
|
482
545
|
setState(snapshot: object): KPI;
|
|
483
546
|
/**
|
|
484
547
|
* Register an event handler; returns a function that removes it. An unrecognised event
|
|
485
|
-
* name is warned about once.
|
|
548
|
+
* name is warned about once. What each event carries is {@link KPIEventPayloads}; the
|
|
549
|
+
* handler is declared with the widest of them, so narrow on the name inside it.
|
|
486
550
|
*/
|
|
487
|
-
on(name:
|
|
551
|
+
on(name: KPIEventName, fn: (event: KPIEventPayloads[KPIEventName]) => void): () => void;
|
|
488
552
|
/** Remove a handler registered with `on`. */
|
|
489
|
-
off(name:
|
|
553
|
+
off(name: KPIEventName, fn: (event: KPIEventPayloads[KPIEventName]) => void): void;
|
|
490
554
|
/**
|
|
491
555
|
* Drop every listener, stop following the bound grid, stop any clock tile ticking, and
|
|
492
556
|
* empty the element (removing only the class the panel added).
|
package/modules/kpi.esm.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.
|
|
2
|
+
* Lattice Grid 1.69.0, kpi 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.69.0";
|
|
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.69.0";
|
|
61
61
|
const warned=new Set();
|
|
62
62
|
const WARNED_LIMIT=2000;
|
|
63
63
|
function rememberWarned(key){
|