@elaraai/east-ui 1.0.68 → 1.0.69
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 +2 -2
- package/dist/src/charts/chart/index.d.ts +39 -4
- package/dist/src/charts/chart/index.d.ts.map +1 -1
- package/dist/src/charts/chart/index.js +3 -3
- package/dist/src/charts/chart/index.js.map +1 -1
- package/dist/src/charts/spec/index.d.ts +61 -3
- package/dist/src/charts/spec/index.d.ts.map +1 -1
- package/dist/src/charts/spec/types.d.ts +1 -1
- package/dist/src/charts/spec/types.js +1 -1
- package/dist/src/collections/blend/index.d.ts +1 -1
- package/dist/src/collections/blend/index.d.ts.map +1 -1
- package/dist/src/collections/blend/index.js +1 -1
- package/dist/src/collections/blend/index.js.map +1 -1
- package/dist/src/collections/blend/types.js +1 -1
- package/dist/src/collections/blend/types.js.map +1 -1
- package/dist/src/collections/board/index.d.ts +4 -4
- package/dist/src/collections/board/index.d.ts.map +1 -1
- package/dist/src/collections/board/index.js +1 -1
- package/dist/src/collections/board/index.js.map +1 -1
- package/dist/src/collections/board/types.js +1 -1
- package/dist/src/collections/board/types.js.map +1 -1
- package/dist/src/collections/calendar/index.d.ts +1 -1
- package/dist/src/collections/calendar/index.d.ts.map +1 -1
- package/dist/src/collections/deck/index.d.ts +58 -0
- package/dist/src/collections/deck/index.d.ts.map +1 -1
- package/dist/src/collections/index.d.ts +1 -2
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js +1 -2
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/collections/library/index.d.ts +29 -0
- package/dist/src/collections/library/index.d.ts.map +1 -1
- package/dist/src/collections/library/types.d.ts +29 -0
- package/dist/src/collections/library/types.d.ts.map +1 -1
- package/dist/src/collections/matrix/index.d.ts +1 -1
- package/dist/src/collections/matrix/index.d.ts.map +1 -1
- package/dist/src/collections/plan/assemble.d.ts +3732 -0
- package/dist/src/collections/plan/assemble.d.ts.map +1 -0
- package/dist/src/collections/plan/assemble.js +187 -0
- package/dist/src/collections/plan/assemble.js.map +1 -0
- package/dist/src/collections/plan/builders.d.ts +612 -0
- package/dist/src/collections/plan/builders.d.ts.map +1 -0
- package/dist/src/collections/plan/builders.js +543 -0
- package/dist/src/collections/plan/builders.js.map +1 -0
- package/dist/src/collections/plan/data-forms.d.ts +332 -0
- package/dist/src/collections/plan/data-forms.d.ts.map +1 -0
- package/dist/src/collections/plan/data-forms.js +212 -0
- package/dist/src/collections/plan/data-forms.js.map +1 -0
- package/dist/src/collections/plan/factories.d.ts +338 -0
- package/dist/src/collections/plan/factories.d.ts.map +1 -0
- package/dist/src/collections/plan/factories.js +414 -0
- package/dist/src/collections/plan/factories.js.map +1 -0
- package/dist/src/collections/plan/index.d.ts +271 -0
- package/dist/src/collections/plan/index.d.ts.map +1 -0
- package/dist/src/collections/plan/index.js +162 -0
- package/dist/src/collections/plan/index.js.map +1 -0
- package/dist/src/collections/plan/ir.d.ts +3496 -0
- package/dist/src/collections/plan/ir.d.ts.map +1 -0
- package/dist/src/collections/plan/ir.js +83 -0
- package/dist/src/collections/plan/ir.js.map +1 -0
- package/dist/src/collections/plan/pick.d.ts +115 -0
- package/dist/src/collections/plan/pick.d.ts.map +1 -0
- package/dist/src/collections/plan/pick.js +193 -0
- package/dist/src/collections/plan/pick.js.map +1 -0
- package/dist/src/collections/plan/root.d.ts +210 -0
- package/dist/src/collections/plan/root.d.ts.map +1 -0
- package/dist/src/collections/plan/root.js +146 -0
- package/dist/src/collections/plan/root.js.map +1 -0
- package/dist/src/collections/plan/series.d.ts +11890 -0
- package/dist/src/collections/plan/series.d.ts.map +1 -0
- package/dist/src/collections/plan/series.js +412 -0
- package/dist/src/collections/plan/series.js.map +1 -0
- package/dist/src/collections/plan/types.d.ts +9291 -0
- package/dist/src/collections/plan/types.d.ts.map +1 -0
- package/dist/src/collections/plan/types.js +940 -0
- package/dist/src/collections/plan/types.js.map +1 -0
- package/dist/src/collections/roster/index.d.ts +4 -4
- package/dist/src/collections/roster/index.d.ts.map +1 -1
- package/dist/src/collections/roster/index.js +1 -1
- package/dist/src/collections/roster/index.js.map +1 -1
- package/dist/src/collections/roster/types.d.ts +1 -1
- package/dist/src/collections/roster/types.d.ts.map +1 -1
- package/dist/src/collections/roster/types.js +4 -3
- package/dist/src/collections/roster/types.js.map +1 -1
- package/dist/src/collections/table/index.d.ts +70 -2
- package/dist/src/collections/table/index.d.ts.map +1 -1
- package/dist/src/collections/table/index.js +55 -11
- package/dist/src/collections/table/index.js.map +1 -1
- package/dist/src/collections/table/types.d.ts +1 -1
- package/dist/src/collections/table/types.d.ts.map +1 -1
- package/dist/src/component.d.ts +3898 -1339
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +83 -146
- package/dist/src/component.js.map +1 -1
- package/dist/src/container/card/types.d.ts +1 -1
- package/dist/src/container/card/types.d.ts.map +1 -1
- package/dist/src/contracts/approval.d.ts +117 -0
- package/dist/src/contracts/approval.d.ts.map +1 -0
- package/dist/src/contracts/approval.js +105 -0
- package/dist/src/contracts/approval.js.map +1 -0
- package/dist/src/contracts/drag.d.ts +3 -3
- package/dist/src/contracts/drag.d.ts.map +1 -1
- package/dist/src/contracts/drag.js +23 -10
- package/dist/src/contracts/drag.js.map +1 -1
- package/dist/src/contracts/index.d.ts +4 -1
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js +4 -1
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/pick.d.ts +705 -0
- package/dist/src/contracts/pick.d.ts.map +1 -0
- package/dist/src/contracts/pick.js +360 -0
- package/dist/src/contracts/pick.js.map +1 -0
- package/dist/src/contracts/review.d.ts +7 -99
- package/dist/src/contracts/review.d.ts.map +1 -1
- package/dist/src/contracts/review.js +11 -85
- package/dist/src/contracts/review.js.map +1 -1
- package/dist/src/contracts/slice-affordances.d.ts +13 -4
- package/dist/src/contracts/slice-affordances.d.ts.map +1 -1
- package/dist/src/contracts/slice-affordances.js +13 -3
- package/dist/src/contracts/slice-affordances.js.map +1 -1
- package/dist/src/contracts/source.d.ts +432 -0
- package/dist/src/contracts/source.d.ts.map +1 -0
- package/dist/src/contracts/source.js +505 -0
- package/dist/src/contracts/source.js.map +1 -0
- package/dist/src/contracts/states.d.ts +130 -0
- package/dist/src/contracts/states.d.ts.map +1 -1
- package/dist/src/contracts/states.js +122 -0
- package/dist/src/contracts/states.js.map +1 -1
- package/dist/src/contracts/time.d.ts +76 -0
- package/dist/src/contracts/time.d.ts.map +1 -0
- package/dist/src/contracts/time.js +78 -0
- package/dist/src/contracts/time.js.map +1 -0
- package/dist/src/display/trace/types.d.ts +1 -1
- package/dist/src/display/trace/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +22 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +5 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +4 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/dock/index.d.ts +1 -1
- package/dist/src/layout/dock/index.js +1 -1
- package/dist/src/layout/index.d.ts +0 -1
- package/dist/src/layout/index.d.ts.map +1 -1
- package/dist/src/layout/index.js +0 -1
- package/dist/src/layout/index.js.map +1 -1
- package/dist/src/overlays/drawer/types.d.ts +1 -1
- package/dist/src/overlays/drawer/types.d.ts.map +1 -1
- package/dist/src/pick/index.d.ts +443 -0
- package/dist/src/pick/index.d.ts.map +1 -0
- package/dist/src/pick/index.js +64 -0
- package/dist/src/pick/index.js.map +1 -0
- package/dist/src/pick/panel/index.d.ts +64 -0
- package/dist/src/pick/panel/index.d.ts.map +1 -0
- package/dist/src/pick/panel/index.js +61 -0
- package/dist/src/pick/panel/index.js.map +1 -0
- package/dist/src/platform/slice/index.d.ts +291 -0
- package/dist/src/platform/slice/index.d.ts.map +1 -1
- package/dist/src/platform/slice/index.js +16 -0
- package/dist/src/platform/slice/index.js.map +1 -1
- package/dist/src/runtime/collections/deck.d.ts +29 -0
- package/dist/src/runtime/collections/deck.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.d.ts +1 -2
- package/dist/src/runtime/collections/index.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.js +1 -2
- package/dist/src/runtime/collections/index.js.map +1 -1
- package/dist/src/runtime/collections/library.d.ts +1 -1
- package/dist/src/runtime/collections/library.js +1 -1
- package/dist/src/runtime/collections/plan.d.ts +98 -0
- package/dist/src/runtime/collections/plan.d.ts.map +1 -0
- package/dist/src/runtime/collections/plan.js +98 -0
- package/dist/src/runtime/collections/plan.js.map +1 -0
- package/dist/src/runtime/collections/schematic.d.ts +1 -1
- package/dist/src/runtime/collections/schematic.js +1 -1
- package/dist/src/runtime/collections/table.d.ts +9 -1
- package/dist/src/runtime/collections/table.d.ts.map +1 -1
- package/dist/src/runtime/collections/table.js +1 -7
- package/dist/src/runtime/collections/table.js.map +1 -1
- package/dist/src/runtime/layout/dock.d.ts +2 -2
- package/dist/src/runtime/layout/dock.js +2 -2
- package/dist/src/runtime/layout/index.d.ts +0 -1
- package/dist/src/runtime/layout/index.d.ts.map +1 -1
- package/dist/src/runtime/layout/index.js +0 -1
- package/dist/src/runtime/layout/index.js.map +1 -1
- package/dist/src/shared/plot-gutter.d.ts +6 -23
- package/dist/src/shared/plot-gutter.d.ts.map +1 -1
- package/dist/src/shared/plot-gutter.js +6 -19
- package/dist/src/shared/plot-gutter.js.map +1 -1
- package/dist/src/shared/reify.d.ts +47 -4
- package/dist/src/shared/reify.d.ts.map +1 -1
- package/dist/src/shared/reify.js +62 -4
- package/dist/src/shared/reify.js.map +1 -1
- package/dist/src/slice/breakdown/index.d.ts +27 -0
- package/dist/src/slice/breakdown/index.d.ts.map +1 -1
- package/dist/src/slice/breakdown/types.d.ts +27 -0
- package/dist/src/slice/breakdown/types.d.ts.map +1 -1
- package/dist/src/slice/cohort/index.d.ts +54 -0
- package/dist/src/slice/cohort/index.d.ts.map +1 -1
- package/dist/src/slice/cohort/types.d.ts +27 -0
- package/dist/src/slice/cohort/types.d.ts.map +1 -1
- package/dist/src/slice/filter/index.d.ts +27 -0
- package/dist/src/slice/filter/index.d.ts.map +1 -1
- package/dist/src/slice/filter/types.d.ts +27 -0
- package/dist/src/slice/filter/types.d.ts.map +1 -1
- package/dist/src/slice/index.d.ts +405 -0
- package/dist/src/slice/index.d.ts.map +1 -1
- package/dist/src/slice/legend/index.d.ts +27 -0
- package/dist/src/slice/legend/index.d.ts.map +1 -1
- package/dist/src/slice/legend/types.d.ts +27 -0
- package/dist/src/slice/legend/types.d.ts.map +1 -1
- package/dist/src/slice/range/index.d.ts +60 -18
- package/dist/src/slice/range/index.d.ts.map +1 -1
- package/dist/src/slice/range/index.js +9 -1
- package/dist/src/slice/range/index.js.map +1 -1
- package/dist/src/slice/range/types.d.ts +63 -22
- package/dist/src/slice/range/types.d.ts.map +1 -1
- package/dist/src/slice/range/types.js +12 -5
- package/dist/src/slice/range/types.js.map +1 -1
- package/dist/src/slice/search/index.d.ts +27 -0
- package/dist/src/slice/search/index.d.ts.map +1 -1
- package/dist/src/slice/search/types.d.ts +27 -0
- package/dist/src/slice/search/types.d.ts.map +1 -1
- package/dist/src/slice/summary/index.d.ts +27 -0
- package/dist/src/slice/summary/index.d.ts.map +1 -1
- package/dist/src/slice/summary/types.d.ts +27 -0
- package/dist/src/slice/summary/types.d.ts.map +1 -1
- package/dist/src/style/content.d.ts +4 -6
- package/dist/src/style/content.d.ts.map +1 -1
- package/dist/src/style/content.js +4 -6
- package/dist/src/style/content.js.map +1 -1
- package/dist/src/style/scheme.js +1 -1
- package/dist/src/style/scheme.js.map +1 -1
- package/dist/test/collections/index.d.ts +2 -2
- package/dist/test/collections/index.d.ts.map +1 -1
- package/dist/test/collections/index.js +2 -2
- package/dist/test/collections/index.js.map +1 -1
- package/dist/test/collections/paged-source.examples.d.ts +9 -0
- package/dist/test/collections/paged-source.examples.d.ts.map +1 -0
- package/dist/test/collections/paged-source.examples.js +136 -0
- package/dist/test/collections/paged-source.examples.js.map +1 -0
- package/dist/test/collections/plan.examples.d.ts +125 -0
- package/dist/test/collections/plan.examples.d.ts.map +1 -0
- package/dist/test/collections/plan.examples.js +2939 -0
- package/dist/test/collections/plan.examples.js.map +1 -0
- package/dist/test/contracts/pick.examples.d.ts +6 -0
- package/dist/test/contracts/pick.examples.d.ts.map +1 -0
- package/dist/test/contracts/pick.examples.js +89 -0
- package/dist/test/contracts/pick.examples.js.map +1 -0
- package/dist/test/layout/dock.examples.d.ts +4 -4
- package/dist/test/layout/dock.examples.d.ts.map +1 -1
- package/dist/test/layout/dock.examples.js +34 -16
- package/dist/test/layout/dock.examples.js.map +1 -1
- package/dist/test/slice/slice.examples.d.ts +2 -1
- package/dist/test/slice/slice.examples.d.ts.map +1 -1
- package/dist/test/slice/slice.examples.js +67 -9
- package/dist/test/slice/slice.examples.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/collections/gantt/index.d.ts +0 -377
- package/dist/src/collections/gantt/index.d.ts.map +0 -1
- package/dist/src/collections/gantt/index.js +0 -896
- package/dist/src/collections/gantt/index.js.map +0 -1
- package/dist/src/collections/gantt/types.d.ts +0 -353
- package/dist/src/collections/gantt/types.d.ts.map +0 -1
- package/dist/src/collections/gantt/types.js +0 -207
- package/dist/src/collections/gantt/types.js.map +0 -1
- package/dist/src/collections/planner/index.d.ts +0 -624
- package/dist/src/collections/planner/index.d.ts.map +0 -1
- package/dist/src/collections/planner/index.js +0 -941
- package/dist/src/collections/planner/index.js.map +0 -1
- package/dist/src/collections/planner/types.d.ts +0 -615
- package/dist/src/collections/planner/types.d.ts.map +0 -1
- package/dist/src/collections/planner/types.js +0 -423
- package/dist/src/collections/planner/types.js.map +0 -1
- package/dist/src/layout/aligned-stack/index.d.ts +0 -101
- package/dist/src/layout/aligned-stack/index.d.ts.map +0 -1
- package/dist/src/layout/aligned-stack/index.js +0 -105
- package/dist/src/layout/aligned-stack/index.js.map +0 -1
- package/dist/src/layout/aligned-stack/types.d.ts +0 -50
- package/dist/src/layout/aligned-stack/types.d.ts.map +0 -1
- package/dist/src/layout/aligned-stack/types.js +0 -24
- package/dist/src/layout/aligned-stack/types.js.map +0 -1
- package/dist/src/runtime/collections/gantt.d.ts +0 -67
- package/dist/src/runtime/collections/gantt.d.ts.map +0 -1
- package/dist/src/runtime/collections/gantt.js +0 -58
- package/dist/src/runtime/collections/gantt.js.map +0 -1
- package/dist/src/runtime/collections/planner.d.ts +0 -80
- package/dist/src/runtime/collections/planner.d.ts.map +0 -1
- package/dist/src/runtime/collections/planner.js +0 -76
- package/dist/src/runtime/collections/planner.js.map +0 -1
- package/dist/src/runtime/layout/aligned-stack.d.ts +0 -38
- package/dist/src/runtime/layout/aligned-stack.d.ts.map +0 -1
- package/dist/src/runtime/layout/aligned-stack.js +0 -36
- package/dist/src/runtime/layout/aligned-stack.js.map +0 -1
- package/dist/test/collections/gantt.examples.d.ts +0 -33
- package/dist/test/collections/gantt.examples.d.ts.map +0 -1
- package/dist/test/collections/gantt.examples.js +0 -359
- package/dist/test/collections/gantt.examples.js.map +0 -1
- package/dist/test/collections/planner.examples.d.ts +0 -47
- package/dist/test/collections/planner.examples.d.ts.map +0 -1
- package/dist/test/collections/planner.examples.js +0 -546
- package/dist/test/collections/planner.examples.js.map +0 -1
- package/dist/test/layout/aligned-stack.examples.d.ts +0 -25
- package/dist/test/layout/aligned-stack.examples.d.ts.map +0 -1
- package/dist/test/layout/aligned-stack.examples.js +0 -294
- package/dist/test/layout/aligned-stack.examples.js.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
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 Plan root — `Plan.Root`, which assembles the whole canvas value against
|
|
7
|
+
* the `component.ts` arm.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
import { East, ArrayType, BooleanType, DictType, FunctionType, NullType, OptionType, StringType, StructType, variant, some, none, } from "@elaraai/east";
|
|
12
|
+
import { UIComponentType } from "../../component.js";
|
|
13
|
+
import { StatusValueType } from "../../feedback/status/types.js";
|
|
14
|
+
import { DensityType } from "../../style/interaction.js";
|
|
15
|
+
import { buildReview } from "../../contracts/review.js";
|
|
16
|
+
import { DragEventType } from "../../contracts/drag.js";
|
|
17
|
+
import { SliceBindType, SliceChromeType } from "../../platform/slice/index.js";
|
|
18
|
+
import { SliceAffordanceType } from "../../contracts/slice-affordances.js";
|
|
19
|
+
import { PlanAxisType, PlanGrainType, PlanLinkType, PlanRowRefType, PlanRunClickEventType, PlanEventClickEventType, PlanMarkClickEventType, PlanChipClickEventType, PlanCellClickEventType, PlanGroupToggleEventType, PlanFooterItemType, PlanStyleType, PlanElementRefType, PlanRowsCollectionType, PlanRowsType, } from "./types.js";
|
|
20
|
+
import { PlanReviewType } from "./ir.js";
|
|
21
|
+
import { resolveTag } from "./builders.js";
|
|
22
|
+
import { applySeries, PlanSeriesType } from "./series.js";
|
|
23
|
+
import { seriesSignature } from "./pick.js";
|
|
24
|
+
import { pickActive, PickBindType } from "../../contracts/pick.js";
|
|
25
|
+
import { resolveRowSource, buildRowSource } from "../../contracts/source.js";
|
|
26
|
+
// ============================================================================
|
|
27
|
+
// Root
|
|
28
|
+
// ============================================================================
|
|
29
|
+
/** The default slice affordance list (§1 toolbar). */
|
|
30
|
+
const DEFAULT_PLAN_AFFORDANCES = ["cohort", "filter", "search", "range", "resolution", "brush", "summary"];
|
|
31
|
+
/**
|
|
32
|
+
* Creates the Plan root — the whole canvas.
|
|
33
|
+
*
|
|
34
|
+
* @typeParam K - The canvas's axis kind, inferred from `config.axis`; every series must lie within it
|
|
35
|
+
* @param config - The Plan configuration ({@link PlanConfig})
|
|
36
|
+
* @returns An East expression of `UIComponentType`
|
|
37
|
+
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* Window and resolution have no callbacks by design: they are slice writes
|
|
40
|
+
* (`setRange` / `setResolution`) — hosts observe the slice. Dragging a
|
|
41
|
+
* proposal is a Modify on its decision, not a free edit — host semantics
|
|
42
|
+
* behind `onDrag`; the surface only reports.
|
|
43
|
+
*/
|
|
44
|
+
export function createPlanRoot(config) {
|
|
45
|
+
// A canvas is DEFINED as data + series (+ the root resolvers) — there
|
|
46
|
+
// is no rows-authoring channel; the IR's inline arm is what inline
|
|
47
|
+
// application collapses to.
|
|
48
|
+
if (config.data === undefined) {
|
|
49
|
+
throw new Error("Plan: `data` is required — a canvas is its data plus the series over it");
|
|
50
|
+
}
|
|
51
|
+
if ((config.series === undefined) === (config.pick === undefined)) {
|
|
52
|
+
throw new Error("Plan: give exactly one of `series` or `pick` — `series` for a fixed canvas, " +
|
|
53
|
+
"`pick` for a pickable one. A `Plan.pick` handle already carries the series list, " +
|
|
54
|
+
"so passing both says it twice and lets the two disagree.");
|
|
55
|
+
}
|
|
56
|
+
// A pick feeds the canvas its SURVIVING series; everything downstream —
|
|
57
|
+
// application, the paged signature — sees one series input either way.
|
|
58
|
+
const seriesInput = config.pick !== undefined
|
|
59
|
+
? pickActive(config.pick)
|
|
60
|
+
: config.series;
|
|
61
|
+
// The shared row-source resolution (#567): inline collection, paged
|
|
62
|
+
// source, or a whole-value bind handle — one dispatch, one vocabulary,
|
|
63
|
+
// and the series pipeline is the `make` that turns each window's domain
|
|
64
|
+
// rows into canvas rows (the single R-erasure point).
|
|
65
|
+
const resolved = resolveRowSource(config.data, "Plan");
|
|
66
|
+
// The canvas is KEYED, so its source must be: a leaf row's key is its data
|
|
67
|
+
// key, which is what keeps the canvas addressable by the keys the source is
|
|
68
|
+
// searched and windowed by (#568). Refuse anything else here rather than
|
|
69
|
+
// inventing keys the source does not have.
|
|
70
|
+
const keyType = resolved.keyType?.type;
|
|
71
|
+
if (keyType !== "String") {
|
|
72
|
+
const got = resolved.collectionType.type;
|
|
73
|
+
const keyed = keyType !== undefined ? ` keyed by ${keyType}` : "";
|
|
74
|
+
throw new Error("Plan: `data` must be a keyed collection (`Dict<String, R>`) — its keys become the " +
|
|
75
|
+
"canvas row keys, so the canvas is ordered and addressed the same way the source is " +
|
|
76
|
+
"(the row space a paged source windows and seeks). " +
|
|
77
|
+
`Got a ${got}${keyed}; key it at the call site, e.g. ` +
|
|
78
|
+
"`data={rows.toDict((_$, r) => r.id)}`.");
|
|
79
|
+
}
|
|
80
|
+
const rowsValue = buildRowSource(resolved, PlanRowsCollectionType, (source) => applySeries(seriesInput, source),
|
|
81
|
+
// The paged source's rows depend on WHICH series are active — a pick
|
|
82
|
+
// narrows the list — so the derived id has to say which. Without it a
|
|
83
|
+
// toggle leaves resident windows serving rows nobody asked for.
|
|
84
|
+
seriesSignature(seriesInput));
|
|
85
|
+
const style = config.style;
|
|
86
|
+
const styleValue = style !== undefined
|
|
87
|
+
? some(East.value({
|
|
88
|
+
height: style.height !== undefined ? some(style.height) : none,
|
|
89
|
+
maxHeight: style.maxHeight !== undefined ? some(style.maxHeight) : none,
|
|
90
|
+
density: style.density !== undefined ? some(resolveTag(style.density, DensityType)) : none,
|
|
91
|
+
gutterWidth: style.gutterWidth !== undefined ? some(style.gutterWidth) : none,
|
|
92
|
+
}, PlanStyleType))
|
|
93
|
+
: none;
|
|
94
|
+
const sliceChrome = config.slice !== undefined
|
|
95
|
+
? some(East.value({
|
|
96
|
+
slice: config.slice.slice,
|
|
97
|
+
affordances: East.value((config.slice.affordances ?? DEFAULT_PLAN_AFFORDANCES).map(a => variant(a, null)), ArrayType(SliceAffordanceType)),
|
|
98
|
+
}, SliceChromeType))
|
|
99
|
+
: none;
|
|
100
|
+
return East.value(variant("Plan", {
|
|
101
|
+
rows: rowsValue,
|
|
102
|
+
links: East.value(config.links ?? [], ArrayType(PlanLinkType)),
|
|
103
|
+
axis: config.axis,
|
|
104
|
+
grain: config.grain !== undefined ? some(resolveTag(config.grain, PlanGrainType)) : none,
|
|
105
|
+
// East.value pins the exact function type (the Schematic `itemHover`
|
|
106
|
+
// pattern) so the arm's recursion-marker slots unify.
|
|
107
|
+
popover: config.popover !== undefined
|
|
108
|
+
? some(East.value(config.popover, FunctionType([PlanElementRefType], OptionType(UIComponentType))))
|
|
109
|
+
: none,
|
|
110
|
+
hover: config.hover !== undefined
|
|
111
|
+
? some(East.value(config.hover, FunctionType([PlanElementRefType], OptionType(UIComponentType))))
|
|
112
|
+
: none,
|
|
113
|
+
expandRender: config.expandRender !== undefined
|
|
114
|
+
? some(East.value(config.expandRender, FunctionType([PlanRowRefType], UIComponentType)))
|
|
115
|
+
: none,
|
|
116
|
+
expandGutter: config.expandGutter !== undefined
|
|
117
|
+
? some(East.value(config.expandGutter, FunctionType([PlanRowRefType], UIComponentType)))
|
|
118
|
+
: none,
|
|
119
|
+
review: config.review !== undefined ? some(buildReview(config.review, PlanReviewType)) : none,
|
|
120
|
+
// The library rides as chrome, like the slice rail: the non-generic
|
|
121
|
+
// contract only, since the arm must stay a closed East type.
|
|
122
|
+
pick: config.pick !== undefined
|
|
123
|
+
? some(East.value(config.pick.pick, PickBindType))
|
|
124
|
+
: none,
|
|
125
|
+
slice: sliceChrome,
|
|
126
|
+
footer: (config.footer ?? []).map(f => East.value({
|
|
127
|
+
text: f.text,
|
|
128
|
+
tone: f.tone !== undefined ? some(resolveTag(f.tone, StatusValueType)) : none,
|
|
129
|
+
end: f.end !== undefined ? some(f.end) : none,
|
|
130
|
+
}, PlanFooterItemType)),
|
|
131
|
+
id: config.id ?? "",
|
|
132
|
+
sources: East.value(config.sources ?? [], ArrayType(StringType)),
|
|
133
|
+
onDrag: config.onDrag !== undefined ? some(config.onDrag) : none,
|
|
134
|
+
canDrop: config.canDrop !== undefined ? some(config.canDrop) : none,
|
|
135
|
+
onSelect: config.onSelect !== undefined ? some(config.onSelect) : none,
|
|
136
|
+
onRunClick: config.onRunClick !== undefined ? some(config.onRunClick) : none,
|
|
137
|
+
onEventClick: config.onEventClick !== undefined ? some(config.onEventClick) : none,
|
|
138
|
+
onMarkClick: config.onMarkClick !== undefined ? some(config.onMarkClick) : none,
|
|
139
|
+
onChipClick: config.onChipClick !== undefined ? some(config.onChipClick) : none,
|
|
140
|
+
onCellClick: config.onCellClick !== undefined ? some(config.onCellClick) : none,
|
|
141
|
+
onGroupToggle: config.onGroupToggle !== undefined ? some(config.onGroupToggle) : none,
|
|
142
|
+
onGrainChange: config.onGrainChange !== undefined ? some(config.onGrainChange) : none,
|
|
143
|
+
style: styleValue,
|
|
144
|
+
}), UIComponentType);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../src/collections/plan/root.ts"],"names":[],"mappings":"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"}
|