@elaraai/east-ui 1.0.86 → 1.0.87
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/buttons/button/index.d.ts +4 -0
- package/dist/src/buttons/button/index.d.ts.map +1 -1
- package/dist/src/buttons/button/index.js +8 -1
- package/dist/src/buttons/button/index.js.map +1 -1
- package/dist/src/buttons/button/types.d.ts +6 -5
- package/dist/src/buttons/button/types.d.ts.map +1 -1
- package/dist/src/buttons/button/types.js.map +1 -1
- package/dist/src/buttons/icon-button/index.d.ts +5 -5
- package/dist/src/buttons/icon-button/index.d.ts.map +1 -1
- package/dist/src/buttons/icon-button/index.js +8 -2
- package/dist/src/buttons/icon-button/index.js.map +1 -1
- package/dist/src/buttons/icon-button/types.d.ts +8 -12
- package/dist/src/buttons/icon-button/types.d.ts.map +1 -1
- package/dist/src/buttons/icon-button/types.js +2 -2
- package/dist/src/buttons/icon-button/types.js.map +1 -1
- package/dist/src/buttons/toggle/index.d.ts +4 -0
- package/dist/src/buttons/toggle/index.d.ts.map +1 -1
- package/dist/src/buttons/toggle/index.js +6 -1
- package/dist/src/buttons/toggle/index.js.map +1 -1
- package/dist/src/buttons/toggle/types.d.ts +3 -2
- package/dist/src/buttons/toggle/types.d.ts.map +1 -1
- package/dist/src/buttons/toggle/types.js.map +1 -1
- 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.map +1 -1
- package/dist/src/charts/spec/index.js +5 -2
- package/dist/src/charts/spec/index.js.map +1 -1
- package/dist/src/collections/deck/index.d.ts.map +1 -1
- package/dist/src/collections/deck/index.js +2 -2
- package/dist/src/collections/deck/index.js.map +1 -1
- package/dist/src/collections/index.d.ts +0 -6
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js +0 -6
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/collections/library/index.d.ts +1 -1
- package/dist/src/collections/library/index.d.ts.map +1 -1
- package/dist/src/collections/library/index.js +2 -2
- package/dist/src/collections/library/index.js.map +1 -1
- package/dist/src/collections/schematic/index.d.ts.map +1 -1
- package/dist/src/collections/schematic/index.js +2 -2
- package/dist/src/collections/schematic/index.js.map +1 -1
- package/dist/src/collections/table/index.d.ts +1 -1
- package/dist/src/collections/table/index.d.ts.map +1 -1
- package/dist/src/collections/table/index.js +2 -2
- package/dist/src/collections/table/index.js.map +1 -1
- package/dist/src/collections/tree-view/index.d.ts +11 -32
- package/dist/src/collections/tree-view/index.d.ts.map +1 -1
- package/dist/src/collections/tree-view/index.js +15 -10
- package/dist/src/collections/tree-view/index.js.map +1 -1
- package/dist/src/component.d.ts +673 -9344
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +5 -259
- package/dist/src/component.js.map +1 -1
- package/dist/src/contracts/approval.d.ts +6 -8
- package/dist/src/contracts/approval.d.ts.map +1 -1
- package/dist/src/contracts/approval.js +6 -8
- package/dist/src/contracts/approval.js.map +1 -1
- package/dist/src/contracts/drag.d.ts +1 -1
- package/dist/src/contracts/drag.d.ts.map +1 -1
- package/dist/src/contracts/drag.js +4 -5
- package/dist/src/contracts/drag.js.map +1 -1
- package/dist/src/contracts/editing.d.ts +19 -19
- package/dist/src/contracts/editing.js +14 -14
- package/dist/src/contracts/fields.d.ts +471 -0
- package/dist/src/contracts/fields.d.ts.map +1 -0
- package/dist/src/contracts/fields.js +492 -0
- package/dist/src/contracts/fields.js.map +1 -0
- package/dist/src/contracts/index.d.ts +1 -0
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js +1 -0
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/indexed-source.d.ts +118 -0
- package/dist/src/contracts/indexed-source.d.ts.map +1 -0
- package/dist/src/contracts/indexed-source.js +89 -0
- package/dist/src/contracts/indexed-source.js.map +1 -0
- package/dist/src/contracts/pick.d.ts +0 -16
- package/dist/src/contracts/pick.d.ts.map +1 -1
- package/dist/src/contracts/review.d.ts +4 -6
- package/dist/src/contracts/review.d.ts.map +1 -1
- package/dist/src/contracts/review.js +4 -6
- package/dist/src/contracts/review.js.map +1 -1
- package/dist/src/contracts/source.d.ts +2 -2
- package/dist/src/contracts/source.d.ts.map +1 -1
- package/dist/src/contracts/source.js.map +1 -1
- package/dist/src/contracts/states.d.ts +1 -3
- package/dist/src/contracts/states.d.ts.map +1 -1
- package/dist/src/contracts/states.js +1 -3
- package/dist/src/contracts/states.js.map +1 -1
- package/dist/src/display/editable-chip/index.d.ts +2 -0
- package/dist/src/display/editable-chip/index.d.ts.map +1 -1
- package/dist/src/display/editable-chip/index.js +4 -1
- package/dist/src/display/editable-chip/index.js.map +1 -1
- package/dist/src/display/icon/index.d.ts +14 -31
- package/dist/src/display/icon/index.d.ts.map +1 -1
- package/dist/src/display/icon/index.js +15 -19
- package/dist/src/display/icon/index.js.map +1 -1
- package/dist/src/display/icon/solid.d.ts +24 -0
- package/dist/src/display/icon/solid.d.ts.map +1 -0
- package/dist/src/display/icon/solid.js +39 -0
- package/dist/src/display/icon/solid.js.map +1 -0
- package/dist/src/display/icon/types.d.ts +14 -38
- package/dist/src/display/icon/types.d.ts.map +1 -1
- package/dist/src/display/icon/types.js +6 -15
- package/dist/src/display/icon/types.js.map +1 -1
- package/dist/src/display/metric-chip/index.d.ts +2 -0
- package/dist/src/display/metric-chip/index.d.ts.map +1 -1
- package/dist/src/display/metric-chip/index.js +4 -1
- package/dist/src/display/metric-chip/index.js.map +1 -1
- package/dist/src/display/stat/index.d.ts +2 -0
- package/dist/src/display/stat/index.d.ts.map +1 -1
- package/dist/src/display/stat/index.js +4 -1
- package/dist/src/display/stat/index.js.map +1 -1
- package/dist/src/display/stat/types.d.ts +3 -5
- package/dist/src/display/stat/types.d.ts.map +1 -1
- package/dist/src/display/stat/types.js +5 -2
- package/dist/src/display/stat/types.js.map +1 -1
- package/dist/src/feedback/banner/index.d.ts +5 -3
- package/dist/src/feedback/banner/index.d.ts.map +1 -1
- package/dist/src/feedback/banner/index.js +4 -1
- package/dist/src/feedback/banner/index.js.map +1 -1
- package/dist/src/feedback/empty-state/index.d.ts +16 -19
- package/dist/src/feedback/empty-state/index.d.ts.map +1 -1
- package/dist/src/feedback/empty-state/index.js +17 -10
- package/dist/src/feedback/empty-state/index.js.map +1 -1
- package/dist/src/feedback/status/index.d.ts +5 -3
- package/dist/src/feedback/status/index.d.ts.map +1 -1
- package/dist/src/feedback/status/index.js +4 -1
- package/dist/src/feedback/status/index.js.map +1 -1
- package/dist/src/index.d.ts +5 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +23 -16
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +29 -13
- package/dist/src/internal.js.map +1 -1
- package/dist/src/navigation/index.d.ts +0 -2
- package/dist/src/navigation/index.d.ts.map +1 -1
- package/dist/src/navigation/index.js +0 -2
- package/dist/src/navigation/index.js.map +1 -1
- package/dist/src/navigation/nav-list/index.d.ts +2 -0
- package/dist/src/navigation/nav-list/index.d.ts.map +1 -1
- package/dist/src/navigation/nav-list/index.js +4 -1
- package/dist/src/navigation/nav-list/index.js.map +1 -1
- package/dist/src/navigation/nav-list/types.d.ts +3 -14
- package/dist/src/navigation/nav-list/types.d.ts.map +1 -1
- package/dist/src/navigation/nav-list/types.js.map +1 -1
- package/dist/src/overlays/command-palette/index.d.ts +2 -0
- package/dist/src/overlays/command-palette/index.d.ts.map +1 -1
- package/dist/src/overlays/command-palette/index.js +5 -0
- package/dist/src/overlays/command-palette/index.js.map +1 -1
- package/dist/src/overlays/command-palette/types.d.ts +0 -8
- package/dist/src/overlays/command-palette/types.d.ts.map +1 -1
- package/dist/src/pick/index.d.ts +1 -17
- package/dist/src/pick/index.d.ts.map +1 -1
- package/dist/src/pick/index.js +1 -1
- package/dist/src/platform/slice/index.d.ts +1324 -2039
- package/dist/src/platform/slice/index.d.ts.map +1 -1
- package/dist/src/platform/slice/index.js +55 -74
- package/dist/src/platform/slice/index.js.map +1 -1
- package/dist/src/platform/slice/local.d.ts +743 -0
- package/dist/src/platform/slice/local.d.ts.map +1 -0
- package/dist/src/platform/slice/local.js +133 -0
- package/dist/src/platform/slice/local.js.map +1 -0
- package/dist/src/platform/slice/record-chrome.d.ts +211 -0
- package/dist/src/platform/slice/record-chrome.d.ts.map +1 -0
- package/dist/src/platform/slice/record-chrome.js +52 -0
- package/dist/src/platform/slice/record-chrome.js.map +1 -0
- package/dist/src/platform/slice/record-interval.d.ts +24 -0
- package/dist/src/platform/slice/record-interval.d.ts.map +1 -0
- package/dist/src/platform/slice/record-interval.js +61 -0
- package/dist/src/platform/slice/record-interval.js.map +1 -0
- package/dist/src/platform/slice/record-plan.d.ts +54 -0
- package/dist/src/platform/slice/record-plan.d.ts.map +1 -0
- package/dist/src/platform/slice/record-plan.js +139 -0
- package/dist/src/platform/slice/record-plan.js.map +1 -0
- package/dist/src/platform/slice/record-types.d.ts +2739 -0
- package/dist/src/platform/slice/record-types.d.ts.map +1 -0
- package/dist/src/platform/slice/record-types.js +209 -0
- package/dist/src/platform/slice/record-types.js.map +1 -0
- package/dist/src/platform/slice/record.d.ts +109 -0
- package/dist/src/platform/slice/record.d.ts.map +1 -0
- package/dist/src/platform/slice/record.js +210 -0
- package/dist/src/platform/slice/record.js.map +1 -0
- package/dist/src/reactive/match.d.ts +4 -6
- package/dist/src/reactive/match.d.ts.map +1 -1
- package/dist/src/reactive/match.js +4 -6
- package/dist/src/reactive/match.js.map +1 -1
- package/dist/src/runtime/collections/deck.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.d.ts +0 -6
- package/dist/src/runtime/collections/index.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.js +0 -6
- package/dist/src/runtime/collections/index.js.map +1 -1
- package/dist/src/runtime/display/icon.d.ts +6 -5
- package/dist/src/runtime/display/icon.d.ts.map +1 -1
- package/dist/src/runtime/display/icon.js +6 -5
- package/dist/src/runtime/display/icon.js.map +1 -1
- package/dist/src/runtime/feedback/empty-state.d.ts +5 -5
- package/dist/src/runtime/feedback/empty-state.js +5 -5
- package/dist/src/runtime/layout/dock.d.ts +2 -1
- package/dist/src/runtime/layout/dock.d.ts.map +1 -1
- package/dist/src/runtime/layout/dock.js +2 -1
- package/dist/src/runtime/layout/dock.js.map +1 -1
- package/dist/src/runtime/navigation/index.d.ts +0 -3
- package/dist/src/runtime/navigation/index.d.ts.map +1 -1
- package/dist/src/runtime/navigation/index.js +0 -3
- package/dist/src/runtime/navigation/index.js.map +1 -1
- package/dist/src/runtime/reactive/match.d.ts +2 -3
- package/dist/src/runtime/reactive/match.d.ts.map +1 -1
- package/dist/src/runtime/reactive/match.js +2 -3
- package/dist/src/runtime/reactive/match.js.map +1 -1
- package/dist/src/runtime/record-slice-source.d.ts +78 -0
- package/dist/src/runtime/record-slice-source.d.ts.map +1 -0
- package/dist/src/runtime/record-slice-source.js +201 -0
- package/dist/src/runtime/record-slice-source.js.map +1 -0
- package/dist/src/runtime/record-slice.d.ts +110 -0
- package/dist/src/runtime/record-slice.d.ts.map +1 -0
- package/dist/src/runtime/record-slice.js +374 -0
- package/dist/src/runtime/record-slice.js.map +1 -0
- package/dist/src/runtime/slice.d.ts +11 -13
- package/dist/src/runtime/slice.d.ts.map +1 -1
- package/dist/src/runtime/slice.js +41 -93
- package/dist/src/runtime/slice.js.map +1 -1
- package/dist/src/shared/plot-gutter.d.ts +1 -1
- package/dist/src/shared/plot-gutter.js +1 -1
- package/dist/src/shared/resolve-tag.d.ts +23 -0
- package/dist/src/shared/resolve-tag.d.ts.map +1 -0
- package/dist/src/shared/resolve-tag.js +26 -0
- package/dist/src/shared/resolve-tag.js.map +1 -0
- package/dist/src/shared/tree.d.ts +1 -1
- package/dist/src/shared/tree.js +1 -1
- package/dist/src/slice/breakdown/index.d.ts +1 -1
- package/dist/src/slice/breakdown/index.d.ts.map +1 -1
- package/dist/src/slice/breakdown/index.js +3 -3
- package/dist/src/slice/breakdown/index.js.map +1 -1
- package/dist/src/slice/cohort/index.d.ts +4 -5
- package/dist/src/slice/cohort/index.d.ts.map +1 -1
- package/dist/src/slice/cohort/index.js +6 -7
- package/dist/src/slice/cohort/index.js.map +1 -1
- package/dist/src/slice/filter/index.d.ts +1 -1
- package/dist/src/slice/filter/index.d.ts.map +1 -1
- package/dist/src/slice/filter/index.js +3 -3
- package/dist/src/slice/filter/index.js.map +1 -1
- package/dist/src/slice/index.d.ts +20 -2230
- package/dist/src/slice/index.d.ts.map +1 -1
- package/dist/src/slice/legend/index.d.ts +2 -2
- package/dist/src/slice/legend/index.d.ts.map +1 -1
- package/dist/src/slice/legend/index.js +4 -4
- package/dist/src/slice/legend/index.js.map +1 -1
- package/dist/src/slice/rail/index.d.ts +7 -4
- package/dist/src/slice/rail/index.d.ts.map +1 -1
- package/dist/src/slice/rail/index.js +10 -5
- package/dist/src/slice/rail/index.js.map +1 -1
- package/dist/src/slice/range/index.d.ts +1 -1
- package/dist/src/slice/range/index.d.ts.map +1 -1
- package/dist/src/slice/range/index.js +3 -3
- package/dist/src/slice/range/index.js.map +1 -1
- package/dist/src/slice/record/index.d.ts +171 -0
- package/dist/src/slice/record/index.d.ts.map +1 -0
- package/dist/src/slice/record/index.js +10 -0
- package/dist/src/slice/record/index.js.map +1 -0
- package/dist/src/slice/search/index.d.ts +6 -6
- package/dist/src/slice/search/index.d.ts.map +1 -1
- package/dist/src/slice/search/index.js +7 -7
- package/dist/src/slice/search/index.js.map +1 -1
- package/dist/src/slice/summary/index.d.ts +1 -1
- package/dist/src/slice/summary/index.d.ts.map +1 -1
- package/dist/src/slice/summary/index.js +3 -3
- package/dist/src/slice/summary/index.js.map +1 -1
- package/dist/src/typography/list/index.d.ts +2 -8
- package/dist/src/typography/list/index.d.ts.map +1 -1
- package/dist/src/typography/list/index.js +4 -1
- package/dist/src/typography/list/index.js.map +1 -1
- package/dist/src/typography/list/types.d.ts +0 -8
- package/dist/src/typography/list/types.d.ts.map +1 -1
- package/dist/test/collections/deck.examples.d.ts.map +1 -1
- package/dist/test/collections/deck.examples.js +6 -7
- package/dist/test/collections/deck.examples.js.map +1 -1
- package/dist/test/collections/index.d.ts +0 -1
- package/dist/test/collections/index.d.ts.map +1 -1
- package/dist/test/collections/index.js +0 -1
- package/dist/test/collections/index.js.map +1 -1
- package/dist/test/collections/library.examples.d.ts.map +1 -1
- package/dist/test/collections/library.examples.js +6 -7
- package/dist/test/collections/library.examples.js.map +1 -1
- package/dist/test/collections/schematic.examples.d.ts.map +1 -1
- package/dist/test/collections/schematic.examples.js +11 -19
- package/dist/test/collections/schematic.examples.js.map +1 -1
- package/dist/test/collections/tree-view.examples.js +2 -2
- package/dist/test/contracts/editing.examples.d.ts +1 -0
- package/dist/test/contracts/editing.examples.d.ts.map +1 -1
- package/dist/test/contracts/editing.examples.js +37 -6
- package/dist/test/contracts/editing.examples.js.map +1 -1
- package/dist/test/contracts/fields.examples.d.ts +7 -0
- package/dist/test/contracts/fields.examples.d.ts.map +1 -0
- package/dist/test/contracts/fields.examples.js +42 -0
- package/dist/test/contracts/fields.examples.js.map +1 -0
- package/dist/test/display/avatar.examples.d.ts.map +1 -1
- package/dist/test/display/avatar.examples.js +3 -3
- package/dist/test/display/avatar.examples.js.map +1 -1
- package/dist/test/display/icon.examples.d.ts.map +1 -1
- package/dist/test/display/icon.examples.js +12 -11
- package/dist/test/display/icon.examples.js.map +1 -1
- package/dist/test/feedback/empty-state.examples.js +9 -9
- package/dist/test/feedback/empty-state.examples.js.map +1 -1
- package/dist/test/layout/dock.examples.d.ts +0 -8
- package/dist/test/layout/dock.examples.d.ts.map +1 -1
- package/dist/test/layout/dock.examples.js +2 -42
- package/dist/test/layout/dock.examples.js.map +1 -1
- package/dist/test/layout/snap-grid.examples.d.ts.map +1 -1
- package/dist/test/layout/snap-grid.examples.js +18 -28
- package/dist/test/layout/snap-grid.examples.js.map +1 -1
- package/dist/test/navigation/index.d.ts +0 -2
- package/dist/test/navigation/index.d.ts.map +1 -1
- package/dist/test/navigation/index.js +0 -2
- package/dist/test/navigation/index.js.map +1 -1
- package/dist/test/navigation/nav-list.examples.js.map +1 -1
- package/dist/test/platform/index.d.ts +1 -0
- package/dist/test/platform/index.d.ts.map +1 -1
- package/dist/test/platform/index.js +1 -0
- package/dist/test/platform/index.js.map +1 -1
- package/dist/test/platform/slice-local.examples.d.ts +2 -0
- package/dist/test/platform/slice-local.examples.d.ts.map +1 -0
- package/dist/test/platform/slice-local.examples.js +31 -0
- package/dist/test/platform/slice-local.examples.js.map +1 -0
- package/dist/test/platform/slice.examples.js +61 -61
- package/dist/test/platform/slice.examples.js.map +1 -1
- package/dist/test/slice/slice.examples.d.ts +0 -1
- package/dist/test/slice/slice.examples.d.ts.map +1 -1
- package/dist/test/slice/slice.examples.js +67 -181
- package/dist/test/slice/slice.examples.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/collections/board/index.d.ts +0 -855
- package/dist/src/collections/board/index.d.ts.map +0 -1
- package/dist/src/collections/board/index.js +0 -416
- package/dist/src/collections/board/index.js.map +0 -1
- package/dist/src/collections/board/types.d.ts +0 -111
- package/dist/src/collections/board/types.d.ts.map +0 -1
- package/dist/src/collections/board/types.js +0 -89
- package/dist/src/collections/board/types.js.map +0 -1
- package/dist/src/collections/calendar/index.d.ts +0 -446
- package/dist/src/collections/calendar/index.d.ts.map +0 -1
- package/dist/src/collections/calendar/index.js +0 -287
- package/dist/src/collections/calendar/index.js.map +0 -1
- package/dist/src/collections/calendar/types.d.ts +0 -338
- package/dist/src/collections/calendar/types.d.ts.map +0 -1
- package/dist/src/collections/calendar/types.js +0 -206
- package/dist/src/collections/calendar/types.js.map +0 -1
- package/dist/src/collections/flowchart/index.d.ts +0 -430
- package/dist/src/collections/flowchart/index.d.ts.map +0 -1
- package/dist/src/collections/flowchart/index.js +0 -292
- package/dist/src/collections/flowchart/index.js.map +0 -1
- package/dist/src/collections/flowchart/types.d.ts +0 -333
- package/dist/src/collections/flowchart/types.d.ts.map +0 -1
- package/dist/src/collections/flowchart/types.js +0 -263
- package/dist/src/collections/flowchart/types.js.map +0 -1
- package/dist/src/collections/plan/assemble.d.ts +0 -2274
- package/dist/src/collections/plan/assemble.d.ts.map +0 -1
- package/dist/src/collections/plan/assemble.js +0 -210
- package/dist/src/collections/plan/assemble.js.map +0 -1
- package/dist/src/collections/plan/builders.d.ts +0 -765
- package/dist/src/collections/plan/builders.d.ts.map +0 -1
- package/dist/src/collections/plan/builders.js +0 -673
- package/dist/src/collections/plan/builders.js.map +0 -1
- package/dist/src/collections/plan/factories.d.ts +0 -512
- package/dist/src/collections/plan/factories.d.ts.map +0 -1
- package/dist/src/collections/plan/factories.js +0 -539
- package/dist/src/collections/plan/factories.js.map +0 -1
- package/dist/src/collections/plan/index.d.ts +0 -324
- package/dist/src/collections/plan/index.d.ts.map +0 -1
- package/dist/src/collections/plan/index.js +0 -193
- package/dist/src/collections/plan/index.js.map +0 -1
- package/dist/src/collections/plan/ir.d.ts +0 -2490
- package/dist/src/collections/plan/ir.d.ts.map +0 -1
- package/dist/src/collections/plan/ir.js +0 -107
- package/dist/src/collections/plan/ir.js.map +0 -1
- package/dist/src/collections/plan/pick.d.ts +0 -133
- package/dist/src/collections/plan/pick.d.ts.map +0 -1
- package/dist/src/collections/plan/pick.js +0 -208
- package/dist/src/collections/plan/pick.js.map +0 -1
- package/dist/src/collections/plan/root.d.ts +0 -297
- package/dist/src/collections/plan/root.d.ts.map +0 -1
- package/dist/src/collections/plan/root.js +0 -427
- package/dist/src/collections/plan/root.js.map +0 -1
- package/dist/src/collections/plan/series.d.ts +0 -13887
- package/dist/src/collections/plan/series.d.ts.map +0 -1
- package/dist/src/collections/plan/series.js +0 -1710
- package/dist/src/collections/plan/series.js.map +0 -1
- package/dist/src/collections/plan/types.d.ts +0 -12612
- package/dist/src/collections/plan/types.d.ts.map +0 -1
- package/dist/src/collections/plan/types.js +0 -1345
- package/dist/src/collections/plan/types.js.map +0 -1
- package/dist/src/collections/roster/index.d.ts +0 -787
- package/dist/src/collections/roster/index.d.ts.map +0 -1
- package/dist/src/collections/roster/index.js +0 -325
- package/dist/src/collections/roster/index.js.map +0 -1
- package/dist/src/collections/roster/types.d.ts +0 -97
- package/dist/src/collections/roster/types.d.ts.map +0 -1
- package/dist/src/collections/roster/types.js +0 -72
- package/dist/src/collections/roster/types.js.map +0 -1
- package/dist/src/collections/sheet/bridge.d.ts +0 -376
- package/dist/src/collections/sheet/bridge.d.ts.map +0 -1
- package/dist/src/collections/sheet/bridge.js +0 -773
- package/dist/src/collections/sheet/bridge.js.map +0 -1
- package/dist/src/collections/sheet/columns.d.ts +0 -410
- package/dist/src/collections/sheet/columns.d.ts.map +0 -1
- package/dist/src/collections/sheet/columns.js +0 -99
- package/dist/src/collections/sheet/columns.js.map +0 -1
- package/dist/src/collections/sheet/context-bridge.d.ts +0 -48
- package/dist/src/collections/sheet/context-bridge.d.ts.map +0 -1
- package/dist/src/collections/sheet/context-bridge.js +0 -216
- package/dist/src/collections/sheet/context-bridge.js.map +0 -1
- package/dist/src/collections/sheet/draft-bridge.d.ts +0 -37
- package/dist/src/collections/sheet/draft-bridge.d.ts.map +0 -1
- package/dist/src/collections/sheet/draft-bridge.js +0 -153
- package/dist/src/collections/sheet/draft-bridge.js.map +0 -1
- package/dist/src/collections/sheet/drafts.d.ts +0 -14
- package/dist/src/collections/sheet/drafts.d.ts.map +0 -1
- package/dist/src/collections/sheet/drafts.js +0 -14
- package/dist/src/collections/sheet/drafts.js.map +0 -1
- package/dist/src/collections/sheet/editing-bridge.d.ts +0 -36
- package/dist/src/collections/sheet/editing-bridge.d.ts.map +0 -1
- package/dist/src/collections/sheet/editing-bridge.js +0 -196
- package/dist/src/collections/sheet/editing-bridge.js.map +0 -1
- package/dist/src/collections/sheet/editing-types.d.ts +0 -268
- package/dist/src/collections/sheet/editing-types.d.ts.map +0 -1
- package/dist/src/collections/sheet/editing-types.js +0 -34
- package/dist/src/collections/sheet/editing-types.js.map +0 -1
- package/dist/src/collections/sheet/edits.d.ts +0 -37
- package/dist/src/collections/sheet/edits.d.ts.map +0 -1
- package/dist/src/collections/sheet/edits.js +0 -31
- package/dist/src/collections/sheet/edits.js.map +0 -1
- package/dist/src/collections/sheet/group.d.ts +0 -165
- package/dist/src/collections/sheet/group.d.ts.map +0 -1
- package/dist/src/collections/sheet/group.js +0 -52
- package/dist/src/collections/sheet/group.js.map +0 -1
- package/dist/src/collections/sheet/index.d.ts +0 -351
- package/dist/src/collections/sheet/index.d.ts.map +0 -1
- package/dist/src/collections/sheet/index.js +0 -208
- package/dist/src/collections/sheet/index.js.map +0 -1
- package/dist/src/collections/sheet/link.d.ts +0 -398
- package/dist/src/collections/sheet/link.d.ts.map +0 -1
- package/dist/src/collections/sheet/link.js +0 -228
- package/dist/src/collections/sheet/link.js.map +0 -1
- package/dist/src/collections/sheet/registers.d.ts +0 -278
- package/dist/src/collections/sheet/registers.d.ts.map +0 -1
- package/dist/src/collections/sheet/registers.js +0 -268
- package/dist/src/collections/sheet/registers.js.map +0 -1
- package/dist/src/collections/sheet/root.d.ts +0 -328
- package/dist/src/collections/sheet/root.d.ts.map +0 -1
- package/dist/src/collections/sheet/root.js +0 -432
- package/dist/src/collections/sheet/root.js.map +0 -1
- package/dist/src/collections/sheet/seed-bridge.d.ts +0 -14
- package/dist/src/collections/sheet/seed-bridge.d.ts.map +0 -1
- package/dist/src/collections/sheet/seed-bridge.js +0 -51
- package/dist/src/collections/sheet/seed-bridge.js.map +0 -1
- package/dist/src/collections/sheet/sub-rows.d.ts +0 -249
- package/dist/src/collections/sheet/sub-rows.d.ts.map +0 -1
- package/dist/src/collections/sheet/sub-rows.js +0 -222
- package/dist/src/collections/sheet/sub-rows.js.map +0 -1
- package/dist/src/collections/sheet/transactions.d.ts +0 -76
- package/dist/src/collections/sheet/transactions.d.ts.map +0 -1
- package/dist/src/collections/sheet/transactions.js +0 -40
- package/dist/src/collections/sheet/transactions.js.map +0 -1
- package/dist/src/collections/sheet/types.d.ts +0 -14992
- package/dist/src/collections/sheet/types.d.ts.map +0 -1
- package/dist/src/collections/sheet/types.js +0 -1061
- package/dist/src/collections/sheet/types.js.map +0 -1
- package/dist/src/navigation/app/index.d.ts +0 -150
- package/dist/src/navigation/app/index.d.ts.map +0 -1
- package/dist/src/navigation/app/index.js +0 -191
- package/dist/src/navigation/app/index.js.map +0 -1
- package/dist/src/navigation/pages/index.d.ts +0 -165
- package/dist/src/navigation/pages/index.d.ts.map +0 -1
- package/dist/src/navigation/pages/index.js +0 -152
- package/dist/src/navigation/pages/index.js.map +0 -1
- package/dist/src/navigation/pages/types.d.ts +0 -111
- package/dist/src/navigation/pages/types.d.ts.map +0 -1
- package/dist/src/navigation/pages/types.js +0 -101
- package/dist/src/navigation/pages/types.js.map +0 -1
- package/dist/src/runtime/collections/board.d.ts +0 -73
- package/dist/src/runtime/collections/board.d.ts.map +0 -1
- package/dist/src/runtime/collections/board.js +0 -68
- package/dist/src/runtime/collections/board.js.map +0 -1
- package/dist/src/runtime/collections/calendar.d.ts +0 -54
- package/dist/src/runtime/collections/calendar.d.ts.map +0 -1
- package/dist/src/runtime/collections/calendar.js +0 -54
- package/dist/src/runtime/collections/calendar.js.map +0 -1
- package/dist/src/runtime/collections/flowchart.d.ts +0 -58
- package/dist/src/runtime/collections/flowchart.d.ts.map +0 -1
- package/dist/src/runtime/collections/flowchart.js +0 -54
- package/dist/src/runtime/collections/flowchart.js.map +0 -1
- package/dist/src/runtime/collections/plan.d.ts +0 -181
- package/dist/src/runtime/collections/plan.d.ts.map +0 -1
- package/dist/src/runtime/collections/plan.js +0 -186
- package/dist/src/runtime/collections/plan.js.map +0 -1
- package/dist/src/runtime/collections/roster.d.ts +0 -60
- package/dist/src/runtime/collections/roster.d.ts.map +0 -1
- package/dist/src/runtime/collections/roster.js +0 -59
- package/dist/src/runtime/collections/roster.js.map +0 -1
- package/dist/src/runtime/collections/sheet.d.ts +0 -122
- package/dist/src/runtime/collections/sheet.d.ts.map +0 -1
- package/dist/src/runtime/collections/sheet.js +0 -73
- package/dist/src/runtime/collections/sheet.js.map +0 -1
- package/dist/src/runtime/navigation/app.d.ts +0 -52
- package/dist/src/runtime/navigation/app.d.ts.map +0 -1
- package/dist/src/runtime/navigation/app.js +0 -53
- package/dist/src/runtime/navigation/app.js.map +0 -1
- package/dist/src/runtime/navigation/pages.d.ts +0 -50
- package/dist/src/runtime/navigation/pages.d.ts.map +0 -1
- package/dist/src/runtime/navigation/pages.js +0 -52
- package/dist/src/runtime/navigation/pages.js.map +0 -1
- package/dist/src/runtime/navigation/route.d.ts +0 -46
- package/dist/src/runtime/navigation/route.d.ts.map +0 -1
- package/dist/src/runtime/navigation/route.js +0 -47
- package/dist/src/runtime/navigation/route.js.map +0 -1
- package/dist/test/collections/board.examples.d.ts +0 -18
- package/dist/test/collections/board.examples.d.ts.map +0 -1
- package/dist/test/collections/board.examples.js +0 -297
- package/dist/test/collections/board.examples.js.map +0 -1
- package/dist/test/collections/calendar.examples.d.ts +0 -5
- package/dist/test/collections/calendar.examples.d.ts.map +0 -1
- package/dist/test/collections/calendar.examples.js +0 -147
- package/dist/test/collections/calendar.examples.js.map +0 -1
- package/dist/test/collections/flowchart.examples.d.ts +0 -17
- package/dist/test/collections/flowchart.examples.d.ts.map +0 -1
- package/dist/test/collections/flowchart.examples.js +0 -243
- package/dist/test/collections/flowchart.examples.js.map +0 -1
- package/dist/test/collections/plan.examples.d.ts +0 -200
- package/dist/test/collections/plan.examples.d.ts.map +0 -1
- package/dist/test/collections/plan.examples.js +0 -3665
- package/dist/test/collections/plan.examples.js.map +0 -1
- package/dist/test/collections/roster.examples.d.ts +0 -26
- package/dist/test/collections/roster.examples.d.ts.map +0 -1
- package/dist/test/collections/roster.examples.js +0 -237
- package/dist/test/collections/roster.examples.js.map +0 -1
- package/dist/test/collections/sheet-link.examples.d.ts +0 -7
- package/dist/test/collections/sheet-link.examples.d.ts.map +0 -1
- package/dist/test/collections/sheet-link.examples.js +0 -41
- package/dist/test/collections/sheet-link.examples.js.map +0 -1
- package/dist/test/collections/sheet-transactions.examples.d.ts +0 -7
- package/dist/test/collections/sheet-transactions.examples.d.ts.map +0 -1
- package/dist/test/collections/sheet-transactions.examples.js +0 -58
- package/dist/test/collections/sheet-transactions.examples.js.map +0 -1
- package/dist/test/collections/sheet.examples.d.ts +0 -96
- package/dist/test/collections/sheet.examples.d.ts.map +0 -1
- package/dist/test/collections/sheet.examples.js +0 -1040
- package/dist/test/collections/sheet.examples.js.map +0 -1
- package/dist/test/navigation/app.examples.d.ts +0 -22
- package/dist/test/navigation/app.examples.d.ts.map +0 -1
- package/dist/test/navigation/app.examples.js +0 -136
- package/dist/test/navigation/app.examples.js.map +0 -1
- package/dist/test/navigation/pages.examples.d.ts +0 -13
- package/dist/test/navigation/pages.examples.d.ts.map +0 -1
- package/dist/test/navigation/pages.examples.js +0 -113
- package/dist/test/navigation/pages.examples.js.map +0 -1
- package/dist/test/navigation/route.examples.d.ts +0 -13
- package/dist/test/navigation/route.examples.d.ts.map +0 -1
- package/dist/test/navigation/route.examples.js +0 -69
- package/dist/test/navigation/route.examples.js.map +0 -1
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
-
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* `Sheet.register` and `Sheet.driver` — registers are the grammar's
|
|
7
|
-
* vocabulary, projected from the host's rows through accessors reified once
|
|
8
|
-
* (Plan's `derive` move, `Sheet Spec.md` §3.3). There is no attribute bag:
|
|
9
|
-
* a value another declaration needs is read off a TYPED row by an accessor.
|
|
10
|
-
*
|
|
11
|
-
* @packageDocumentation
|
|
12
|
-
*/
|
|
13
|
-
import { East, Expr, ArrayType, DictType, FunctionType, OptionType, SetType, StringType, StructType, none, } from "@elaraai/east";
|
|
14
|
-
import { StatusValueType } from "../../feedback/status/types.js";
|
|
15
|
-
import { SheetRegisterMemberType } from "./types.js";
|
|
16
|
-
import { SheetRegisterMembersType } from "./link.js";
|
|
17
|
-
/** Fold duplicate keys, keeping the FIRST occurrence in declaration order. */
|
|
18
|
-
const dedupeMembers = East.function([SheetRegisterMembersType], SheetRegisterMembersType, ($, ms) => {
|
|
19
|
-
const out = $.let([], SheetRegisterMembersType);
|
|
20
|
-
const seen = $.let(new Set(), SetType(StringType));
|
|
21
|
-
$.for(ms, ($2, m, _i, _label) => {
|
|
22
|
-
$2.if(seen.has(m.key).not(), ($3) => {
|
|
23
|
-
$3(seen.insert(m.key));
|
|
24
|
-
$3(out.pushLast(m));
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
return out;
|
|
28
|
-
});
|
|
29
|
-
/**
|
|
30
|
-
* Projects the host's rows into register members — `Sheet.register.members`.
|
|
31
|
-
*
|
|
32
|
-
* @remarks
|
|
33
|
-
* The accessors are reified ONCE into a describe function which the map
|
|
34
|
-
* then CALLS (`shared/reify.ts`, `EAST_UI_PROP_PATTERNS.md`). Duplicate keys
|
|
35
|
-
* fold, first occurrence wins — a countable-by-attribute kind (`"CNC lathe"`
|
|
36
|
-
* from every machine of that family) declares one member per distinct value.
|
|
37
|
-
*
|
|
38
|
-
* @typeParam T - The data's element type
|
|
39
|
-
* @param data - The rows — an `Array<T>` or a `Dict<String, T>` value or expression
|
|
40
|
-
* @param config - The accessors ({@link SheetMembersConfig})
|
|
41
|
-
* @returns The members, as an expression
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```tsx
|
|
45
|
-
* // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
|
|
46
|
-
* import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
|
|
47
|
-
* import { Reactive, Sheet, State, UIComponentType } from "@elaraai/east-ui";
|
|
48
|
-
*
|
|
49
|
-
* const sheet = East.function([], UIComponentType, (_$) => (
|
|
50
|
-
* <Reactive>{$ => {
|
|
51
|
-
* const JobType = StructType({
|
|
52
|
-
* id: StringType, activity: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType),
|
|
53
|
-
* qty: OptionType(FloatType), machines: Sheet.Types.Link,
|
|
54
|
-
* });
|
|
55
|
-
* const ActivityType = StructType({ name: StringType, uom: StringType, days: IntegerType });
|
|
56
|
-
* const MachineType = StructType({ code: StringType, family: StringType, line: StringType });
|
|
57
|
-
* const LineType = StructType({ name: StringType, aliases: ArrayType(StringType) });
|
|
58
|
-
* const activities = $.const([
|
|
59
|
-
* { name: "Machining", uom: "pcs", days: 4n },
|
|
60
|
-
* { name: "Inspection", uom: "lots", days: 1n },
|
|
61
|
-
* ], ArrayType(ActivityType));
|
|
62
|
-
* const machines = $.const([
|
|
63
|
-
* { code: "M2140", family: "CNC lathe", line: "L2" },
|
|
64
|
-
* { code: "M2141", family: "CNC lathe", line: "L2" },
|
|
65
|
-
* { code: "M3210", family: "5-axis mill", line: "L3" },
|
|
66
|
-
* ], ArrayType(MachineType));
|
|
67
|
-
* const lines = $.const(new Map([
|
|
68
|
-
* ["L2", { name: "Line 2", aliases: ["l2", "line 2"] }],
|
|
69
|
-
* ["L3", { name: "Line 3", aliases: ["l3", "line 3"] }],
|
|
70
|
-
* ]), DictType(StringType, LineType));
|
|
71
|
-
* const jobs = $.let(State.bind([ArrayType(JobType)], "sheet_registers_jobs", [
|
|
72
|
-
* { id: "j1", activity: "Machining", start: some(new Date("2026-02-16T00:00:00Z")), end: none, qty: some(1200.0),
|
|
73
|
-
* machines: { from: [], to: [variant("counted", { n: 2n, key: "CNC lathe" })] } },
|
|
74
|
-
* ]));
|
|
75
|
-
* // The driver's row reaches a fill typed: End = Start + the activity's days.
|
|
76
|
-
* const DateFill = OptionType(Sheet.Types.Fill(DateTimeType));
|
|
77
|
-
* const endFromStart = $.const(East.function([Sheet.Types.DraftContext(JobType, ActivityType)], DateFill, ($, ctx) => {
|
|
78
|
-
* const noFill = $.const(none, DateFill);
|
|
79
|
-
* return ctx.row.start.match({
|
|
80
|
-
* value: (_$, supplied) => supplied.match({
|
|
81
|
-
* none: () => noFill,
|
|
82
|
-
* some: (_$, start) => ctx.driver.match({
|
|
83
|
-
* none: () => noFill,
|
|
84
|
-
* some: (_$, d) => some({ value: start.addDays(d.days), meta: East.str`+${d.days}d · ${d.name}` }),
|
|
85
|
-
* }),
|
|
86
|
-
* }),
|
|
87
|
-
* }, () => noFill);
|
|
88
|
-
* }));
|
|
89
|
-
* const newJob = $.const(East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, { machines: { from: [], to: [] } })));
|
|
90
|
-
* return (
|
|
91
|
-
* <Sheet
|
|
92
|
-
* data={jobs}
|
|
93
|
-
* id="id"
|
|
94
|
-
* driver={Sheet.driver("activity", activities, { key: a => a.name, label: a => a.name, meta: a => some(a.uom) })}
|
|
95
|
-
* registers={{
|
|
96
|
-
* machines: Sheet.register.concat([
|
|
97
|
-
* Sheet.register.members(machines, { kind: "machine", key: m => m.code, label: m => m.code,
|
|
98
|
-
* meta: m => some(m.family), parent: m => some(m.line) }),
|
|
99
|
-
* // A Dict's key rides as the accessors' second argument.
|
|
100
|
-
* Sheet.register.members(lines, { kind: "line", key: (_l, code) => code, label: l => l.name, aliases: l => l.aliases }),
|
|
101
|
-
* // Both lathes name one family — duplicate keys fold, the first wins.
|
|
102
|
-
* Sheet.register.members(machines, { kind: "family", key: m => m.family, label: m => m.family, meta: _m => some("family") }),
|
|
103
|
-
* ]),
|
|
104
|
-
* }}
|
|
105
|
-
* columns={{
|
|
106
|
-
* activity: Sheet.column.lookup(JobType, { header: "Activity", width: "140px" }),
|
|
107
|
-
* start: Sheet.column.date(JobType, { header: "Start", width: "96px" }),
|
|
108
|
-
* end: Sheet.column.date(JobType, { header: "End", sub: "start + days", width: "96px", base: "start", fill: [endFromStart] }),
|
|
109
|
-
* qty: Sheet.column.quantity(JobType, ActivityType, { header: "Qty", sub: "uom per activity", width: "112px", uom: d => d.uom }),
|
|
110
|
-
* machines: Sheet.column.set(JobType, "machines", { header: "Machines", sub: "M2140 · 2 x lathe · line 2", width: "240px",
|
|
111
|
-
* members: [{ kind: "machine", identified: true }, { kind: "line", countable: true, resolvesTo: "machine" },
|
|
112
|
-
* { kind: "family", countable: true, resolvesTo: "machine" }] }),
|
|
113
|
-
* }}
|
|
114
|
-
* newRow={newJob}
|
|
115
|
-
* onUpdate={jobs.write}
|
|
116
|
-
* />
|
|
117
|
-
* );
|
|
118
|
-
* }}</Reactive>
|
|
119
|
-
* ));
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
export function createMembers(data, config) {
|
|
123
|
-
const expr = East.value(data);
|
|
124
|
-
// The data is an Array or a Dict whatever the cast above says: widen to
|
|
125
|
-
// read its real East type.
|
|
126
|
-
const t = Expr.type(expr);
|
|
127
|
-
if (t.type !== "Array" && t.type !== "Dict") {
|
|
128
|
-
throw new Error(`Sheet.register.members: data must be an Array or a Dict<String, T> — got a ${t.type}`);
|
|
129
|
-
}
|
|
130
|
-
if (t.type === "Dict" && t.key.type !== "String") {
|
|
131
|
-
throw new Error("Sheet.register.members: a keyed register must be a Dict<String, T> — its keys ride to the accessors as the second argument");
|
|
132
|
-
}
|
|
133
|
-
const elem = t.value;
|
|
134
|
-
const cfg = config;
|
|
135
|
-
const describe = East.function([elem, StringType], SheetRegisterMemberType, (_$, v, k) => ({
|
|
136
|
-
key: cfg.key(v, k),
|
|
137
|
-
label: cfg.label(v, k),
|
|
138
|
-
kind: cfg.kind,
|
|
139
|
-
aliases: cfg.aliases !== undefined ? cfg.aliases(v, k) : East.value([], ArrayType(StringType)),
|
|
140
|
-
meta: cfg.meta !== undefined ? cfg.meta(v, k) : East.value(none, OptionType(StringType)),
|
|
141
|
-
parent: cfg.parent !== undefined ? cfg.parent(v, k) : East.value(none, OptionType(StringType)),
|
|
142
|
-
tone: cfg.tone !== undefined ? cfg.tone(v, k) : East.value(none, OptionType(StatusValueType)),
|
|
143
|
-
}));
|
|
144
|
-
const list = t.type === "Dict"
|
|
145
|
-
? expr.toArray((_$, v, k) => describe(v, k))
|
|
146
|
-
: expr.map((_$, v, i) => describe(v, East.print(i)));
|
|
147
|
-
return dedupeMembers(list);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Joins member sets of different kinds into one register — `Sheet.register.concat`.
|
|
151
|
-
*
|
|
152
|
-
* @param parts - The member sets, in order
|
|
153
|
-
* @returns The concatenated members
|
|
154
|
-
*/
|
|
155
|
-
export function concatMembers(parts) {
|
|
156
|
-
if (parts.length === 0)
|
|
157
|
-
return East.value([], SheetRegisterMembersType);
|
|
158
|
-
return parts.slice(1).reduce((acc, p) => acc.concat(p), parts[0]);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Declares the driver — `Sheet.driver(column, data, { key, label })`: the
|
|
162
|
-
* `lookup` column whose member decides what the row does, with its data,
|
|
163
|
-
* so `D` reaches every `uom` / `sides` accessor and `ctx.driver` (§3.3).
|
|
164
|
-
*
|
|
165
|
-
* @typeParam D - The driver's row type (inferred from `data`)
|
|
166
|
-
* @param column - The driver column's key
|
|
167
|
-
* @param data - The driver rows — an `Array<D>` value or expression
|
|
168
|
-
* @param config - The accessors ({@link SheetDriverConfig})
|
|
169
|
-
* @returns The driver declaration the `driver` prop takes
|
|
170
|
-
*
|
|
171
|
-
* @example
|
|
172
|
-
* ```tsx
|
|
173
|
-
* // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
|
|
174
|
-
* import { ArrayType, DateTimeType, DictType, East, FloatType, IntegerType, OptionType, StringType, StructType, none, some, variant } from "@elaraai/east";
|
|
175
|
-
* import { Reactive, Sheet, State, UIComponentType } from "@elaraai/east-ui";
|
|
176
|
-
*
|
|
177
|
-
* const sheet = East.function([], UIComponentType, (_$) => (
|
|
178
|
-
* <Reactive>{$ => {
|
|
179
|
-
* const JobType = StructType({
|
|
180
|
-
* id: StringType, activity: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType),
|
|
181
|
-
* qty: OptionType(FloatType), machines: Sheet.Types.Link,
|
|
182
|
-
* });
|
|
183
|
-
* const ActivityType = StructType({ name: StringType, uom: StringType, days: IntegerType });
|
|
184
|
-
* const MachineType = StructType({ code: StringType, family: StringType, line: StringType });
|
|
185
|
-
* const LineType = StructType({ name: StringType, aliases: ArrayType(StringType) });
|
|
186
|
-
* const activities = $.const([
|
|
187
|
-
* { name: "Machining", uom: "pcs", days: 4n },
|
|
188
|
-
* { name: "Inspection", uom: "lots", days: 1n },
|
|
189
|
-
* ], ArrayType(ActivityType));
|
|
190
|
-
* const machines = $.const([
|
|
191
|
-
* { code: "M2140", family: "CNC lathe", line: "L2" },
|
|
192
|
-
* { code: "M2141", family: "CNC lathe", line: "L2" },
|
|
193
|
-
* { code: "M3210", family: "5-axis mill", line: "L3" },
|
|
194
|
-
* ], ArrayType(MachineType));
|
|
195
|
-
* const lines = $.const(new Map([
|
|
196
|
-
* ["L2", { name: "Line 2", aliases: ["l2", "line 2"] }],
|
|
197
|
-
* ["L3", { name: "Line 3", aliases: ["l3", "line 3"] }],
|
|
198
|
-
* ]), DictType(StringType, LineType));
|
|
199
|
-
* const jobs = $.let(State.bind([ArrayType(JobType)], "sheet_registers_jobs", [
|
|
200
|
-
* { id: "j1", activity: "Machining", start: some(new Date("2026-02-16T00:00:00Z")), end: none, qty: some(1200.0),
|
|
201
|
-
* machines: { from: [], to: [variant("counted", { n: 2n, key: "CNC lathe" })] } },
|
|
202
|
-
* ]));
|
|
203
|
-
* // The driver's row reaches a fill typed: End = Start + the activity's days.
|
|
204
|
-
* const DateFill = OptionType(Sheet.Types.Fill(DateTimeType));
|
|
205
|
-
* const endFromStart = $.const(East.function([Sheet.Types.DraftContext(JobType, ActivityType)], DateFill, ($, ctx) => {
|
|
206
|
-
* const noFill = $.const(none, DateFill);
|
|
207
|
-
* return ctx.row.start.match({
|
|
208
|
-
* value: (_$, supplied) => supplied.match({
|
|
209
|
-
* none: () => noFill,
|
|
210
|
-
* some: (_$, start) => ctx.driver.match({
|
|
211
|
-
* none: () => noFill,
|
|
212
|
-
* some: (_$, d) => some({ value: start.addDays(d.days), meta: East.str`+${d.days}d · ${d.name}` }),
|
|
213
|
-
* }),
|
|
214
|
-
* }),
|
|
215
|
-
* }, () => noFill);
|
|
216
|
-
* }));
|
|
217
|
-
* const newJob = $.const(East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, { machines: { from: [], to: [] } })));
|
|
218
|
-
* return (
|
|
219
|
-
* <Sheet
|
|
220
|
-
* data={jobs}
|
|
221
|
-
* id="id"
|
|
222
|
-
* driver={Sheet.driver("activity", activities, { key: a => a.name, label: a => a.name, meta: a => some(a.uom) })}
|
|
223
|
-
* registers={{
|
|
224
|
-
* machines: Sheet.register.concat([
|
|
225
|
-
* Sheet.register.members(machines, { kind: "machine", key: m => m.code, label: m => m.code,
|
|
226
|
-
* meta: m => some(m.family), parent: m => some(m.line) }),
|
|
227
|
-
* // A Dict's key rides as the accessors' second argument.
|
|
228
|
-
* Sheet.register.members(lines, { kind: "line", key: (_l, code) => code, label: l => l.name, aliases: l => l.aliases }),
|
|
229
|
-
* // Both lathes name one family — duplicate keys fold, the first wins.
|
|
230
|
-
* Sheet.register.members(machines, { kind: "family", key: m => m.family, label: m => m.family, meta: _m => some("family") }),
|
|
231
|
-
* ]),
|
|
232
|
-
* }}
|
|
233
|
-
* columns={{
|
|
234
|
-
* activity: Sheet.column.lookup(JobType, { header: "Activity", width: "140px" }),
|
|
235
|
-
* start: Sheet.column.date(JobType, { header: "Start", width: "96px" }),
|
|
236
|
-
* end: Sheet.column.date(JobType, { header: "End", sub: "start + days", width: "96px", base: "start", fill: [endFromStart] }),
|
|
237
|
-
* qty: Sheet.column.quantity(JobType, ActivityType, { header: "Qty", sub: "uom per activity", width: "112px", uom: d => d.uom }),
|
|
238
|
-
* machines: Sheet.column.set(JobType, "machines", { header: "Machines", sub: "M2140 · 2 x lathe · line 2", width: "240px",
|
|
239
|
-
* members: [{ kind: "machine", identified: true }, { kind: "line", countable: true, resolvesTo: "machine" },
|
|
240
|
-
* { kind: "family", countable: true, resolvesTo: "machine" }] }),
|
|
241
|
-
* }}
|
|
242
|
-
* newRow={newJob}
|
|
243
|
-
* onUpdate={jobs.write}
|
|
244
|
-
* />
|
|
245
|
-
* );
|
|
246
|
-
* }}</Reactive>
|
|
247
|
-
* ));
|
|
248
|
-
* ```
|
|
249
|
-
*/
|
|
250
|
-
export function createDriver(column, data, config) {
|
|
251
|
-
const expr = East.value(data);
|
|
252
|
-
const t = Expr.type(expr);
|
|
253
|
-
if (t.type !== "Array" || t.value.type !== "Struct") {
|
|
254
|
-
throw new Error(`Sheet.driver("${column}"): data must be an Array of structs — got a ${t.type}`);
|
|
255
|
-
}
|
|
256
|
-
const rowType = t.value;
|
|
257
|
-
const cfg = config;
|
|
258
|
-
const keyFn = East.function([rowType], StringType, (_$, d) => cfg.key(d));
|
|
259
|
-
const members = createMembers(expr, {
|
|
260
|
-
kind: column,
|
|
261
|
-
key: (d) => keyFn(d),
|
|
262
|
-
label: (d) => cfg.label(d),
|
|
263
|
-
...(cfg.aliases !== undefined ? { aliases: (d) => cfg.aliases(d) } : {}),
|
|
264
|
-
...(cfg.meta !== undefined ? { meta: (d) => cfg.meta(d) } : {}),
|
|
265
|
-
});
|
|
266
|
-
return { column, rowType, data: expr, keyFn, members };
|
|
267
|
-
}
|
|
268
|
-
//# sourceMappingURL=registers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registers.js","sourceRoot":"","sources":["../../../../src/collections/sheet/registers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
-
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* `Sheet.Root` — assembles the whole sheet value against the `Sheet` arm of
|
|
7
|
-
* `component.ts` (`Sheet Spec.md` §4.6): resolves the row source (both
|
|
8
|
-
* arms), describes every column against the row type, compiles the typed
|
|
9
|
-
* bridge (§4.8), builds each column's wire value, compiles `onUpdate` into
|
|
10
|
-
* the checked batch adapter (§4.7), and refuses every mistake naming the
|
|
11
|
-
* column and the remedy.
|
|
12
|
-
*
|
|
13
|
-
* @packageDocumentation
|
|
14
|
-
*/
|
|
15
|
-
import { type EastType, type ExprType, type SubtypeExprOrValue, ArrayType, AsyncFunctionType, BooleanType, DictType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType } from "@elaraai/east";
|
|
16
|
-
import { UIComponentType } from "../../component.js";
|
|
17
|
-
import { SliceBindType } from "../../platform/slice/index.js";
|
|
18
|
-
import { type SliceAffordanceLiteral } from "../../contracts/slice-affordances.js";
|
|
19
|
-
import { DensityType, type DensityLiteral } from "../../style/interaction.js";
|
|
20
|
-
import { StatusValueType, type StatusValueLiteral } from "../../feedback/status/types.js";
|
|
21
|
-
import { type PagedSource } from "../../contracts/source.js";
|
|
22
|
-
import type { DataRowType } from "../table/index.js";
|
|
23
|
-
import { SheetViewType, SheetSelectionType, type SheetAnyContextOf, type SheetProposalOf, type SheetPatchOf, type SheetLinesField, type SheetLineOf, type SheetEntryOf } from "./types.js";
|
|
24
|
-
import type { SheetColumnSpec, SheetFieldKey } from "./columns.js";
|
|
25
|
-
import type { SheetDriverValue, SheetRegisterValue } from "./registers.js";
|
|
26
|
-
import type { SheetGroupValue } from "./group.js";
|
|
27
|
-
import type { SheetSubRowsValue } from "./sub-rows.js";
|
|
28
|
-
import type { SheetEditsInput } from "./edits.js";
|
|
29
|
-
import { SheetApplyResultType, SheetNewRowType, SheetNewGroupType, SheetReadinessType, type SheetDraftOf, type SheetChangeSetTypeFor } from "./transactions.js";
|
|
30
|
-
import type { SheetPatchEventTypeFor, SheetDraftEntryOf } from "./drafts.js";
|
|
31
|
-
/** The keys of a row struct whose field is a `String` — what `id` may name. */
|
|
32
|
-
export type SheetStringField<R extends StructType> = {
|
|
33
|
-
[K in SheetFieldKey<R>]: R["fields"][K] extends StringType ? K : never;
|
|
34
|
-
}[SheetFieldKey<R>];
|
|
35
|
-
/**
|
|
36
|
-
* One row proposer — a synchronous or asynchronous East function over
|
|
37
|
-
* `Sheet.Types.Context(R, D)` to `Array<Sheet.Types.Proposal(R)>` (§3.6).
|
|
38
|
-
* The driver type is checked at build time against the sheet's driver.
|
|
39
|
-
*
|
|
40
|
-
* @typeParam R - The host's row type (a grouped sheet: the line type)
|
|
41
|
-
*/
|
|
42
|
-
export type SheetProposerInput<R extends StructType> = SubtypeExprOrValue<FunctionType<[SheetAnyContextOf<R>], ArrayType<SheetProposalOf<R>>>> | SubtypeExprOrValue<AsyncFunctionType<[SheetAnyContextOf<R>], ArrayType<SheetProposalOf<R>>>>;
|
|
43
|
-
/**
|
|
44
|
-
* The copilot's row-proposal declaration (B§5.2).
|
|
45
|
-
*
|
|
46
|
-
* @typeParam R - The host's row type
|
|
47
|
-
* @property ahead - At most this many proposed rows below the anchor (default 2)
|
|
48
|
-
* @property triggers - Column keys whose commit re-asks the proposers (default: every editable column)
|
|
49
|
-
* @property ghost - Draw proposed rows as hatched ghosts (default `true`)
|
|
50
|
-
* @property propose - The proposers; the first that returns rows wins
|
|
51
|
-
*/
|
|
52
|
-
export interface SheetSuggestInput<R extends StructType> {
|
|
53
|
-
/** At most this many proposed rows below the anchor. */
|
|
54
|
-
ahead?: SubtypeExprOrValue<IntegerType> | number;
|
|
55
|
-
/** Column keys whose commit re-asks the proposers. */
|
|
56
|
-
triggers?: SheetFieldKey<R>[];
|
|
57
|
-
/** Draw proposed rows as hatched ghosts. */
|
|
58
|
-
ghost?: boolean;
|
|
59
|
-
/** The proposers; the first that returns rows wins. */
|
|
60
|
-
propose: SheetProposerInput<R>[];
|
|
61
|
-
}
|
|
62
|
-
/** Business readiness checks add requirements without bypassing structural validity.
|
|
63
|
-
* @typeParam R - The row struct (a grouped sheet's child struct)
|
|
64
|
-
* @typeParam G - The group draft schema, when grouping is enabled
|
|
65
|
-
*/
|
|
66
|
-
export interface SheetReadyInput<R extends StructType, G extends EastType = never> {
|
|
67
|
-
/**
|
|
68
|
-
* Check a row draft and its current draft-aware context. Every check of
|
|
69
|
-
* one evaluation runs in one call over the same `rows` (#882): read
|
|
70
|
-
* them, never sort or edit them in place, or the checks after it see the
|
|
71
|
-
* change. A check that throws marks its own row invalid.
|
|
72
|
-
*/
|
|
73
|
-
row?: SubtypeExprOrValue<FunctionType<[SheetDraftOf<R>, SheetAnyContextOf<R>], typeof SheetReadinessType>>;
|
|
74
|
-
/** Check the group's own draft fields; child issues are checked separately. */
|
|
75
|
-
group?: [G] extends [never] ? never : SubtypeExprOrValue<FunctionType<[G], typeof SheetReadinessType>>;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* The options of `Sheet.Root` / the `<Sheet>` tag's props beside `data` and
|
|
79
|
-
* `columns` (§3).
|
|
80
|
-
*
|
|
81
|
-
* @typeParam R - The host's row type
|
|
82
|
-
* @property id - The `String` field that identifies a row (required on a positional source; a keyed paged source's key is its id)
|
|
83
|
-
* @property owned - Rows the upstream system owns: no copilot, stamped columns read-only — an accessor
|
|
84
|
-
* @property driver - The driver declaration (`Sheet.driver`)
|
|
85
|
-
* @property registers - Register name → members (`Sheet.register.*`)
|
|
86
|
-
* @property suggest - The row-proposal declaration
|
|
87
|
-
* @property slice - The bound slice whose narrowing the lens draws; the rail mounts `affordances`
|
|
88
|
-
* @property affordances - Rail affordances when `slice` is set (default `["search"]`; `brush` / `legend` / `breakdown` refused)
|
|
89
|
-
* @property views - The saved views
|
|
90
|
-
* @property activeView - The active view's id
|
|
91
|
-
* @property onViewsChange - Views changed
|
|
92
|
-
* @property onUpdate - The whole collection with the edit applied (inline arm only)
|
|
93
|
-
* @property onSelect - The ring moved
|
|
94
|
-
* @property selection - Controlled selection (§3.14)
|
|
95
|
-
* @property newRowId - Overrides the renderer's id minting for inserted rows
|
|
96
|
-
* @property group - Never on a flat sheet — grouped rows take {@link SheetGroupedOptions}
|
|
97
|
-
* @property subRows - Read-only sub rows under each row, from its array fields (`Sheet.subRows`, #844)
|
|
98
|
-
* @property readOnly - The whole sheet is read-only
|
|
99
|
-
* @property blanks - Padding rows below the last real one (default 18)
|
|
100
|
-
* @property density - Row rhythm
|
|
101
|
-
* @property footer - Footer items
|
|
102
|
-
* @property style - Sizing and the gutter width
|
|
103
|
-
*/
|
|
104
|
-
export interface SheetOptions<R extends StructType> {
|
|
105
|
-
/** Structural capabilities; defaults depend on grouping and source ordering. */
|
|
106
|
-
edits?: SheetEditsInput;
|
|
107
|
-
/** The `String` field that identifies a row. */
|
|
108
|
-
id?: SheetStringField<R>;
|
|
109
|
-
/** Rows the upstream system owns — an accessor. */
|
|
110
|
-
owned?: (row: ExprType<R>) => SubtypeExprOrValue<BooleanType>;
|
|
111
|
-
/** The driver declaration. */
|
|
112
|
-
driver?: SheetDriverValue;
|
|
113
|
-
/** Register name → members. */
|
|
114
|
-
registers?: Record<string, SheetRegisterValue>;
|
|
115
|
-
/** The row-proposal declaration. */
|
|
116
|
-
suggest?: SheetSuggestInput<R>;
|
|
117
|
-
/** The bound slice whose narrowing the lens draws. */
|
|
118
|
-
slice?: SubtypeExprOrValue<SliceBindType>;
|
|
119
|
-
/** Rail affordances when `slice` is set. */
|
|
120
|
-
affordances?: SliceAffordanceLiteral[];
|
|
121
|
-
/** The saved views. */
|
|
122
|
-
views?: SubtypeExprOrValue<ArrayType<SheetViewType>>;
|
|
123
|
-
/** The active view's id. */
|
|
124
|
-
activeView?: SubtypeExprOrValue<OptionType<StringType>>;
|
|
125
|
-
/** Views changed. */
|
|
126
|
-
onViewsChange?: SubtypeExprOrValue<FunctionType<[ArrayType<SheetViewType>], NullType>>;
|
|
127
|
-
/** The whole collection with the edit applied (inline arm only). */
|
|
128
|
-
onUpdate?: SubtypeExprOrValue<FunctionType<[ArrayType<R>], NullType>>;
|
|
129
|
-
/** Observe one gesture's draft and domain patches; this does not authorize writes. */
|
|
130
|
-
onPatch?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetPatchEventTypeFor<R>>], NullType>>;
|
|
131
|
-
/** Submit one checked, idempotent batch to the authoritative source. */
|
|
132
|
-
onApply?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetChangeSetTypeFor<R>>], typeof SheetApplyResultType>> | SubtypeExprOrValue<AsyncFunctionType<[ReturnType<typeof SheetChangeSetTypeFor<R>>], typeof SheetApplyResultType>>;
|
|
133
|
-
/** Batch by default; auto submits complete gestures through the same checked protocol. */
|
|
134
|
-
applyMode?: "batch" | "auto";
|
|
135
|
-
/** The ring moved. */
|
|
136
|
-
onSelect?: SubtypeExprOrValue<FunctionType<[SheetSelectionType], NullType>>;
|
|
137
|
-
/** Controlled selection. */
|
|
138
|
-
selection?: SubtypeExprOrValue<OptionType<SheetSelectionType>>;
|
|
139
|
-
/** Additional author requirements; structural completeness always remains mandatory. */
|
|
140
|
-
ready?: SheetReadyInput<R>;
|
|
141
|
-
/** Explicit defaults for new rows, including required fields without columns. */
|
|
142
|
-
newRow?: SubtypeExprOrValue<FunctionType<[typeof SheetNewRowType], SheetPatchOf<R>>>;
|
|
143
|
-
/** Overrides the renderer's id minting for inserted rows. */
|
|
144
|
-
newRowId?: SubtypeExprOrValue<FunctionType<[], StringType>>;
|
|
145
|
-
/** Never on a flat sheet — grouped rows take {@link SheetGroupedOptions}. */
|
|
146
|
-
group?: never;
|
|
147
|
-
/** Read-only sub rows under each row, from its array fields. */
|
|
148
|
-
subRows?: SheetSubRowsValue<R>;
|
|
149
|
-
/** The whole sheet is read-only. */
|
|
150
|
-
readOnly?: SubtypeExprOrValue<BooleanType> | boolean;
|
|
151
|
-
/** Padding rows below the last real one. */
|
|
152
|
-
blanks?: SubtypeExprOrValue<IntegerType> | number;
|
|
153
|
-
/** Row rhythm. */
|
|
154
|
-
density?: DensityLiteral | SubtypeExprOrValue<DensityType>;
|
|
155
|
-
/** Footer items. */
|
|
156
|
-
footer?: {
|
|
157
|
-
/** The footer text. */
|
|
158
|
-
text: SubtypeExprOrValue<StringType>;
|
|
159
|
-
/** Optional status tint. */
|
|
160
|
-
tone?: StatusValueLiteral | SubtypeExprOrValue<StatusValueType>;
|
|
161
|
-
}[];
|
|
162
|
-
/** Sizing and the gutter width. */
|
|
163
|
-
style?: {
|
|
164
|
-
/** Definite height (`"fill"` fills the parent). */
|
|
165
|
-
height?: SubtypeExprOrValue<StringType>;
|
|
166
|
-
/** Max-height cap. */
|
|
167
|
-
maxHeight?: SubtypeExprOrValue<StringType>;
|
|
168
|
-
/** The gutter width, a CSS px size. */
|
|
169
|
-
gutterWidth?: SubtypeExprOrValue<StringType>;
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* The options of a GROUPED sheet (#740) — `Sheet.Root(plans, lineColumns,
|
|
174
|
-
* { group: Sheet.group(P, "lines", …), … })`: the group `P` is the row,
|
|
175
|
-
* `columns` are declared over the line type its lines field holds, and the
|
|
176
|
-
* edit channel addresses lines within their group.
|
|
177
|
-
*
|
|
178
|
-
* @typeParam P - The group's row type
|
|
179
|
-
* @typeParam F - The lines field
|
|
180
|
-
* @property group - The group declaration (`Sheet.group`)
|
|
181
|
-
* @property suggest - The row-proposal declaration, over the LINE type
|
|
182
|
-
* @property onUpdate - The whole collection of groups with the edit applied (inline arm only)
|
|
183
|
-
* @property subRows - Read-only sub rows under each LINE, declared over the line type (#844)
|
|
184
|
-
*/
|
|
185
|
-
export interface SheetGroupedOptions<P extends StructType, F extends SheetLinesField<P>> extends Omit<SheetOptions<P>, "group" | "suggest" | "onPatch" | "newRow" | "ready" | "subRows"> {
|
|
186
|
-
/** Additional row and group requirements over complete field drafts. */
|
|
187
|
-
ready?: SheetReadyInput<SheetLineOf<P, F>, SheetDraftEntryOf<P, F>>;
|
|
188
|
-
/** Explicit defaults for each new child row. */
|
|
189
|
-
newRow?: SubtypeExprOrValue<FunctionType<[typeof SheetNewRowType], SheetPatchOf<SheetLineOf<P, F>>>>;
|
|
190
|
-
/** Explicit defaults for a new group. */
|
|
191
|
-
newGroup?: SubtypeExprOrValue<FunctionType<[typeof SheetNewGroupType], SheetPatchOf<P>>>;
|
|
192
|
-
/** The group declaration. */
|
|
193
|
-
group: SheetGroupValue<P, F>;
|
|
194
|
-
/** The row-proposal declaration, over the line type. */
|
|
195
|
-
suggest?: SheetSuggestInput<SheetLineOf<P, F>>;
|
|
196
|
-
/** Observe a gesture with drafts over this group's child array. */
|
|
197
|
-
onPatch?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetPatchEventTypeFor<P, F>>], NullType>>;
|
|
198
|
-
/** Read-only sub rows under each line, declared over the line type. */
|
|
199
|
-
subRows?: SheetSubRowsValue<SheetLineOf<P, F>>;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* The options of a sheet with LOOSE rows between its groups (#846) —
|
|
203
|
-
* `Sheet.Root(entries, lineColumns, { group: Sheet.group(P, "lines", …), … })`
|
|
204
|
-
* over entries `Sheet.Types.Entry(P, "lines")`: each entry a group, or a row
|
|
205
|
-
* of the line type standing between the groups. Everything a grouped sheet
|
|
206
|
-
* takes, with `id`, `owned` and the write-back over the entry.
|
|
207
|
-
*
|
|
208
|
-
* @typeParam P - The group's row type
|
|
209
|
-
* @typeParam F - The lines field
|
|
210
|
-
* @property id - The `String` field that identifies an entry — a field of both the group type and the line type (a keyed paged source needs none: its key is the id)
|
|
211
|
-
* @property owned - Entries the upstream system owns — an accessor over the entry
|
|
212
|
-
* @property onUpdate - The whole collection of entries with the batch applied (inline arm only)
|
|
213
|
-
* @property onPatch - Observe one gesture's draft and domain patches over the entries
|
|
214
|
-
* @property onApply - Submit one checked, idempotent batch of entries
|
|
215
|
-
*/
|
|
216
|
-
export interface SheetEntriesOptions<P extends StructType, F extends SheetLinesField<P>> extends Omit<SheetGroupedOptions<P, F>, "id" | "owned" | "onUpdate" | "onPatch" | "onApply"> {
|
|
217
|
-
/** The `String` field that identifies an entry — a field of both the group type and the line type. */
|
|
218
|
-
id?: SheetStringField<P> & SheetStringField<SheetLineOf<P, F>>;
|
|
219
|
-
/** Entries the upstream system owns — an accessor over the entry. */
|
|
220
|
-
owned?: (entry: ExprType<SheetEntryOf<P, F>>) => SubtypeExprOrValue<BooleanType>;
|
|
221
|
-
/** The whole collection of entries with the batch applied (inline arm only). */
|
|
222
|
-
onUpdate?: SubtypeExprOrValue<FunctionType<[ArrayType<SheetEntryOf<P, F>>], NullType>>;
|
|
223
|
-
/** Observe one gesture's draft and domain patches over the entries; this does not authorize writes. */
|
|
224
|
-
onPatch?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetPatchEventTypeFor<SheetEntryOf<P, F>>>], NullType>>;
|
|
225
|
-
/** Submit one checked, idempotent batch of entries to the authoritative source. */
|
|
226
|
-
onApply?: SubtypeExprOrValue<FunctionType<[ReturnType<typeof SheetChangeSetTypeFor<SheetEntryOf<P, F>>>], typeof SheetApplyResultType>> | SubtypeExprOrValue<AsyncFunctionType<[ReturnType<typeof SheetChangeSetTypeFor<SheetEntryOf<P, F>>>], typeof SheetApplyResultType>>;
|
|
227
|
-
}
|
|
228
|
-
/** A whole-value bind handle (`State.bind` / `Data.bind`) over `Array<R>` — accepted as `data`; `R` a row struct, or an entry `Sheet.Types.Entry(P, "lines")` (#846). */
|
|
229
|
-
export interface SheetBindHandle<R extends EastType> {
|
|
230
|
-
/** The handle's read. */
|
|
231
|
-
read: (...args: never[]) => ExprType<ArrayType<R>>;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Creates the Sheet root — the whole planning spreadsheet.
|
|
235
|
-
*
|
|
236
|
-
* @typeParam T - The inline data's type (an `Array<R>` value or expression)
|
|
237
|
-
* @param data - The rows: an `Array<R>` value or expression, a whole-value bind handle, or a paged source
|
|
238
|
-
* @param columns - The columns, keyed by the row's fields ({@link SheetColumnSpec})
|
|
239
|
-
* @param options - Everything else ({@link SheetOptions})
|
|
240
|
-
* @returns An East expression of `UIComponentType`
|
|
241
|
-
*
|
|
242
|
-
* @remarks
|
|
243
|
-
* `id` is required on a positional source. `onUpdate` is refused on the
|
|
244
|
-
* paged arm; edit paged rows with onApply over a pinned source — one that names
|
|
245
|
-
* its snapshot (`Data.bindPaged`'s handle). A `Dict` inline is refused: a sorted map would
|
|
246
|
-
* sit rows in key order, not the planner's.
|
|
247
|
-
*
|
|
248
|
-
* With `group` (#740) the rows are GROUPS: `columns` are declared over the
|
|
249
|
-
* line type the group's lines field holds, `onUpdate` rebuilds the groups
|
|
250
|
-
* with their lines inside. onPatch observes one gesture; onApply confirms
|
|
251
|
-
* an atomic checked batch. Rows of the line type may stand between the
|
|
252
|
-
* groups (#846): pass entries `Sheet.Types.Entry(GroupType, "lines")` — a
|
|
253
|
-
* group, or a LOOSE row, drawn as a plain row numbered in the groups'
|
|
254
|
-
* sequence — with an `id` that both types carry.
|
|
255
|
-
*
|
|
256
|
-
* In a `.tsx` file the `<Sheet>` tag calls this, with `data`, `columns` and
|
|
257
|
-
* the options as its props — as the example does for a grouped sheet whose
|
|
258
|
-
* rows are work packages.
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* ```tsx
|
|
262
|
-
* // .tsx file with the `@jsxImportSource @elaraai/east-ui` pragma
|
|
263
|
-
* import { ArrayType, East, FloatType, OptionType, StringType, StructType, some, variant } from "@elaraai/east";
|
|
264
|
-
* import { Reactive, Sheet, State, Text, UIComponentType, VStack } from "@elaraai/east-ui";
|
|
265
|
-
*
|
|
266
|
-
* const sheet = East.function([], UIComponentType, (_$) => (
|
|
267
|
-
* <Reactive>{$ => {
|
|
268
|
-
* const JobType = StructType({ task: StringType, qty: OptionType(FloatType), notes: StringType, createdBy: StringType });
|
|
269
|
-
* const PackageType = StructType({ id: StringType, name: StringType, owner: StringType, jobs: ArrayType(JobType) });
|
|
270
|
-
* const packages = $.let(State.bind([ArrayType(PackageType)], "sheet_grouped_packages", [
|
|
271
|
-
* { id: "roughing", name: "P-40 · Roughing", owner: "planner", jobs: [
|
|
272
|
-
* { task: "Machine blanks", qty: some(1200.0), notes: "Four CNC lathes", createdBy: "planner" },
|
|
273
|
-
* { task: "Inspect lots", qty: some(4.0), notes: "Check before finishing", createdBy: "planner" },
|
|
274
|
-
* ] },
|
|
275
|
-
* { id: "finishing", name: "P-40 · Finishing", owner: "planner", jobs: [
|
|
276
|
-
* { task: "Finish housings", qty: some(1200.0), notes: "After inspection", createdBy: "planner" },
|
|
277
|
-
* { task: "Pack for assembly", qty: some(100.0), notes: "Twelve per carton", createdBy: "planner" },
|
|
278
|
-
* ] },
|
|
279
|
-
* ]));
|
|
280
|
-
* const applied = $.let(packages.read());
|
|
281
|
-
* return (
|
|
282
|
-
* <VStack gap="3" align="stretch">
|
|
283
|
-
* <Text textStyle="caption" color="fg.muted">Edit a package name or task. Use the gutter + to insert a task, or the stacked-rows + button to create a package at a group boundary. Apply changes saves the batch; Undo and Redo retain each gesture.</Text>
|
|
284
|
-
* <Sheet
|
|
285
|
-
* data={packages}
|
|
286
|
-
* id="id"
|
|
287
|
-
* group={Sheet.group(PackageType, "jobs", { title: "name" })}
|
|
288
|
-
* ready={{ group: East.function([Sheet.Types.DraftGroup(PackageType, "jobs")], Sheet.Types.Readiness, ($, group) => {
|
|
289
|
-
* $.if(group.name.hasTag("value").and(() => group.name.unwrap("value").length().equal(0n)), $ => {
|
|
290
|
-
* $.return(East.value(variant("incomplete", [{ field: "name", message: "Name the work package" }]), Sheet.Types.Readiness));
|
|
291
|
-
* });
|
|
292
|
-
* return East.value(variant("ready", null), Sheet.Types.Readiness);
|
|
293
|
-
* }) }}
|
|
294
|
-
* columns={{
|
|
295
|
-
* task: Sheet.column.text(JobType, { header: "Task", width: "240px" }),
|
|
296
|
-
* qty: Sheet.column.quantity(JobType, { header: "Qty", width: "112px" }),
|
|
297
|
-
* notes: Sheet.column.text(JobType, { header: "Notes", width: "300px" }),
|
|
298
|
-
* }}
|
|
299
|
-
* newRow={East.function([Sheet.Types.NewRow], Sheet.Types.Patch(JobType), () => Sheet.patch(JobType, {
|
|
300
|
-
* notes: "", createdBy: "planner",
|
|
301
|
-
* }))}
|
|
302
|
-
* newGroup={East.function([Sheet.Types.NewGroup], Sheet.Types.Patch(PackageType), () => Sheet.patch(PackageType, {
|
|
303
|
-
* owner: "planner", jobs: [],
|
|
304
|
-
* }))}
|
|
305
|
-
* onUpdate={packages.write}
|
|
306
|
-
* style={{ height: "440px" }}
|
|
307
|
-
* />
|
|
308
|
-
* <Text.MonoLabel>{East.str`SAVED · ${applied.length()} packages · ${applied.map((_$, p) => p.jobs.length()).sum()} tasks`}</Text.MonoLabel>
|
|
309
|
-
* </VStack>
|
|
310
|
-
* );
|
|
311
|
-
* }}</Reactive>
|
|
312
|
-
* ));
|
|
313
|
-
* ```
|
|
314
|
-
*/
|
|
315
|
-
export declare function createSheet<P extends StructType, F extends SheetLinesField<P>>(data: NoInfer<SubtypeExprOrValue<ArrayType<SheetEntryOf<P, F>>> | SheetBindHandle<SheetEntryOf<P, F>> | PagedSource<ArrayType<SheetEntryOf<P, F>>> | PagedSource<DictType<StringType, SheetEntryOf<P, F>>>>, columns: SheetColumnSpec<SheetLineOf<P, F>>, options: SheetEntriesOptions<P, F>): ExprType<UIComponentType>;
|
|
316
|
-
/** GROUPED rows — an `Array<P>` value or expression of groups. */
|
|
317
|
-
export declare function createSheet<T extends SubtypeExprOrValue<ArrayType<StructType>>, F extends SheetLinesField<DataRowType<T>>>(data: T, columns: SheetColumnSpec<SheetLineOf<DataRowType<T>, F>>, options: SheetGroupedOptions<DataRowType<T>, F>): ExprType<UIComponentType>;
|
|
318
|
-
/** GROUPED rows over a whole-value bind handle of groups. */
|
|
319
|
-
export declare function createSheet<P extends StructType, F extends SheetLinesField<P>>(data: SheetBindHandle<P>, columns: SheetColumnSpec<SheetLineOf<P, F>>, options: SheetGroupedOptions<P, F>): ExprType<UIComponentType>;
|
|
320
|
-
/** GROUPED rows over a paged source of groups. */
|
|
321
|
-
export declare function createSheet<P extends StructType, F extends SheetLinesField<P>>(data: PagedSource<ArrayType<P>> | PagedSource<DictType<StringType, P>>, columns: SheetColumnSpec<SheetLineOf<P, F>>, options: SheetGroupedOptions<P, F>): ExprType<UIComponentType>;
|
|
322
|
-
/** The inline arm — an `Array<R>` value or expression. */
|
|
323
|
-
export declare function createSheet<T extends SubtypeExprOrValue<ArrayType<StructType>>>(data: T, columns: SheetColumnSpec<DataRowType<T>>, options: SheetOptions<DataRowType<T>>): ExprType<UIComponentType>;
|
|
324
|
-
/** A whole-value bind handle retains its live reader for atomic onUpdate. */
|
|
325
|
-
export declare function createSheet<R extends StructType>(data: SheetBindHandle<R>, columns: SheetColumnSpec<R>, options: SheetOptions<R>): ExprType<UIComponentType>;
|
|
326
|
-
/** The PAGED arm — positional (`Array<R>` windows) or keyed (`Dict<String, R>` windows, the key is the id). */
|
|
327
|
-
export declare function createSheet<R extends StructType>(data: PagedSource<ArrayType<R>> | PagedSource<DictType<StringType, R>>, columns: SheetColumnSpec<R>, options?: SheetOptions<R>): ExprType<UIComponentType>;
|
|
328
|
-
//# sourceMappingURL=root.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../src/collections/sheet/root.ts"],"names":[],"mappings":"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"}
|