@elaraai/east-ui 1.0.67 → 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
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/** `collections` example barrel — re-exports every example in this category. */
|
|
6
6
|
export * from "./data-list.examples.js";
|
|
7
|
-
export * from "./gantt.examples.js";
|
|
8
7
|
export * from "./matrix.examples.js";
|
|
9
8
|
export * from "./pagination.examples.js";
|
|
10
|
-
export * from "./
|
|
9
|
+
export * from "./paged-source.examples.js";
|
|
10
|
+
export * from "./plan.examples.js";
|
|
11
11
|
export * from "./table.examples.js";
|
|
12
12
|
export * from "./tree-view.examples.js";
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../test/collections/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gFAAgF;AAEhF,cAAc,yBAAyB,CAAC;AACxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../test/collections/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gFAAgF;AAEhF,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
/** @jsxImportSource @elaraai/east-ui */
|
|
6
|
+
export declare const pagedSourceCanvas: import("@elaraai/east").ExampleDef<[], any>;
|
|
7
|
+
export declare const pagedTableSource: import("@elaraai/east").ExampleDef<[], any>;
|
|
8
|
+
export declare const pagedSourceWindows: import("@elaraai/east").ExampleDef<[], any>;
|
|
9
|
+
//# sourceMappingURL=paged-source.examples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paged-source.examples.d.ts","sourceRoot":"","sources":["../../../test/collections/paged-source.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wCAAwC;AAuBxC,eAAO,MAAM,iBAAiB,6CA4C5B,CAAC;AA2BH,eAAO,MAAM,gBAAgB,6CAoB3B,CAAC;AAEH,eAAO,MAAM,kBAAkB,6CAgC7B,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@elaraai/east-ui/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
4
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
5
|
+
*/
|
|
6
|
+
/** @jsxImportSource @elaraai/east-ui */
|
|
7
|
+
import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, StringType, StructType, example, some, } from "@elaraai/east";
|
|
8
|
+
import { UIComponentType } from "@elaraai/east-ui";
|
|
9
|
+
import { Paged, Plan, Table } from "@elaraai/east-ui";
|
|
10
|
+
// The row-source contract (#567/#574). A component's `data` takes the whole
|
|
11
|
+
// collection or a WINDOWED source of it, and `Paged.of` is the in-memory
|
|
12
|
+
// producer — the one that needs no server, so it is what examples, fixtures and
|
|
13
|
+
// tests window against. Production sources come from the platform that owns the
|
|
14
|
+
// data (`Data.bindPaged` in @elaraai/e3-ui), which satisfies the same contract.
|
|
15
|
+
export const pagedSourceCanvas = example({
|
|
16
|
+
keywords: [
|
|
17
|
+
"Paged", "of", "paged", "source", "window", "page", "total", "seek",
|
|
18
|
+
"key", "prefix", "row-source", "contract", "in-memory", "Plan", "canvas",
|
|
19
|
+
"keyed", "Dict", "key order", "offline",
|
|
20
|
+
],
|
|
21
|
+
description: "Window a collection already in hand — `Paged.of` over a KEYED dict serves DICT windows in canonical key order (the same shape and order a keyed dataset's windows arrive in), reports an exact total, and derives `seek` from the keys themselves, so a search result addresses a real canvas row; the canvas consumes it exactly as it consumes a bound source, which is what makes the whole paged path — windowing, exhaustion on an empty window, totals, key search — runnable with no server",
|
|
22
|
+
fn: East.function([], UIComponentType, ($) => {
|
|
23
|
+
// Monday of ISO week n, 2026 — window W27–W39 (half-open), now W31.
|
|
24
|
+
const week = $.const(East.function([IntegerType], DateTimeType, ($, n) => {
|
|
25
|
+
const w1 = $.const(new Date("2025-12-29T00:00:00Z"), DateTimeType);
|
|
26
|
+
return w1.addWeeks(n.subtract(1n));
|
|
27
|
+
}));
|
|
28
|
+
const UnitRow = StructType({ start: DateTimeType, end: DateTimeType, tonnes: FloatType });
|
|
29
|
+
// KEYED, and the keys are the canvas keys: `page` windows this order,
|
|
30
|
+
// `seek` searches it, and a leaf row's key IS its data key (#568). The
|
|
31
|
+
// authored order is irrelevant — a Dict is canonical.
|
|
32
|
+
const units = $.const(new Map([
|
|
33
|
+
["L1-M07", { start: week(27n), end: week(30n), tonnes: 64.0 }],
|
|
34
|
+
["L1-M09", { start: week(28n), end: week(32n), tonnes: 112.0 }],
|
|
35
|
+
["L2-M11", { start: week(30n), end: week(34n), tonnes: 92.0 }],
|
|
36
|
+
["L2-M12", { start: week(33n), end: week(38n), tonnes: 88.0 }],
|
|
37
|
+
]), DictType(StringType, UnitRow));
|
|
38
|
+
const source = $.const(Paged.of("units", units));
|
|
39
|
+
const series = $.const([
|
|
40
|
+
Plan.series.span(UnitRow, {
|
|
41
|
+
key: "units", title: "Units",
|
|
42
|
+
label: (_r, k) => k, id: true,
|
|
43
|
+
runs: (r, k) => [Plan.run({
|
|
44
|
+
key: "run", start: r.start, end: r.end,
|
|
45
|
+
label: East.str `RUN · ${k}`,
|
|
46
|
+
quantity: East.str `${East.Float.printFixed(r.tonnes, 0n)} t`,
|
|
47
|
+
qty: r.tonnes, state: "actual",
|
|
48
|
+
})],
|
|
49
|
+
}),
|
|
50
|
+
], ArrayType(Plan.Types.Series(UnitRow)));
|
|
51
|
+
// A paged canvas DECLARES its window: fitting the axis to whatever
|
|
52
|
+
// prefix has landed would re-fit it on every landed window (#567 D8).
|
|
53
|
+
const axis = $.const(Plan.axis({
|
|
54
|
+
window: { min: week(27n), max: week(39n) }, resolution: "week", now: week(31n),
|
|
55
|
+
}));
|
|
56
|
+
return _jsx(Plan, { axis: axis, data: source, series: series });
|
|
57
|
+
}),
|
|
58
|
+
inputs: [],
|
|
59
|
+
});
|
|
60
|
+
// ── A source big enough to actually WINDOW ────────────────────────────────
|
|
61
|
+
// The two examples above are four rows each: one page, so they show the
|
|
62
|
+
// contract but never the paging. This one is 1,000 elements — five windows at
|
|
63
|
+
// the canvas's 200-element page — so the card shows what a paged canvas
|
|
64
|
+
// actually does: the opening windows land, everything below is ONE band sized
|
|
65
|
+
// from the ledger, and the footer counts elements as the run walks.
|
|
66
|
+
//
|
|
67
|
+
// Generated at MODULE scope: an East body never calls a host helper (east
|
|
68
|
+
// 990020), so the rows are built here and handed in as data.
|
|
69
|
+
/** Monday of ISO week `n`, 2026 (W1 Monday = 2025-12-29). */
|
|
70
|
+
const MONDAY_W1 = Date.UTC(2025, 11, 29);
|
|
71
|
+
const mondayOfWeek = (n) => new Date(MONDAY_W1 + (n - 1) * 7 * 86_400_000);
|
|
72
|
+
/** 1,000 units across four lines. Keys sort by LINE first, so canonical key
|
|
73
|
+
* order is deliberately not build order — the thing a windowed keyed source
|
|
74
|
+
* has to get right. */
|
|
75
|
+
const WIDE_UNITS = new Map(Array.from({ length: 1_000 }, (_, i) => {
|
|
76
|
+
const startWeek = 27 + (i % 10);
|
|
77
|
+
return [
|
|
78
|
+
`L${1 + (i % 4)}-U${String(i).padStart(4, "0")}`,
|
|
79
|
+
{ start: mondayOfWeek(startWeek), end: mondayOfWeek(startWeek + 2), tonnes: 40 + (i % 80) },
|
|
80
|
+
];
|
|
81
|
+
}));
|
|
82
|
+
export const pagedTableSource = example({
|
|
83
|
+
keywords: [
|
|
84
|
+
"Paged", "of", "paged", "source", "Table", "window", "page", "total",
|
|
85
|
+
"row-source", "contract", "positional", "sort", "partial", "in-memory",
|
|
86
|
+
],
|
|
87
|
+
description: "The SAME row-source contract over a positional component — a `Table` takes `Paged.of` exactly as a Plan does, and the difference is only the collection: Table windows are ARRAYS that concatenate in stream order (rows are addressed by index, having no identity field), where a Plan's keyed windows merge by key. Client sort is withdrawn on a paged table and the footer says so, because sorting a loaded prefix sorts within whatever happened to land while looking like a sort of the whole table",
|
|
88
|
+
fn: East.function([], UIComponentType, ($) => {
|
|
89
|
+
const UnitRow = StructType({ unit: StringType, line: StringType, tonnes: FloatType });
|
|
90
|
+
const units = $.const([
|
|
91
|
+
{ unit: "L1-M07", line: "Line 1", tonnes: 64.0 },
|
|
92
|
+
{ unit: "L1-M09", line: "Line 1", tonnes: 112.0 },
|
|
93
|
+
{ unit: "L2-M11", line: "Line 2", tonnes: 92.0 },
|
|
94
|
+
{ unit: "L2-M12", line: "Line 2", tonnes: 88.0 },
|
|
95
|
+
], ArrayType(UnitRow));
|
|
96
|
+
// POSITIONAL: an array source, so no key accessor and no `seek` — an
|
|
97
|
+
// Array's stream order has nothing to binary-search.
|
|
98
|
+
const source = $.const(Paged.of("units", units));
|
|
99
|
+
return _jsx(Table, { data: source, columns: ["unit", "line", "tonnes"] });
|
|
100
|
+
}),
|
|
101
|
+
inputs: [],
|
|
102
|
+
});
|
|
103
|
+
export const pagedSourceWindows = example({
|
|
104
|
+
keywords: [
|
|
105
|
+
"Paged", "of", "paged", "window", "windows", "band", "transport", "footer",
|
|
106
|
+
"total", "scroll", "virtual", "large", "collection", "Plan", "canvas",
|
|
107
|
+
"key order", "residency", "offline",
|
|
108
|
+
],
|
|
109
|
+
description: "The paged canvas doing the thing it exists for — 1,000 source elements behind a 200-element page, so only the opening windows are ever built into canvas rows and everything below them is ONE band sized from the ledger, captioned with the elements it stands for. Scrolling walks the resident run forward a window at a time rather than materialising the source; the footer counts in ELEMENTS (never canvas rows, since a series may emit any number per element) and marks itself partial until the total is both known and reached. The keys sort by line, so canonical key order is deliberately not build order — the ordering a windowed keyed source has to preserve for a row to stay addressable",
|
|
110
|
+
fn: East.function([], UIComponentType, ($) => {
|
|
111
|
+
const UnitRow = StructType({ start: DateTimeType, end: DateTimeType, tonnes: FloatType });
|
|
112
|
+
const units = $.const(WIDE_UNITS, DictType(StringType, UnitRow));
|
|
113
|
+
const source = $.const(Paged.of("units", units));
|
|
114
|
+
const series = $.const([
|
|
115
|
+
Plan.series.span(UnitRow, {
|
|
116
|
+
key: "units-2", title: "Units",
|
|
117
|
+
label: (_r, k) => k, id: true,
|
|
118
|
+
value: r => some(East.str `${East.Float.printFixed(r.tonnes, 0n)} t`),
|
|
119
|
+
runs: (r, k) => [Plan.run({
|
|
120
|
+
key: "run", start: r.start, end: r.end,
|
|
121
|
+
label: East.str `RUN · ${k}`,
|
|
122
|
+
qty: r.tonnes, state: "actual",
|
|
123
|
+
})],
|
|
124
|
+
}),
|
|
125
|
+
], ArrayType(Plan.Types.Series(UnitRow)));
|
|
126
|
+
const axis = $.const(Plan.axis({
|
|
127
|
+
window: { min: mondayOfWeek(27), max: mondayOfWeek(40) }, resolution: "week",
|
|
128
|
+
now: mondayOfWeek(31),
|
|
129
|
+
}));
|
|
130
|
+
// Bounded, so the canvas virtualizes: an unbounded paged canvas would
|
|
131
|
+
// mount every resident row at once and page purely on demand.
|
|
132
|
+
return _jsx(Plan, { axis: axis, data: source, series: series, style: { maxHeight: "420px" } });
|
|
133
|
+
}),
|
|
134
|
+
inputs: [],
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=paged-source.examples.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paged-source.examples.js","sourceRoot":"","sources":["../../../test/collections/paged-source.examples.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
/** @jsxImportSource @elaraai/east-ui */
|
|
6
|
+
export declare const planTargetState: import("@elaraai/east").ExampleDef<[], any>;
|
|
7
|
+
/**
|
|
8
|
+
* THE Plan configurator — the slot-2 variant-space surface the retired Gantt /
|
|
9
|
+
* Planner configurators held (#571). ONE live canvas; every axis feeds it as
|
|
10
|
+
* an expression. The window presets are whole `Plan.axis` VALUES riding a
|
|
11
|
+
* typed preset struct: the ops week window, the year roadmap at month
|
|
12
|
+
* resolution, and the 14-day sprint at day resolution with `ddd DD` labels
|
|
13
|
+
* (the #309 pinned-day-columns contract the Planner's `day` preset and the
|
|
14
|
+
* AlignedStack date-axis panel guarded). The style sweeps ride `style` —
|
|
15
|
+
* density rhythm and gutter width — and every callback (select / run click /
|
|
16
|
+
* group toggle / grain change) logs to the aside, the retired configurators'
|
|
17
|
+
* pattern. Fill sizing stays `planFill`'s; the per-kind visual grammars stay
|
|
18
|
+
* the static per-kind panels.
|
|
19
|
+
*/
|
|
20
|
+
export declare const planVariants: import("@elaraai/east").ExampleDef<[], any>;
|
|
21
|
+
export declare const planSpanRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
22
|
+
export declare const planBucketRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
23
|
+
export declare const planChartRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
24
|
+
export declare const planHeatRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
25
|
+
export declare const planTableRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
26
|
+
export declare const planCardRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
27
|
+
export declare const planEventRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
28
|
+
export declare const planGroupedRows: import("@elaraai/east").ExampleDef<[], any>;
|
|
29
|
+
export declare const planSeriesData: import("@elaraai/east").ExampleDef<[], any>;
|
|
30
|
+
export declare const planLibraryDnd: import("@elaraai/east").ExampleDef<[], any>;
|
|
31
|
+
/**
|
|
32
|
+
* A Plan is a drag target, and a heterogeneous one — which is what makes it
|
|
33
|
+
* different from every other target in the grammar.
|
|
34
|
+
*
|
|
35
|
+
* Roster, Board and Blend have ONE kind of cell, so "can you drop here" is a
|
|
36
|
+
* question about the cell's contents. A Plan's rows are nine different things,
|
|
37
|
+
* so the question is answered TWICE, at two different levels:
|
|
38
|
+
*
|
|
39
|
+
* 1. **Structurally, by kind.** Only rows holding discrete scheduled objects
|
|
40
|
+
* register a drop cell at all — `span` (runs), `buckets` (tiles), `events`
|
|
41
|
+
* (marks), `cards` (chips). A `chart` / `heat` / `table` row renders
|
|
42
|
+
* DERIVED values, so there is nothing for a card to become; it registers
|
|
43
|
+
* no cell, never lights up during a drag, and is not reachable by any
|
|
44
|
+
* predicate. Group strips are wayfinding, so they are inert too — their
|
|
45
|
+
* MEMBERS receive.
|
|
46
|
+
* 2. **By policy, with `canDrop`.** Of the rows that can receive, this canvas
|
|
47
|
+
* admits only the matching FAMILY: a job goes on a machine, a delivery on
|
|
48
|
+
* a dock, a shift on a crew, a milestone on a stream. The `PALLET` card
|
|
49
|
+
* belongs to no family and is therefore refused everywhere — the ⊘ stage
|
|
50
|
+
* on every row, which is what a card with nowhere to go should look like.
|
|
51
|
+
*
|
|
52
|
+
* The drop is not cosmetic. `onDrag` writes to bound state, the series
|
|
53
|
+
* accessors read that state back, and the row re-derives — the documented flow
|
|
54
|
+
* for every target ("no drop writes state directly"). Nothing is painted
|
|
55
|
+
* optimistically, so what appears on the canvas is only ever what the data
|
|
56
|
+
* says.
|
|
57
|
+
*/
|
|
58
|
+
export declare const planRowDrop: import("@elaraai/east").ExampleDef<[], any>;
|
|
59
|
+
/** Fill (#320) — `height="fill"` resolves against the bounded Box and
|
|
60
|
+
* virtualizes 200 span rows under 8 rollup parents. The bound must land on the
|
|
61
|
+
* canvas WRAPPER: a percentage passed inward resolves against an auto-height
|
|
62
|
+
* parent, computes to `auto`, and silently unbinds — the frame reports bounded,
|
|
63
|
+
* renders its spacer, and never scrolls (#567 D1).
|
|
64
|
+
*
|
|
65
|
+
* The grouping is here for what it does to VIRTUALIZATION, not for the
|
|
66
|
+
* chrome. Collapsing a strip removes its 25 children from the virtualizer's
|
|
67
|
+
* item list, so `count` and the total size change while the scroll offset does
|
|
68
|
+
* not — the case where an estimate that disagrees with the rendered height
|
|
69
|
+
* shows up as drift or a jumping scrollbar. The parents also give the list two
|
|
70
|
+
* different row heights (a rollup band is taller than a leaf), so the
|
|
71
|
+
* `estimateSize` path is exercised rather than a single constant. */
|
|
72
|
+
export declare const planFill: import("@elaraai/east").ExampleDef<[], any>;
|
|
73
|
+
export declare const planReview: import("@elaraai/east").ExampleDef<[], any>;
|
|
74
|
+
/**
|
|
75
|
+
* R2 expand-in-place — the one example that shows the whole gesture.
|
|
76
|
+
*
|
|
77
|
+
* Expand is two halves and needs BOTH: a per-row `expand` declaration (data,
|
|
78
|
+
* so it flows through an accessor like every other envelope field) and the
|
|
79
|
+
* ROOT's `expandRender` resolver, which builds the mounted body from the row
|
|
80
|
+
* ref. Neither alone shows the control.
|
|
81
|
+
*
|
|
82
|
+
* The rows here are deliberately heterogeneous — span, chart, heat, table,
|
|
83
|
+
* events — because focusing one is what makes the other five collapse, and
|
|
84
|
+
* each row KIND collapses differently (#591): geometry shrinks, values
|
|
85
|
+
* re-encode as a tone strip, shapes keep their silhouette.
|
|
86
|
+
*/
|
|
87
|
+
export declare const planExpand: import("@elaraai/east").ExampleDef<[], any>;
|
|
88
|
+
/**
|
|
89
|
+
* Below 480px of CONTAINER width — not the viewport: this example is a 360px
|
|
90
|
+
* `<Box>` on a desktop page — the Plan reflows to the §10 layout: three tabs
|
|
91
|
+
* over ONE slice (Groups · Rows · Measures), the group grain as hottest-first
|
|
92
|
+
* strip cards, one group's rows as cards whose head is the row's gutter
|
|
93
|
+
* identity and whose body is its plot on the shared window, chart rows
|
|
94
|
+
* full-width at expanded density. A row declaring `expand` drills in place on
|
|
95
|
+
* a second tap; horizontal pan is two-finger. The DEFINITION is the desktop
|
|
96
|
+
* one — the same `data` + `series`, the same slice — only the box changed.
|
|
97
|
+
*/
|
|
98
|
+
export declare const planNarrow: import("@elaraai/east").ExampleDef<[], any>;
|
|
99
|
+
/**
|
|
100
|
+
* The `number` axis — the retired Planner's `plannerPoint` canvas on the
|
|
101
|
+
* Plan: eight days at step 1, AM/PM lanes in the bucket rows, `now` at day
|
|
102
|
+
* 5. Every kind positions on the one numeric scale, and every instant in the
|
|
103
|
+
* raw data is a plain number: a `FloatType` field wraps to the `number` arm
|
|
104
|
+
* through the element builders (`Plan.run({ start: j.start })`), a chart
|
|
105
|
+
* layer's numeric x accessor lands its columns on the same arm, `Plan.tableCells`
|
|
106
|
+
* reads a numeric `at`, and the heat cells stored as RECORDS spell it out with
|
|
107
|
+
* `Plan.at.number`. The slice's range field is a float, so the horizon brush
|
|
108
|
+
* and the range chip ride the slice's `float` arm exactly as they ride
|
|
109
|
+
* `datetime` on a time axis; there is no resolution segment — `step` is the
|
|
110
|
+
* declaration.
|
|
111
|
+
*/
|
|
112
|
+
export declare const planNumberAxis: import("@elaraai/east").ExampleDef<[], any>;
|
|
113
|
+
/**
|
|
114
|
+
* The `ordinal` axis — a workflow of six phases, each a bucket, in declared
|
|
115
|
+
* order. Instants are the phase VALUES: a run's `start` / `end` are phase
|
|
116
|
+
* names (an interval covers `[start, end]` in phase order — on an ordinal
|
|
117
|
+
* axis the end names the LAST bucket covered, since values are buckets, not
|
|
118
|
+
* edges), a tile sits in a phase, a chart's string x accessor lands its
|
|
119
|
+
* columns on the phase arm, `Plan.tableCells` reads a string `at`, and
|
|
120
|
+
* `Plan.at.ordinal` spells one out where a record is written as data. There
|
|
121
|
+
* is no slice range for an ordinal axis — the list IS the window, so the
|
|
122
|
+
* horizon brush does not mount and the window keys idle; `now` names a phase.
|
|
123
|
+
*/
|
|
124
|
+
export declare const planOrdinalAxis: import("@elaraai/east").ExampleDef<[], any>;
|
|
125
|
+
//# sourceMappingURL=plan.examples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.examples.d.ts","sourceRoot":"","sources":["../../../test/collections/plan.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wCAAwC;AA4CxC,eAAO,MAAM,eAAe,6CA2V1B,CAAC;AAMH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,6CA4LvB,CAAC;AAMH,eAAO,MAAM,YAAY,6CAuKvB,CAAC;AAEH,eAAO,MAAM,cAAc,6CAiHzB,CAAC;AAEH,eAAO,MAAM,aAAa,6CAkHxB,CAAC;AAEH,eAAO,MAAM,YAAY,6CAwFvB,CAAC;AAEH,eAAO,MAAM,aAAa,6CAwLxB,CAAC;AAEH,eAAO,MAAM,YAAY,6CAqFvB,CAAC;AAEH,eAAO,MAAM,aAAa,6CAkExB,CAAC;AAEH,eAAO,MAAM,eAAe,6CA4F1B,CAAC;AAMH,eAAO,MAAM,cAAc,6CA6FzB,CAAC;AAMH,eAAO,MAAM,cAAc,6CA0TzB,CAAC;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,WAAW,6CAwStB,CAAC;AAMH;;;;;;;;;;;;sEAYsE;AACtE,eAAO,MAAM,QAAQ,6CAoInB,CAAC;AAMH,eAAO,MAAM,UAAU,6CA+GrB,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,6CAsMrB,CAAC;AAOH;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,6CA8JrB,CAAC;AAMH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,6CAkLzB,CAAC;AAMH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,6CAgJ1B,CAAC"}
|