@elaraai/east-ui 1.0.85 → 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-types.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-types.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;sBAMY,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
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
|
+
/** Record Slice wire; the existing local Slice types remain unchanged. */
|
|
6
|
+
import { ArrayType, BlobType, BooleanType, DictType, East, FunctionType, IntegerType, NullType, OptionType, SetType, StringType, StructType, VariantType, } from "@elaraai/east";
|
|
7
|
+
import { ValueFormatType } from "../../contracts/format.js";
|
|
8
|
+
import { TimeResolutionType } from "../../contracts/time.js";
|
|
9
|
+
import { PinnedSourceType, SeekQueryType, SeekRangeType } from "../../contracts/source.js";
|
|
10
|
+
/**
|
|
11
|
+
* One field's narrowing, with values encoded as typed .east literals.
|
|
12
|
+
* @remarks Prefix text is raw text; every exact value and range end is a literal.
|
|
13
|
+
* @property values - Exact alternatives on a leading field (one on a Set field).
|
|
14
|
+
* @property range - Half-open range on the next field.
|
|
15
|
+
* @property prefix - String prefix on the next field.
|
|
16
|
+
*/
|
|
17
|
+
export const RecordSliceChoiceType = VariantType({
|
|
18
|
+
values: ArrayType(StringType),
|
|
19
|
+
range: StructType({ from: StringType, to: StringType }),
|
|
20
|
+
prefix: StringType,
|
|
21
|
+
});
|
|
22
|
+
/** A narrowing keyed by row-field name; its clauses follow one index path. */
|
|
23
|
+
export const RecordSliceWhereType = DictType(StringType, RecordSliceChoiceType);
|
|
24
|
+
/**
|
|
25
|
+
* Persistable record narrowing. Resolution changes presentation only.
|
|
26
|
+
* @property where - Current field choices.
|
|
27
|
+
* @property preset - Selected preset, if any.
|
|
28
|
+
* @property resolution - Shared presentation resolution; never changes row count.
|
|
29
|
+
*/
|
|
30
|
+
export const RecordSliceStateType = StructType({
|
|
31
|
+
where: RecordSliceWhereType,
|
|
32
|
+
preset: OptionType(StringType),
|
|
33
|
+
resolution: OptionType(TimeResolutionType),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* One named narrowing supplied by the author.
|
|
37
|
+
* @property id - Stable preset identity.
|
|
38
|
+
* @property name - Display name.
|
|
39
|
+
* @property where - Narrowing selecting this preset applies.
|
|
40
|
+
*/
|
|
41
|
+
export const RecordSlicePresetType = StructType({ id: StringType, name: StringType, where: RecordSliceWhereType });
|
|
42
|
+
/**
|
|
43
|
+
* A known field value, ready for a chip.
|
|
44
|
+
* @property value - Canonical .east literal.
|
|
45
|
+
* @property label - Display label.
|
|
46
|
+
*/
|
|
47
|
+
export const RecordSliceValueType = StructType({ value: StringType, label: StringType });
|
|
48
|
+
/**
|
|
49
|
+
* A field's control, derived at authoring time from its row type.
|
|
50
|
+
* @property fieldId - Own row-field name.
|
|
51
|
+
* @property label - Human label.
|
|
52
|
+
* @property kind - string, boolean, enum, datetime, integer, or float.
|
|
53
|
+
* @property optional - Offers an Unset choice.
|
|
54
|
+
* @property multiple - Accepts multiple exact alternatives.
|
|
55
|
+
* @property set - Indexes membership in a Set; requires exactly one value.
|
|
56
|
+
* @property values - Known values and labels, including enum cases and hints.
|
|
57
|
+
* @property format - Shared display format, or the kind's default.
|
|
58
|
+
*/
|
|
59
|
+
export const RecordSliceFieldType = StructType({
|
|
60
|
+
fieldId: StringType, label: StringType, kind: StringType,
|
|
61
|
+
optional: BooleanType, multiple: BooleanType, set: BooleanType,
|
|
62
|
+
values: ArrayType(RecordSliceValueType), format: OptionType(ValueFormatType),
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* One available query path, invisible to users.
|
|
66
|
+
* @property name - Source selector.
|
|
67
|
+
* @property fields - Row fields in index order.
|
|
68
|
+
* @property sets - Fields that fan out; all must be fixed to one exact value.
|
|
69
|
+
* @property structured - Index key is a Struct, including a single computed field.
|
|
70
|
+
* @property interval - Final field represents overlap with an interval, using distinct start/carry-in queries.
|
|
71
|
+
*/
|
|
72
|
+
export const RecordSliceIndexType = StructType({
|
|
73
|
+
name: StringType, fields: ArrayType(StringType), sets: SetType(StringType), structured: BooleanType,
|
|
74
|
+
interval: OptionType(StructType({ from: StringType, to: StringType, optional: BooleanType })),
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* Data-only schema of a record slice's controls and supported paths.
|
|
78
|
+
* @property fields - Offered controls in author order.
|
|
79
|
+
* @property indexes - Available query paths.
|
|
80
|
+
* @property range - The field the range pill and a Plan's axis share.
|
|
81
|
+
* @property search - Fields offered for prefix search.
|
|
82
|
+
* @property presets - Named supported narrowings.
|
|
83
|
+
*/
|
|
84
|
+
export const RecordSliceConfigType = StructType({
|
|
85
|
+
fields: ArrayType(RecordSliceFieldType), indexes: ArrayType(RecordSliceIndexType),
|
|
86
|
+
range: OptionType(StringType), search: ArrayType(StringType), presets: ArrayType(RecordSlicePresetType),
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* A value's exact count in the narrowing choosing it would produce.
|
|
90
|
+
* @property value - Canonical .east literal.
|
|
91
|
+
* @property label - Display label.
|
|
92
|
+
* @property count - Exact result count, none while pending or failed.
|
|
93
|
+
* @property selected - Currently selected as an exact value.
|
|
94
|
+
* @property error - Read failure for this choice, shown with Retry.
|
|
95
|
+
*/
|
|
96
|
+
export const RecordSliceCountType = StructType({
|
|
97
|
+
value: StringType, label: StringType, count: OptionType(IntegerType), selected: BooleanType, error: OptionType(StringType),
|
|
98
|
+
});
|
|
99
|
+
/** Canonical endpoints of a field's non-empty data extent (both inclusive). */
|
|
100
|
+
export const RecordSliceDomainType = StructType({ from: StringType, to: StringType });
|
|
101
|
+
/**
|
|
102
|
+
* Record controls' non-generic handle, safe to embed in component IR.
|
|
103
|
+
* @remarks The typed authoring handle adds data; chrome keeps only this shape.
|
|
104
|
+
* @property key - Store identity.
|
|
105
|
+
* @property config - Controls and supported paths.
|
|
106
|
+
* @property read - Read tracked narrowing state.
|
|
107
|
+
* @property write - Replace state after validating its complete path.
|
|
108
|
+
* @property choose - Choose canonical values for a field; empty clears it.
|
|
109
|
+
* @property range - Set a half-open range, with canonical endpoints.
|
|
110
|
+
* @property prefix - Set a String prefix.
|
|
111
|
+
* @property clear - Clear one field and any dependent trailing choices.
|
|
112
|
+
* @property clearAll - Clear the narrowing.
|
|
113
|
+
* @property count - Exact narrowed count; none while pending.
|
|
114
|
+
* @property countWhere - Exact count of a saved narrowing, without changing current state.
|
|
115
|
+
* @property total - Exact primary-row count; none while pending.
|
|
116
|
+
* @property domain - Inclusive numeric/date extent, ignoring that field's range; none while pending or empty.
|
|
117
|
+
* @property values - Known values with exact prospective counts.
|
|
118
|
+
* @property suggest - At most eight distinct String values with exact counts.
|
|
119
|
+
* @property replaces - Field labels a new choice would replace.
|
|
120
|
+
* @property togglePreset - Set or clear a named narrowing.
|
|
121
|
+
* @property setResolution - Set presentation resolution without changing narrowing.
|
|
122
|
+
* @property retry - Retry failed reads against the current record revision.
|
|
123
|
+
* @property sourceId - Stable record identity for a shared editing session.
|
|
124
|
+
* @property contains - Exact indexed membership of a primary identity in a captured narrowing; internal editing integration.
|
|
125
|
+
* @property readEntry - Confirm an entry by primary identity: outer none is pending, inner none is confirmed absent. Internal editing integration.
|
|
126
|
+
*/
|
|
127
|
+
export const RecordSliceBindType = StructType({
|
|
128
|
+
key: StringType,
|
|
129
|
+
config: RecordSliceConfigType,
|
|
130
|
+
read: FunctionType([], RecordSliceStateType),
|
|
131
|
+
write: FunctionType([RecordSliceStateType], NullType),
|
|
132
|
+
choose: FunctionType([StringType, ArrayType(StringType)], NullType),
|
|
133
|
+
range: FunctionType([StringType, StringType, StringType], NullType),
|
|
134
|
+
prefix: FunctionType([StringType, StringType], NullType),
|
|
135
|
+
clear: FunctionType([StringType], NullType),
|
|
136
|
+
clearAll: FunctionType([], NullType),
|
|
137
|
+
count: FunctionType([], OptionType(IntegerType)),
|
|
138
|
+
countWhere: FunctionType([RecordSliceWhereType], OptionType(IntegerType)),
|
|
139
|
+
total: FunctionType([], OptionType(IntegerType)),
|
|
140
|
+
domain: FunctionType([StringType], OptionType(RecordSliceDomainType)),
|
|
141
|
+
values: FunctionType([StringType], ArrayType(RecordSliceCountType)),
|
|
142
|
+
suggest: FunctionType([StringType, StringType], OptionType(ArrayType(RecordSliceCountType))),
|
|
143
|
+
replaces: FunctionType([StringType], ArrayType(StringType)),
|
|
144
|
+
togglePreset: FunctionType([StringType], NullType),
|
|
145
|
+
setResolution: FunctionType([OptionType(TimeResolutionType)], NullType),
|
|
146
|
+
retry: FunctionType([], NullType),
|
|
147
|
+
sourceId: StringType,
|
|
148
|
+
readEntry: FunctionType([StringType], OptionType(OptionType(BlobType))),
|
|
149
|
+
contains: FunctionType([RecordSliceWhereType, StringType], OptionType(BooleanType)),
|
|
150
|
+
});
|
|
151
|
+
/**
|
|
152
|
+
* Typed authoring handle; `data` preserves the narrowed window type through $.let.
|
|
153
|
+
* @typeParam C - The collection type one narrowed window serves.
|
|
154
|
+
* @param collection - Window type.
|
|
155
|
+
* @returns The typed record Slice handle.
|
|
156
|
+
*/
|
|
157
|
+
export function RecordSliceHandleType(collection) {
|
|
158
|
+
return StructType({ ...RecordSliceBindType.fields, data: PinnedSourceType(collection),
|
|
159
|
+
/** Read a captured narrowing without replacing the shared controls' state. */
|
|
160
|
+
pageWhere: FunctionType([RecordSliceWhereType, IntegerType, IntegerType], OptionType(collection)),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/** New record-arm bind; local slice_bind remains byte-for-byte unchanged. @internal */
|
|
164
|
+
export const recordSliceBindPlatform = East.genericPlatform("slice_bind_record", ["S", "C"], [StringType, "S", RecordSliceConfigType, RecordSliceStateType], RecordSliceHandleType("C"), { optional: true });
|
|
165
|
+
const descriptor = [StringType, "S", RecordSliceConfigType, RecordSliceStateType];
|
|
166
|
+
function op(name, args, output) {
|
|
167
|
+
return East.genericPlatform(`slice_record_${name}`, ["S", "C"], [...descriptor, ...args], output, { optional: true });
|
|
168
|
+
}
|
|
169
|
+
/** Serializable operations carrying the binding descriptor, including after decode. @internal */
|
|
170
|
+
export const RecordSlicePrimitives = {
|
|
171
|
+
read: op("read", [], RecordSliceStateType),
|
|
172
|
+
write: op("write", [RecordSliceStateType], NullType),
|
|
173
|
+
choose: op("choose", [StringType, ArrayType(StringType)], NullType),
|
|
174
|
+
range: op("range", [StringType, StringType, StringType], NullType),
|
|
175
|
+
prefix: op("prefix", [StringType, StringType], NullType),
|
|
176
|
+
clear: op("clear", [StringType], NullType),
|
|
177
|
+
clearAll: op("clear_all", [], NullType),
|
|
178
|
+
count: op("count", [], OptionType(IntegerType)),
|
|
179
|
+
countWhere: op("count_where", [RecordSliceWhereType], OptionType(IntegerType)),
|
|
180
|
+
total: op("total", [], OptionType(IntegerType)),
|
|
181
|
+
domain: op("domain", [StringType], OptionType(RecordSliceDomainType)),
|
|
182
|
+
values: op("values", [StringType], ArrayType(RecordSliceCountType)),
|
|
183
|
+
suggest: op("suggest", [StringType, StringType], OptionType(ArrayType(RecordSliceCountType))),
|
|
184
|
+
replaces: op("replaces", [StringType], ArrayType(StringType)),
|
|
185
|
+
togglePreset: op("toggle_preset", [StringType], NullType),
|
|
186
|
+
setResolution: op("set_resolution", [OptionType(TimeResolutionType)], NullType),
|
|
187
|
+
page: op("page", [RecordSliceWhereType, IntegerType, IntegerType], OptionType("C")),
|
|
188
|
+
pageWhere: op("page_where", [RecordSliceWhereType, IntegerType, IntegerType], OptionType("C")),
|
|
189
|
+
seek: op("seek", [RecordSliceWhereType, SeekQueryType], OptionType(SeekRangeType)),
|
|
190
|
+
dataCount: op("data_count", [RecordSliceWhereType], OptionType(IntegerType)),
|
|
191
|
+
revision: op("revision", [], OptionType(StringType)),
|
|
192
|
+
refresh: op("refresh", [OptionType(StringType)], NullType),
|
|
193
|
+
retry: op("retry", [], NullType),
|
|
194
|
+
readEntry: op("read_entry", [StringType], OptionType(OptionType(BlobType))),
|
|
195
|
+
contains: op("contains", [RecordSliceWhereType, StringType], OptionType(BooleanType)),
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Read one active indexed result incrementally in the renderer's read scope.
|
|
199
|
+
* The result belongs to that reader; this does not extend either page cache.
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
202
|
+
export const recordSliceReadPlatform = East.genericPlatform("slice_record_scan", ["C"], [
|
|
203
|
+
StringType,
|
|
204
|
+
FunctionType([], OptionType(StringType)),
|
|
205
|
+
FunctionType([RecordSliceWhereType], OptionType(IntegerType)),
|
|
206
|
+
FunctionType([RecordSliceWhereType, IntegerType, IntegerType], OptionType("C")),
|
|
207
|
+
RecordSliceWhereType,
|
|
208
|
+
], OptionType("C"), { optional: true });
|
|
209
|
+
//# sourceMappingURL=record-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-types.js","sourceRoot":"","sources":["../../../../src/platform/slice/record-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
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
|
+
/** Typed record Slice authoring. Query execution belongs to the renderer. */
|
|
6
|
+
import { ArrayType, StringType, StructType, VariantType, SetType, type EastType, type ExprType, type SubtypeExprOrValue } from "@elaraai/east";
|
|
7
|
+
import { IndexedEntryType, type IndexedSource } from "../../contracts/indexed-source.js";
|
|
8
|
+
import { type SliceFieldFormat } from "./index.js";
|
|
9
|
+
import { RecordSliceHandleType } from "./record-types.js";
|
|
10
|
+
type IndexedFields<M extends StructType> = {
|
|
11
|
+
[I in keyof M["fields"]]: M["fields"][I] extends StructType<infer F> ? keyof F : never;
|
|
12
|
+
}[keyof M["fields"]];
|
|
13
|
+
type Field<M extends StructType> = Extract<IndexedFields<M>, string>;
|
|
14
|
+
type MarkerType<R extends StructType, F extends string, T> = T extends ArrayType<infer V> ? V : T extends SetType ? T : F extends keyof R["fields"] ? R["fields"][F] : never;
|
|
15
|
+
type FieldType<R extends StructType, M extends StructType, F extends string> = {
|
|
16
|
+
[I in keyof M["fields"]]: M["fields"][I] extends StructType<infer Fields> ? F extends keyof Fields ? MarkerType<R, F, Fields[F]> : never : never;
|
|
17
|
+
}[keyof M["fields"]];
|
|
18
|
+
type Key<T extends EastType> = T extends SetType<infer K extends EastType> ? K : T;
|
|
19
|
+
type Scalar<T extends EastType> = Key<T> extends VariantType<infer V> ? V extends {
|
|
20
|
+
some: infer S extends EastType;
|
|
21
|
+
none: EastType;
|
|
22
|
+
} ? S : Key<T> : Key<T>;
|
|
23
|
+
type PrimitiveValue<T extends EastType> = T["type"] extends "String" ? string : T["type"] extends "Integer" ? bigint : T["type"] extends "Float" ? number : T["type"] extends "Boolean" ? boolean : T["type"] extends "DateTime" ? Date : T extends VariantType<infer V> ? Extract<keyof V, string> : never;
|
|
24
|
+
/** Authoring shorthand: unit variants are case names; an optional value may be null. */
|
|
25
|
+
export type RecordSliceValue<T extends EastType> = Key<T> extends VariantType<infer V> ? V extends {
|
|
26
|
+
some: infer S extends EastType;
|
|
27
|
+
none: EastType;
|
|
28
|
+
} ? PrimitiveValue<S> | null : PrimitiveValue<Key<T>> : PrimitiveValue<Key<T>>;
|
|
29
|
+
type RangeField<R extends StructType, M extends StructType> = {
|
|
30
|
+
[F in Field<M>]: FieldType<R, M, F> extends SetType ? never : Scalar<FieldType<R, M, F>>["type"] extends "DateTime" | "Integer" | "Float" ? F : never;
|
|
31
|
+
}[Field<M>];
|
|
32
|
+
type SearchField<R extends StructType, M extends StructType> = {
|
|
33
|
+
[F in Field<M>]: Scalar<FieldType<R, M, F>> extends StringType ? F : never;
|
|
34
|
+
}[Field<M>];
|
|
35
|
+
type Choice<T extends EastType> = readonly RecordSliceValue<T>[] | (T extends SetType ? never : Scalar<T>["type"] extends "DateTime" | "Integer" | "Float" ? {
|
|
36
|
+
from: Exclude<RecordSliceValue<T>, null>;
|
|
37
|
+
to: Exclude<RecordSliceValue<T>, null>;
|
|
38
|
+
} : Scalar<T> extends StringType ? {
|
|
39
|
+
prefix: string;
|
|
40
|
+
} : never);
|
|
41
|
+
/** Typed per-field narrowing; clauses must be answerable by one declared index. */
|
|
42
|
+
export type RecordSliceWhere<R extends StructType, M extends StructType> = {
|
|
43
|
+
[F in Field<M>]?: Choice<FieldType<R, M, F>>;
|
|
44
|
+
};
|
|
45
|
+
/** Options inferred from the record's row and its binding's declared indexes. */
|
|
46
|
+
export interface RecordSliceOptions<R extends StructType, M extends StructType> {
|
|
47
|
+
/** Offered fields; omitted means all indexed fields. */
|
|
48
|
+
fields?: {
|
|
49
|
+
[F in Field<M>]?: {
|
|
50
|
+
label?: string;
|
|
51
|
+
format?: SliceFieldFormat;
|
|
52
|
+
hints?: readonly RecordSliceValue<FieldType<R, M, F>>[];
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/** Ranged field shared by the range control and a Plan's window. */
|
|
56
|
+
range?: RangeField<R, M>;
|
|
57
|
+
/** Prefix-search fields; omitted means all offered String fields. */
|
|
58
|
+
search?: SearchField<R, M> | readonly SearchField<R, M>[];
|
|
59
|
+
/** Narrowing seeded on first bind. */
|
|
60
|
+
initial?: RecordSliceWhere<R, M>;
|
|
61
|
+
/** Named narrowings, selected one at a time. */
|
|
62
|
+
presets?: readonly {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
where: RecordSliceWhere<R, M>;
|
|
66
|
+
}[];
|
|
67
|
+
}
|
|
68
|
+
/** Type-derived control information, also used to validate custom-control input. */
|
|
69
|
+
export interface RecordSliceFieldSchema {
|
|
70
|
+
/** The actual scalar index key, including Option when present. */
|
|
71
|
+
key: EastType;
|
|
72
|
+
/** Inner control type. */
|
|
73
|
+
inner: EastType;
|
|
74
|
+
/** Whether a missing value is selectable. */
|
|
75
|
+
optional: boolean;
|
|
76
|
+
/** Whether the index fans out over a Set. */
|
|
77
|
+
set: boolean;
|
|
78
|
+
/** Closed renderer control kind. */
|
|
79
|
+
kind: "string" | "boolean" | "enum" | "datetime" | "integer" | "float";
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Derive a supported control without putting an East type in the wire.
|
|
83
|
+
* @param type - Record field type.
|
|
84
|
+
* @param name - Field named in an actionable refusal.
|
|
85
|
+
* @returns The scalar key type and control information.
|
|
86
|
+
*/
|
|
87
|
+
export declare function recordSliceFieldSchema(type: EastType, name: string): RecordSliceFieldSchema;
|
|
88
|
+
/**
|
|
89
|
+
* Resolve indexed controls' types without reading records. Empty collection
|
|
90
|
+
* markers carry computed types through serialization; row fields keep their
|
|
91
|
+
* existing metadata. Reusing a field name with a different type is refused.
|
|
92
|
+
* @param row - Stored row schema.
|
|
93
|
+
* @param metadata - Ordered index metadata, when computed fields are offered.
|
|
94
|
+
* @returns Stored and computed field types.
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
export declare function recordSliceFieldTypes(row: StructType, metadata?: StructType): Record<string, EastType>;
|
|
98
|
+
/**
|
|
99
|
+
* Bind a record through its field indexes. The source's joined entries retain
|
|
100
|
+
* their primary keys; no row predicate or full-record read is generated.
|
|
101
|
+
*
|
|
102
|
+
* @param key - Stable UI state key.
|
|
103
|
+
* @param source - A field-index binding, such as Data.bindPaged(record, { indexes }).
|
|
104
|
+
* @param options - Fields, initial narrowing, range, search and presets.
|
|
105
|
+
* @returns A serializable handle with typed narrowed data.
|
|
106
|
+
*/
|
|
107
|
+
export declare function bindRecord<K extends EastType, R extends StructType, P extends EastType, M extends StructType, IK extends VariantType>(key: SubtypeExprOrValue<StringType>, source: IndexedSource<K, R, P, M, IK>, options?: RecordSliceOptions<NoInfer<R>, NoInfer<M>>): ExprType<ReturnType<typeof RecordSliceHandleType<ArrayType<ReturnType<typeof IndexedEntryType<K, R, P, IK>>>>>>;
|
|
108
|
+
export {};
|
|
109
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,210 @@
|
|
|
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
|
+
/** Typed record Slice authoring. Query execution belongs to the renderer. */
|
|
6
|
+
import { ArrayType, East, Expr, StringType, StructType, VariantType, SetType, compareFor, isSubtype, isTypeEqual, isValueOf, none, printFor, some, variant, } from "@elaraai/east";
|
|
7
|
+
import { IndexedEntryType, IndexedSourceType } from "../../contracts/indexed-source.js";
|
|
8
|
+
import { toValueFormat } from "./index.js";
|
|
9
|
+
import { planRecordSlice } from "./record-plan.js";
|
|
10
|
+
import { RecordSliceConfigType, RecordSliceStateType, RecordSliceHandleType, recordSliceBindPlatform, } from "./record-types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Derive a supported control without putting an East type in the wire.
|
|
13
|
+
* @param type - Record field type.
|
|
14
|
+
* @param name - Field named in an actionable refusal.
|
|
15
|
+
* @returns The scalar key type and control information.
|
|
16
|
+
*/
|
|
17
|
+
export function recordSliceFieldSchema(type, name) {
|
|
18
|
+
const set = type.type === "Set";
|
|
19
|
+
const key = type.type === "Set" ? type.key : type;
|
|
20
|
+
const optional = key.type === "Variant" && Object.keys(key.cases).length === 2 && key.cases.none?.type === "Null" && key.cases.some !== undefined;
|
|
21
|
+
const inner = optional && key.type === "Variant" ? key.cases.some : key;
|
|
22
|
+
let kind;
|
|
23
|
+
switch (inner.type) {
|
|
24
|
+
case "String":
|
|
25
|
+
kind = "string";
|
|
26
|
+
break;
|
|
27
|
+
case "Boolean":
|
|
28
|
+
kind = "boolean";
|
|
29
|
+
break;
|
|
30
|
+
case "DateTime":
|
|
31
|
+
kind = "datetime";
|
|
32
|
+
break;
|
|
33
|
+
case "Integer":
|
|
34
|
+
kind = "integer";
|
|
35
|
+
break;
|
|
36
|
+
case "Float":
|
|
37
|
+
kind = "float";
|
|
38
|
+
break;
|
|
39
|
+
case "Variant":
|
|
40
|
+
if (Object.values(inner.cases).some(value => value.type !== "Null"))
|
|
41
|
+
throw new Error(`Slice.bindRecord: '${name}' needs a primitive field or a variant of unit cases`);
|
|
42
|
+
kind = "enum";
|
|
43
|
+
break;
|
|
44
|
+
default: throw new Error(`Slice.bindRecord: '${name}' has no narrowing control; use a primitive field or a variant of unit cases`);
|
|
45
|
+
}
|
|
46
|
+
return { key, inner, optional, set, kind };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Resolve indexed controls' types without reading records. Empty collection
|
|
50
|
+
* markers carry computed types through serialization; row fields keep their
|
|
51
|
+
* existing metadata. Reusing a field name with a different type is refused.
|
|
52
|
+
* @param row - Stored row schema.
|
|
53
|
+
* @param metadata - Ordered index metadata, when computed fields are offered.
|
|
54
|
+
* @returns Stored and computed field types.
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export function recordSliceFieldTypes(row, metadata) {
|
|
58
|
+
const fields = { ...row.fields };
|
|
59
|
+
for (const index of Object.values(metadata?.fields ?? {})) {
|
|
60
|
+
if (index.type !== "Struct")
|
|
61
|
+
continue;
|
|
62
|
+
for (const [name, marker] of Object.entries(index.fields)) {
|
|
63
|
+
if (marker.type !== "Array" && marker.type !== "Set")
|
|
64
|
+
continue;
|
|
65
|
+
const type = marker.type === "Array" ? marker.value : marker;
|
|
66
|
+
if (fields[name] !== undefined && !isTypeEqual(fields[name], type)) {
|
|
67
|
+
throw new Error(`Slice.bindRecord: indexed field '${name}' has inconsistent types; give a distinct computed value its own field name`);
|
|
68
|
+
}
|
|
69
|
+
fields[name] = type;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return fields;
|
|
73
|
+
}
|
|
74
|
+
/** Default labels shared by inferred field names and enum cases. */
|
|
75
|
+
function label(name) {
|
|
76
|
+
const text = name.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/_/g, " ");
|
|
77
|
+
return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
|
|
78
|
+
}
|
|
79
|
+
function literal(schema, input) {
|
|
80
|
+
let value = schema.kind === "enum" && isValueOf(input, StringType) ? variant(input, null) : input;
|
|
81
|
+
if (schema.optional)
|
|
82
|
+
value = input === null ? none : some(value);
|
|
83
|
+
if (!isValueOf(value, schema.key))
|
|
84
|
+
throw new Error(`Slice.bindRecord: invalid ${schema.kind} choice`);
|
|
85
|
+
return printFor(schema.key)(value);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Bind a record through its field indexes. The source's joined entries retain
|
|
89
|
+
* their primary keys; no row predicate or full-record read is generated.
|
|
90
|
+
*
|
|
91
|
+
* @param key - Stable UI state key.
|
|
92
|
+
* @param source - A field-index binding, such as Data.bindPaged(record, { indexes }).
|
|
93
|
+
* @param options - Fields, initial narrowing, range, search and presets.
|
|
94
|
+
* @returns A serializable handle with typed narrowed data.
|
|
95
|
+
*/
|
|
96
|
+
export function bindRecord(key, source, options = {}) {
|
|
97
|
+
const sourceType = Expr.type(source);
|
|
98
|
+
if (sourceType.type !== "Struct" || sourceType.fields.page?.type !== "Function" || sourceType.fields.indexes?.type !== "Struct") {
|
|
99
|
+
throw new Error("Slice.bindRecord needs Data.bindPaged(record, { indexes }); a plain paged binding cannot be narrowed");
|
|
100
|
+
}
|
|
101
|
+
const output = sourceType.fields.page.output;
|
|
102
|
+
if (output.type !== "Variant" || output.cases.some?.type !== "Array" || output.cases.some.value.type !== "Struct")
|
|
103
|
+
throw new Error("Slice.bindRecord needs indexed record entries");
|
|
104
|
+
const entry = output.cases.some.value;
|
|
105
|
+
const rowOption = entry.fields.row;
|
|
106
|
+
const projectionOption = entry.fields.value;
|
|
107
|
+
if (rowOption?.type !== "Variant" || rowOption.cases.some?.type !== "Struct" || projectionOption?.type !== "Variant" || entry.fields.ik?.type !== "Variant" || entry.fields.key === undefined) {
|
|
108
|
+
throw new Error("Slice.bindRecord needs indexed record entries with a Struct row");
|
|
109
|
+
}
|
|
110
|
+
const rowType = rowOption.cases.some;
|
|
111
|
+
const metadata = sourceType.fields.indexes;
|
|
112
|
+
const fieldTypes = recordSliceFieldTypes(rowType, metadata);
|
|
113
|
+
if (!isSubtype(sourceType, IndexedSourceType(entry.fields.key, rowType, projectionOption.cases.some, metadata, entry.fields.ik)))
|
|
114
|
+
throw new Error("Slice.bindRecord needs an indexed record binding");
|
|
115
|
+
const indexes = Object.entries(metadata.fields).map(([name, type]) => {
|
|
116
|
+
if (type.type !== "Struct")
|
|
117
|
+
throw new Error("Slice.bindRecord needs field metadata on every index");
|
|
118
|
+
const fields = Object.keys(type.fields);
|
|
119
|
+
if (fields.length === 0)
|
|
120
|
+
throw new Error(`Slice.bindRecord: '${name}' has no fields`);
|
|
121
|
+
const markers = Object.entries(type.fields).filter(([, marker]) => marker.type === "Struct");
|
|
122
|
+
if (markers.length > 1)
|
|
123
|
+
throw new Error(`Slice.bindRecord: '${name}' has multiple interval fields`);
|
|
124
|
+
const marker = markers[0];
|
|
125
|
+
const ends = marker?.[1].type === "Struct" ? Object.keys(marker[1].fields) : [];
|
|
126
|
+
if (marker !== undefined && (marker[0] !== fields.at(-1) || ends.length !== 1))
|
|
127
|
+
throw new Error(`Slice.bindRecord: '${name}' needs one final interval field`);
|
|
128
|
+
const interval = marker === undefined ? none : some({ from: marker[0], to: ends[0],
|
|
129
|
+
optional: recordSliceFieldSchema(rowType.fields[marker[0]], marker[0]).optional });
|
|
130
|
+
const structured = entry.fields.ik.cases[name]?.type === "Struct";
|
|
131
|
+
return { name, fields, sets: new Set(fields.filter(field => fieldTypes[field]?.type === "Set")),
|
|
132
|
+
structured, interval };
|
|
133
|
+
});
|
|
134
|
+
const indexedFields = new Set(indexes.flatMap(index => index.fields));
|
|
135
|
+
const offered = options.fields === undefined ? [...indexedFields] : Object.keys(options.fields);
|
|
136
|
+
const schemas = new Map();
|
|
137
|
+
const fields = offered.map(field => {
|
|
138
|
+
if (!indexedFields.has(field) || fieldTypes[field] === undefined) {
|
|
139
|
+
throw new Error(`Slice.bindRecord: narrowing by '${field}' needs an index on it — e3.recordIndex("by_${field}", record, { on: ["${field}"] }), listed in Data.bindPaged's indexes`);
|
|
140
|
+
}
|
|
141
|
+
const schema = recordSliceFieldSchema(fieldTypes[field], field);
|
|
142
|
+
schemas.set(field, schema);
|
|
143
|
+
const config = options.fields?.[field];
|
|
144
|
+
const known = config?.hints ?? (schema.kind === "boolean" ? [true, false]
|
|
145
|
+
: schema.inner.type === "Variant" ? Object.keys(schema.inner.cases) : []);
|
|
146
|
+
const values = [...known].map(value => ({ value: literal(schema, value), label: value === null ? "Unset" : schema.kind === "boolean" ? (value ? "Yes" : "No")
|
|
147
|
+
: schema.kind === "enum" ? label(value) : isValueOf(value, StringType) ? value : printFor(schema.inner)(value) }));
|
|
148
|
+
if (schema.optional && !values.some(value => value.value === printFor(schema.key)(none)))
|
|
149
|
+
values.unshift({ value: printFor(schema.key)(none), label: "Unset" });
|
|
150
|
+
return { fieldId: field, label: config?.label ?? label(field), kind: schema.kind, optional: schema.optional,
|
|
151
|
+
multiple: !schema.set, set: schema.set, values, format: config?.format === undefined ? none : some(toValueFormat(config.format)) };
|
|
152
|
+
});
|
|
153
|
+
const getField = (field) => {
|
|
154
|
+
const schema = schemas.get(field);
|
|
155
|
+
if (schema === undefined)
|
|
156
|
+
throw new Error(`Slice.bindRecord: '${field}' must be included in fields and ordered by a listed index`);
|
|
157
|
+
return schema;
|
|
158
|
+
};
|
|
159
|
+
const makeWhere = (input) => {
|
|
160
|
+
const where = new Map();
|
|
161
|
+
for (const [field, choice] of Object.entries(input)) {
|
|
162
|
+
const schema = getField(field);
|
|
163
|
+
if (Array.isArray(choice)) {
|
|
164
|
+
if (choice.length === 0 || (schema.set && choice.length !== 1))
|
|
165
|
+
throw new Error(`Slice.bindRecord: '${field}' needs ${schema.set ? "exactly one value" : "at least one value"}`);
|
|
166
|
+
where.set(field, variant("values", [...new Set(choice.map(value => literal(schema, value)))]));
|
|
167
|
+
}
|
|
168
|
+
else if (choice !== null && typeof choice === "object" && "prefix" in choice) {
|
|
169
|
+
if (schema.kind !== "string" || schema.set || !isValueOf(choice.prefix, StringType))
|
|
170
|
+
throw new Error(`Slice.bindRecord: '${field}' cannot use a prefix; choose an exact value`);
|
|
171
|
+
where.set(field, variant("prefix", choice.prefix));
|
|
172
|
+
}
|
|
173
|
+
else if (choice !== null && typeof choice === "object" && "from" in choice && "to" in choice) {
|
|
174
|
+
if (schema.set || !["datetime", "integer", "float"].includes(schema.kind))
|
|
175
|
+
throw new Error(`Slice.bindRecord: '${field}' cannot use a range`);
|
|
176
|
+
const from = literal(schema, choice.from);
|
|
177
|
+
const to = literal(schema, choice.to);
|
|
178
|
+
if (compareFor(schema.inner)(choice.from, choice.to) >= 0)
|
|
179
|
+
throw new Error(`Slice.bindRecord: '${field}' needs an increasing half-open range`);
|
|
180
|
+
where.set(field, variant("range", { from, to }));
|
|
181
|
+
}
|
|
182
|
+
else
|
|
183
|
+
throw new Error(`Slice.bindRecord: '${field}' needs values, a range or a prefix`);
|
|
184
|
+
}
|
|
185
|
+
if (planRecordSlice(indexes, where, "primary") === null)
|
|
186
|
+
throw new Error("Slice.bindRecord: this narrowing needs one index on its exact fields followed by its range or prefix");
|
|
187
|
+
return where;
|
|
188
|
+
};
|
|
189
|
+
const range = options.range;
|
|
190
|
+
if (range !== undefined) {
|
|
191
|
+
const schema = getField(range);
|
|
192
|
+
if (schema.set || !["datetime", "integer", "float"].includes(schema.kind))
|
|
193
|
+
throw new Error(`Slice.bindRecord: range '${range}' must be DateTime, Integer or Float`);
|
|
194
|
+
}
|
|
195
|
+
const search = options.search === undefined ? fields.filter(field => field.kind === "string").map(field => field.fieldId) : typeof options.search === "string" ? [options.search] : [...options.search];
|
|
196
|
+
for (const field of search)
|
|
197
|
+
if (getField(field).kind !== "string")
|
|
198
|
+
throw new Error(`Slice.bindRecord: search '${field}' must be String`);
|
|
199
|
+
const initial = { where: makeWhere(options.initial ?? {}), preset: none, resolution: none };
|
|
200
|
+
const presetIds = new Set();
|
|
201
|
+
const presets = (options.presets ?? []).map(preset => {
|
|
202
|
+
if (presetIds.has(preset.id))
|
|
203
|
+
throw new Error(`Slice.bindRecord: repeated preset '${preset.id}'`);
|
|
204
|
+
presetIds.add(preset.id);
|
|
205
|
+
return { id: preset.id, name: preset.name, where: makeWhere(preset.where) };
|
|
206
|
+
});
|
|
207
|
+
const config = { fields, indexes, range: range === undefined ? none : some(range), search, presets };
|
|
208
|
+
return recordSliceBindPlatform([sourceType, output.cases.some], key, source, East.value(config, RecordSliceConfigType), East.value(initial, RecordSliceStateType));
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/platform/slice/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,12 +70,10 @@ declare function createMatch<C extends {
|
|
|
70
70
|
* @remarks
|
|
71
71
|
* Authored as the `<Match on={…} cases={{…}} />` tag; `Match.Root({ on,
|
|
72
72
|
* cases })` is the underlying factory. Use it to swap a **stateful**
|
|
73
|
-
* component (its own `<Reactive>` / binds) at one slot by a reactive key
|
|
74
|
-
* the active case remounts on tag change.
|
|
75
|
-
*
|
|
76
|
-
* `
|
|
77
|
-
* selecting a plain *value* by key (a label, a count), use `variant.match`
|
|
78
|
-
* directly — only mounted subtrees need the hosting slot.
|
|
73
|
+
* component (its own `<Reactive>` / binds) at one slot by a reactive key — a
|
|
74
|
+
* page's tab or mode, a selection: the active case remounts on tag change.
|
|
75
|
+
* For selecting a plain *value* by key (a label, a count), use
|
|
76
|
+
* `variant.match` directly — only mounted subtrees need the hosting slot.
|
|
79
77
|
*/
|
|
80
78
|
export declare const Match: {
|
|
81
79
|
/** Build a `<Match>` hosting slot from `{ on, cases }`. See {@link createMatch}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../src/reactive/match.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAIH,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,QAAQ;CAAE,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,GAAG,CACZ,CAAC,EAAE,YAAY,CAAC,OAAO,eAAe,CAAC,EACvC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KACtB,kBAAkB,CAAC,OAAO,eAAe,CAAC;CAClD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,QAAQ;CAAE;IAC7D,kGAAkG;IAClG,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,gHAAgH;IAChH,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,QAAQ;CAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAY1H;AAED
|
|
1
|
+
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../src/reactive/match.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAIH,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,QAAQ;CAAE,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,GAAG,CACZ,CAAC,EAAE,YAAY,CAAC,OAAO,eAAe,CAAC,EACvC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KACtB,kBAAkB,CAAC,OAAO,eAAe,CAAC;CAClD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,QAAQ;CAAE;IAC7D,kGAAkG;IAClG,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,gHAAgH;IAChH,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,GAAG,QAAQ;CAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAY1H;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK;IACd,oFAAoF;;CAE9E,CAAC"}
|