@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
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
* `component.ts` (`Sheet Spec.md` §4.6): resolves the row source (both
|
|
8
8
|
* arms), describes every column against the row type, compiles the typed
|
|
9
9
|
* bridge (§4.8), builds each column's wire value, compiles `onUpdate` into
|
|
10
|
-
* the
|
|
10
|
+
* the checked batch adapter (§4.7), and refuses every mistake naming the
|
|
11
11
|
* column and the remedy.
|
|
12
12
|
*
|
|
13
13
|
* @packageDocumentation
|
|
14
14
|
*/
|
|
15
|
-
import { East, ArrayType, AsyncFunctionType, BooleanType, DictType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, toEastTypeValue, variant, some, none, } from "@elaraai/east";
|
|
15
|
+
import { East, ArrayType, AsyncFunctionType, BooleanType, DictType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, isTypeEqual, toEastTypeValue, variant, some, none, } from "@elaraai/east";
|
|
16
16
|
import { UIComponentType } from "../../component.js";
|
|
17
17
|
import { SliceBindType, SliceChromeType } from "../../platform/slice/index.js";
|
|
18
18
|
import { SliceAffordanceType } from "../../contracts/slice-affordances.js";
|
|
@@ -21,8 +21,10 @@ import { StatusValueType } from "../../feedback/status/types.js";
|
|
|
21
21
|
import { TickFormatType } from "../../format/types.js";
|
|
22
22
|
import { resolveRowSource, buildRowSource } from "../../contracts/source.js";
|
|
23
23
|
import { resolveTag } from "../plan/builders.js";
|
|
24
|
-
import { SheetRowType, SheetRowsCollectionType, SheetRegisterType, SheetDriverType, SheetColumnType, SheetColumnKindType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetSidesValueType, SheetStoreType, SheetCheckType, SheetSuggestType, SheetViewType, SheetSelectionType, SheetFooterItemType, SheetStyleType,
|
|
25
|
-
import { describeColumn, buildBridge, wrapProvider, wrapProposer, wrapArity, wrapCheck, wrapCustomParse, wrapCustomPrint,
|
|
24
|
+
import { SheetRowType, SheetRowsCollectionType, SheetRegisterType, SheetDriverType, SheetColumnType, SheetColumnKindType, SheetMemberKindType, SheetMultipleType, SheetSideLockType, SheetSidesType, SheetSidesValueType, SheetStoreType, SheetCheckType, SheetSuggestType, SheetViewType, SheetSelectionType, SheetFooterItemType, SheetStyleType, SheetGroupType, SheetGroupCellType, SheetNounType, SheetOptionsRuleType, SHEET_TITLE_CELL, sheetLinesOf, sheetRuleCell, } from "./types.js";
|
|
25
|
+
import { describeColumn, describeGroupCell, buildBridge, wrapProvider, wrapProposer, wrapArity, wrapCheck, wrapOptions, wrapCustomParse, wrapCustomPrint, } from "./bridge.js";
|
|
26
|
+
import { buildSheetEditing } from "./editing-bridge.js";
|
|
27
|
+
import { SheetApplyResultType, SheetNewRowType, SheetNewGroupType, SheetReadinessType } from "./transactions.js";
|
|
26
28
|
import { isExistsCheck } from "./link.js";
|
|
27
29
|
// ============================================================================
|
|
28
30
|
// Root
|
|
@@ -34,6 +36,7 @@ function memberKinds(input) {
|
|
|
34
36
|
identified: k.identified ?? false,
|
|
35
37
|
countable: k.countable ?? false,
|
|
36
38
|
resolvesTo: k.resolvesTo !== undefined ? some(k.resolvesTo) : none,
|
|
39
|
+
ranged: k.ranged ?? false,
|
|
37
40
|
})), ArrayType(SheetMemberKindType));
|
|
38
41
|
}
|
|
39
42
|
/** The wire counted-member grammar, with the B§4.1 defaults. */
|
|
@@ -62,9 +65,17 @@ function optionOf(v, type) {
|
|
|
62
65
|
? East.value(some(v), OptionType(type))
|
|
63
66
|
: East.value(none, OptionType(type));
|
|
64
67
|
}
|
|
68
|
+
/** The wire key of a column's rule cell, when the column declares that rule (#844). */
|
|
69
|
+
function ruleCellKey(meta, rule) {
|
|
70
|
+
const key = sheetRuleCell(rule, meta.key);
|
|
71
|
+
return optionOf((meta.ruleCells ?? []).some((c) => c.key === key) ? key : undefined, StringType);
|
|
72
|
+
}
|
|
65
73
|
/** Build one column's wire kind value. */
|
|
66
74
|
function buildKind(meta, bridge, driver) {
|
|
67
75
|
const cfg = meta.config;
|
|
76
|
+
const options = cfg.options !== undefined
|
|
77
|
+
? East.value(some(wrapOptions(bridge, meta, cfg.options)), OptionType(SheetOptionsRuleType))
|
|
78
|
+
: East.value(none, OptionType(SheetOptionsRuleType));
|
|
68
79
|
const kindOf = (tag, payload) => East.value(variant(tag, payload), SheetColumnKindType);
|
|
69
80
|
switch (meta.kind) {
|
|
70
81
|
case "text": return kindOf("text", null);
|
|
@@ -72,6 +83,8 @@ function buildKind(meta, bridge, driver) {
|
|
|
72
83
|
case "date": return kindOf("date", {
|
|
73
84
|
base: optionOf(cfg.base, StringType),
|
|
74
85
|
format: optionOf(cfg.format, StringType),
|
|
86
|
+
level: ruleCellKey(meta, "level"),
|
|
87
|
+
actual: ruleCellKey(meta, "actual"),
|
|
75
88
|
});
|
|
76
89
|
case "quantity": {
|
|
77
90
|
let uom = East.value(none, OptionType(DictType(StringType, StringType)));
|
|
@@ -90,9 +103,9 @@ function buildKind(meta, bridge, driver) {
|
|
|
90
103
|
: East.value(none, OptionType(TickFormatType)),
|
|
91
104
|
});
|
|
92
105
|
}
|
|
93
|
-
case "lookup": return kindOf("lookup", { register: meta.register });
|
|
106
|
+
case "lookup": return kindOf("lookup", { register: meta.register, options });
|
|
94
107
|
case "reference": return kindOf("reference", { register: meta.register });
|
|
95
|
-
case "enum": return kindOf("enum", { register: meta.register });
|
|
108
|
+
case "enum": return kindOf("enum", { register: meta.register, options });
|
|
96
109
|
case "set": return kindOf("set", {
|
|
97
110
|
register: meta.register,
|
|
98
111
|
members: memberKinds(cfg.members),
|
|
@@ -122,6 +135,7 @@ function buildKind(meta, bridge, driver) {
|
|
|
122
135
|
? East.value(variant("exists", null), SheetCheckType)
|
|
123
136
|
: wrapCheck(bridge, meta, c, i)), ArrayType(SheetCheckType)),
|
|
124
137
|
store: resolveTag(cfg.store ?? "asTyped", SheetStoreType),
|
|
138
|
+
options,
|
|
125
139
|
});
|
|
126
140
|
}
|
|
127
141
|
case "stamped": return kindOf("stamped", { owner: optionOf(cfg.owner, StringType) });
|
|
@@ -133,19 +147,45 @@ function buildKind(meta, bridge, driver) {
|
|
|
133
147
|
}
|
|
134
148
|
}
|
|
135
149
|
export function createSheet(data, columns, options) {
|
|
136
|
-
const opts = options ?? {};
|
|
150
|
+
const opts = (options ?? {});
|
|
137
151
|
const resolved = resolveRowSource(data, "Sheet");
|
|
152
|
+
// The source's rows: structs — or, with LOOSE rows between the groups
|
|
153
|
+
// (#846), entries `Sheet.Types.Entry(P, "lines")`: a group, or a row of
|
|
154
|
+
// the line type.
|
|
138
155
|
const rowType = resolved.elementType;
|
|
139
|
-
|
|
156
|
+
const loose = rowType.type === "Variant";
|
|
157
|
+
const arms = loose ? rowType.cases : undefined;
|
|
158
|
+
if (arms !== undefined && (Object.keys(arms).length !== 2 || arms["group"]?.type !== "Struct" || arms["row"]?.type !== "Struct")) {
|
|
159
|
+
throw new Error(`Sheet: rows must be structs, or entries of a group or a row — Sheet.Types.Entry(GroupType, "lines") — got a variant of ${Object.keys(arms).join(", ")}`);
|
|
160
|
+
}
|
|
161
|
+
if (!loose && rowType.type !== "Struct") {
|
|
140
162
|
throw new Error(`Sheet: rows must be structs — got ${rowType.type}`);
|
|
141
163
|
}
|
|
164
|
+
// Grouped rows (#740): the group is the row; the columns are over its lines.
|
|
165
|
+
const groupDecl = opts.group;
|
|
166
|
+
if (arms !== undefined && groupDecl === undefined) {
|
|
167
|
+
throw new Error("Sheet: entries of groups and loose rows need their group declared — pass `group={Sheet.group(GroupType, \"lines\", …)}` over the entries' group type");
|
|
168
|
+
}
|
|
169
|
+
if (arms !== undefined && groupDecl !== undefined && !isTypeEqual(groupDecl.rowType, arms["group"])) {
|
|
170
|
+
throw new Error("Sheet: `group` was built over a different type than the entries' groups — pass the same StructType to `Sheet.Types.Entry(…)` and `Sheet.group(…)`");
|
|
171
|
+
}
|
|
172
|
+
if (arms === undefined && groupDecl !== undefined && groupDecl.rowType !== rowType) {
|
|
173
|
+
throw new Error("Sheet: `group` was built over a different row type than `data` holds — pass the same StructType to `Sheet.group(…)`");
|
|
174
|
+
}
|
|
175
|
+
// The group's type: the row, or the entries' group arm as the declaration holds it.
|
|
176
|
+
const groupType = groupDecl !== undefined ? groupDecl.rowType : rowType;
|
|
177
|
+
const shape = groupDecl !== undefined ? sheetLinesOf(groupType, groupDecl.lines) : undefined;
|
|
178
|
+
const lineType = shape?.lineType ?? groupType;
|
|
179
|
+
if (arms !== undefined && groupDecl !== undefined && !isTypeEqual(lineType, arms["row"])) {
|
|
180
|
+
throw new Error(`Sheet: an entry's loose row must be of the line type \`${groupDecl.lines}\` holds — build the entries' type with Sheet.Types.Entry(GroupType, "${groupDecl.lines}")`);
|
|
181
|
+
}
|
|
142
182
|
const collectionTag = resolved.collectionType.type;
|
|
143
183
|
if (resolved.kind === "inline" && collectionTag !== "Array") {
|
|
144
184
|
throw new Error("Sheet: a dictionary's rows sit in key order, not the planner's — pass an Array<R> (or a bind handle of one), " +
|
|
145
185
|
"or page a keyed source (`Paged.of` / `Data.bindPaged` over the Dict)");
|
|
146
186
|
}
|
|
147
187
|
const keyed = resolved.kind === "paged" && collectionTag === "Dict";
|
|
148
|
-
const fields =
|
|
188
|
+
const fields = groupType.fields;
|
|
149
189
|
const idField = opts.id;
|
|
150
190
|
if (!keyed && idField === undefined) {
|
|
151
191
|
throw new Error("Sheet: `id` is required — the String field that identifies a row (a keyed paged source needs none: its key is the id)");
|
|
@@ -155,19 +195,32 @@ export function createSheet(data, columns, options) {
|
|
|
155
195
|
if (t === undefined || t.type !== "String") {
|
|
156
196
|
throw new Error(`Sheet: \`id\` must name a String field of the row — "${idField}" is ${t === undefined ? "not a field" : t.type}`);
|
|
157
197
|
}
|
|
198
|
+
// A loose row is an entry too (#846): its id field is its identity.
|
|
199
|
+
const own = loose ? lineType.fields[idField] : undefined;
|
|
200
|
+
if (loose && (own === undefined || own.type !== "String")) {
|
|
201
|
+
throw new Error(`Sheet: \`id\` must name a String field of both the group type and the line type — a loose row is an entry, identified like a group; "${idField}" is ${own === undefined ? "not a field" : own.type} of the line type`);
|
|
202
|
+
}
|
|
158
203
|
}
|
|
159
|
-
// Pass 1 — every column against the row type.
|
|
204
|
+
// Pass 1 — every column against the row type (a grouped sheet: the line type).
|
|
160
205
|
const columnEntries = Object.entries(columns)
|
|
161
206
|
.filter((e) => e[1] !== undefined);
|
|
162
207
|
if (columnEntries.length === 0)
|
|
163
208
|
throw new Error("Sheet: declare at least one column");
|
|
164
|
-
const
|
|
209
|
+
for (const [key, col] of columnEntries) {
|
|
210
|
+
if (col.rowType === undefined || col.rowType === lineType)
|
|
211
|
+
continue;
|
|
212
|
+
throw new Error(groupDecl !== undefined && col.rowType === groupType
|
|
213
|
+
? `Sheet: column "${key}" was built over the group's row type — columns are declared over the line type \`${groupDecl.lines}\` holds (Sheet.column.${col.kind}(LineType, …))`
|
|
214
|
+
: `Sheet: column "${key}" was built over a different row type than the sheet's — pass the same StructType to Sheet.column.${col.kind}(RowType, …) and \`data\``);
|
|
215
|
+
}
|
|
216
|
+
const metas = columnEntries.map(([key, col]) => describeColumn(key, col, lineType));
|
|
165
217
|
const metaByKey = new Map(metas.map((m) => [m.key, m]));
|
|
166
218
|
for (const m of metas) {
|
|
167
219
|
if (m.otherField !== undefined && metaByKey.has(m.otherField)) {
|
|
168
220
|
throw new Error(`Sheet: link column "${m.key}" names "${m.otherField}" as its other half, which is also a column — a half's field is written through the link column, never on its own`);
|
|
169
221
|
}
|
|
170
|
-
|
|
222
|
+
// A flat row's id is its identity — and so is a loose row's (#846).
|
|
223
|
+
if ((groupDecl === undefined || loose) && m.key === idField)
|
|
171
224
|
throw new Error(`Sheet: the id field "${idField}" cannot also be a column`);
|
|
172
225
|
}
|
|
173
226
|
// The driver — a lookup column on a String field.
|
|
@@ -196,12 +249,40 @@ export function createSheet(data, columns, options) {
|
|
|
196
249
|
throw new Error(`Sheet: column "${m.key}" names register "${m.register}", which \`registers\` does not declare (${Object.keys(registers).join(", ") || "none declared"})`);
|
|
197
250
|
}
|
|
198
251
|
}
|
|
252
|
+
// The band's cells (#740) — the title first, then each cell under its line column.
|
|
253
|
+
let cellMetas;
|
|
254
|
+
if (groupDecl !== undefined) {
|
|
255
|
+
const cfg = groupDecl.config;
|
|
256
|
+
const titleType = fields[cfg.title];
|
|
257
|
+
if (titleType === undefined || titleType.type !== "String") {
|
|
258
|
+
throw new Error(`Sheet: \`group.title\` must name a String field of the row — "${cfg.title}" is ${titleType === undefined ? "not a field" : titleType.type}`);
|
|
259
|
+
}
|
|
260
|
+
cellMetas = [describeGroupCell(SHEET_TITLE_CELL, { kind: "text", field: cfg.title, config: {} }, groupType)];
|
|
261
|
+
for (const [key, cell] of Object.entries(cfg.cells ?? {})) {
|
|
262
|
+
if (cell === undefined)
|
|
263
|
+
continue;
|
|
264
|
+
const under = metaByKey.get(key);
|
|
265
|
+
if (under === undefined) {
|
|
266
|
+
throw new Error(`Sheet: band cell "${key}" is not a declared column — \`group.cells\` is keyed by the line columns the cells sit under (${[...metaByKey.keys()].join(", ")})`);
|
|
267
|
+
}
|
|
268
|
+
const meta = describeGroupCell(key, cell, groupType);
|
|
269
|
+
if (meta.payloadType !== under.payloadType) {
|
|
270
|
+
throw new Error(`Sheet: band cell "${key}" is a ${meta.kind} cell (${meta.payloadType.type}) under a ${under.kind} column (${under.payloadType.type}) — a band cell's payload must match the column it sits under`);
|
|
271
|
+
}
|
|
272
|
+
if (meta.register !== undefined && registers[meta.register] === undefined) {
|
|
273
|
+
throw new Error(`Sheet: band cell "${key}" names register "${meta.register}", which \`registers\` does not declare (${Object.keys(registers).join(", ") || "none declared"})`);
|
|
274
|
+
}
|
|
275
|
+
cellMetas.push(meta);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
199
278
|
// The bridge.
|
|
200
279
|
const bridge = buildBridge({
|
|
201
280
|
rowType, idField, metas, registers, driver,
|
|
202
281
|
source: resolved.kind === "inline"
|
|
203
282
|
? { kind: "inline", rows: resolved.rows }
|
|
204
283
|
: { kind: "paged", source: resolved.source, keyed },
|
|
284
|
+
...(groupDecl !== undefined && cellMetas !== undefined ? { group: { linesField: groupDecl.lines, cellMetas } } : {}),
|
|
285
|
+
...(opts.subRows !== undefined ? { subRows: opts.subRows } : {}),
|
|
205
286
|
});
|
|
206
287
|
// Pass 2 — the wire columns.
|
|
207
288
|
const columnValues = metas.map((m) => East.value({
|
|
@@ -214,18 +295,50 @@ export function createSheet(data, columns, options) {
|
|
|
214
295
|
payloadType: toEastTypeValue(m.payloadType),
|
|
215
296
|
editable: m.editable,
|
|
216
297
|
fill: (m.config.fill ?? []).map((f, i) => wrapProvider(bridge, m, f, i)),
|
|
298
|
+
detailCell: ruleCellKey(m, "detail"),
|
|
217
299
|
}, SheetColumnType));
|
|
218
|
-
// The rows — the same projection on both arms.
|
|
300
|
+
// The rows — the same projection on both arms. A grouped sheet's row is
|
|
301
|
+
// the group: the band's cells, its lines and the band; a loose row between
|
|
302
|
+
// the groups (#846) is a row of the line type: its cells, no lines, no band.
|
|
219
303
|
const ownedAccessor = opts.owned;
|
|
220
304
|
const ownedFn = East.function([rowType], BooleanType, (_$, r) => ownedAccessor !== undefined ? ownedAccessor(r) : East.value(false, BooleanType));
|
|
305
|
+
const groupBridge = bridge.group;
|
|
306
|
+
const subAccessor = groupDecl?.config.sub;
|
|
307
|
+
const foldedAccessor = groupDecl?.config.folded;
|
|
308
|
+
const subFn = East.function([groupType], StringType, (_$, r) => subAccessor !== undefined ? subAccessor(r) : East.value("", StringType));
|
|
309
|
+
const foldedFn = East.function([groupType], BooleanType, (_$, r) => foldedAccessor !== undefined ? foldedAccessor(r) : East.value(false, BooleanType));
|
|
221
310
|
const rowOf = East.function([rowType, StringType], SheetRowType, ($, r, id) => {
|
|
222
|
-
const project = $.const(bridge.projectRow);
|
|
223
311
|
const ownedOf = $.const(ownedFn);
|
|
224
312
|
const owned = $.let(ownedOf(r), BooleanType);
|
|
225
|
-
|
|
313
|
+
if (groupBridge === undefined) {
|
|
314
|
+
const project = $.const(bridge.projectRow);
|
|
315
|
+
const subRowsOf = $.const(bridge.projectSubRows);
|
|
316
|
+
return $.let({ id, owned, cells: project(r), lines: [], band: none, subRows: subRowsOf(r) }, SheetRowType);
|
|
317
|
+
}
|
|
318
|
+
const cellsOf = $.const(groupBridge.projectGroupCells);
|
|
319
|
+
const linesOf = $.const(groupBridge.projectLines);
|
|
320
|
+
const subOf = $.const(subFn);
|
|
321
|
+
const foldedOf = $.const(foldedFn);
|
|
322
|
+
if (!loose) {
|
|
323
|
+
const g = r;
|
|
324
|
+
return $.let({ id, owned, cells: cellsOf(g), lines: linesOf(g), band: some({ sub: subOf(g), folded: foldedOf(g) }), subRows: [] }, SheetRowType);
|
|
325
|
+
}
|
|
326
|
+
const project = $.const(bridge.projectRow);
|
|
327
|
+
const subRowsOf = $.const(bridge.projectSubRows);
|
|
328
|
+
return r.match({
|
|
329
|
+
group: ($2, g) => $2.let({ id, owned, cells: cellsOf(g), lines: linesOf(g), band: some({ sub: subOf(g), folded: foldedOf(g) }), subRows: [] }, SheetRowType),
|
|
330
|
+
row: ($2, l) => $2.let({ id, owned, cells: project(l), lines: [], band: none, subRows: subRowsOf(l) }, SheetRowType),
|
|
331
|
+
});
|
|
226
332
|
});
|
|
227
333
|
const makeKeyed = (collection) => collection.toArray((_$, v, k) => rowOf(v, k));
|
|
228
|
-
|
|
334
|
+
// A positional row's id is its id field — an entry's, through whichever arm it holds (#846).
|
|
335
|
+
const idAt = (r) => (loose
|
|
336
|
+
? r.match({
|
|
337
|
+
group: (_$, g) => g[idField],
|
|
338
|
+
row: (_$, l) => l[idField],
|
|
339
|
+
})
|
|
340
|
+
: r[idField]);
|
|
341
|
+
const makePositional = (collection) => collection.map((_$, r) => rowOf(r, idAt(r)));
|
|
229
342
|
const rowsValue = buildRowSource(resolved, SheetRowsCollectionType, keyed ? makeKeyed : makePositional);
|
|
230
343
|
// The copilot's row proposals.
|
|
231
344
|
const suggest = opts.suggest !== undefined
|
|
@@ -258,15 +371,25 @@ export function createSheet(data, columns, options) {
|
|
|
258
371
|
if (opts.affordances !== undefined && opts.slice === undefined) {
|
|
259
372
|
throw new Error("Sheet: `affordances` needs `slice` — the rail mounts them on the bound slice");
|
|
260
373
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
374
|
+
const editing = buildSheetEditing(resolved, bridge, idField, opts, driver?.column);
|
|
375
|
+
// The group declaration on the wire (#740).
|
|
376
|
+
const groupValue = groupBridge !== undefined && groupDecl !== undefined && cellMetas !== undefined
|
|
377
|
+
? East.value(some({
|
|
378
|
+
lines: groupDecl.lines,
|
|
379
|
+
cells: East.value(cellMetas.map((m) => East.value({
|
|
380
|
+
key: m.key,
|
|
381
|
+
field: m.field,
|
|
382
|
+
kind: buildKind(m, bridge, driver),
|
|
383
|
+
dataType: toEastTypeValue(m.fieldType),
|
|
384
|
+
payloadType: toEastTypeValue(m.payloadType),
|
|
385
|
+
editable: m.editable,
|
|
386
|
+
}, SheetGroupCellType)), ArrayType(SheetGroupCellType)),
|
|
387
|
+
// The host's word; with none, the renderer says its own (#861).
|
|
388
|
+
noun: optionOf(groupDecl.config.noun, SheetNounType),
|
|
389
|
+
// Loose rows between the groups (#846): a row without a band.
|
|
390
|
+
loose,
|
|
391
|
+
}), OptionType(SheetGroupType))
|
|
392
|
+
: East.value(none, OptionType(SheetGroupType));
|
|
270
393
|
const footer = East.value((opts.footer ?? []).map((f) => ({
|
|
271
394
|
text: f.text,
|
|
272
395
|
tone: f.tone !== undefined ? some(resolveTag(f.tone, StatusValueType)) : none,
|
|
@@ -280,6 +403,7 @@ export function createSheet(data, columns, options) {
|
|
|
280
403
|
: East.value(none, OptionType(SheetStyleType));
|
|
281
404
|
return East.value(variant("Sheet", {
|
|
282
405
|
rows: rowsValue,
|
|
406
|
+
editing,
|
|
283
407
|
columns: East.value(columnValues, ArrayType(SheetColumnType)),
|
|
284
408
|
registers: East.value(new Map(Object.entries(registers).map(([name, members]) => [name, East.value({ members }, SheetRegisterType)])), DictType(StringType, SheetRegisterType)),
|
|
285
409
|
driver: driver !== undefined
|
|
@@ -292,12 +416,12 @@ export function createSheet(data, columns, options) {
|
|
|
292
416
|
onViewsChange: opts.onViewsChange !== undefined
|
|
293
417
|
? some(East.value(opts.onViewsChange, FunctionType([ArrayType(SheetViewType)], NullType)))
|
|
294
418
|
: none,
|
|
295
|
-
onEdit: onEdit !== undefined ? some(onEdit) : East.value(none, OptionType(FunctionType([SheetEditType], NullType))),
|
|
296
419
|
onSelect: opts.onSelect !== undefined
|
|
297
420
|
? some(East.value(opts.onSelect, FunctionType([SheetSelectionType], NullType)))
|
|
298
421
|
: none,
|
|
299
422
|
selection: opts.selection !== undefined ? East.value(opts.selection, OptionType(SheetSelectionType)) : East.value(none, OptionType(SheetSelectionType)),
|
|
300
423
|
newRowId: opts.newRowId !== undefined ? some(East.value(opts.newRowId, FunctionType([], StringType))) : none,
|
|
424
|
+
group: groupValue,
|
|
301
425
|
readOnly: opts.readOnly !== undefined ? some(opts.readOnly) : none,
|
|
302
426
|
blanks: opts.blanks !== undefined ? some(typeof opts.blanks === "number" ? BigInt(opts.blanks) : opts.blanks) : none,
|
|
303
427
|
density: opts.density !== undefined ? some(resolveTag(opts.density, DensityType)) : none,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../src/collections/sheet/root.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../src/collections/sheet/root.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
/** Explicit creation defaults, retaining omitted fields as missing. @packageDocumentation */
|
|
6
|
+
import { FunctionType, StructType, type ExprType } from "@elaraai/east";
|
|
7
|
+
import { SheetSeedType } from "./editing-types.js";
|
|
8
|
+
import type { SheetBridge } from "./bridge.js";
|
|
9
|
+
/** Wrap a constructor once; its field draft and cells come from the same invocation. @internal */
|
|
10
|
+
export declare function buildSheetSeed(input: StructType, rowType: StructType, author: ExprType<FunctionType<[StructType], StructType>>, cellsOf: SheetBridge["encodePatch"], children?: {
|
|
11
|
+
field: string;
|
|
12
|
+
project: SheetBridge["projectRow"];
|
|
13
|
+
}): ExprType<FunctionType<[StructType], typeof SheetSeedType>>;
|
|
14
|
+
//# sourceMappingURL=seed-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-bridge.d.ts","sourceRoot":"","sources":["../../../../src/collections/sheet/seed-bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6FAA6F;AAC7F,OAAO,EAAmB,YAAY,EAAc,UAAU,EAAgC,KAAK,QAAQ,EAA2B,MAAM,eAAe,CAAC;AAE5J,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,kGAAkG;AAClG,wBAAgB,cAAc,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,EACxD,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,QAAQ,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CAAE,GACjE,QAAQ,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,CAAC,CAoC5D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
/** Explicit creation defaults, retaining omitted fields as missing. @packageDocumentation */
|
|
6
|
+
import { ArrayType, East, FunctionType, OptionType, StructType, none, variant } from "@elaraai/east";
|
|
7
|
+
import { SheetRowType, SheetLineType, SheetSubRowType, SheetPatchTypeFor } from "./types.js";
|
|
8
|
+
import { SheetSeedType } from "./editing-types.js";
|
|
9
|
+
import { SheetDraftFieldType, SheetDraftTypeFor } from "./transactions.js";
|
|
10
|
+
import { SheetDraftGroupTypeFor } from "./drafts.js";
|
|
11
|
+
import { buildDraftLift } from "./context-bridge.js";
|
|
12
|
+
/** Wrap a constructor once; its field draft and cells come from the same invocation. @internal */
|
|
13
|
+
export function buildSheetSeed(input, rowType, author, cellsOf, children) {
|
|
14
|
+
const patchType = SheetPatchTypeFor(rowType);
|
|
15
|
+
const draftType = (children === undefined ? SheetDraftTypeFor(rowType) : SheetDraftGroupTypeFor(rowType, children.field));
|
|
16
|
+
const childFieldType = children === undefined ? undefined : rowType.fields[children.field];
|
|
17
|
+
const childType = childFieldType?.type === "Array" && childFieldType.value.type === "Struct" ? childFieldType.value : undefined;
|
|
18
|
+
const liftChild = childType === undefined ? undefined : buildDraftLift(childType);
|
|
19
|
+
return East.function([input], SheetSeedType, ($, context) => {
|
|
20
|
+
const create = $.const(author);
|
|
21
|
+
const project = $.const(cellsOf);
|
|
22
|
+
const patch = $.const(create(context), patchType);
|
|
23
|
+
const fields = {};
|
|
24
|
+
let lines = $.const([], ArrayType(SheetLineType));
|
|
25
|
+
// A seed shows no sub rows until the host's rebuild projects them.
|
|
26
|
+
const noSubRows = $.const([], ArrayType(SheetSubRowType));
|
|
27
|
+
for (const [field, type] of Object.entries(rowType.fields)) {
|
|
28
|
+
const supplied = patch[field];
|
|
29
|
+
if (field === children?.field && childType !== undefined && liftChild !== undefined) {
|
|
30
|
+
const rows = $.const(supplied.match({
|
|
31
|
+
none: ($) => $.const([], ArrayType(childType)), some: (_$, value) => value,
|
|
32
|
+
}), ArrayType(childType));
|
|
33
|
+
const lift = $.const(liftChild);
|
|
34
|
+
const projectRow = $.const(children.project);
|
|
35
|
+
fields[field] = rows.map((_$, row) => lift(row));
|
|
36
|
+
lines = $.const(rows.map((_$, row, index) => ({ key: East.str `seed:${index}`, cells: projectRow(row), subRows: noSubRows })), ArrayType(SheetLineType));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const draftField = SheetDraftFieldType(type);
|
|
40
|
+
fields[field] = supplied.match({
|
|
41
|
+
none: ($) => $.const(variant("missing", null), draftField),
|
|
42
|
+
some: ($, value) => $.const(variant("value", value), draftField),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const draft = $.const(fields, draftType);
|
|
47
|
+
const row = $.const({ id: "", owned: false, cells: project(patch), lines, band: none, subRows: noSubRows }, SheetRowType);
|
|
48
|
+
return { draft: East.Blob.encodeBeast(draft, "v2"), row: East.Blob.encodeBeast(row, "v2") };
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=seed-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-bridge.js","sourceRoot":"","sources":["../../../../src/collections/sheet/seed-bridge.ts"],"names":[],"mappings":"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"}
|