@elaraai/east-ui 1.0.80 → 1.0.82
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/dist/src/charts/chart/index.d.ts +4 -0
- package/dist/src/charts/chart/index.d.ts.map +1 -1
- package/dist/src/charts/spec/index.d.ts +8 -0
- package/dist/src/charts/spec/index.d.ts.map +1 -1
- package/dist/src/collections/deck/index.d.ts +8 -0
- package/dist/src/collections/deck/index.d.ts.map +1 -1
- package/dist/src/collections/index.d.ts +2 -2
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/collections/library/index.d.ts +4 -0
- package/dist/src/collections/library/index.d.ts.map +1 -1
- package/dist/src/collections/library/types.d.ts +4 -0
- package/dist/src/collections/library/types.d.ts.map +1 -1
- package/dist/src/collections/matrix/index.d.ts +56 -19
- package/dist/src/collections/matrix/index.d.ts.map +1 -1
- package/dist/src/collections/matrix/index.js +38 -24
- package/dist/src/collections/matrix/index.js.map +1 -1
- package/dist/src/collections/plan/assemble.d.ts +655 -2113
- package/dist/src/collections/plan/assemble.d.ts.map +1 -1
- package/dist/src/collections/plan/assemble.js +159 -136
- package/dist/src/collections/plan/assemble.js.map +1 -1
- package/dist/src/collections/plan/builders.d.ts +193 -40
- package/dist/src/collections/plan/builders.d.ts.map +1 -1
- package/dist/src/collections/plan/builders.js +162 -32
- package/dist/src/collections/plan/builders.js.map +1 -1
- package/dist/src/collections/plan/factories.d.ts +290 -116
- package/dist/src/collections/plan/factories.d.ts.map +1 -1
- package/dist/src/collections/plan/factories.js +281 -156
- package/dist/src/collections/plan/factories.js.map +1 -1
- package/dist/src/collections/plan/index.d.ts +111 -58
- package/dist/src/collections/plan/index.d.ts.map +1 -1
- package/dist/src/collections/plan/index.js +62 -31
- package/dist/src/collections/plan/index.js.map +1 -1
- package/dist/src/collections/plan/ir.d.ts +759 -1769
- package/dist/src/collections/plan/ir.d.ts.map +1 -1
- package/dist/src/collections/plan/ir.js +51 -27
- package/dist/src/collections/plan/ir.js.map +1 -1
- package/dist/src/collections/plan/pick.d.ts +89 -71
- package/dist/src/collections/plan/pick.d.ts.map +1 -1
- package/dist/src/collections/plan/pick.js +101 -86
- package/dist/src/collections/plan/pick.js.map +1 -1
- package/dist/src/collections/plan/root.d.ts +164 -77
- package/dist/src/collections/plan/root.d.ts.map +1 -1
- package/dist/src/collections/plan/root.js +350 -42
- package/dist/src/collections/plan/root.js.map +1 -1
- package/dist/src/collections/plan/series.d.ts +12524 -10527
- package/dist/src/collections/plan/series.d.ts.map +1 -1
- package/dist/src/collections/plan/series.js +1596 -298
- package/dist/src/collections/plan/series.js.map +1 -1
- package/dist/src/collections/plan/types.d.ts +6115 -2802
- package/dist/src/collections/plan/types.d.ts.map +1 -1
- package/dist/src/collections/plan/types.js +575 -170
- package/dist/src/collections/plan/types.js.map +1 -1
- package/dist/src/collections/sheet/bridge.d.ts +154 -43
- package/dist/src/collections/sheet/bridge.d.ts.map +1 -1
- package/dist/src/collections/sheet/bridge.js +383 -240
- package/dist/src/collections/sheet/bridge.js.map +1 -1
- package/dist/src/collections/sheet/columns.d.ts +66 -16
- package/dist/src/collections/sheet/columns.d.ts.map +1 -1
- package/dist/src/collections/sheet/columns.js +25 -25
- package/dist/src/collections/sheet/columns.js.map +1 -1
- package/dist/src/collections/sheet/context-bridge.d.ts +48 -0
- package/dist/src/collections/sheet/context-bridge.d.ts.map +1 -0
- package/dist/src/collections/sheet/context-bridge.js +216 -0
- package/dist/src/collections/sheet/context-bridge.js.map +1 -0
- package/dist/src/collections/sheet/draft-bridge.d.ts +37 -0
- package/dist/src/collections/sheet/draft-bridge.d.ts.map +1 -0
- package/dist/src/collections/sheet/draft-bridge.js +153 -0
- package/dist/src/collections/sheet/draft-bridge.js.map +1 -0
- package/dist/src/collections/sheet/drafts.d.ts +14 -0
- package/dist/src/collections/sheet/drafts.d.ts.map +1 -0
- package/dist/src/collections/sheet/drafts.js +14 -0
- package/dist/src/collections/sheet/drafts.js.map +1 -0
- package/dist/src/collections/sheet/editing-bridge.d.ts +36 -0
- package/dist/src/collections/sheet/editing-bridge.d.ts.map +1 -0
- package/dist/src/collections/sheet/editing-bridge.js +196 -0
- package/dist/src/collections/sheet/editing-bridge.js.map +1 -0
- package/dist/src/collections/sheet/editing-types.d.ts +268 -0
- package/dist/src/collections/sheet/editing-types.d.ts.map +1 -0
- package/dist/src/collections/sheet/editing-types.js +34 -0
- package/dist/src/collections/sheet/editing-types.js.map +1 -0
- package/dist/src/collections/sheet/edits.d.ts +37 -0
- package/dist/src/collections/sheet/edits.d.ts.map +1 -0
- package/dist/src/collections/sheet/edits.js +31 -0
- package/dist/src/collections/sheet/edits.js.map +1 -0
- package/dist/src/collections/sheet/group.d.ts +165 -0
- package/dist/src/collections/sheet/group.d.ts.map +1 -0
- package/dist/src/collections/sheet/group.js +52 -0
- package/dist/src/collections/sheet/group.js.map +1 -0
- package/dist/src/collections/sheet/index.d.ts +171 -27
- package/dist/src/collections/sheet/index.d.ts.map +1 -1
- package/dist/src/collections/sheet/index.js +99 -17
- package/dist/src/collections/sheet/index.js.map +1 -1
- package/dist/src/collections/sheet/link.d.ts +22 -16
- package/dist/src/collections/sheet/link.d.ts.map +1 -1
- package/dist/src/collections/sheet/link.js +18 -12
- package/dist/src/collections/sheet/link.js.map +1 -1
- package/dist/src/collections/sheet/registers.d.ts +152 -5
- package/dist/src/collections/sheet/registers.d.ts.map +1 -1
- package/dist/src/collections/sheet/registers.js +154 -5
- package/dist/src/collections/sheet/registers.js.map +1 -1
- package/dist/src/collections/sheet/root.d.ts +175 -26
- package/dist/src/collections/sheet/root.d.ts.map +1 -1
- package/dist/src/collections/sheet/root.js +150 -26
- package/dist/src/collections/sheet/root.js.map +1 -1
- package/dist/src/collections/sheet/seed-bridge.d.ts +14 -0
- package/dist/src/collections/sheet/seed-bridge.d.ts.map +1 -0
- package/dist/src/collections/sheet/seed-bridge.js +51 -0
- package/dist/src/collections/sheet/seed-bridge.js.map +1 -0
- package/dist/src/collections/sheet/sub-rows.d.ts +249 -0
- package/dist/src/collections/sheet/sub-rows.d.ts.map +1 -0
- package/dist/src/collections/sheet/sub-rows.js +222 -0
- package/dist/src/collections/sheet/sub-rows.js.map +1 -0
- package/dist/src/collections/sheet/transactions.d.ts +76 -0
- package/dist/src/collections/sheet/transactions.d.ts.map +1 -0
- package/dist/src/collections/sheet/transactions.js +40 -0
- package/dist/src/collections/sheet/transactions.js.map +1 -0
- package/dist/src/collections/sheet/types.d.ts +12034 -3651
- package/dist/src/collections/sheet/types.d.ts.map +1 -1
- package/dist/src/collections/sheet/types.js +365 -48
- package/dist/src/collections/sheet/types.js.map +1 -1
- package/dist/src/collections/table/index.d.ts +98 -123
- package/dist/src/collections/table/index.d.ts.map +1 -1
- package/dist/src/collections/table/index.js +97 -111
- package/dist/src/collections/table/index.js.map +1 -1
- package/dist/src/collections/table/types.d.ts +87 -31
- package/dist/src/collections/table/types.d.ts.map +1 -1
- package/dist/src/collections/table/types.js +51 -26
- package/dist/src/collections/table/types.js.map +1 -1
- package/dist/src/collections/value-tree/flatten.d.ts.map +1 -1
- package/dist/src/collections/value-tree/flatten.js +4 -1
- package/dist/src/collections/value-tree/flatten.js.map +1 -1
- package/dist/src/component.d.ts +5075 -4079
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +46 -46
- package/dist/src/component.js.map +1 -1
- package/dist/src/contracts/approval.d.ts +10 -8
- package/dist/src/contracts/approval.d.ts.map +1 -1
- package/dist/src/contracts/approval.js +10 -8
- package/dist/src/contracts/approval.js.map +1 -1
- package/dist/src/contracts/drag.d.ts +11 -9
- package/dist/src/contracts/drag.d.ts.map +1 -1
- package/dist/src/contracts/drag.js +28 -21
- package/dist/src/contracts/drag.js.map +1 -1
- package/dist/src/contracts/editing.d.ts +1283 -0
- package/dist/src/contracts/editing.d.ts.map +1 -0
- package/dist/src/contracts/editing.js +711 -0
- package/dist/src/contracts/editing.js.map +1 -0
- package/dist/src/contracts/index.d.ts +2 -1
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js +2 -1
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/pick.d.ts +6 -7
- package/dist/src/contracts/pick.d.ts.map +1 -1
- package/dist/src/contracts/pick.js +6 -7
- package/dist/src/contracts/pick.js.map +1 -1
- package/dist/src/contracts/review.d.ts +3 -1
- package/dist/src/contracts/review.d.ts.map +1 -1
- package/dist/src/contracts/review.js +3 -1
- package/dist/src/contracts/review.js.map +1 -1
- package/dist/src/contracts/source.d.ts +270 -80
- package/dist/src/contracts/source.d.ts.map +1 -1
- package/dist/src/contracts/source.js +357 -58
- package/dist/src/contracts/source.js.map +1 -1
- package/dist/src/display/chip-rail/index.d.ts.map +1 -1
- package/dist/src/display/chip-rail/index.js +10 -10
- package/dist/src/display/chip-rail/index.js.map +1 -1
- package/dist/src/extension.d.ts +2 -1
- package/dist/src/extension.d.ts.map +1 -1
- package/dist/src/extension.js +2 -1
- package/dist/src/extension.js.map +1 -1
- package/dist/src/format/index.d.ts +1 -154
- package/dist/src/format/index.d.ts.map +1 -1
- package/dist/src/format/types.d.ts +35 -23
- package/dist/src/format/types.d.ts.map +1 -1
- package/dist/src/format/types.js +16 -14
- package/dist/src/format/types.js.map +1 -1
- package/dist/src/forms/field/index.js +4 -4
- package/dist/src/forms/field/index.js.map +1 -1
- package/dist/src/forms/file-upload/index.js +16 -16
- package/dist/src/forms/file-upload/index.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +8 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +11 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/box/index.d.ts.map +1 -1
- package/dist/src/layout/box/index.js +47 -47
- package/dist/src/layout/box/index.js.map +1 -1
- package/dist/src/layout/flex/index.d.ts.map +1 -1
- package/dist/src/layout/flex/index.js +47 -47
- package/dist/src/layout/flex/index.js.map +1 -1
- package/dist/src/layout/grid/index.js +11 -11
- package/dist/src/layout/grid/index.js.map +1 -1
- package/dist/src/layout/scroll-area/index.d.ts.map +1 -1
- package/dist/src/layout/scroll-area/index.js +8 -8
- package/dist/src/layout/scroll-area/index.js.map +1 -1
- package/dist/src/layout/separator/index.d.ts.map +1 -1
- package/dist/src/layout/separator/index.js +6 -6
- package/dist/src/layout/separator/index.js.map +1 -1
- package/dist/src/layout/stack/index.d.ts.map +1 -1
- package/dist/src/layout/stack/index.js +46 -46
- package/dist/src/layout/stack/index.js.map +1 -1
- package/dist/src/layout/sticky/index.d.ts.map +1 -1
- package/dist/src/layout/sticky/index.js +8 -8
- package/dist/src/layout/sticky/index.js.map +1 -1
- package/dist/src/overlays/action-bar/index.d.ts.map +1 -1
- package/dist/src/overlays/action-bar/index.js +8 -8
- package/dist/src/overlays/action-bar/index.js.map +1 -1
- package/dist/src/platform/index.d.ts +1 -1
- package/dist/src/platform/index.d.ts.map +1 -1
- package/dist/src/platform/index.js +1 -1
- package/dist/src/platform/index.js.map +1 -1
- package/dist/src/platform/slice/impl.d.ts +62 -51
- package/dist/src/platform/slice/impl.d.ts.map +1 -1
- package/dist/src/platform/slice/impl.js +155 -72
- package/dist/src/platform/slice/impl.js.map +1 -1
- package/dist/src/platform/slice/index.d.ts +3744 -2226
- package/dist/src/platform/slice/index.d.ts.map +1 -1
- package/dist/src/platform/slice/index.js +43 -1
- package/dist/src/platform/slice/index.js.map +1 -1
- package/dist/src/runtime/collections/deck.d.ts +4 -0
- package/dist/src/runtime/collections/deck.d.ts.map +1 -1
- package/dist/src/runtime/collections/matrix.d.ts +10 -9
- package/dist/src/runtime/collections/matrix.d.ts.map +1 -1
- package/dist/src/runtime/collections/matrix.js +11 -6
- package/dist/src/runtime/collections/matrix.js.map +1 -1
- package/dist/src/runtime/collections/plan.d.ts +148 -65
- package/dist/src/runtime/collections/plan.d.ts.map +1 -1
- package/dist/src/runtime/collections/plan.js +155 -67
- package/dist/src/runtime/collections/plan.js.map +1 -1
- package/dist/src/runtime/collections/sheet.d.ts +56 -23
- package/dist/src/runtime/collections/sheet.d.ts.map +1 -1
- package/dist/src/runtime/collections/sheet.js +30 -22
- package/dist/src/runtime/collections/sheet.js.map +1 -1
- package/dist/src/runtime/collections/table.d.ts +18 -11
- package/dist/src/runtime/collections/table.d.ts.map +1 -1
- package/dist/src/runtime/collections/table.js +7 -4
- package/dist/src/runtime/collections/table.js.map +1 -1
- package/dist/src/shared/reify.d.ts +4 -46
- package/dist/src/shared/reify.d.ts.map +1 -1
- package/dist/src/shared/reify.js +4 -61
- package/dist/src/shared/reify.js.map +1 -1
- package/dist/src/shared/tree.d.ts +88 -0
- package/dist/src/shared/tree.d.ts.map +1 -0
- package/dist/src/shared/tree.js +134 -0
- package/dist/src/shared/tree.js.map +1 -0
- package/dist/src/slice/breakdown/index.d.ts +4 -0
- package/dist/src/slice/breakdown/index.d.ts.map +1 -1
- package/dist/src/slice/breakdown/types.d.ts +4 -0
- package/dist/src/slice/breakdown/types.d.ts.map +1 -1
- package/dist/src/slice/cohort/index.d.ts +24 -4
- package/dist/src/slice/cohort/index.d.ts.map +1 -1
- package/dist/src/slice/cohort/index.js +8 -4
- package/dist/src/slice/cohort/index.js.map +1 -1
- package/dist/src/slice/cohort/types.d.ts +11 -0
- package/dist/src/slice/cohort/types.d.ts.map +1 -1
- package/dist/src/slice/cohort/types.js +7 -0
- package/dist/src/slice/cohort/types.js.map +1 -1
- package/dist/src/slice/filter/index.d.ts +4 -0
- package/dist/src/slice/filter/index.d.ts.map +1 -1
- package/dist/src/slice/filter/types.d.ts +4 -0
- package/dist/src/slice/filter/types.d.ts.map +1 -1
- package/dist/src/slice/index.d.ts +736 -0
- package/dist/src/slice/index.d.ts.map +1 -1
- package/dist/src/slice/legend/index.d.ts +4 -0
- package/dist/src/slice/legend/index.d.ts.map +1 -1
- package/dist/src/slice/legend/types.d.ts +4 -0
- package/dist/src/slice/legend/types.d.ts.map +1 -1
- package/dist/src/slice/rail/index.d.ts +8 -4
- package/dist/src/slice/rail/index.d.ts.map +1 -1
- package/dist/src/slice/rail/index.js.map +1 -1
- package/dist/src/slice/range/index.d.ts +4 -0
- package/dist/src/slice/range/index.d.ts.map +1 -1
- package/dist/src/slice/range/types.d.ts +4 -0
- package/dist/src/slice/range/types.d.ts.map +1 -1
- package/dist/src/slice/search/index.d.ts +4 -0
- package/dist/src/slice/search/index.d.ts.map +1 -1
- package/dist/src/slice/search/types.d.ts +4 -0
- package/dist/src/slice/search/types.d.ts.map +1 -1
- package/dist/src/slice/summary/index.d.ts +4 -0
- package/dist/src/slice/summary/index.d.ts.map +1 -1
- package/dist/src/slice/summary/types.d.ts +4 -0
- package/dist/src/slice/summary/types.d.ts.map +1 -1
- package/dist/src/typography/code/index.js +1 -1
- package/dist/src/typography/code/index.js.map +1 -1
- package/dist/src/typography/code-block/index.js +7 -7
- package/dist/src/typography/code-block/index.js.map +1 -1
- package/dist/src/typography/heading/index.js +2 -2
- package/dist/src/typography/heading/index.js.map +1 -1
- package/dist/src/typography/list/index.js +1 -1
- package/dist/src/typography/list/index.js.map +1 -1
- package/dist/src/typography/mark/index.js +1 -1
- package/dist/src/typography/mark/index.js.map +1 -1
- package/dist/src/typography/note/index.js +1 -1
- package/dist/src/typography/note/index.js.map +1 -1
- package/dist/src/typography/numeric/index.d.ts +3 -308
- package/dist/src/typography/numeric/index.d.ts.map +1 -1
- package/dist/src/typography/numeric/index.js +4 -4
- package/dist/src/typography/numeric/index.js.map +1 -1
- package/dist/src/typography/numeric/types.d.ts +1 -154
- package/dist/src/typography/numeric/types.d.ts.map +1 -1
- package/dist/src/typography/text/index.js +1 -1
- package/dist/src/typography/text/index.js.map +1 -1
- package/dist/test/collections/matrix.examples.d.ts +7 -3
- package/dist/test/collections/matrix.examples.d.ts.map +1 -1
- package/dist/test/collections/matrix.examples.js +55 -24
- package/dist/test/collections/matrix.examples.js.map +1 -1
- package/dist/test/collections/paged-source.examples.d.ts +4 -0
- package/dist/test/collections/paged-source.examples.d.ts.map +1 -1
- package/dist/test/collections/paged-source.examples.js +98 -13
- package/dist/test/collections/paged-source.examples.js.map +1 -1
- package/dist/test/collections/plan.examples.d.ts +101 -26
- package/dist/test/collections/plan.examples.d.ts.map +1 -1
- package/dist/test/collections/plan.examples.js +1481 -755
- package/dist/test/collections/plan.examples.js.map +1 -1
- package/dist/test/collections/sheet-link.examples.d.ts +7 -0
- package/dist/test/collections/sheet-link.examples.d.ts.map +1 -0
- package/dist/test/collections/sheet-link.examples.js +41 -0
- package/dist/test/collections/sheet-link.examples.js.map +1 -0
- package/dist/test/collections/sheet-transactions.examples.d.ts +7 -0
- package/dist/test/collections/sheet-transactions.examples.d.ts.map +1 -0
- package/dist/test/collections/sheet-transactions.examples.js +58 -0
- package/dist/test/collections/sheet-transactions.examples.js.map +1 -0
- package/dist/test/collections/sheet.examples.d.ts +52 -5
- package/dist/test/collections/sheet.examples.d.ts.map +1 -1
- package/dist/test/collections/sheet.examples.js +500 -158
- package/dist/test/collections/sheet.examples.js.map +1 -1
- package/dist/test/collections/table.examples.d.ts +31 -3
- package/dist/test/collections/table.examples.d.ts.map +1 -1
- package/dist/test/collections/table.examples.js +188 -28
- package/dist/test/collections/table.examples.js.map +1 -1
- package/dist/test/contracts/editing.examples.d.ts +7 -0
- package/dist/test/contracts/editing.examples.d.ts.map +1 -0
- package/dist/test/contracts/editing.examples.js +58 -0
- package/dist/test/contracts/editing.examples.js.map +1 -0
- package/dist/test/layout/splitter.examples.d.ts.map +1 -1
- package/dist/test/layout/splitter.examples.js +3 -1
- package/dist/test/layout/splitter.examples.js.map +1 -1
- package/dist/test/platform/slice.examples.d.ts.map +1 -1
- package/dist/test/platform/slice.examples.js +1 -0
- package/dist/test/platform/slice.examples.js.map +1 -1
- package/dist/test/slice/slice.examples.d.ts.map +1 -1
- package/dist/test/slice/slice.examples.js +5 -2
- package/dist/test/slice/slice.examples.js.map +1 -1
- package/package.json +4 -3
- package/dist/src/collections/plan/data-forms.d.ts +0 -332
- package/dist/src/collections/plan/data-forms.d.ts.map +0 -1
- package/dist/src/collections/plan/data-forms.js +0 -212
- package/dist/src/collections/plan/data-forms.js.map +0 -1
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
-
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* The shared data-driven pipeline (`Plan Data Interface.md` §3.5a) — the
|
|
7
|
-
* accessor config surfaces, the reified groupBy engine, and the per-kind
|
|
8
|
-
* row/parent constructors that the `Plan.series.*` builders compose into
|
|
9
|
-
* their `derive` functions. Structure (groupBy levels) is host config; every
|
|
10
|
-
* per-row value flows through accessors as expressions, optional ones
|
|
11
|
-
* returning the fields' `Option` types.
|
|
12
|
-
*
|
|
13
|
-
* There is NO standalone authoring surface here — a canvas is defined as
|
|
14
|
-
* `data` + `series` (+ the root resolvers); this module is the series
|
|
15
|
-
* builders' internals.
|
|
16
|
-
*
|
|
17
|
-
* @packageDocumentation
|
|
18
|
-
*/
|
|
19
|
-
import { East, Expr, DictType, OptionType, StringType, StructType, variant, some, none, } from "@elaraai/east";
|
|
20
|
-
import { StatusValueType } from "../../feedback/status/types.js";
|
|
21
|
-
import { ApprovalStateType } from "../../contracts/approval.js";
|
|
22
|
-
import { TableAggregateType } from "../table/types.js";
|
|
23
|
-
import { TickFormatType } from "../../format/types.js";
|
|
24
|
-
import { PlanRowsCollectionType, PlanRollupType, PlanAggregateType, PlanTableSplitType, PlanTableEmphasisType, PlanExpandType, PlanRunType, PlanDecisionMarkType, PlanRowKindType, } from "./types.js";
|
|
25
|
-
import { createHeatCells, resolveTag } from "./builders.js";
|
|
26
|
-
import { PlanPortType } from "./types.js";
|
|
27
|
-
import { applyRowOverrides, LAST_WINS } from "./assemble.js";
|
|
28
|
-
import { createSpan, createHeat, createTable } from "./factories.js";
|
|
29
|
-
/** Reify a level's key accessor once (fixed `String` output — no inference). */
|
|
30
|
-
export function reifyLevelKey(rowType, by) {
|
|
31
|
-
const keyFn = East.function([rowType, StringType], StringType, (_$, r, k) => by(r, k));
|
|
32
|
-
return (row, key) => keyFn(row, key);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* A leaf row's key — the DATA key, optionally wrapped by the series'
|
|
36
|
-
* `keyPrefix` / `keySuffix`.
|
|
37
|
-
*
|
|
38
|
-
* @remarks
|
|
39
|
-
* Bare (the default) the canvas key IS the source key, which is what keeps a
|
|
40
|
-
* paged canvas addressable: `seek` returns a row in the source's key order and
|
|
41
|
-
* the canvas has a row under that very key.
|
|
42
|
-
*
|
|
43
|
-
* Two series over ONE source both emit a row per entry, so both would land on
|
|
44
|
-
* the same key and the later would silently replace the earlier. Either affix
|
|
45
|
-
* separates them — but they are NOT equivalent, and which you reach for decides
|
|
46
|
-
* whether the canvas still works:
|
|
47
|
-
*
|
|
48
|
-
* - **`keySuffix` keeps the data key FIRST** (`m03/chart`), so the canvas stays
|
|
49
|
-
* in the source's order, the two views of one asset sit ADJACENT, and seek
|
|
50
|
-
* still lands: it positions on "the first row at-or-after the sought key"
|
|
51
|
-
* (`use-seek.ts`), and `m03/chart` is at-or-after `m03`. A prefix SEARCH for
|
|
52
|
-
* an asset now returns every row about it.
|
|
53
|
-
* - **`keyPrefix` puts the series first** (`chart/m03`), which sorts all of one
|
|
54
|
-
* series together and takes those rows OFF the source key space — `chart/m03`
|
|
55
|
-
* sorts before `m03`, so a seek for `m03` skips them entirely.
|
|
56
|
-
*
|
|
57
|
-
* So: `keySuffix` for several views of the same entity, `keyPrefix` only when
|
|
58
|
-
* you deliberately want a series banked together and do not need to seek it.
|
|
59
|
-
*/
|
|
60
|
-
export function rowKey(keyPrefix, key, keySuffix) {
|
|
61
|
-
const pre = keyPrefix === undefined || keyPrefix === "" ? undefined : keyPrefix;
|
|
62
|
-
const suf = keySuffix === undefined || keySuffix === "" ? undefined : keySuffix;
|
|
63
|
-
if (pre === undefined && suf === undefined)
|
|
64
|
-
return key;
|
|
65
|
-
if (pre === undefined)
|
|
66
|
-
return East.str `${key}${suf}`;
|
|
67
|
-
if (suf === undefined)
|
|
68
|
-
return East.str `${pre}${key}`;
|
|
69
|
-
return East.str `${pre}${key}${suf}`;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Recursive grouping engine — TS-recursive over the (static) levels,
|
|
73
|
-
* East-dynamic over the group values discovered in the data. Each level is
|
|
74
|
-
* ONE reified East function over `(pathPrefix, entries)`: the grouping is bound
|
|
75
|
-
* once (`groupToDicts` — never re-evaluated), the grouped dict is walked with
|
|
76
|
-
* group key and members in hand, and each group is built by the level's shared
|
|
77
|
-
* parent constructor over its recursively-grouped children.
|
|
78
|
-
*
|
|
79
|
-
* @remarks
|
|
80
|
-
* Grouping preserves the ENTRIES' keys (`groupToDicts`, not `groupToArrays`):
|
|
81
|
-
* the members of a group are still a keyed collection, so leaf rows keep
|
|
82
|
-
* inheriting the source's keys however deeply they are nested.
|
|
83
|
-
*
|
|
84
|
-
* `pathKey = ${prefix}${groupValue}` is the SYNTHESIZED parent's key, and the
|
|
85
|
-
* composite is what sorts a nested hierarchy into tree order (`L1` <
|
|
86
|
-
* `L1/M03` < `L1/M04` < `L2`). Leaf keys are the data's and are never
|
|
87
|
-
* rewritten here — doing so would dangle author-written `links`, break
|
|
88
|
-
* grandchild `parent` refs, change what `onSelect` reports, and take the
|
|
89
|
-
* canvas off the source key space.
|
|
90
|
-
*
|
|
91
|
-
* @param entries - The data entries to group
|
|
92
|
-
* @param levels - The resolved groupBy levels, outermost first
|
|
93
|
-
* @param makeLeaves - Builds the leaf rows of one fully-grouped subset, given the subset and its path prefix
|
|
94
|
-
* @param pathPrefix - Key prefix for this level's synthesized parents
|
|
95
|
-
* @returns The subtree of every discovered group at this level
|
|
96
|
-
*/
|
|
97
|
-
export function groupRows(entries, levels, makeLeaves, pathPrefix) {
|
|
98
|
-
if (levels.length === 0)
|
|
99
|
-
return makeLeaves(entries, pathPrefix);
|
|
100
|
-
const [level, ...rest] = levels;
|
|
101
|
-
const elemType = Expr.type(entries).value;
|
|
102
|
-
const entriesType = DictType(StringType, elemType);
|
|
103
|
-
const levelFn = East.function([StringType, entriesType], PlanRowsCollectionType, ($, prefix, rows) => {
|
|
104
|
-
const grouped = $.let(rows.groupToDicts((_$, v, k) => level.by(v, k), (_$, _v, k) => k, (_$, v) => v), DictType(StringType, entriesType));
|
|
105
|
-
const subtrees = $.let(grouped.map(($2, members, gkey) => {
|
|
106
|
-
const pathKey = $2.let(East.str `${prefix}${gkey}`, StringType);
|
|
107
|
-
const children = $2.let(groupRows(members, rest, makeLeaves, East.str `${pathKey}/`), PlanRowsCollectionType);
|
|
108
|
-
return level.parentFn(pathKey, gkey, children);
|
|
109
|
-
}), DictType(StringType, PlanRowsCollectionType));
|
|
110
|
-
// The groups merged into ONE collection, in place — the pure
|
|
111
|
-
// `union` would copy the whole B-tree once per group. A level's own
|
|
112
|
-
// groups have distinct path keys by construction, so the policy
|
|
113
|
-
// only ever settles an authored key colliding with a synthesized
|
|
114
|
-
// one: last wins, like every other step.
|
|
115
|
-
return subtrees.reduce(($2, acc, subtree) => {
|
|
116
|
-
$2(acc.unionInPlace(subtree, LAST_WINS));
|
|
117
|
-
return acc;
|
|
118
|
-
}, East.value(new Map(), PlanRowsCollectionType));
|
|
119
|
-
});
|
|
120
|
-
return levelFn(pathPrefix, entries);
|
|
121
|
-
}
|
|
122
|
-
/** The span PARENT kind — a rollup declaration (renderer derives bands). */
|
|
123
|
-
export function spanParentKind(cfg) {
|
|
124
|
-
return East.value(variant("span", {
|
|
125
|
-
runs: [],
|
|
126
|
-
decisions: [],
|
|
127
|
-
ports: [],
|
|
128
|
-
rollup: some(resolveTag(cfg.rollup ?? "union", PlanRollupType)),
|
|
129
|
-
unit: cfg.unit !== undefined ? some(cfg.unit) : none,
|
|
130
|
-
}), PlanRowKindType);
|
|
131
|
-
}
|
|
132
|
-
/** The span LEAF constructor — one data ENTRY to its 1-row subtree, keyed by
|
|
133
|
-
* the entry's own key, the envelope's Option fields injected from the
|
|
134
|
-
* accessors. */
|
|
135
|
-
export function spanRowOf(cfg) {
|
|
136
|
-
return (_$, r, k) => applyRowOverrides(createSpan({
|
|
137
|
-
key: rowKey(cfg.keyPrefix, k, cfg.keySuffix),
|
|
138
|
-
label: cfg.label(r, k),
|
|
139
|
-
...(cfg.id !== undefined ? { id: cfg.id } : {}),
|
|
140
|
-
...(cfg.stacked !== undefined ? { stacked: cfg.stacked } : {}),
|
|
141
|
-
runs: cfg.runs(r, k),
|
|
142
|
-
...(cfg.decisions !== undefined ? { decisions: cfg.decisions(r, k) } : {}),
|
|
143
|
-
...(cfg.ports !== undefined ? { ports: cfg.ports(r, k) } : {}),
|
|
144
|
-
}), {
|
|
145
|
-
...(cfg.sub !== undefined ? { sub: cfg.sub(r, k) } : {}),
|
|
146
|
-
...(cfg.value !== undefined ? { value: cfg.value(r, k) } : {}),
|
|
147
|
-
...(cfg.status !== undefined ? { status: cfg.status(r, k) } : {}),
|
|
148
|
-
...(cfg.approval !== undefined ? { approval: cfg.approval(r, k) } : {}),
|
|
149
|
-
...(cfg.expand !== undefined ? { expand: cfg.expand(r, k) } : {}),
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
/** The heat PARENT kind — an aggregate declaration on empty scale-bearing cells. */
|
|
153
|
-
export function heatParentKind(cfg) {
|
|
154
|
-
return East.value(variant("heat", {
|
|
155
|
-
cells: createHeatCells([], cfg.scale),
|
|
156
|
-
aggregate: some(resolveTag(cfg.aggregate ?? "mean", PlanAggregateType)),
|
|
157
|
-
}), PlanRowKindType);
|
|
158
|
-
}
|
|
159
|
-
/** The heat LEAF constructor. */
|
|
160
|
-
export function heatRowOf(cfg) {
|
|
161
|
-
return (_$, r, k) => applyRowOverrides(createHeat({
|
|
162
|
-
key: rowKey(cfg.keyPrefix, k, cfg.keySuffix),
|
|
163
|
-
label: cfg.label(r, k),
|
|
164
|
-
...(cfg.id !== undefined ? { id: cfg.id } : {}),
|
|
165
|
-
...(cfg.stacked !== undefined ? { stacked: cfg.stacked } : {}),
|
|
166
|
-
cells: cfg.cells(r, k),
|
|
167
|
-
}), {
|
|
168
|
-
...(cfg.sub !== undefined ? { sub: cfg.sub(r, k) } : {}),
|
|
169
|
-
...(cfg.value !== undefined ? { value: cfg.value(r, k) } : {}),
|
|
170
|
-
...(cfg.status !== undefined ? { status: cfg.status(r, k) } : {}),
|
|
171
|
-
...(cfg.approval !== undefined ? { approval: cfg.approval(r, k) } : {}),
|
|
172
|
-
...(cfg.expand !== undefined ? { expand: cfg.expand(r, k) } : {}),
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* The table PARENT kind — a subtotal declaration (header emphasis).
|
|
177
|
-
*
|
|
178
|
-
* @remarks
|
|
179
|
-
* `split` is the series', not a fixed `horizontal`: a subtotal lays its
|
|
180
|
-
* positions out the way its members do, or a vertical series renders stacked
|
|
181
|
-
* rows under a parent that puts the same two numbers side by side — and, since
|
|
182
|
-
* the row height follows the split, a parent that is one line tall while its
|
|
183
|
-
* members are two.
|
|
184
|
-
*/
|
|
185
|
-
export function tableParentKind(cfg) {
|
|
186
|
-
return East.value(variant("table", {
|
|
187
|
-
series: [],
|
|
188
|
-
split: resolveTag(cfg.split ?? "horizontal", PlanTableSplitType),
|
|
189
|
-
aggregate: some(resolveTag(cfg.aggregate ?? "sum", TableAggregateType)),
|
|
190
|
-
format: cfg.format !== undefined ? some(East.value(cfg.format, TickFormatType)) : none,
|
|
191
|
-
emphasis: variant("header", null),
|
|
192
|
-
}), PlanRowKindType);
|
|
193
|
-
}
|
|
194
|
-
/** The table LEAF constructor. */
|
|
195
|
-
export function tableRowOf(cfg) {
|
|
196
|
-
return (_$, r, k) => applyRowOverrides(createTable({
|
|
197
|
-
key: rowKey(cfg.keyPrefix, k, cfg.keySuffix),
|
|
198
|
-
label: cfg.label(r, k),
|
|
199
|
-
...(cfg.id !== undefined ? { id: cfg.id } : {}),
|
|
200
|
-
...(cfg.stacked !== undefined ? { stacked: cfg.stacked } : {}),
|
|
201
|
-
...(cfg.cells !== undefined ? { cells: cfg.cells(r, k) } : {}),
|
|
202
|
-
...(cfg.series !== undefined ? { series: cfg.series(r, k) } : {}),
|
|
203
|
-
...(cfg.split !== undefined ? { split: cfg.split } : {}),
|
|
204
|
-
...(cfg.emphasis !== undefined ? { emphasis: cfg.emphasis } : {}),
|
|
205
|
-
...(cfg.format !== undefined ? { format: cfg.format } : {}),
|
|
206
|
-
}), {
|
|
207
|
-
...(cfg.sub !== undefined ? { sub: cfg.sub(r, k) } : {}),
|
|
208
|
-
...(cfg.approval !== undefined ? { approval: cfg.approval(r, k) } : {}),
|
|
209
|
-
...(cfg.expand !== undefined ? { expand: cfg.expand(r, k) } : {}),
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
//# sourceMappingURL=data-forms.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-forms.js","sourceRoot":"","sources":["../../../../src/collections/plan/data-forms.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKH,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAA8B,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACH,sBAAsB,EACtB,cAAc,EAEd,iBAAiB,EAGjB,kBAAkB,EAElB,qBAAqB,EAErB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,eAAe,GAMlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,UAAU,EAA6B,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAA0B,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA2CrE,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,OAAmB,EAAE,EAAwC;IACvF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,MAAM,CAClB,SAA6B,EAC7B,GAAyB,EACzB,SAA8B;IAE9B,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACvD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,CAAA,GAAG,GAAG,GAAG,GAAa,EAAE,CAAC;IAC/D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,CAAA,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAA,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,SAAS,CACrB,OAAmD,EACnD,MAA2B,EAC3B,UAA6H,EAC7H,UAA0C;IAE1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;IAChC,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsC,CAAC,KAAK,CAAC;IAChF,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CACzB,CAAC,UAAU,EAAE,WAAW,CAAC,EACzB,sBAAsB,EACtB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CACjB,IAAI,CAAC,YAAY,CACb,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAChB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACjB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CACnB,SAAS,CAAC,OAAqD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAA,GAAG,OAAO,GAAG,CAAC,EACzG,sBAAsB,CAAC,CAAC;YAC5B,OAAO,KAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,EACF,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAClD,6DAA6D;QAC7D,oEAAoE;QACpE,gEAAgE;QAChE,iEAAiE;QACjE,yCAAyC;QACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YACxC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YACzC,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAkB,CAAC;IACvE,CAAC,CACJ,CAAC;IACF,OAAO,OAAO,CAAC,UAAU,EAAE,OAAO,CAAkB,CAAC;AACzD,CAAC;AAwFD,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,GAAiC;IAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;QAC9B,IAAI,EAAO,EAAE;QACb,SAAS,EAAE,EAAE;QACb,KAAK,EAAM,EAAE;QACb,MAAM,EAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,EAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KAC5D,CAAC,EAAE,eAAe,CAAC,CAAC;AACzB,CAAC;AAED;;iBAEiB;AACjB,MAAM,UAAU,SAAS,CAAC,GAAiC;IACvD,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAClC,UAAU,CAAC;QACP,GAAG,EAAI,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,EACF;QACI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CACJ,CAAC;AACN,CAAC;AA6DD,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,GAAiC;IAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAM,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC;QACzC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC1E,CAAC,EAAE,eAAe,CAAC,CAAC;AACzB,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,SAAS,CAAC,GAAiC;IACvD,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAClC,UAAU,CAAC;QACP,GAAG,EAAI,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACzB,CAAC,EACF;QACI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CACJ,CAAC;AACN,CAAC;AAgED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,GAAkC;IAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAK,EAAE;QACb,KAAK,EAAM,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,YAAY,EAAE,kBAAkB,CAAC;QACpE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACvE,MAAM,EAAK,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzF,QAAQ,EAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;KACrC,CAAC,EAAE,eAAe,CAAC,CAAC;AACzB,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,UAAU,CAAC,GAAkC;IACzD,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAClC,WAAW,CAAC;QACR,GAAG,EAAI,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,EACF;QACI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CACJ,CAAC;AACN,CAAC"}
|