@elaraai/e3-ui 1.0.97 → 1.0.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/dist/src/allocation/adapters.d.ts +1 -1
- package/dist/src/allocation/adapters.js +1 -1
- package/dist/src/allocation/index.d.ts +232 -25
- package/dist/src/allocation/index.d.ts.map +1 -1
- package/dist/src/allocation/index.js +35 -6
- package/dist/src/allocation/index.js.map +1 -1
- package/dist/src/allocation/types.d.ts +41 -0
- package/dist/src/allocation/types.d.ts.map +1 -1
- package/dist/src/allocation/types.js +35 -0
- package/dist/src/allocation/types.js.map +1 -1
- package/dist/src/bind/data-indexed.d.ts +286 -37
- package/dist/src/bind/data-indexed.d.ts.map +1 -1
- package/dist/src/bind/data-indexed.js +259 -38
- package/dist/src/bind/data-indexed.js.map +1 -1
- package/dist/src/bind/data.d.ts +48 -9
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +48 -3
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/record.d.ts +61 -24
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js +17 -57
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +522 -36
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +53 -13
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/calendar/paged.d.ts +89 -0
- package/dist/src/calendar/paged.d.ts.map +1 -0
- package/dist/src/calendar/paged.js +148 -0
- package/dist/src/calendar/paged.js.map +1 -0
- package/dist/src/flowchart/index.d.ts +35 -31
- package/dist/src/flowchart/index.d.ts.map +1 -1
- package/dist/src/flowchart/index.js +35 -31
- package/dist/src/flowchart/index.js.map +1 -1
- package/dist/src/flowchart/library.d.ts +108 -84
- package/dist/src/flowchart/library.d.ts.map +1 -1
- package/dist/src/flowchart/library.js +108 -84
- package/dist/src/flowchart/library.js.map +1 -1
- package/dist/src/flowchart/payload.d.ts +105 -17
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/payload.js +3 -3
- package/dist/src/flowchart/payload.js.map +1 -1
- package/dist/src/flowchart/values.d.ts +35 -31
- package/dist/src/flowchart/values.d.ts.map +1 -1
- package/dist/src/flowchart/values.js +35 -31
- package/dist/src/flowchart/values.js.map +1 -1
- package/dist/src/flowchart/window.d.ts.map +1 -1
- package/dist/src/flowchart/window.js +3 -2
- package/dist/src/flowchart/window.js.map +1 -1
- package/dist/src/index.d.ts +13 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +20 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +18 -8
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +40 -10
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/assemble.d.ts +8 -0
- package/dist/src/plan/assemble.d.ts.map +1 -1
- package/dist/src/plan/assemble.js +1 -1
- package/dist/src/plan/assemble.js.map +1 -1
- package/dist/src/plan/builders.d.ts +1530 -10
- package/dist/src/plan/builders.d.ts.map +1 -1
- package/dist/src/plan/builders.js +260 -122
- package/dist/src/plan/builders.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +224 -157
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +201 -56
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/factories.d.ts +72 -4
- package/dist/src/plan/factories.d.ts.map +1 -1
- package/dist/src/plan/factories.js +147 -1
- package/dist/src/plan/factories.js.map +1 -1
- package/dist/src/plan/index.d.ts +152 -125
- package/dist/src/plan/index.d.ts.map +1 -1
- package/dist/src/plan/index.js +138 -122
- package/dist/src/plan/index.js.map +1 -1
- package/dist/src/plan/ir.d.ts +1139 -8
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/ir.js +5 -0
- package/dist/src/plan/ir.js.map +1 -1
- package/dist/src/plan/library.d.ts +65 -42
- package/dist/src/plan/library.d.ts.map +1 -1
- package/dist/src/plan/library.js +65 -42
- package/dist/src/plan/library.js.map +1 -1
- package/dist/src/plan/nested-checks.d.ts +146 -0
- package/dist/src/plan/nested-checks.d.ts.map +1 -0
- package/dist/src/plan/nested-checks.js +468 -0
- package/dist/src/plan/nested-checks.js.map +1 -0
- package/dist/src/plan/nested-patch.d.ts +35 -0
- package/dist/src/plan/nested-patch.d.ts.map +1 -0
- package/dist/src/plan/nested-patch.js +143 -0
- package/dist/src/plan/nested-patch.js.map +1 -0
- package/dist/src/plan/nested-read.d.ts +3250 -0
- package/dist/src/plan/nested-read.d.ts.map +1 -0
- package/dist/src/plan/nested-read.js +163 -0
- package/dist/src/plan/nested-read.js.map +1 -0
- package/dist/src/plan/nested.d.ts +280 -0
- package/dist/src/plan/nested.d.ts.map +1 -0
- package/dist/src/plan/nested.js +6 -0
- package/dist/src/plan/nested.js.map +1 -0
- package/dist/src/plan/ordered-source.d.ts +3067 -1
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/ordered-source.js +67 -17
- package/dist/src/plan/ordered-source.js.map +1 -1
- package/dist/src/plan/over.d.ts +111 -75
- package/dist/src/plan/over.d.ts.map +1 -1
- package/dist/src/plan/over.js +111 -75
- package/dist/src/plan/over.js.map +1 -1
- package/dist/src/plan/pick.d.ts +15 -3
- package/dist/src/plan/pick.d.ts.map +1 -1
- package/dist/src/plan/pick.js +75 -36
- package/dist/src/plan/pick.js.map +1 -1
- package/dist/src/plan/plan.d.ts +3143 -501
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +133 -34
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/reads.d.ts +421 -0
- package/dist/src/plan/reads.d.ts.map +1 -0
- package/dist/src/plan/reads.js +143 -0
- package/dist/src/plan/reads.js.map +1 -0
- package/dist/src/plan/refs.d.ts +111 -75
- package/dist/src/plan/refs.d.ts.map +1 -1
- package/dist/src/plan/refs.js +111 -75
- package/dist/src/plan/refs.js.map +1 -1
- package/dist/src/plan/root.d.ts +14 -7
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +82 -17
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/plan/series.d.ts +5153 -4331
- package/dist/src/plan/series.d.ts.map +1 -1
- package/dist/src/plan/series.js +1082 -266
- package/dist/src/plan/series.js.map +1 -1
- package/dist/src/plan/shade.d.ts +981 -0
- package/dist/src/plan/shade.d.ts.map +1 -0
- package/dist/src/plan/shade.js +60 -0
- package/dist/src/plan/shade.js.map +1 -0
- package/dist/src/plan/types.d.ts +192 -18
- package/dist/src/plan/types.d.ts.map +1 -1
- package/dist/src/plan/types.js +77 -19
- package/dist/src/plan/types.js.map +1 -1
- package/dist/src/query/builder.d.ts +3 -3
- package/dist/src/query/builder.d.ts.map +1 -1
- package/dist/src/query/builder.js +1 -1
- package/dist/src/query/library.d.ts +3 -3
- package/dist/src/query/library.d.ts.map +1 -1
- package/dist/src/query/library.js +1 -1
- package/dist/src/query/queries.d.ts +2 -2
- package/dist/src/query/queries.js +1 -1
- package/dist/src/query/saved.d.ts +8 -4
- package/dist/src/query/saved.d.ts.map +1 -1
- package/dist/src/query/saved.js +8 -4
- package/dist/src/query/saved.js.map +1 -1
- package/dist/src/query/types.d.ts +8 -3
- package/dist/src/query/types.d.ts.map +1 -1
- package/dist/src/query/types.js +8 -3
- package/dist/src/query/types.js.map +1 -1
- package/dist/src/roster/index.d.ts +583 -39
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +109 -35
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/roster/library.d.ts +12 -2
- package/dist/src/roster/library.d.ts.map +1 -1
- package/dist/src/roster/library.js +8 -0
- package/dist/src/roster/library.js.map +1 -1
- package/dist/src/roster/lists.d.ts +59 -12
- package/dist/src/roster/lists.d.ts.map +1 -1
- package/dist/src/roster/lists.js +51 -58
- package/dist/src/roster/lists.js.map +1 -1
- package/dist/src/roster/targets.d.ts +8 -4
- package/dist/src/roster/targets.d.ts.map +1 -1
- package/dist/src/roster/targets.js +9 -5
- package/dist/src/roster/targets.js.map +1 -1
- package/dist/src/roster/times.d.ts +402 -0
- package/dist/src/roster/times.d.ts.map +1 -1
- package/dist/src/roster/types.d.ts +913 -1
- package/dist/src/roster/types.d.ts.map +1 -1
- package/dist/src/roster/types.js +43 -3
- package/dist/src/roster/types.js.map +1 -1
- package/dist/src/schedule/cell-checks.d.ts +85 -0
- package/dist/src/schedule/cell-checks.d.ts.map +1 -0
- package/dist/src/schedule/cell-checks.js +211 -0
- package/dist/src/schedule/cell-checks.js.map +1 -0
- package/dist/src/schedule/days.d.ts +1 -1
- package/dist/src/schedule/days.js +1 -1
- package/dist/src/schedule/events.d.ts +52 -16
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +574 -356
- package/dist/src/schedule/events.js.map +1 -1
- package/dist/src/schedule/fields.d.ts +134 -0
- package/dist/src/schedule/fields.d.ts.map +1 -0
- package/dist/src/schedule/fields.js +207 -0
- package/dist/src/schedule/fields.js.map +1 -0
- package/dist/src/schedule/library.d.ts +11 -3
- package/dist/src/schedule/library.d.ts.map +1 -1
- package/dist/src/schedule/library.js +9 -6
- package/dist/src/schedule/library.js.map +1 -1
- package/dist/src/schedule/optimise.d.ts +124 -0
- package/dist/src/schedule/optimise.d.ts.map +1 -0
- package/dist/src/schedule/optimise.js +140 -0
- package/dist/src/schedule/optimise.js.map +1 -0
- package/dist/src/schedule/pages.d.ts +76 -0
- package/dist/src/schedule/pages.d.ts.map +1 -0
- package/dist/src/schedule/pages.js +86 -0
- package/dist/src/schedule/pages.js.map +1 -0
- package/dist/src/schedule/patch.d.ts +1 -1
- package/dist/src/schedule/patch.js +1 -1
- package/dist/src/schedule/periods.d.ts +8 -4
- package/dist/src/schedule/periods.d.ts.map +1 -1
- package/dist/src/schedule/periods.js +1 -1
- package/dist/src/schedule/periods.js.map +1 -1
- package/dist/src/schedule/record-window.d.ts +115 -22
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +140 -62
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +9 -5
- package/dist/src/schedule/resources.d.ts.map +1 -1
- package/dist/src/schedule/resources.js +35 -15
- package/dist/src/schedule/resources.js.map +1 -1
- package/dist/src/schedule/session.d.ts +15 -1
- package/dist/src/schedule/session.d.ts.map +1 -1
- package/dist/src/schedule/session.js +30 -18
- package/dist/src/schedule/session.js.map +1 -1
- package/dist/src/schedule/types.d.ts +455 -37
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +79 -18
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schedule/window.d.ts +30 -9
- package/dist/src/schedule/window.d.ts.map +1 -1
- package/dist/src/schedule/window.js +101 -49
- package/dist/src/schedule/window.js.map +1 -1
- package/dist/src/schematic/index.d.ts +287 -0
- package/dist/src/schematic/index.d.ts.map +1 -0
- package/dist/src/schematic/index.js +216 -0
- package/dist/src/schematic/index.js.map +1 -0
- package/dist/src/schematic/kinds.d.ts +501 -0
- package/dist/src/schematic/kinds.d.ts.map +1 -0
- package/dist/src/schematic/kinds.js +1027 -0
- package/dist/src/schematic/kinds.js.map +1 -0
- package/dist/src/schematic/layers.d.ts +74 -0
- package/dist/src/schematic/layers.d.ts.map +1 -0
- package/dist/src/schematic/layers.js +99 -0
- package/dist/src/schematic/layers.js.map +1 -0
- package/dist/src/schematic/library.d.ts +202 -0
- package/dist/src/schematic/library.d.ts.map +1 -0
- package/dist/src/schematic/library.js +244 -0
- package/dist/src/schematic/library.js.map +1 -0
- package/dist/src/schematic/payload.d.ts +8310 -0
- package/dist/src/schematic/payload.d.ts.map +1 -0
- package/dist/src/schematic/payload.js +446 -0
- package/dist/src/schematic/payload.js.map +1 -0
- package/dist/src/schematic/schematic.d.ts +27 -0
- package/dist/src/schematic/schematic.d.ts.map +1 -0
- package/dist/src/schematic/schematic.js +17 -0
- package/dist/src/schematic/schematic.js.map +1 -0
- package/dist/src/schematic/shapes.d.ts +150 -0
- package/dist/src/schematic/shapes.d.ts.map +1 -0
- package/dist/src/schematic/shapes.js +171 -0
- package/dist/src/schematic/shapes.js.map +1 -0
- package/dist/src/schematic/templates.d.ts +96 -0
- package/dist/src/schematic/templates.d.ts.map +1 -0
- package/dist/src/schematic/templates.js +91 -0
- package/dist/src/schematic/templates.js.map +1 -0
- package/dist/src/schematic/types.d.ts +5766 -0
- package/dist/src/schematic/types.d.ts.map +1 -0
- package/dist/src/schematic/types.js +688 -0
- package/dist/src/schematic/types.js.map +1 -0
- package/dist/src/schematic/window.d.ts +213 -0
- package/dist/src/schematic/window.d.ts.map +1 -0
- package/dist/src/schematic/window.js +340 -0
- package/dist/src/schematic/window.js.map +1 -0
- package/dist/src/sheet/bridge.d.ts +19 -0
- package/dist/src/sheet/bridge.d.ts.map +1 -1
- package/dist/src/sheet/bridge.js +28 -21
- package/dist/src/sheet/bridge.js.map +1 -1
- package/dist/src/sheet/editing-bridge.d.ts +4 -2
- package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
- package/dist/src/sheet/editing-bridge.js +8 -2
- package/dist/src/sheet/editing-bridge.js.map +1 -1
- package/dist/src/sheet/editing-types.d.ts +9 -5
- package/dist/src/sheet/editing-types.d.ts.map +1 -1
- package/dist/src/sheet/editing-types.js +9 -5
- package/dist/src/sheet/editing-types.js.map +1 -1
- package/dist/src/sheet/index.d.ts +84 -54
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +81 -53
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/library.d.ts +13 -8
- package/dist/src/sheet/library.d.ts.map +1 -1
- package/dist/src/sheet/library.js +13 -8
- package/dist/src/sheet/library.js.map +1 -1
- package/dist/src/sheet/optimise.d.ts +69 -0
- package/dist/src/sheet/optimise.d.ts.map +1 -0
- package/dist/src/sheet/optimise.js +81 -0
- package/dist/src/sheet/optimise.js.map +1 -0
- package/dist/src/sheet/record.d.ts +1 -1
- package/dist/src/sheet/record.js +2 -2
- package/dist/src/sheet/record.js.map +1 -1
- package/dist/src/sheet/registers.d.ts +157 -133
- package/dist/src/sheet/registers.d.ts.map +1 -1
- package/dist/src/sheet/registers.js +157 -133
- package/dist/src/sheet/registers.js.map +1 -1
- package/dist/src/sheet/root.d.ts +6 -1
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +17 -5
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +696 -590
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +49 -15
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/sub-rows.d.ts +106 -76
- package/dist/src/sheet/sub-rows.d.ts.map +1 -1
- package/dist/src/sheet/sub-rows.js +106 -76
- package/dist/src/sheet/sub-rows.js.map +1 -1
- package/dist/src/sheet/types.d.ts +57 -20
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/sheet/types.js +4 -8
- package/dist/src/sheet/types.js.map +1 -1
- package/dist/src/studio/builder.d.ts +3 -153
- package/dist/src/studio/builder.d.ts.map +1 -1
- package/dist/src/studio/builder.js +1 -1
- package/dist/src/studio/canvas.d.ts +5 -4
- package/dist/src/studio/canvas.d.ts.map +1 -1
- package/dist/src/studio/canvas.js +8 -7
- package/dist/src/studio/canvas.js.map +1 -1
- package/dist/src/studio/component.d.ts +30 -20
- package/dist/src/studio/component.d.ts.map +1 -1
- package/dist/src/studio/component.js +26 -61
- package/dist/src/studio/component.js.map +1 -1
- package/dist/src/studio/index.d.ts +2 -2
- package/dist/src/studio/index.d.ts.map +1 -1
- package/dist/src/studio/index.js +1 -1
- package/dist/src/studio/index.js.map +1 -1
- package/dist/src/studio/inspector.d.ts +10 -39
- package/dist/src/studio/inspector.d.ts.map +1 -1
- package/dist/src/studio/inspector.js +11 -31
- package/dist/src/studio/inspector.js.map +1 -1
- package/dist/src/studio/library.d.ts +3 -169
- package/dist/src/studio/library.d.ts.map +1 -1
- package/dist/src/studio/library.js +1 -1
- package/dist/src/studio/page.d.ts +0 -8
- package/dist/src/studio/page.d.ts.map +1 -1
- package/dist/src/studio/pages.d.ts +17 -591
- package/dist/src/studio/pages.d.ts.map +1 -1
- package/dist/src/studio/pages.js +17 -44
- package/dist/src/studio/pages.js.map +1 -1
- package/dist/src/studio/palette.d.ts +2 -7
- package/dist/src/studio/palette.d.ts.map +1 -1
- package/dist/src/studio/palette.js +4 -5
- package/dist/src/studio/palette.js.map +1 -1
- package/dist/src/studio/publish.d.ts +8 -18
- package/dist/src/studio/publish.d.ts.map +1 -1
- package/dist/src/studio/publish.js +10 -36
- package/dist/src/studio/publish.js.map +1 -1
- package/dist/src/utils/derive.d.ts +12 -12
- package/dist/src/utils/derive.d.ts.map +1 -1
- package/dist/src/utils/derive.js +5 -2
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/keyed-rows.d.ts +41 -0
- package/dist/src/utils/keyed-rows.d.ts.map +1 -0
- package/dist/src/utils/keyed-rows.js +64 -0
- package/dist/src/utils/keyed-rows.js.map +1 -0
- package/dist/src/utils/optimise.d.ts +79 -0
- package/dist/src/utils/optimise.d.ts.map +1 -0
- package/dist/src/utils/optimise.js +46 -0
- package/dist/src/utils/optimise.js.map +1 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -1
- package/dist/src/utils/ordered-source.js +14 -5
- package/dist/src/utils/ordered-source.js.map +1 -1
- package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
- package/dist/test/allocation/allocation.examples.js +179 -89
- package/dist/test/allocation/allocation.examples.js.map +1 -1
- package/dist/test/allocation/optimise.examples.d.ts +109 -0
- package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
- package/dist/test/allocation/optimise.examples.js +223 -0
- package/dist/test/allocation/optimise.examples.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +1172 -514
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +284 -164
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +457 -428
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +41 -21
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.js +20 -12
- package/dist/test/calendar/calendar-records.examples.js.map +1 -1
- package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
- package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar-windows.examples.js +111 -0
- package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
- package/dist/test/calendar/calendar.examples.d.ts +1172 -915
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +211 -124
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/calendar/optimise.examples.d.ts +132 -0
- package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
- package/dist/test/calendar/optimise.examples.js +75 -0
- package/dist/test/calendar/optimise.examples.js.map +1 -0
- package/dist/test/examples-package.d.ts +49 -16
- package/dist/test/examples-package.d.ts.map +1 -1
- package/dist/test/examples-package.js +138 -49
- package/dist/test/examples-package.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/flowchart/flowchart.examples.js +211 -121
- package/dist/test/flowchart/flowchart.examples.js.map +1 -1
- package/dist/test/plan/optimise.examples.d.ts +207 -0
- package/dist/test/plan/optimise.examples.d.ts.map +1 -0
- package/dist/test/plan/optimise.examples.js +98 -0
- package/dist/test/plan/optimise.examples.js.map +1 -0
- package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +492 -319
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
- package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-nested.examples.js +321 -0
- package/dist/test/plan/plan-nested.examples.js.map +1 -0
- package/dist/test/plan/plan-records.examples.d.ts +391 -244
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +186 -65
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +269 -99
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +2238 -5726
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +846 -973
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/query/query.examples.d.ts +5221 -3005
- package/dist/test/query/query.examples.d.ts.map +1 -1
- package/dist/test/query/query.examples.js +169 -118
- package/dist/test/query/query.examples.js.map +1 -1
- package/dist/test/roster/domain.examples.d.ts +804 -0
- package/dist/test/roster/domain.examples.d.ts.map +1 -1
- package/dist/test/roster/domain.examples.js +3 -3
- package/dist/test/roster/domain.examples.js.map +1 -1
- package/dist/test/roster/optimise.examples.d.ts +485 -0
- package/dist/test/roster/optimise.examples.d.ts.map +1 -0
- package/dist/test/roster/optimise.examples.js +155 -0
- package/dist/test/roster/optimise.examples.js.map +1 -0
- package/dist/test/roster/roster-records.examples.d.ts +364 -404
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
- package/dist/test/roster/roster-records.examples.js +40 -26
- package/dist/test/roster/roster-records.examples.js.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +5091 -1424
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +255 -109
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/roster/warehouse.d.ts +150 -7
- package/dist/test/roster/warehouse.d.ts.map +1 -1
- package/dist/test/roster/warehouse.js +36 -11
- package/dist/test/roster/warehouse.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
- package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
- package/dist/test/schedule/schedule.examples.js +144 -88
- package/dist/test/schedule/schedule.examples.js.map +1 -1
- package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
- package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
- package/dist/test/schematic/schematic-records.examples.js +219 -0
- package/dist/test/schematic/schematic-records.examples.js.map +1 -0
- package/dist/test/schematic/schematic.examples.d.ts +2640 -0
- package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
- package/dist/test/schematic/schematic.examples.js +559 -0
- package/dist/test/schematic/schematic.examples.js.map +1 -0
- package/dist/test/sheet/optimise.examples.d.ts +184 -0
- package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
- package/dist/test/sheet/optimise.examples.js +79 -0
- package/dist/test/sheet/optimise.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +66 -29
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +406 -296
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/dist/test/studio/component.examples.js +2 -2
- package/dist/test/studio/component.examples.js.map +1 -1
- package/dist/test/studio/page.examples.js +6 -6
- package/dist/test/studio/page.examples.js.map +1 -1
- package/dist/test/studio/studio.examples.d.ts +2329 -873
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +155 -107
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +15 -11
|
@@ -0,0 +1,688 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The Schematic's East types (#1386, #1401, `Schematic Builder Spec.md` §4.7,
|
|
7
|
+
* §4.8, §5): the value types its accessors return and its wire carries
|
|
8
|
+
* (`Schematic.Types`) — an app's records hold their own types, which the
|
|
9
|
+
* accessors map (D35) — the references, boxes and the connect veto's candidate
|
|
10
|
+
* the Schematic speaks in, and the kinds' wire: each kind closed over the
|
|
11
|
+
* app's record behind East functions over beast2 bytes, so the payload is one
|
|
12
|
+
* type whatever the rows hold.
|
|
13
|
+
*
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
*/
|
|
16
|
+
import { ArrayType, BlobType, BooleanType, DictType, EastTypeType, FloatType, FunctionType, NullType, OptionType, StringType, StructType, VariantType, } from "@elaraai/east";
|
|
17
|
+
import { RecordCommitInfoType } from "@elaraai/e3-types";
|
|
18
|
+
import { StatusTokenType } from "@elaraai/east-ui";
|
|
19
|
+
import { EditingReadinessType, EditingType, FieldSpecType } from "@elaraai/east-ui/internal";
|
|
20
|
+
import { ScheduleEntriesType, ScheduleFieldWriteType, ScheduleReadyEntryType } from "../schedule/types.js";
|
|
21
|
+
import { RowInspectorType } from "../utils/row-inspector.js";
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// The value types the accessors return
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Theme tone for zone strokes, hatching, links and items.
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* Colour stays theme-owned: data selects a tone and the renderer's recipe
|
|
30
|
+
* maps each tone to its token.
|
|
31
|
+
*
|
|
32
|
+
* @property brand - Brand teal
|
|
33
|
+
* @property ink - Foreground ink
|
|
34
|
+
* @property muted - Muted foreground
|
|
35
|
+
* @property success - Status ok
|
|
36
|
+
* @property warning - Status warn
|
|
37
|
+
* @property danger - Status bad
|
|
38
|
+
*/
|
|
39
|
+
export const SchematicToneType = VariantType({
|
|
40
|
+
/** Brand teal */
|
|
41
|
+
brand: NullType,
|
|
42
|
+
/** Foreground ink */
|
|
43
|
+
ink: NullType,
|
|
44
|
+
/** Muted foreground */
|
|
45
|
+
muted: NullType,
|
|
46
|
+
/** Status ok */
|
|
47
|
+
success: NullType,
|
|
48
|
+
/** Status warn */
|
|
49
|
+
warning: NullType,
|
|
50
|
+
/** Status bad */
|
|
51
|
+
danger: NullType,
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Zone render pattern — each case carries its style configuration.
|
|
55
|
+
*
|
|
56
|
+
* @property outline - Dashed boundary with an eyebrow label (halls, cages)
|
|
57
|
+
* @property hatch - Hatched band (hot and cold aisles, exclusion zones): an annotation, holding no items and taking no tap
|
|
58
|
+
*/
|
|
59
|
+
export const SchematicZonePatternType = VariantType({
|
|
60
|
+
/** Dashed boundary with an eyebrow label (halls, cages) */
|
|
61
|
+
outline: StructType({
|
|
62
|
+
/** Stroke tone (default `muted`) */
|
|
63
|
+
tone: OptionType(SchematicToneType),
|
|
64
|
+
}),
|
|
65
|
+
/** Hatched band (hot and cold aisles, exclusion zones) */
|
|
66
|
+
hatch: StructType({
|
|
67
|
+
/** Hatch-line tone (default `muted`) */
|
|
68
|
+
tone: OptionType(SchematicToneType),
|
|
69
|
+
/** Line spacing in pixels (default 8) */
|
|
70
|
+
spacing: OptionType(FloatType),
|
|
71
|
+
/** Line angle in degrees (default 45) */
|
|
72
|
+
angle: OptionType(FloatType),
|
|
73
|
+
}),
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Link render style — each case carries its stroke configuration.
|
|
77
|
+
*
|
|
78
|
+
* @property solid - A physical run (fibre, power cable)
|
|
79
|
+
* @property dashed - A routing / logical connection
|
|
80
|
+
*/
|
|
81
|
+
export const SchematicLinkStyleType = VariantType({
|
|
82
|
+
/** A physical run (fibre, power cable) */
|
|
83
|
+
solid: StructType({
|
|
84
|
+
/** Stroke tone (default: the links' muted ink, #1403) */
|
|
85
|
+
tone: OptionType(SchematicToneType),
|
|
86
|
+
/** Stroke width in pixels (default 2.5) */
|
|
87
|
+
weight: OptionType(FloatType),
|
|
88
|
+
}),
|
|
89
|
+
/** A routing / logical connection */
|
|
90
|
+
dashed: StructType({
|
|
91
|
+
/** Stroke tone (default: the links' muted ink, #1403) */
|
|
92
|
+
tone: OptionType(SchematicToneType),
|
|
93
|
+
/** Stroke width in pixels (default 1.5) */
|
|
94
|
+
weight: OptionType(FloatType),
|
|
95
|
+
}),
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* Link routing mode.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* `orthogonal` (the default) routes axis-aligned with rounded corners — the
|
|
102
|
+
* conventional cable-plan look; `direct` draws straight segments between
|
|
103
|
+
* anchors. `via` waypoints apply in both modes.
|
|
104
|
+
*
|
|
105
|
+
* @property orthogonal - Axis-aligned with rounded corners
|
|
106
|
+
* @property direct - Straight segments between anchors
|
|
107
|
+
*/
|
|
108
|
+
export const SchematicRouteType = VariantType({
|
|
109
|
+
/** Axis-aligned with rounded corners */
|
|
110
|
+
orthogonal: StructType({
|
|
111
|
+
/** Corner radius in pixels (default 8) */
|
|
112
|
+
corner: OptionType(FloatType),
|
|
113
|
+
}),
|
|
114
|
+
/** Straight segments between anchors */
|
|
115
|
+
direct: NullType,
|
|
116
|
+
});
|
|
117
|
+
/**
|
|
118
|
+
* A point in world units: an item's centre, or a link's waypoint.
|
|
119
|
+
*
|
|
120
|
+
* @property x - World x
|
|
121
|
+
* @property y - World y
|
|
122
|
+
*/
|
|
123
|
+
export const SchematicPointType = StructType({
|
|
124
|
+
/** World x */
|
|
125
|
+
x: FloatType,
|
|
126
|
+
/** World y */
|
|
127
|
+
y: FloatType,
|
|
128
|
+
});
|
|
129
|
+
/**
|
|
130
|
+
* A polyline / polygon vertex — an offset from its entity's anchor in world
|
|
131
|
+
* units, plus a DXF `bulge`.
|
|
132
|
+
*
|
|
133
|
+
* @remarks
|
|
134
|
+
* Geometry is drawn about its entity's anchor (D22): an item's centre, or a
|
|
135
|
+
* zone's box centre. `bulge` encodes the edge from THIS vertex to the NEXT
|
|
136
|
+
* one: `0` is a straight segment; nonzero is a circular arc where
|
|
137
|
+
* `bulge = tan(includedAngle / 4)` and the sign gives the turn direction
|
|
138
|
+
* (positive = counter-clockwise in world space), so curved walls and cable
|
|
139
|
+
* routes are stored exactly. For a closed `polygon`, the last vertex's `bulge`
|
|
140
|
+
* applies to the closing edge back to the first vertex.
|
|
141
|
+
*
|
|
142
|
+
* @property x - Offset from the anchor along x, in world units
|
|
143
|
+
* @property y - Offset from the anchor along y, in world units
|
|
144
|
+
* @property bulge - DXF bulge for the edge to the next vertex (0 = straight)
|
|
145
|
+
*/
|
|
146
|
+
export const SchematicVertexType = StructType({
|
|
147
|
+
/** Offset from the anchor along x, in world units */
|
|
148
|
+
x: FloatType,
|
|
149
|
+
/** Offset from the anchor along y, in world units */
|
|
150
|
+
y: FloatType,
|
|
151
|
+
/** DXF bulge for the edge to the next vertex (0 = straight; `tan(includedAngle / 4)`) */
|
|
152
|
+
bulge: FloatType,
|
|
153
|
+
});
|
|
154
|
+
/**
|
|
155
|
+
* Shape geometry: an item's `footprint` and a zone's `geometry`, drawn about
|
|
156
|
+
* the entity's anchor (D22) — an item's centre, or a zone's box centre.
|
|
157
|
+
*
|
|
158
|
+
* @remarks
|
|
159
|
+
* Geometry is what the renderer strokes and fills; the entity's box — an
|
|
160
|
+
* item's `width` and `height` about its centre, a zone's `x`, `y`, `width`
|
|
161
|
+
* and `height` — stays its bounds, and geometry outside its box still draws.
|
|
162
|
+
* So an item's outline moves with it, and a template's lands where it is
|
|
163
|
+
* dropped. An import that holds world coordinates subtracts the anchor once.
|
|
164
|
+
*
|
|
165
|
+
* @property rect - The entity's box itself: a zone's rect, an item's card and marker
|
|
166
|
+
* @property circle - A circle centred on the anchor; `radius` in world units (columns, cooling towers)
|
|
167
|
+
* @property polyline - An open, arc-aware polyline, its vertices offsets from the anchor; an optional band `width` in world units
|
|
168
|
+
* @property polygon - A closed, arc-aware polygon (>= 3 vertices, auto-closed), its vertices offsets from the anchor
|
|
169
|
+
*/
|
|
170
|
+
export const SchematicGeometryType = VariantType({
|
|
171
|
+
/** The entity's box itself. */
|
|
172
|
+
rect: NullType,
|
|
173
|
+
/** A circle centred on the anchor; `radius` in world units. */
|
|
174
|
+
circle: StructType({
|
|
175
|
+
/** Circle radius in world units. */
|
|
176
|
+
radius: FloatType,
|
|
177
|
+
}),
|
|
178
|
+
/** An open, arc-aware polyline about the anchor; optional band width. */
|
|
179
|
+
polyline: StructType({
|
|
180
|
+
/** Vertices, offsets from the anchor, in order (each carries a DXF bulge). */
|
|
181
|
+
vertices: ArrayType(SchematicVertexType),
|
|
182
|
+
/** Optional band width in world units — the stroke widens into a duct bank / aisle. */
|
|
183
|
+
width: OptionType(FloatType),
|
|
184
|
+
}),
|
|
185
|
+
/** A closed, arc-aware polygon about the anchor (>= 3 vertices, auto-closed). */
|
|
186
|
+
polygon: StructType({
|
|
187
|
+
/** Boundary vertices, offsets from the anchor, in order (each carries a DXF bulge). */
|
|
188
|
+
vertices: ArrayType(SchematicVertexType),
|
|
189
|
+
}),
|
|
190
|
+
});
|
|
191
|
+
/**
|
|
192
|
+
* How one case of an item's status shows: on its card's dot and its marker.
|
|
193
|
+
*
|
|
194
|
+
* @property label - Its words
|
|
195
|
+
* @property tone - Its tone: success, warning, danger, info or neutral
|
|
196
|
+
* @property ring - Whether it draws as an open ring, as a tentative status does
|
|
197
|
+
*/
|
|
198
|
+
export const SchematicStatusType = StructType({ label: StringType, tone: StatusTokenType, ring: BooleanType });
|
|
199
|
+
/**
|
|
200
|
+
* Constructs the status table of a status variant: one
|
|
201
|
+
* {@link SchematicStatusType} per case.
|
|
202
|
+
*
|
|
203
|
+
* @typeParam V - The status variant
|
|
204
|
+
* @param statusType - The status variant
|
|
205
|
+
* @returns A struct with a field per case
|
|
206
|
+
* @throws {Error} When the type is not a variant
|
|
207
|
+
*/
|
|
208
|
+
export function SchematicStatusCasesFor(statusType) {
|
|
209
|
+
if (statusType.type !== "Variant")
|
|
210
|
+
throw new Error("Schematic.Types.StatusCases: a status is a variant, one case per status");
|
|
211
|
+
const cases = Object.keys(statusType.cases);
|
|
212
|
+
return StructType(Object.fromEntries(cases.map((c) => [c, SchematicStatusType])));
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* A card's bar: how full an item is.
|
|
216
|
+
*
|
|
217
|
+
* @property value - What it holds
|
|
218
|
+
* @property max - What it holds at most
|
|
219
|
+
*/
|
|
220
|
+
export const SchematicMeterType = StructType({ value: FloatType, max: FloatType });
|
|
221
|
+
/**
|
|
222
|
+
* An entity, named by its kind's slot and its key: a rack in the `racks`
|
|
223
|
+
* item slot, a fibre run in the `fibre` link slot.
|
|
224
|
+
*
|
|
225
|
+
* @property kind - The kind's slot name
|
|
226
|
+
* @property key - The entity's key
|
|
227
|
+
*/
|
|
228
|
+
export const SchematicRefType = StructType({ kind: StringType, key: StringType });
|
|
229
|
+
/**
|
|
230
|
+
* A box in world units: its minimum and maximum corners.
|
|
231
|
+
*
|
|
232
|
+
* @property minX - Left edge
|
|
233
|
+
* @property minY - Top edge
|
|
234
|
+
* @property maxX - Right edge
|
|
235
|
+
* @property maxY - Bottom edge
|
|
236
|
+
*/
|
|
237
|
+
export const SchematicBoxType = StructType({ minX: FloatType, minY: FloatType, maxX: FloatType, maxY: FloatType });
|
|
238
|
+
/**
|
|
239
|
+
* A named layer — a cross-cutting group of items, zones, links and nets the
|
|
240
|
+
* Layers tab shows, hides, isolates and locks together (§8) — as
|
|
241
|
+
* `Schematic.layers` reads it from the app's record (D36).
|
|
242
|
+
*
|
|
243
|
+
* @remarks
|
|
244
|
+
* Membership is by key: an entity's `layer` names the layer it is on, by the
|
|
245
|
+
* layers record's key. The viewer's choices are view state, which the renderer
|
|
246
|
+
* keeps; `visible` and `locked` here are the author's defaults those choices
|
|
247
|
+
* override.
|
|
248
|
+
*
|
|
249
|
+
* @property key - Layer identity: its record's key, which entities name in their `layer`
|
|
250
|
+
* @property label - Its name
|
|
251
|
+
* @property visible - Author default visibility; absent / `some(true)` ⇒ shown, `some(false)` ⇒ ships hidden
|
|
252
|
+
* @property locked - Author default lock (non-selectable); absent ⇒ unlocked
|
|
253
|
+
* @property opacity - Optional dim (0–1) for the layer's items; absent ⇒ full
|
|
254
|
+
* @property tone - Optional swatch tone
|
|
255
|
+
* @property color - Optional swatch colour: a theme colour token (`status.warn`), over its tone
|
|
256
|
+
*/
|
|
257
|
+
export const SchematicLayerType = StructType({
|
|
258
|
+
/** Layer identity: its record's key, which entities name in their `layer`. */
|
|
259
|
+
key: StringType,
|
|
260
|
+
/** Its name. */
|
|
261
|
+
label: StringType,
|
|
262
|
+
/** Author default visibility; `some(false)` ships hidden, absent ⇒ shown. */
|
|
263
|
+
visible: OptionType(BooleanType),
|
|
264
|
+
/** Author default lock (non-selectable); absent ⇒ unlocked. */
|
|
265
|
+
locked: OptionType(BooleanType),
|
|
266
|
+
/** Optional dim (0–1) for the layer's items; absent ⇒ full. */
|
|
267
|
+
opacity: OptionType(FloatType),
|
|
268
|
+
/** Optional swatch tone. */
|
|
269
|
+
tone: OptionType(SchematicToneType),
|
|
270
|
+
/** Optional swatch colour: a theme colour token (`status.warn`), over its tone. */
|
|
271
|
+
color: OptionType(StringType),
|
|
272
|
+
});
|
|
273
|
+
/**
|
|
274
|
+
* Positive emphasis on the rows a narrowing holds, when narrowed-out rows are
|
|
275
|
+
* dimmed rather than hidden (§10.3).
|
|
276
|
+
*
|
|
277
|
+
* @property halo - A static ring on each match
|
|
278
|
+
* @property pulse - A ring that breathes
|
|
279
|
+
*/
|
|
280
|
+
export const SchematicEmphasisType = VariantType({
|
|
281
|
+
/** A static ring on each match. */
|
|
282
|
+
halo: NullType,
|
|
283
|
+
/** A ring that breathes. */
|
|
284
|
+
pulse: NullType,
|
|
285
|
+
});
|
|
286
|
+
/**
|
|
287
|
+
* How a narrowed-out row draws (§10.3): hidden, or as context.
|
|
288
|
+
*
|
|
289
|
+
* @property show - `hide` (the default) or `dim`
|
|
290
|
+
* @property opacity - A dimmed row's opacity (0.35 by default)
|
|
291
|
+
* @property desaturate - Whether a dimmed row is drained of colour (on by default)
|
|
292
|
+
* @property dot - Whether a dimmed row draws as a bare marker
|
|
293
|
+
* @property emphasis - A ring on each match, whatever `show` is
|
|
294
|
+
* @property frame - Whether the matches are boxed
|
|
295
|
+
* @property fit - Whether the camera flies to the matches when the narrowing changes
|
|
296
|
+
*/
|
|
297
|
+
export const SchematicNarrowedType = StructType({
|
|
298
|
+
show: VariantType({ hide: NullType, dim: NullType }),
|
|
299
|
+
opacity: FloatType,
|
|
300
|
+
desaturate: BooleanType,
|
|
301
|
+
dot: BooleanType,
|
|
302
|
+
emphasis: OptionType(SchematicEmphasisType),
|
|
303
|
+
frame: BooleanType,
|
|
304
|
+
fit: BooleanType,
|
|
305
|
+
});
|
|
306
|
+
// ============================================================================
|
|
307
|
+
// The connect veto's candidate
|
|
308
|
+
// ============================================================================
|
|
309
|
+
/**
|
|
310
|
+
* What a Connect, a Retarget or an Extend would write, as `canConnect` hears
|
|
311
|
+
* it before the draft snaps (§5, D34): the link or net kind the gesture writes
|
|
312
|
+
* and its two items.
|
|
313
|
+
*
|
|
314
|
+
* @property kind - The slot of the link or net kind the gesture writes
|
|
315
|
+
* @property from - The item it would run from: a link's `from`, a net's feeding member
|
|
316
|
+
* @property to - The item it would run to: a link's `to`, a net's fed member
|
|
317
|
+
*/
|
|
318
|
+
export const SchematicCandidateType = StructType({ kind: StringType, from: SchematicRefType, to: SchematicRefType });
|
|
319
|
+
// ============================================================================
|
|
320
|
+
// The roles a kind's rows give the renderer (§4.8)
|
|
321
|
+
// ============================================================================
|
|
322
|
+
/**
|
|
323
|
+
* One placed item's roles, as its kind reads them from the app's row: what
|
|
324
|
+
* the canvas draws it by.
|
|
325
|
+
*
|
|
326
|
+
* @property position - Its centre in world units; `none` for a row of a kind with a backlog that has no position yet
|
|
327
|
+
* @property label - Its card's name and its labelled dot
|
|
328
|
+
* @property width - Its box's width about its centre: its card's width and the bounds its footprint lies in
|
|
329
|
+
* @property height - Its box's height about its centre
|
|
330
|
+
* @property footprint - The shape drawn at card zoom, about its centre
|
|
331
|
+
* @property layer - The layer it is on
|
|
332
|
+
* @property icon - Its card's Font Awesome solid icon
|
|
333
|
+
* @property sublabel - Its card's second line
|
|
334
|
+
* @property metric - Its card's figure
|
|
335
|
+
* @property meter - Its card's bar
|
|
336
|
+
* @property status - Its status, as its kind's `status` shows the case its row holds
|
|
337
|
+
* @property tone - An override of the status colour
|
|
338
|
+
* @property color - An override of the status colour: a theme colour token (D14)
|
|
339
|
+
* @property weight - Its footprint's stroke
|
|
340
|
+
* @property fillOpacity - Its footprint's fill
|
|
341
|
+
*/
|
|
342
|
+
export const SchematicItemType = StructType({
|
|
343
|
+
position: OptionType(SchematicPointType),
|
|
344
|
+
label: StringType,
|
|
345
|
+
width: OptionType(FloatType),
|
|
346
|
+
height: OptionType(FloatType),
|
|
347
|
+
footprint: OptionType(SchematicGeometryType),
|
|
348
|
+
layer: OptionType(StringType),
|
|
349
|
+
icon: OptionType(StringType),
|
|
350
|
+
sublabel: OptionType(StringType),
|
|
351
|
+
metric: OptionType(StringType),
|
|
352
|
+
meter: OptionType(SchematicMeterType),
|
|
353
|
+
status: OptionType(SchematicStatusType),
|
|
354
|
+
tone: OptionType(SchematicToneType),
|
|
355
|
+
color: OptionType(StringType),
|
|
356
|
+
weight: OptionType(FloatType),
|
|
357
|
+
fillOpacity: OptionType(FloatType),
|
|
358
|
+
});
|
|
359
|
+
/**
|
|
360
|
+
* One zone's roles: a hall, a cage, an aisle.
|
|
361
|
+
*
|
|
362
|
+
* @property x - Its box's top-left corner, in world units
|
|
363
|
+
* @property y - Its box's top
|
|
364
|
+
* @property width - Its box's width
|
|
365
|
+
* @property height - Its box's height
|
|
366
|
+
* @property label - The eyebrow on its boundary
|
|
367
|
+
* @property pattern - Outline, or hatch
|
|
368
|
+
* @property geometry - Its drawn shape, about its box's centre; its box stays its bounds
|
|
369
|
+
* @property layer - The layer it is on
|
|
370
|
+
* @property tone - An override of its pattern's tone
|
|
371
|
+
* @property color - An override of its pattern's tone: a theme colour token (D14)
|
|
372
|
+
* @property fillOpacity - Its fill
|
|
373
|
+
* @property weight - Its stroke
|
|
374
|
+
*/
|
|
375
|
+
export const SchematicZoneType = StructType({
|
|
376
|
+
x: FloatType,
|
|
377
|
+
y: FloatType,
|
|
378
|
+
width: FloatType,
|
|
379
|
+
height: FloatType,
|
|
380
|
+
label: StringType,
|
|
381
|
+
pattern: SchematicZonePatternType,
|
|
382
|
+
geometry: OptionType(SchematicGeometryType),
|
|
383
|
+
layer: OptionType(StringType),
|
|
384
|
+
tone: OptionType(SchematicToneType),
|
|
385
|
+
color: OptionType(StringType),
|
|
386
|
+
fillOpacity: OptionType(FloatType),
|
|
387
|
+
weight: OptionType(FloatType),
|
|
388
|
+
});
|
|
389
|
+
/**
|
|
390
|
+
* One link's roles: a fibre run between two items.
|
|
391
|
+
*
|
|
392
|
+
* @property from - The item it runs from
|
|
393
|
+
* @property to - The item it runs to
|
|
394
|
+
* @property via - Its waypoints, in world units, in order
|
|
395
|
+
* @property label - Its caption, on a knockout at its path's middle
|
|
396
|
+
* @property metric - The figure after its label
|
|
397
|
+
* @property style - Solid or dashed, its tone and its weight
|
|
398
|
+
* @property route - Orthogonal or direct
|
|
399
|
+
* @property layer - The layer it is on
|
|
400
|
+
*/
|
|
401
|
+
export const SchematicLinkType = StructType({
|
|
402
|
+
from: SchematicRefType,
|
|
403
|
+
to: SchematicRefType,
|
|
404
|
+
via: ArrayType(SchematicPointType),
|
|
405
|
+
label: OptionType(StringType),
|
|
406
|
+
metric: OptionType(StringType),
|
|
407
|
+
style: SchematicLinkStyleType,
|
|
408
|
+
route: SchematicRouteType,
|
|
409
|
+
layer: OptionType(StringType),
|
|
410
|
+
});
|
|
411
|
+
/**
|
|
412
|
+
* One net's roles: a trunk joining many items to many, as a power
|
|
413
|
+
* distribution unit feeds a row of racks.
|
|
414
|
+
*
|
|
415
|
+
* @property sources - The items on its feeding side
|
|
416
|
+
* @property destinations - The items on its fed side
|
|
417
|
+
* @property via - Its trunk's waypoints, in world units, in order
|
|
418
|
+
* @property label - Its caption, on a knockout at its trunk's middle
|
|
419
|
+
* @property metric - The figure after its label
|
|
420
|
+
* @property style - Solid or dashed, its tone and its weight
|
|
421
|
+
* @property route - Its trunk: orthogonal or direct
|
|
422
|
+
* @property layer - The layer it is on
|
|
423
|
+
*/
|
|
424
|
+
export const SchematicNetType = StructType({
|
|
425
|
+
sources: ArrayType(SchematicRefType),
|
|
426
|
+
destinations: ArrayType(SchematicRefType),
|
|
427
|
+
via: ArrayType(SchematicPointType),
|
|
428
|
+
label: OptionType(StringType),
|
|
429
|
+
metric: OptionType(StringType),
|
|
430
|
+
style: SchematicLinkStyleType,
|
|
431
|
+
route: SchematicRouteType,
|
|
432
|
+
layer: OptionType(StringType),
|
|
433
|
+
});
|
|
434
|
+
/**
|
|
435
|
+
* A details row's roles (§4.5): what an item's card draws from the details
|
|
436
|
+
* record keyed as its kind is.
|
|
437
|
+
*
|
|
438
|
+
* @property status - Its status
|
|
439
|
+
* @property meter - Its card's bar
|
|
440
|
+
* @property metric - Its card's figure
|
|
441
|
+
* @property sublabel - Its card's second line
|
|
442
|
+
*/
|
|
443
|
+
export const SchematicDetailsRolesType = StructType({
|
|
444
|
+
status: OptionType(SchematicStatusType),
|
|
445
|
+
meter: OptionType(SchematicMeterType),
|
|
446
|
+
metric: OptionType(StringType),
|
|
447
|
+
sublabel: OptionType(StringType),
|
|
448
|
+
});
|
|
449
|
+
/**
|
|
450
|
+
* Which of an item's card's roles its kind's details give (§4.5): what a card
|
|
451
|
+
* keeps the place of while its details row is read, and draws there as a
|
|
452
|
+
* placeholder until the row lands (#1398) — never a value it has not read.
|
|
453
|
+
*
|
|
454
|
+
* @property status - Whether the details give its status
|
|
455
|
+
* @property meter - Whether they give its card's bar
|
|
456
|
+
* @property metric - Whether they give its card's figure
|
|
457
|
+
* @property sublabel - Whether they give its card's second line
|
|
458
|
+
*/
|
|
459
|
+
export const SchematicCardRolesType = StructType({ status: BooleanType, meter: BooleanType, metric: BooleanType, sublabel: BooleanType });
|
|
460
|
+
/**
|
|
461
|
+
* One stored row as a kind's `rows` gives it: its roles, read in the pass
|
|
462
|
+
* that reads the row, and the row as bytes at the record's row type — what a
|
|
463
|
+
* write and the editing session take.
|
|
464
|
+
*
|
|
465
|
+
* @typeParam R - The roles' type
|
|
466
|
+
* @param roles - The roles' type
|
|
467
|
+
* @returns The entry's type
|
|
468
|
+
*/
|
|
469
|
+
export function SchematicEntryType(roles) {
|
|
470
|
+
return StructType({ roles, row: BlobType });
|
|
471
|
+
}
|
|
472
|
+
/** One stored item: its roles and its row's bytes. */
|
|
473
|
+
export const SchematicItemEntryType = SchematicEntryType(SchematicItemType);
|
|
474
|
+
/** One stored zone: its roles and its row's bytes. */
|
|
475
|
+
export const SchematicZoneEntryType = SchematicEntryType(SchematicZoneType);
|
|
476
|
+
/** One stored link: its roles and its row's bytes. */
|
|
477
|
+
export const SchematicLinkEntryType = SchematicEntryType(SchematicLinkType);
|
|
478
|
+
/** One stored net: its roles and its row's bytes. */
|
|
479
|
+
export const SchematicNetEntryType = SchematicEntryType(SchematicNetType);
|
|
480
|
+
/** One stored details row: its roles and its row's bytes. */
|
|
481
|
+
export const SchematicDetailsEntryType = SchematicEntryType(SchematicDetailsRolesType);
|
|
482
|
+
/**
|
|
483
|
+
* The fields a kind's box is, as its roles name them (§11.4): what an area
|
|
484
|
+
* index its source lists must name too, for the kind to be read by area — an
|
|
485
|
+
* item's placed by its centre, a zone's by its corner.
|
|
486
|
+
*
|
|
487
|
+
* @property x - The field its box's `x` is
|
|
488
|
+
* @property y - The field its box's `y` is
|
|
489
|
+
* @property width - The field its box's width is; `none` for an item kind with no box, whose items are points
|
|
490
|
+
* @property height - The field its box's height is; `none` as `width` is
|
|
491
|
+
*/
|
|
492
|
+
export const SchematicBoxFieldsType = StructType({ x: StringType, y: StringType, width: OptionType(StringType), height: OptionType(StringType) });
|
|
493
|
+
/**
|
|
494
|
+
* A link's ends, as Connect and Retarget write them.
|
|
495
|
+
*
|
|
496
|
+
* @property from - The item it runs from
|
|
497
|
+
* @property to - The item it runs to
|
|
498
|
+
*/
|
|
499
|
+
export const SchematicEndsType = StructType({ from: SchematicRefType, to: SchematicRefType });
|
|
500
|
+
/**
|
|
501
|
+
* A net's sides, as Connect's Shift session, a leg's Delete and Extend write
|
|
502
|
+
* them.
|
|
503
|
+
*
|
|
504
|
+
* @property sources - The items on its feeding side
|
|
505
|
+
* @property destinations - The items on its fed side
|
|
506
|
+
*/
|
|
507
|
+
export const SchematicSidesType = StructType({ sources: ArrayType(SchematicRefType), destinations: ArrayType(SchematicRefType) });
|
|
508
|
+
/**
|
|
509
|
+
* One template, as the library lists it and a drop creates from it (§4.6).
|
|
510
|
+
*
|
|
511
|
+
* @property key - Its key: its record's key
|
|
512
|
+
* @property name - Its card's name
|
|
513
|
+
* @property group - The library's group for it
|
|
514
|
+
* @property icon - Its card's Font Awesome solid icon
|
|
515
|
+
* @property values - Every field of the row but what a drop places, as bytes
|
|
516
|
+
*/
|
|
517
|
+
export const SchematicTemplateType = StructType({
|
|
518
|
+
key: StringType,
|
|
519
|
+
name: StringType,
|
|
520
|
+
group: OptionType(StringType),
|
|
521
|
+
icon: OptionType(StringType),
|
|
522
|
+
values: BlobType,
|
|
523
|
+
});
|
|
524
|
+
// ============================================================================
|
|
525
|
+
// The kinds' wire (§4.8)
|
|
526
|
+
// ============================================================================
|
|
527
|
+
/** A record's commits, newest first, as its handle reads them. */
|
|
528
|
+
const HistoryType = FunctionType([], OptionType(ArrayType(RecordCommitInfoType)));
|
|
529
|
+
/** The author's check over drafted entries, one result each. */
|
|
530
|
+
const ReadyType = FunctionType([ArrayType(ScheduleReadyEntryType)], ArrayType(EditingReadinessType));
|
|
531
|
+
/**
|
|
532
|
+
* What every kind and a kind's details carry: how the record is read and
|
|
533
|
+
* written, and the inspector's form.
|
|
534
|
+
*
|
|
535
|
+
* @property editable - Whether the record is bound with its patch door: what its gestures, drops and edits write
|
|
536
|
+
* @property editing - The shared session over the record, with its patch door; `none` for a record bound read only
|
|
537
|
+
* @property entries - The record read by key, for a record read through its source or bound with `Data.bindPaged`; `none` for one read whole
|
|
538
|
+
* @property history - The record's commits, newest first; `none` for a record bound with `Data.bind` or `Data.bindPaged`
|
|
539
|
+
* @property fields - The inspector's form over the fields no role writes (`Fields`)
|
|
540
|
+
* @property inspector - The kind's own Details in place of its form, over bytes
|
|
541
|
+
* @property ready - The app's check on drafted rows, one result each
|
|
542
|
+
* @property set - The row with each field write applied in order — a field at any depth, its value as bytes at the field's type — and every other field as it was: what an author's card dropped on an entity sets (#1390); `none` for a write naming no field of the row
|
|
543
|
+
* @property rowType - The record's row type
|
|
544
|
+
*/
|
|
545
|
+
const RecordSideFields = {
|
|
546
|
+
editable: BooleanType,
|
|
547
|
+
editing: OptionType(EditingType),
|
|
548
|
+
entries: OptionType(ScheduleEntriesType),
|
|
549
|
+
history: OptionType(HistoryType),
|
|
550
|
+
fields: ArrayType(FieldSpecType),
|
|
551
|
+
inspector: OptionType(RowInspectorType),
|
|
552
|
+
ready: OptionType(ReadyType),
|
|
553
|
+
set: FunctionType([BlobType, ArrayType(ScheduleFieldWriteType)], OptionType(BlobType)),
|
|
554
|
+
rowType: EastTypeType,
|
|
555
|
+
};
|
|
556
|
+
/**
|
|
557
|
+
* What a reader read of a record by key or by area, made its stored rows
|
|
558
|
+
* (#1393): the rows as beast2 bytes of an `Array` of `{ key: String, row: R }`
|
|
559
|
+
* at the record's row type `R`, each row's roles read in one pass beside its
|
|
560
|
+
* bytes.
|
|
561
|
+
*/
|
|
562
|
+
const RowsRead = (entry) => FunctionType([BlobType], DictType(StringType, entry));
|
|
563
|
+
/**
|
|
564
|
+
* A kind's details (§4.5), closed: a record of the app's, keyed as its kind
|
|
565
|
+
* is, which the inspector shows beside the row and the cards on screen draw.
|
|
566
|
+
*
|
|
567
|
+
* @property rows - The details read whole, by key, each its roles and its row; `none` while the read is in flight. `none` on the wire for details read by key, whose `entries` read them
|
|
568
|
+
* @property rowsOf - The details rows a reader read by key, as bytes, made their roles beside their bytes: a window's cards' details, one request a window (#1393)
|
|
569
|
+
* @property paged - The `id` of the paged read the details are read by key through, beside a kind read through its source: what a reader asks the rows of a window's cards from, all in one request (#1393); `none` for details read whole
|
|
570
|
+
* @property read - A details row's roles, from its bytes and its key
|
|
571
|
+
* @property roles - Which of the kind's cards' roles they give: what a card keeps the place of, a placeholder, while its details row is read (#1398)
|
|
572
|
+
*/
|
|
573
|
+
export const SchematicKindDetailsType = StructType({
|
|
574
|
+
...RecordSideFields,
|
|
575
|
+
rows: OptionType(FunctionType([], OptionType(DictType(StringType, SchematicDetailsEntryType)))),
|
|
576
|
+
rowsOf: RowsRead(SchematicDetailsEntryType),
|
|
577
|
+
paged: OptionType(StringType),
|
|
578
|
+
read: FunctionType([BlobType, StringType], SchematicDetailsRolesType),
|
|
579
|
+
roles: SchematicCardRolesType,
|
|
580
|
+
});
|
|
581
|
+
/**
|
|
582
|
+
* What every kind carries beside its record's side: its slot, its name, its
|
|
583
|
+
* icon and its details.
|
|
584
|
+
*
|
|
585
|
+
* @property key - The kind's slot name
|
|
586
|
+
* @property name - Its name
|
|
587
|
+
* @property icon - Its Font Awesome solid icon; empty for an item kind whose cards' icons are an accessor's
|
|
588
|
+
* @property details - Its details record; `none` for a kind with none
|
|
589
|
+
*/
|
|
590
|
+
const KindFields = {
|
|
591
|
+
key: StringType,
|
|
592
|
+
name: StringType,
|
|
593
|
+
icon: StringType,
|
|
594
|
+
details: OptionType(SchematicKindDetailsType),
|
|
595
|
+
...RecordSideFields,
|
|
596
|
+
};
|
|
597
|
+
/** A kind's stored rows a read holds, by key: each its roles and its row; `none` while the read is in flight. */
|
|
598
|
+
const RowsOf = (entry) => FunctionType([], OptionType(DictType(StringType, entry)));
|
|
599
|
+
/**
|
|
600
|
+
* One item kind, closed (§4.1, §4.8).
|
|
601
|
+
*
|
|
602
|
+
* @property backlog - Whether its `x` and `y` are Options: its rows with no position are its backlog
|
|
603
|
+
* @property status - How each case of its status shows
|
|
604
|
+
* @property rows - Its stored items a read holds, by key, each its roles and its row: its record read whole, or its narrowing read complete through its source
|
|
605
|
+
* @property rowsOf - Its rows a reader read by area, or by key, as bytes, made its stored items: a window's (#1393)
|
|
606
|
+
* @property paged - The `id` of the paged read its rows are read by key through, for a kind read through its source: what
|
|
607
|
+
* a reader asks the far ends of the links and nets touching its window of, all of a window's in one request (#1393);
|
|
608
|
+
* `none` for a kind read whole
|
|
609
|
+
* @property box - The fields its box is, at its centre: what an area index it is read by names (§11.4)
|
|
610
|
+
* @property read - A drafted row's roles, from its bytes and its key
|
|
611
|
+
* @property write - The row with its position written — `none`, unplaced — and every other field as it was; `none` where it can't be: no position for a kind with no backlog
|
|
612
|
+
* @property create - A new row at a position, every other field from a template's values or its type's default; `none` as `write` refuses
|
|
613
|
+
* @property templates - Its templates
|
|
614
|
+
* @property templatesSource - The slice's source its templates list names
|
|
615
|
+
*/
|
|
616
|
+
export const SchematicItemKindType = StructType({
|
|
617
|
+
...KindFields,
|
|
618
|
+
backlog: BooleanType,
|
|
619
|
+
status: ArrayType(StructType({ case: StringType, status: SchematicStatusType })),
|
|
620
|
+
rows: RowsOf(SchematicItemEntryType),
|
|
621
|
+
rowsOf: RowsRead(SchematicItemEntryType),
|
|
622
|
+
paged: OptionType(StringType),
|
|
623
|
+
box: SchematicBoxFieldsType,
|
|
624
|
+
read: FunctionType([BlobType, StringType], SchematicItemType),
|
|
625
|
+
write: FunctionType([BlobType, OptionType(SchematicPointType)], OptionType(BlobType)),
|
|
626
|
+
create: FunctionType([OptionType(SchematicPointType), OptionType(BlobType)], OptionType(BlobType)),
|
|
627
|
+
templates: ArrayType(SchematicTemplateType),
|
|
628
|
+
templatesSource: OptionType(StringType),
|
|
629
|
+
});
|
|
630
|
+
/**
|
|
631
|
+
* One zone kind, closed (§4.2, §4.8). Zones take no gesture on the canvas:
|
|
632
|
+
* their fields are edited through the inspector.
|
|
633
|
+
*
|
|
634
|
+
* @property rows - Its stored zones a read holds, by key, each its roles and its row: its record read whole, or its narrowing read complete through its source
|
|
635
|
+
* @property rowsOf - Its rows a reader read by area, as bytes, made its stored zones: a window's (#1393)
|
|
636
|
+
* @property box - The fields its box is, at its corner: what an area index it is read by names (§11.4)
|
|
637
|
+
* @property read - A drafted row's roles, from its bytes and its key
|
|
638
|
+
*/
|
|
639
|
+
export const SchematicZoneKindType = StructType({
|
|
640
|
+
...KindFields,
|
|
641
|
+
rows: RowsOf(SchematicZoneEntryType),
|
|
642
|
+
rowsOf: RowsRead(SchematicZoneEntryType),
|
|
643
|
+
box: SchematicBoxFieldsType,
|
|
644
|
+
read: FunctionType([BlobType, StringType], SchematicZoneType),
|
|
645
|
+
});
|
|
646
|
+
/**
|
|
647
|
+
* One link kind, closed (§4.3, §4.8).
|
|
648
|
+
*
|
|
649
|
+
* @property ends - The item slots each end holds keys of
|
|
650
|
+
* @property rows - Its stored links a read holds, by key, each its roles and its row
|
|
651
|
+
* @property read - A drafted row's roles, from its bytes and its key
|
|
652
|
+
* @property write - The row with its ends written and every other field as it was; `none` for an end of a slot its field holds no keys of
|
|
653
|
+
* @property create - A new link between two items, every other field from a template's values or its type's default; `none` as `write` refuses
|
|
654
|
+
* @property templates - Its templates, which retype a link they are dropped on
|
|
655
|
+
* @property templatesSource - The slice's source its templates list names
|
|
656
|
+
*/
|
|
657
|
+
export const SchematicLinkKindType = StructType({
|
|
658
|
+
...KindFields,
|
|
659
|
+
ends: StructType({ from: ArrayType(StringType), to: ArrayType(StringType) }),
|
|
660
|
+
rows: RowsOf(SchematicLinkEntryType),
|
|
661
|
+
read: FunctionType([BlobType, StringType], SchematicLinkType),
|
|
662
|
+
write: FunctionType([BlobType, SchematicEndsType], OptionType(BlobType)),
|
|
663
|
+
create: FunctionType([SchematicEndsType, OptionType(BlobType)], OptionType(BlobType)),
|
|
664
|
+
templates: ArrayType(SchematicTemplateType),
|
|
665
|
+
templatesSource: OptionType(StringType),
|
|
666
|
+
});
|
|
667
|
+
/**
|
|
668
|
+
* One net kind, closed (§4.4, §4.8).
|
|
669
|
+
*
|
|
670
|
+
* @property sides - The item slot each side holds keys of
|
|
671
|
+
* @property rows - Its stored nets a read holds, by key, each its roles and its row
|
|
672
|
+
* @property read - A drafted row's roles, from its bytes and its key
|
|
673
|
+
* @property write - The row with its sides written and every other field as it was; `none` for a member of a slot a side holds no keys of
|
|
674
|
+
* @property create - A new net, every other field from a template's values or its type's default; `none` as `write` refuses
|
|
675
|
+
* @property templates - Its templates
|
|
676
|
+
* @property templatesSource - The slice's source its templates list names
|
|
677
|
+
*/
|
|
678
|
+
export const SchematicNetKindType = StructType({
|
|
679
|
+
...KindFields,
|
|
680
|
+
sides: StructType({ sources: StringType, destinations: StringType }),
|
|
681
|
+
rows: RowsOf(SchematicNetEntryType),
|
|
682
|
+
read: FunctionType([BlobType, StringType], SchematicNetType),
|
|
683
|
+
write: FunctionType([BlobType, SchematicSidesType], OptionType(BlobType)),
|
|
684
|
+
create: FunctionType([SchematicSidesType, OptionType(BlobType)], OptionType(BlobType)),
|
|
685
|
+
templates: ArrayType(SchematicTemplateType),
|
|
686
|
+
templatesSource: OptionType(StringType),
|
|
687
|
+
});
|
|
688
|
+
//# sourceMappingURL=types.js.map
|