@elaraai/e3-ui 1.0.86 → 1.0.88
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/bind/data-indexed.d.ts +159 -0
- package/dist/src/bind/data-indexed.d.ts.map +1 -0
- package/dist/src/bind/data-indexed.js +105 -0
- package/dist/src/bind/data-indexed.js.map +1 -0
- package/dist/src/bind/data.d.ts +5 -3
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +6 -0
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/record.d.ts +34 -23
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js +46 -19
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +2923 -0
- package/dist/src/calendar/index.d.ts.map +1 -0
- package/dist/src/calendar/index.js +135 -0
- package/dist/src/calendar/index.js.map +1 -0
- package/dist/src/decision/queue.d.ts +3 -3
- package/dist/src/decision/queue.d.ts.map +1 -1
- package/dist/src/decision/queue.js +2 -2
- package/dist/src/decision/queue.js.map +1 -1
- package/dist/src/decision/types.d.ts +4 -0
- package/dist/src/decision/types.d.ts.map +1 -1
- package/dist/src/decision/types.js +4 -0
- package/dist/src/decision/types.js.map +1 -1
- package/dist/src/flowchart/canvas.d.ts +114 -0
- package/dist/src/flowchart/canvas.d.ts.map +1 -0
- package/dist/src/flowchart/canvas.js +84 -0
- package/dist/src/flowchart/canvas.js.map +1 -0
- package/dist/src/flowchart/flowchart.d.ts +79 -0
- package/dist/src/flowchart/flowchart.d.ts.map +1 -0
- package/dist/src/flowchart/flowchart.js +9 -0
- package/dist/src/flowchart/flowchart.js.map +1 -0
- package/dist/src/flowchart/index.d.ts +305 -0
- package/dist/src/flowchart/index.d.ts.map +1 -0
- package/dist/src/flowchart/index.js +267 -0
- package/dist/src/flowchart/index.js.map +1 -0
- package/dist/src/flowchart/library.d.ts +720 -0
- package/dist/src/flowchart/library.d.ts.map +1 -0
- package/dist/src/flowchart/library.js +611 -0
- package/dist/src/flowchart/library.js.map +1 -0
- package/dist/src/flowchart/over.d.ts +234 -0
- package/dist/src/flowchart/over.d.ts.map +1 -0
- package/dist/src/flowchart/over.js +220 -0
- package/dist/src/flowchart/over.js.map +1 -0
- package/dist/src/flowchart/patch.d.ts +64 -0
- package/dist/src/flowchart/patch.d.ts.map +1 -0
- package/dist/src/flowchart/patch.js +67 -0
- package/dist/src/flowchart/patch.js.map +1 -0
- package/dist/src/flowchart/payload.d.ts +8220 -0
- package/dist/src/flowchart/payload.d.ts.map +1 -0
- package/dist/src/flowchart/payload.js +521 -0
- package/dist/src/flowchart/payload.js.map +1 -0
- package/dist/src/flowchart/types.d.ts +393 -0
- package/dist/src/flowchart/types.d.ts.map +1 -0
- package/dist/src/flowchart/types.js +216 -0
- package/dist/src/flowchart/types.js.map +1 -0
- package/dist/src/flowchart/values.d.ts +267 -0
- package/dist/src/flowchart/values.d.ts.map +1 -0
- package/dist/src/flowchart/values.js +216 -0
- package/dist/src/flowchart/values.js.map +1 -0
- package/dist/src/flowchart/window.d.ts +521 -0
- package/dist/src/flowchart/window.d.ts.map +1 -0
- package/dist/src/flowchart/window.js +69 -0
- package/dist/src/flowchart/window.js.map +1 -0
- package/dist/src/index.d.ts +25 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +48 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +35 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +72 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/assemble.d.ts +2224 -0
- package/dist/src/plan/assemble.d.ts.map +1 -0
- package/dist/src/plan/assemble.js +210 -0
- package/dist/src/plan/assemble.js.map +1 -0
- package/dist/src/plan/builders.d.ts +790 -0
- package/dist/src/plan/builders.d.ts.map +1 -0
- package/dist/src/plan/builders.js +749 -0
- package/dist/src/plan/builders.js.map +1 -0
- package/dist/src/plan/event-rows.d.ts +2565 -0
- package/dist/src/plan/event-rows.d.ts.map +1 -0
- package/dist/src/plan/event-rows.js +689 -0
- package/dist/src/plan/event-rows.js.map +1 -0
- package/dist/src/plan/factories.d.ts +458 -0
- package/dist/src/plan/factories.d.ts.map +1 -0
- package/dist/src/plan/factories.js +484 -0
- package/dist/src/plan/factories.js.map +1 -0
- package/dist/src/plan/index.d.ts +672 -0
- package/dist/src/plan/index.d.ts.map +1 -0
- package/dist/src/plan/index.js +532 -0
- package/dist/src/plan/index.js.map +1 -0
- package/dist/src/plan/ir.d.ts +2594 -0
- package/dist/src/plan/ir.d.ts.map +1 -0
- package/dist/src/plan/ir.js +78 -0
- package/dist/src/plan/ir.js.map +1 -0
- package/dist/src/plan/library.d.ts +772 -0
- package/dist/src/plan/library.d.ts.map +1 -0
- package/dist/src/plan/library.js +424 -0
- package/dist/src/plan/library.js.map +1 -0
- package/dist/src/plan/ordered-source.d.ts +27 -0
- package/dist/src/plan/ordered-source.d.ts.map +1 -0
- package/dist/src/plan/ordered-source.js +48 -0
- package/dist/src/plan/ordered-source.js.map +1 -0
- package/dist/src/plan/over.d.ts +247 -0
- package/dist/src/plan/over.d.ts.map +1 -0
- package/dist/src/plan/over.js +266 -0
- package/dist/src/plan/over.js.map +1 -0
- package/dist/src/plan/pick.d.ts +78 -0
- package/dist/src/plan/pick.d.ts.map +1 -0
- package/dist/src/plan/pick.js +146 -0
- package/dist/src/plan/pick.js.map +1 -0
- package/dist/src/plan/plan.d.ts +11611 -0
- package/dist/src/plan/plan.d.ts.map +1 -0
- package/dist/src/plan/plan.js +428 -0
- package/dist/src/plan/plan.js.map +1 -0
- package/dist/src/plan/refs.d.ts +218 -0
- package/dist/src/plan/refs.d.ts.map +1 -0
- package/dist/src/plan/refs.js +226 -0
- package/dist/src/plan/refs.js.map +1 -0
- package/dist/src/plan/root.d.ts +290 -0
- package/dist/src/plan/root.d.ts.map +1 -0
- package/dist/src/plan/root.js +463 -0
- package/dist/src/plan/root.js.map +1 -0
- package/dist/src/plan/series.d.ts +13554 -0
- package/dist/src/plan/series.d.ts.map +1 -0
- package/dist/src/plan/series.js +1921 -0
- package/dist/src/plan/series.js.map +1 -0
- package/dist/src/plan/types.d.ts +12400 -0
- package/dist/src/plan/types.d.ts.map +1 -0
- package/dist/src/plan/types.js +1335 -0
- package/dist/src/plan/types.js.map +1 -0
- package/dist/src/roster/coverage.d.ts +240 -0
- package/dist/src/roster/coverage.d.ts.map +1 -0
- package/dist/src/roster/coverage.js +109 -0
- package/dist/src/roster/coverage.js.map +1 -0
- package/dist/src/roster/index.d.ts +4028 -0
- package/dist/src/roster/index.d.ts.map +1 -0
- package/dist/src/roster/index.js +115 -0
- package/dist/src/roster/index.js.map +1 -0
- package/dist/src/roster/library.d.ts +106 -0
- package/dist/src/roster/library.d.ts.map +1 -0
- package/dist/src/roster/library.js +78 -0
- package/dist/src/roster/library.js.map +1 -0
- package/dist/src/roster/people.d.ts +50 -0
- package/dist/src/roster/people.d.ts.map +1 -0
- package/dist/src/roster/people.js +32 -0
- package/dist/src/roster/people.js.map +1 -0
- package/dist/src/roster/rules.d.ts +275 -0
- package/dist/src/roster/rules.d.ts.map +1 -0
- package/dist/src/roster/rules.js +162 -0
- package/dist/src/roster/rules.js.map +1 -0
- package/dist/src/roster/types.d.ts +672 -0
- package/dist/src/roster/types.d.ts.map +1 -0
- package/dist/src/roster/types.js +248 -0
- package/dist/src/roster/types.js.map +1 -0
- package/dist/src/roster/visibility.d.ts +66 -0
- package/dist/src/roster/visibility.d.ts.map +1 -0
- package/dist/src/roster/visibility.js +25 -0
- package/dist/src/roster/visibility.js.map +1 -0
- package/dist/src/schedule/days.d.ts +54 -0
- package/dist/src/schedule/days.d.ts.map +1 -0
- package/dist/src/schedule/days.js +68 -0
- package/dist/src/schedule/days.js.map +1 -0
- package/dist/src/schedule/events.d.ts +433 -0
- package/dist/src/schedule/events.d.ts.map +1 -0
- package/dist/src/schedule/events.js +851 -0
- package/dist/src/schedule/events.js.map +1 -0
- package/dist/src/schedule/index.d.ts +150 -0
- package/dist/src/schedule/index.d.ts.map +1 -0
- package/dist/src/schedule/index.js +132 -0
- package/dist/src/schedule/index.js.map +1 -0
- package/dist/src/schedule/library.d.ts +70 -0
- package/dist/src/schedule/library.d.ts.map +1 -0
- package/dist/src/schedule/library.js +102 -0
- package/dist/src/schedule/library.js.map +1 -0
- package/dist/src/schedule/patch.d.ts +74 -0
- package/dist/src/schedule/patch.d.ts.map +1 -0
- package/dist/src/schedule/patch.js +68 -0
- package/dist/src/schedule/patch.js.map +1 -0
- package/dist/src/schedule/record-window.d.ts +189 -0
- package/dist/src/schedule/record-window.d.ts.map +1 -0
- package/dist/src/schedule/record-window.js +95 -0
- package/dist/src/schedule/record-window.js.map +1 -0
- package/dist/src/schedule/resources.d.ts +165 -0
- package/dist/src/schedule/resources.d.ts.map +1 -0
- package/dist/src/schedule/resources.js +234 -0
- package/dist/src/schedule/resources.js.map +1 -0
- package/dist/src/schedule/templates.d.ts +47 -0
- package/dist/src/schedule/templates.d.ts.map +1 -0
- package/dist/src/schedule/templates.js +61 -0
- package/dist/src/schedule/templates.js.map +1 -0
- package/dist/src/schedule/types.d.ts +1677 -0
- package/dist/src/schedule/types.d.ts.map +1 -0
- package/dist/src/schedule/types.js +374 -0
- package/dist/src/schedule/types.js.map +1 -0
- package/dist/src/schedule/window.d.ts +154 -0
- package/dist/src/schedule/window.d.ts.map +1 -0
- package/dist/src/schedule/window.js +363 -0
- package/dist/src/schedule/window.js.map +1 -0
- package/dist/src/sheet/bridge.d.ts +385 -0
- package/dist/src/sheet/bridge.d.ts.map +1 -0
- package/dist/src/sheet/bridge.js +809 -0
- package/dist/src/sheet/bridge.js.map +1 -0
- package/dist/src/sheet/columns.d.ts +410 -0
- package/dist/src/sheet/columns.d.ts.map +1 -0
- package/dist/src/sheet/columns.js +99 -0
- package/dist/src/sheet/columns.js.map +1 -0
- package/dist/src/sheet/context-bridge.d.ts +48 -0
- package/dist/src/sheet/context-bridge.d.ts.map +1 -0
- package/dist/src/sheet/context-bridge.js +216 -0
- package/dist/src/sheet/context-bridge.js.map +1 -0
- package/dist/src/sheet/draft-bridge.d.ts +37 -0
- package/dist/src/sheet/draft-bridge.d.ts.map +1 -0
- package/dist/src/sheet/draft-bridge.js +153 -0
- package/dist/src/sheet/draft-bridge.js.map +1 -0
- package/dist/src/sheet/drafts.d.ts +14 -0
- package/dist/src/sheet/drafts.d.ts.map +1 -0
- package/dist/src/sheet/drafts.js +14 -0
- package/dist/src/sheet/drafts.js.map +1 -0
- package/dist/src/sheet/editing-bridge.d.ts +40 -0
- package/dist/src/sheet/editing-bridge.d.ts.map +1 -0
- package/dist/src/sheet/editing-bridge.js +231 -0
- package/dist/src/sheet/editing-bridge.js.map +1 -0
- package/dist/src/sheet/editing-types.d.ts +268 -0
- package/dist/src/sheet/editing-types.d.ts.map +1 -0
- package/dist/src/sheet/editing-types.js +34 -0
- package/dist/src/sheet/editing-types.js.map +1 -0
- package/dist/src/sheet/edits.d.ts +37 -0
- package/dist/src/sheet/edits.d.ts.map +1 -0
- package/dist/src/sheet/edits.js +31 -0
- package/dist/src/sheet/edits.js.map +1 -0
- package/dist/src/sheet/fields.d.ts +693 -0
- package/dist/src/sheet/fields.d.ts.map +1 -0
- package/dist/src/sheet/fields.js +280 -0
- package/dist/src/sheet/fields.js.map +1 -0
- package/dist/src/sheet/group.d.ts +165 -0
- package/dist/src/sheet/group.d.ts.map +1 -0
- package/dist/src/sheet/group.js +52 -0
- package/dist/src/sheet/group.js.map +1 -0
- package/dist/src/sheet/index.d.ts +542 -0
- package/dist/src/sheet/index.d.ts.map +1 -0
- package/dist/src/sheet/index.js +387 -0
- package/dist/src/sheet/index.js.map +1 -0
- package/dist/src/sheet/library.d.ts +284 -0
- package/dist/src/sheet/library.d.ts.map +1 -0
- package/dist/src/sheet/library.js +259 -0
- package/dist/src/sheet/library.js.map +1 -0
- package/dist/src/sheet/link.d.ts +398 -0
- package/dist/src/sheet/link.d.ts.map +1 -0
- package/dist/src/sheet/link.js +228 -0
- package/dist/src/sheet/link.js.map +1 -0
- package/dist/src/sheet/record.d.ts +75 -0
- package/dist/src/sheet/record.d.ts.map +1 -0
- package/dist/src/sheet/record.js +128 -0
- package/dist/src/sheet/record.js.map +1 -0
- package/dist/src/sheet/registers.d.ts +681 -0
- package/dist/src/sheet/registers.d.ts.map +1 -0
- package/dist/src/sheet/registers.js +671 -0
- package/dist/src/sheet/registers.js.map +1 -0
- package/dist/src/sheet/root.d.ts +329 -0
- package/dist/src/sheet/root.d.ts.map +1 -0
- package/dist/src/sheet/root.js +511 -0
- package/dist/src/sheet/root.js.map +1 -0
- package/dist/src/sheet/seed-bridge.d.ts +14 -0
- package/dist/src/sheet/seed-bridge.d.ts.map +1 -0
- package/dist/src/sheet/seed-bridge.js +51 -0
- package/dist/src/sheet/seed-bridge.js.map +1 -0
- package/dist/src/sheet/sheet.d.ts +11819 -0
- package/dist/src/sheet/sheet.d.ts.map +1 -0
- package/dist/src/sheet/sheet.js +236 -0
- package/dist/src/sheet/sheet.js.map +1 -0
- package/dist/src/sheet/sub-rows.d.ts +299 -0
- package/dist/src/sheet/sub-rows.d.ts.map +1 -0
- package/dist/src/sheet/sub-rows.js +272 -0
- package/dist/src/sheet/sub-rows.js.map +1 -0
- package/dist/src/sheet/templates.d.ts +161 -0
- package/dist/src/sheet/templates.d.ts.map +1 -0
- package/dist/src/sheet/templates.js +122 -0
- package/dist/src/sheet/templates.js.map +1 -0
- package/dist/src/sheet/transactions.d.ts +76 -0
- package/dist/src/sheet/transactions.d.ts.map +1 -0
- package/dist/src/sheet/transactions.js +40 -0
- package/dist/src/sheet/transactions.js.map +1 -0
- package/dist/src/sheet/types.d.ts +15226 -0
- package/dist/src/sheet/types.d.ts.map +1 -0
- package/dist/src/sheet/types.js +1070 -0
- package/dist/src/sheet/types.js.map +1 -0
- package/dist/src/sheet/views.d.ts +29 -0
- package/dist/src/sheet/views.d.ts.map +1 -0
- package/dist/src/sheet/views.js +43 -0
- package/dist/src/sheet/views.js.map +1 -0
- package/dist/src/studio/component.d.ts.map +1 -1
- package/dist/src/studio/component.js +11 -8
- package/dist/src/studio/component.js.map +1 -1
- package/dist/src/utils/derive.d.ts +134 -8
- package/dist/src/utils/derive.d.ts.map +1 -1
- package/dist/src/utils/derive.js +409 -7
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/ordered-source.d.ts +38 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -0
- package/dist/src/utils/ordered-source.js +45 -0
- package/dist/src/utils/ordered-source.js.map +1 -0
- package/dist/src/utils/row-inspector.d.ts +36 -0
- package/dist/src/utils/row-inspector.d.ts.map +1 -0
- package/dist/src/utils/row-inspector.js +49 -0
- package/dist/src/utils/row-inspector.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +21 -19
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +122 -122
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +9 -9
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts +228 -0
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar-records.examples.js +91 -0
- package/dist/test/calendar/calendar-records.examples.js.map +1 -0
- package/dist/test/calendar/calendar.examples.d.ts +776 -0
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -0
- package/dist/test/calendar/calendar.examples.js +336 -0
- package/dist/test/calendar/calendar.examples.js.map +1 -0
- package/dist/test/decision/journal.examples.d.ts +28 -28
- package/dist/test/decision/journal.examples.d.ts.map +1 -1
- package/dist/test/decision/journal.examples.js +4 -4
- package/dist/test/decision/journal.examples.js.map +1 -1
- package/dist/test/decision/queue.examples.d.ts.map +1 -1
- package/dist/test/decision/queue.examples.js +5 -7
- package/dist/test/decision/queue.examples.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3713 -0
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -0
- package/dist/test/flowchart/flowchart.examples.js +465 -0
- package/dist/test/flowchart/flowchart.examples.js.map +1 -0
- package/dist/test/plan/plan-events.examples.d.ts +3666 -0
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-events.examples.js +773 -0
- package/dist/test/plan/plan-events.examples.js.map +1 -0
- package/dist/test/plan/plan-records.examples.d.ts +3 -0
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-records.examples.js +45 -0
- package/dist/test/plan/plan-records.examples.js.map +1 -0
- package/dist/test/plan/plan-windows.examples.d.ts +588 -0
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-windows.examples.js +170 -0
- package/dist/test/plan/plan-windows.examples.js.map +1 -0
- package/dist/test/plan/plan.examples.d.ts +8095 -0
- package/dist/test/plan/plan.examples.d.ts.map +1 -0
- package/dist/test/plan/plan.examples.js +2500 -0
- package/dist/test/plan/plan.examples.js.map +1 -0
- package/dist/test/roster/domain.examples.d.ts +367 -0
- package/dist/test/roster/domain.examples.d.ts.map +1 -0
- package/dist/test/roster/domain.examples.js +72 -0
- package/dist/test/roster/domain.examples.js.map +1 -0
- package/dist/test/roster/roster-records.examples.d.ts +729 -0
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -0
- package/dist/test/roster/roster-records.examples.js +86 -0
- package/dist/test/roster/roster-records.examples.js.map +1 -0
- package/dist/test/roster/roster.examples.d.ts +750 -0
- package/dist/test/roster/roster.examples.d.ts.map +1 -0
- package/dist/test/roster/roster.examples.js +198 -0
- package/dist/test/roster/roster.examples.js.map +1 -0
- package/dist/test/roster/warehouse.d.ts +87 -0
- package/dist/test/roster/warehouse.d.ts.map +1 -0
- package/dist/test/roster/warehouse.js +883 -0
- package/dist/test/roster/warehouse.js.map +1 -0
- package/dist/test/sheet/sheet-link.examples.d.ts +7 -0
- package/dist/test/sheet/sheet-link.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-link.examples.js +41 -0
- package/dist/test/sheet/sheet-link.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts +421 -0
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-records.examples.js +79 -0
- package/dist/test/sheet/sheet-records.examples.js.map +1 -0
- package/dist/test/sheet/sheet-transactions.examples.d.ts +7 -0
- package/dist/test/sheet/sheet-transactions.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet-transactions.examples.js +58 -0
- package/dist/test/sheet/sheet-transactions.examples.js.map +1 -0
- package/dist/test/sheet/sheet.examples.d.ts +5562 -0
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -0
- package/dist/test/sheet/sheet.examples.js +1178 -0
- package/dist/test/sheet/sheet.examples.js.map +1 -0
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +11 -11
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +12 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowchart.examples.d.ts","sourceRoot":"","sources":["../../../test/flowchart/flowchart.examples.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sCAAsC;AACtC,OAAO,EACH,SAAS,EAAe,YAAY,EAAE,QAAQ,EAAQ,SAAS,EAAgB,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAsB,UAAU,EAAE,UAAU,EACvI,OAAO,EAC/B,MAAM,eAAe,CAAC;AA+CvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EA4BpB,CAAC;AACJ,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAgC,CAAC;AAI7D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFAWzB,CAAC;AACJ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
4
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
5
|
+
*/
|
|
6
|
+
/** @jsxImportSource @elaraai/e3-ui */
|
|
7
|
+
import { ArrayType, BooleanType, DateTimeType, DictType, East, FloatType, FunctionType, IntegerType, NullType, OptionType, PatchType, SetType, StringType, StructType, example, none, some, variant, } from "@elaraai/east";
|
|
8
|
+
import { Badge, Box, Button, Configurator, Editing, HStack, Reactive, Slice, State, Switch, Text, UIComponentType, VStack } from "@elaraai/east-ui";
|
|
9
|
+
import { Data, Flowchart, Record } from "@elaraai/e3-ui";
|
|
10
|
+
import e3 from "@elaraai/e3";
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// The Flowchart's examples (#1251): the one `<Flowchart>`, each in its frame —
|
|
13
|
+
// one toolbar holding every control the flowchart has, the banners, the open
|
|
14
|
+
// flow's canvas in main, the footer, and the panes it is given. The slots of
|
|
15
|
+
// EXAMPLES_AUTHORING.md §8, few and full (FB40):
|
|
16
|
+
//
|
|
17
|
+
// - `flowchartFlows`, the front door: a record of the depot's flows by name,
|
|
18
|
+
// and its Flows tab (§3.1);
|
|
19
|
+
// - `flowchartVariants`, THE configurator: the legend, the minimap and read
|
|
20
|
+
// only as axes over the host's flows (`data`), which its `onApply` commits,
|
|
21
|
+
// the selection and a traced path heard in its aside;
|
|
22
|
+
// - `flowchartLibrary`, the depot's flows (§3.3): the Flows tab, the step and
|
|
23
|
+
// transition templates and the decisions' owners, each card dropped on the
|
|
24
|
+
// canvas;
|
|
25
|
+
// - `flowchartDepot`, a flow from the host's tables (§3.4): decisions,
|
|
26
|
+
// evidence, a state class, an in-place transition and an unresolved one,
|
|
27
|
+
// narrowed by a slice, read only;
|
|
28
|
+
// - `flowchartHandover`, the host's one flow, top down, with no pane;
|
|
29
|
+
// - `flowchartDetail`, a record's one flow edited on the canvas, a
|
|
30
|
+
// connection veto, and a state's and a transition's own Details.
|
|
31
|
+
//
|
|
32
|
+
// Its panes are optional props, and the examples show each combination: none
|
|
33
|
+
// (`flowchartHandover`), a library (`flowchartVariants`), an inspector
|
|
34
|
+
// (`flowchartDepot`, read only; `flowchartDetail`, its own Details), and both
|
|
35
|
+
// (`flowchartFlows`, `flowchartLibrary`). Between them, one flow
|
|
36
|
+
// (`flowchartHandover`, `flowchartDepot`, `flowchartDetail`) and many
|
|
37
|
+
// (`flowchartFlows`, `flowchartVariants`, `flowchartLibrary`).
|
|
38
|
+
//
|
|
39
|
+
// Every flowchart binds its flows from e3, so each runs on e3-web in the
|
|
40
|
+
// showcase (§2a): a record of flows written with `Flowchart.values`, whose
|
|
41
|
+
// patch mutation every Save commits through; an input of one flow written
|
|
42
|
+
// with `Flowchart.value`; or the host's tables, each an input. `State` holds
|
|
43
|
+
// only what the viewer owns: the configurator's axes and what it heard.
|
|
44
|
+
//
|
|
45
|
+
// A flowchart fills its parent, as a ui task's page fills the window: each
|
|
46
|
+
// example gives it a box of its own height. One page shows them all, so every
|
|
47
|
+
// flowchart but the first is named (`name`), and keeps its viewer's state
|
|
48
|
+
// apart.
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// The depot's flows, by name: each a whole flowchart, written as literals and
|
|
51
|
+
// checked when the package builds.
|
|
52
|
+
export const depotFlows = e3.record("flowchart_depot_flows", Flowchart.Types.Flows, Flowchart.values({
|
|
53
|
+
"Inbound parcels": {
|
|
54
|
+
description: "From the trailer to the van",
|
|
55
|
+
lanes: [{ key: "intake", label: "Intake" }, { key: "sort", label: "Sort" }, { key: "load", label: "Load" }],
|
|
56
|
+
states: [
|
|
57
|
+
{ key: "ARV", label: "Arrived", lane: "intake" },
|
|
58
|
+
{ key: "SCN", label: "Scanned", lane: "intake" },
|
|
59
|
+
{ key: "CH*", label: "Sort chutes", lane: "sort", members: 12n },
|
|
60
|
+
{ key: "LDD", label: "Loaded", lane: "load" },
|
|
61
|
+
],
|
|
62
|
+
links: [
|
|
63
|
+
{ from: "ARV", to: "SCN" },
|
|
64
|
+
{ from: "SCN", to: "CH*", trigger: "route" },
|
|
65
|
+
{ from: "CH*", to: "LDD" },
|
|
66
|
+
{ from: "SCN", to: "SCN", kind: "observed" },
|
|
67
|
+
],
|
|
68
|
+
triggers: [{ key: "route", label: "route", owner: "sort-planner" }],
|
|
69
|
+
},
|
|
70
|
+
"Returns": {
|
|
71
|
+
description: "From the counter back to the sender",
|
|
72
|
+
lanes: [{ key: "counter", label: "Counter" }, { key: "check", label: "Check" }, { key: "out", label: "Out" }],
|
|
73
|
+
states: [
|
|
74
|
+
{ key: "RCV", label: "Received", lane: "counter" },
|
|
75
|
+
{ key: "INS", label: "Inspected", lane: "check" },
|
|
76
|
+
{ key: "RSD", label: "Resent", lane: "out" },
|
|
77
|
+
],
|
|
78
|
+
links: [{ from: "RCV", to: "INS" }, { from: "INS", to: "RSD" }, { from: "INS", to: "BIN", kind: "observed" }],
|
|
79
|
+
},
|
|
80
|
+
}));
|
|
81
|
+
export const depotFlowsPatch = e3.mutation.patch(depotFlows);
|
|
82
|
+
// A lone flow, edited on the canvas: a record of flows with one entry, bound
|
|
83
|
+
// with its patch mutation.
|
|
84
|
+
export const collectionFlows = e3.record("flowchart_collection_flows", Flowchart.Types.Flows, Flowchart.values({
|
|
85
|
+
"Collections": {
|
|
86
|
+
description: "From the booking to the depot's door",
|
|
87
|
+
lanes: [{ key: "book", label: "Book" }, { key: "van", label: "Van" }, { key: "depot", label: "Depot" }],
|
|
88
|
+
states: [
|
|
89
|
+
{ key: "BKD", label: "Booked", lane: "book" },
|
|
90
|
+
{ key: "CLD", label: "Collected", lane: "van" },
|
|
91
|
+
{ key: "RCV", label: "Received", lane: "depot" },
|
|
92
|
+
],
|
|
93
|
+
links: [{ key: "BKD→CLD", from: "BKD", to: "CLD" }, { key: "CLD→RCV", from: "CLD", to: "RCV" }],
|
|
94
|
+
},
|
|
95
|
+
}));
|
|
96
|
+
export const collectionFlowsPatch = e3.mutation.patch(collectionFlows);
|
|
97
|
+
// One flow, for an app that has only one: the host's, read only.
|
|
98
|
+
export const handoverFlow = e3.input("flowchart_handover", Flowchart.Types.Flow, variant("value", Flowchart.value({
|
|
99
|
+
description: "From the last scan to the driver's signature",
|
|
100
|
+
lanes: [{ key: "load", label: "Load" }, { key: "road", label: "Road" }, { key: "door", label: "Door" }],
|
|
101
|
+
states: [
|
|
102
|
+
{ key: "LDD", label: "Loaded", lane: "load" },
|
|
103
|
+
{ key: "DSP", label: "Dispatched", lane: "road" },
|
|
104
|
+
{ key: "DLV", label: "Delivered", lane: "door" },
|
|
105
|
+
{ key: "RTN", label: "Returned", lane: "door" },
|
|
106
|
+
],
|
|
107
|
+
links: [
|
|
108
|
+
{ from: "LDD", to: "DSP" },
|
|
109
|
+
{ from: "DSP", to: "DLV", trigger: "attempt" },
|
|
110
|
+
{ from: "DSP", to: "RTN", kind: "observed", trigger: "attempt" },
|
|
111
|
+
],
|
|
112
|
+
triggers: [{ key: "attempt", label: "attempt", owner: "driver" }],
|
|
113
|
+
})));
|
|
114
|
+
// The library's rows (#1248): each tab its own bound data, apart from the
|
|
115
|
+
// flows and from the other tabs — the step types an input's rows, the
|
|
116
|
+
// transition types a record's rows by name, and the roles that own a decision
|
|
117
|
+
// another input's.
|
|
118
|
+
export const StepTemplate = StructType({ code: StringType, name: StringType, kind: StringType, slots: OptionType(IntegerType) });
|
|
119
|
+
export const stepTemplates = e3.input("flowchart_step_templates", ArrayType(StepTemplate), variant("value", [
|
|
120
|
+
{ code: "ARV", name: "Arrived", kind: "Intake", slots: none },
|
|
121
|
+
{ code: "SCN", name: "Scanned", kind: "Intake", slots: none },
|
|
122
|
+
{ code: "CH*", name: "Sort chutes", kind: "Sort", slots: some(12n) },
|
|
123
|
+
{ code: "HLD", name: "Held", kind: "Hold", slots: none },
|
|
124
|
+
{ code: "LDD", name: "Loaded", kind: "Load", slots: none },
|
|
125
|
+
]));
|
|
126
|
+
export const MoveTemplate = StructType({ kind: Flowchart.Types.Kind, decision: OptionType(StringType), note: StringType });
|
|
127
|
+
export const moveTemplates = e3.record("flowchart_move_templates", DictType(StringType, MoveTemplate), new Map([
|
|
128
|
+
["Observed", { kind: variant("observed", null), decision: none, note: "Mined from the scans" }],
|
|
129
|
+
["Planned", { kind: variant("planned", null), decision: none, note: "The designed path" }],
|
|
130
|
+
["Routed", { kind: variant("planned", null), decision: some("route"), note: "Governed by the route decision" }],
|
|
131
|
+
]));
|
|
132
|
+
export const DecisionOwner = StructType({ role: StringType, name: StringType, desk: StringType });
|
|
133
|
+
export const decisionOwners = e3.input("flowchart_decision_owners", ArrayType(DecisionOwner), variant("value", [
|
|
134
|
+
{ role: "sort-planner", name: "Sort planner", desk: "Sort hall" },
|
|
135
|
+
{ role: "customs-desk", name: "Customs desk", desk: "Hold bay" },
|
|
136
|
+
]));
|
|
137
|
+
// The depot's own tables (§3.4), each an input of the app's own rows: its
|
|
138
|
+
// steps by phase, the transitions mined from its scans — what the slice
|
|
139
|
+
// narrows — and its decisions. `Flowchart.over` builds one flow from them.
|
|
140
|
+
export const DepotState = StructType({ code: StringType, name: StringType, phase: StringType, slots: OptionType(IntegerType) });
|
|
141
|
+
export const depotStates = e3.input("flowchart_depot_states", ArrayType(DepotState), variant("value", [
|
|
142
|
+
{ code: "ARV", name: "Arrived", phase: "intake", slots: none },
|
|
143
|
+
{ code: "SCN", name: "Scanned", phase: "intake", slots: none },
|
|
144
|
+
{ code: "IND", name: "Inducting", phase: "induct", slots: none },
|
|
145
|
+
{ code: "LBL", name: "Labelled", phase: "induct", slots: none },
|
|
146
|
+
{ code: "CH*", name: "Sort chutes (class)", phase: "sort", slots: some(14n) },
|
|
147
|
+
{ code: "SRD", name: "Sorted", phase: "sort", slots: none },
|
|
148
|
+
{ code: "HLD", name: "Held", phase: "hold", slots: none },
|
|
149
|
+
{ code: "CLR", name: "Cleared", phase: "hold", slots: none },
|
|
150
|
+
{ code: "LDD", name: "Loaded", phase: "dispatch", slots: none },
|
|
151
|
+
{ code: "DSP", name: "Dispatched", phase: "dispatch", slots: none },
|
|
152
|
+
]));
|
|
153
|
+
export const ScanTransition = StructType({
|
|
154
|
+
id: StringType, src: StringType, dst: StringType, kind: Flowchart.Types.Kind,
|
|
155
|
+
trigger: OptionType(StringType), parcels: OptionType(FloatType), n: OptionType(IntegerType),
|
|
156
|
+
at: DateTimeType, service: StringType, units: ArrayType(StringType),
|
|
157
|
+
});
|
|
158
|
+
export const scanTransitions = e3.input("flowchart_depot_scans", ArrayType(ScanTransition), variant("value", [
|
|
159
|
+
{ id: "l1", src: "ARV", dst: "SCN", kind: variant("planned", null), trigger: none, parcels: some(18460.0), n: some(412n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["C"] },
|
|
160
|
+
{ id: "l2", src: "SCN", dst: "IND", kind: variant("planned", null), trigger: none, parcels: some(7720.0), n: some(171n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["C"] },
|
|
161
|
+
{ id: "l3", src: "IND", dst: "IND", kind: variant("planned", null), trigger: none, parcels: none, n: some(2n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["C"] },
|
|
162
|
+
{ id: "l4", src: "IND", dst: "CH*", kind: variant("planned", null), trigger: some("route"), parcels: some(17350.0), n: some(386n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["C", "T"] },
|
|
163
|
+
{ id: "l5", src: "CH*", dst: "SRD", kind: variant("planned", null), trigger: none, parcels: some(17210.0), n: some(383n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["T"] },
|
|
164
|
+
{ id: "l6", src: "SRD", dst: "HLD", kind: variant("observed", null), trigger: none, parcels: some(1080.0), n: some(24n), at: new Date("2026-06-30T00:00:00Z"), service: "express", units: ["T"] },
|
|
165
|
+
{ id: "l7", src: "HLD", dst: "CLR", kind: variant("planned", null), trigger: some("customs"), parcels: some(8350.0), n: some(186n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["T"] },
|
|
166
|
+
{ id: "l8", src: "CLR", dst: "LDD", kind: variant("planned", null), trigger: none, parcels: some(8240.0), n: some(183n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: ["T"] },
|
|
167
|
+
{ id: "l9", src: "LDD", dst: "DSP", kind: variant("planned", null), trigger: none, parcels: some(8160.0), n: some(181n), at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: [] },
|
|
168
|
+
{ id: "l10", src: "DSP", dst: "DLV", kind: variant("planned", null), trigger: none, parcels: none, n: none, at: new Date("2026-06-30T00:00:00Z"), service: "standard", units: [] },
|
|
169
|
+
]));
|
|
170
|
+
export const DepotDecision = StructType({ id: StringType, name: StringType, who: StringType });
|
|
171
|
+
export const depotDecisions = e3.input("flowchart_depot_decisions", ArrayType(DepotDecision), variant("value", [
|
|
172
|
+
{ id: "route", name: "route", who: "sort-planner" },
|
|
173
|
+
{ id: "customs", name: "customs", who: "customs-desk" },
|
|
174
|
+
]));
|
|
175
|
+
export const flowchartFlows = example({
|
|
176
|
+
keywords: ["Flowchart", "record", "Flows", "Flowchart.values", "Record.bind", "flow", "many flows", "e3.record", "Flowchart.library.flows", "Flows tab", "New flow"],
|
|
177
|
+
description: "A record of flows by name — the depot's inbound parcels and its returns — bound with its patch mutation, the inbound flow opened first and the Flows tab listing every flow",
|
|
178
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
179
|
+
const flows = $.let(Record.bind(depotFlows, [depotFlowsPatch]));
|
|
180
|
+
return (_jsx(Box, { height: "500px", children: _jsx(Flowchart, { record: flows, flow: "Inbound parcels", library: [Flowchart.library.flows()] }) }));
|
|
181
|
+
} }))),
|
|
182
|
+
inputs: [],
|
|
183
|
+
});
|
|
184
|
+
/**
|
|
185
|
+
* THE Flowchart configurator — ONE live flowchart in its frame; every axis is
|
|
186
|
+
* an expression-fed prop on that single instance: the legend, the minimap and
|
|
187
|
+
* read only. Its flows are the host's (`data`): the depot's flows, read from
|
|
188
|
+
* their e3 record, and Save hands `onApply` the session's request id with the
|
|
189
|
+
* open flow's patch, which it commits through the record's patch mutation
|
|
190
|
+
* under that id and answers with what e3 said — committed, refused, out of
|
|
191
|
+
* time or beaten by another write. A write that got no answer throws, so the
|
|
192
|
+
* session's Retry sends the same request id again, and e3 answers it with the
|
|
193
|
+
* first write's commit rather than writing twice (#1275). The host hears what is selected — a
|
|
194
|
+
* state, a transition, a decision — and a path ⌥-clicked in the reactive
|
|
195
|
+
* aside, so it is given no inspector; its library is the Flows tab over the
|
|
196
|
+
* host's flows. Its panes are fixed when it is built, so they are no axis
|
|
197
|
+
* here. The configurator's axes are the viewer's own state.
|
|
198
|
+
*/
|
|
199
|
+
export const flowchartVariants = example({
|
|
200
|
+
keywords: ["Flowchart", "configurator", "Configurator", "legend", "minimap", "readOnly", "read only", "onSelectState", "onSelectLink", "onSelectTrigger", "onTracePath", "selection", "trace", "callbacks", "data", "onApply", "commit", "requestId", "request id", "Retry", "Record.bind", "commit.patch", "Editing.Types.ApplyResult", "Flows tab", "Flowchart.library.flows", "many flows", "inspector={false}", "library", "Switch", "State", "Reactive"],
|
|
201
|
+
description: "Flowchart configurator — the legend, the minimap and read only, each expression-fed into one live flowchart in its frame over the host's flows by name (data, from the depot's e3 record), its Flows tab over them, Save committed by the host's onApply through the record's patch mutation under the session's request id, a Retry safe to repeat; onSelectState, onSelectLink, onSelectTrigger and onTracePath heard in the aside, with no inspector",
|
|
202
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
203
|
+
const flows = $.let(Record.bind(depotFlows, [depotFlowsPatch]));
|
|
204
|
+
// The host's commit: the open flow's patch through the record's patch mutation under the session's request id, e3's outcome as Save's answer.
|
|
205
|
+
const onApply = $.const(East.asyncFunction([StringType, PatchType(Flowchart.Types.Flows)], Editing.Types.ApplyResult, ($2, requestId, patch) => {
|
|
206
|
+
const outcome = $2.let(flows.commit.patch(requestId, patch));
|
|
207
|
+
const answer = $2.let(variant("rejected", [{ entry: "", row: none, field: none, message: "The write was refused" }]), Editing.Types.ApplyResult);
|
|
208
|
+
$2.match(outcome, {
|
|
209
|
+
committed: ($3, done) => { $3.assign(answer, variant("applied", { revision: some(done.stateHash) })); },
|
|
210
|
+
invalid: ($3, refused) => { $3.assign(answer, variant("rejected", [{ entry: "", row: none, field: none, message: refused.message }])); },
|
|
211
|
+
failed: ($3, refused) => { $3.assign(answer, variant("rejected", [{ entry: "", row: none, field: none, message: East.str `The write failed: ${refused.stderr}` }])); },
|
|
212
|
+
timed_out: ($3, refused) => { $3.assign(answer, variant("rejected", [{ entry: "", row: none, field: none, message: East.str `The write ran out of time after ${refused.ms} ms and wrote nothing` }])); },
|
|
213
|
+
conflict: ($3, lost) => {
|
|
214
|
+
const why = $3.let(lost.detail.match({ some: (_$4, detail) => detail, none: (_$4) => "Another write changed the flows first" }));
|
|
215
|
+
$3.assign(answer, variant("conflict", [{ entry: "", row: none, field: none, message: why }]));
|
|
216
|
+
},
|
|
217
|
+
// No answer: it may have committed, so the session's Retry sends the same request id, which resolves to that commit.
|
|
218
|
+
transport: ($3, lost) => { $3.error(East.str `The write got no answer, so it may have committed — retry to find out: ${lost.message}`); },
|
|
219
|
+
});
|
|
220
|
+
return answer;
|
|
221
|
+
}));
|
|
222
|
+
const legendBind = $.let(State.bind([BooleanType], "flowchart_variants_legend", true));
|
|
223
|
+
const minimapBind = $.let(State.bind([BooleanType], "flowchart_variants_minimap", false));
|
|
224
|
+
const readOnlyBind = $.let(State.bind([BooleanType], "flowchart_variants_readonly", false));
|
|
225
|
+
const heardBind = $.let(State.bind([StringType], "flowchart_variants_heard", ""));
|
|
226
|
+
const legendOn = $.let(legendBind.read());
|
|
227
|
+
const minimapOn = $.let(minimapBind.read());
|
|
228
|
+
const readOnly = $.let(readOnlyBind.read());
|
|
229
|
+
const heard = $.let(heardBind.read());
|
|
230
|
+
const onLegend = $.const(East.function([BooleanType], NullType, ($2, next) => { $2(legendBind.write(next)); }));
|
|
231
|
+
const onMinimap = $.const(East.function([BooleanType], NullType, ($2, next) => { $2(minimapBind.write(next)); }));
|
|
232
|
+
const onReadOnly = $.const(East.function([BooleanType], NullType, ($2, next) => { $2(readOnlyBind.write(next)); }));
|
|
233
|
+
// What the host hears: a state, a transition or a decision selected, and a path ⌥-clicked.
|
|
234
|
+
const onSelectState = $.const(East.function([StringType], NullType, ($2, key) => { $2(heardBind.write(East.str `onSelectState: ${key}`)); }));
|
|
235
|
+
const onSelectLink = $.const(East.function([StringType], NullType, ($2, key) => { $2(heardBind.write(East.str `onSelectLink: ${key}`)); }));
|
|
236
|
+
const onSelectTrigger = $.const(East.function([StringType], NullType, ($2, key) => { $2(heardBind.write(East.str `onSelectTrigger: ${key}`)); }));
|
|
237
|
+
const onTracePath = $.const(East.function([StringType], NullType, ($2, key) => { $2(heardBind.write(East.str `onTracePath: ${key}`)); }));
|
|
238
|
+
return (_jsx(Configurator, { controls: [
|
|
239
|
+
Configurator.Slot("Canvas", _jsxs(HStack, { gap: "5", align: "center", wrap: "wrap", children: [_jsx(Switch, { checked: legendOn, label: "Legend", onChange: onLegend }), _jsx(Switch, { checked: minimapOn, label: "Minimap", onChange: onMinimap }), _jsx(Switch, { checked: readOnly, label: "Read-only", onChange: onReadOnly })] })),
|
|
240
|
+
], preview: _jsx(Box, { width: "100%", height: "480px", children: _jsx(Flowchart, { data: flows.read(), flow: "Inbound parcels", onApply: onApply, library: [Flowchart.library.flows()], inspector: false, legend: legendOn, minimap: minimapOn, readOnly: readOnly, onSelectState: onSelectState, onSelectLink: onSelectLink, onSelectTrigger: onSelectTrigger, onTracePath: onTracePath, name: "variants" }) }), aside: {
|
|
241
|
+
label: "Heard · Reactive",
|
|
242
|
+
body: (_jsx(Badge, { colorPalette: "brand", variant: "outline", children: East.equal(heard.length(), 0n).ifElse((_$2) => "Select a state, a transition or a decision", (_$2) => heard) })),
|
|
243
|
+
}, spec: [
|
|
244
|
+
Configurator.Spec("Legend", legendOn.ifElse((_$2) => "shown", (_$2) => "hidden")),
|
|
245
|
+
Configurator.Spec("Minimap", minimapOn.ifElse((_$2) => "shown", (_$2) => "hidden")),
|
|
246
|
+
Configurator.Spec("Read only", readOnly.ifElse((_$2) => "yes", (_$2) => "no")),
|
|
247
|
+
Configurator.Spec("Flows", East.str `${flows.read().size()} by name`),
|
|
248
|
+
] }));
|
|
249
|
+
} }))),
|
|
250
|
+
inputs: [],
|
|
251
|
+
});
|
|
252
|
+
/**
|
|
253
|
+
* The library (#1248): the Flows tab, then the step types, the transition
|
|
254
|
+
* types and the roles that own a decision — each tab its own bound data,
|
|
255
|
+
* apart from the flows and from the other tabs: an input's rows, a record's
|
|
256
|
+
* rows by name, another input's. Each template card is a drag source, as is
|
|
257
|
+
* each of the author's cards, whose tab declares a `drop`; a click selects a
|
|
258
|
+
* card, and a click on the selected card lets it go.
|
|
259
|
+
*/
|
|
260
|
+
export const flowchartLibrary = example({
|
|
261
|
+
keywords: ["Flowchart", "library", "Flowchart.library.states", "Flowchart.library.transitions", "Flowchart.library.tab", "templates", "state templates", "transition templates", "author's tab", "bound data", "Data.bind", "Record.bind", "drag", "cards", "Flowchart.patch"],
|
|
262
|
+
description: "A record of flows with its library — the Flows tab, step types from an input's rows, transition types from a record's rows by name, and the author's own cards — each tab its own bound data, each card a drag source a click selects",
|
|
263
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
264
|
+
const flows = $.let(Record.bind(depotFlows, [depotFlowsPatch]));
|
|
265
|
+
const steps = $.let(Data.bind(stepTemplates));
|
|
266
|
+
const moves = $.let(Record.bind(moveTemplates, []));
|
|
267
|
+
const owners = $.let(Data.bind(decisionOwners));
|
|
268
|
+
return (_jsx(Box, { height: "560px", children: _jsx(Flowchart, { record: flows, flow: "Inbound parcels", name: "depot", library: [
|
|
269
|
+
Flowchart.library.flows(),
|
|
270
|
+
// Step types, an input's rows: a card dropped on a lane adds a state seeded with what its drop sets.
|
|
271
|
+
Flowchart.library.states(steps.read(), {
|
|
272
|
+
name: "Steps", icon: "box",
|
|
273
|
+
key: s => s.code, label: s => s.name, meta: s => some(s.code), group: s => s.kind,
|
|
274
|
+
drop: s => Flowchart.patch(Flowchart.Types.State, { key: s.code, label: some(s.name), members: s.slots }),
|
|
275
|
+
}),
|
|
276
|
+
// Transition types, a record's rows by name: a card dropped on a transition retypes it.
|
|
277
|
+
Flowchart.library.transitions(moves.read(), {
|
|
278
|
+
icon: "arrow-right",
|
|
279
|
+
key: (_m, name) => name, label: (_m, name) => name, meta: m => some(m.note),
|
|
280
|
+
drop: m => Flowchart.patch(Flowchart.Types.Link, { kind: some(m.kind), trigger: m.decision }),
|
|
281
|
+
}),
|
|
282
|
+
// The author's own cards: a role dropped on a decision owns it.
|
|
283
|
+
Flowchart.library.tab(owners.read(), {
|
|
284
|
+
name: "Owners", icon: "user-tie",
|
|
285
|
+
key: o => o.role, label: o => o.name, meta: o => some(o.desk),
|
|
286
|
+
drop: o => Flowchart.patch(Flowchart.Types.Trigger, { owner: some(o.role) }),
|
|
287
|
+
}),
|
|
288
|
+
] }) }));
|
|
289
|
+
} }))),
|
|
290
|
+
inputs: [],
|
|
291
|
+
});
|
|
292
|
+
/**
|
|
293
|
+
* A flow from the host's tables (§3.4) — the depot's steps by phase, the
|
|
294
|
+
* transitions mined from its scans and its decisions, each an e3 input of the
|
|
295
|
+
* app's own rows, built into one flow by `Flowchart.over` through their row
|
|
296
|
+
* mappers and shown read only: decision triggers, evidence-weighted links, a
|
|
297
|
+
* ×14 state class, an ↻ in-place loop and an unresolved ghost. A bound slice
|
|
298
|
+
* narrows the transitions the flow is built from, its rail at the toolbar's
|
|
299
|
+
* end, and the freshness chip names the evidence. Its one pane is the
|
|
300
|
+
* inspector, every field of what is selected printed, its Issues the
|
|
301
|
+
* unresolved transition.
|
|
302
|
+
*/
|
|
303
|
+
export const flowchartDepot = example({
|
|
304
|
+
keywords: ["Flowchart", "Flowchart.over", "data", "states", "links", "lanes", "tables", "row mappers", "minimal", "planned", "observed", "triggers", "evidence", "slice", "Slice.rows", "Data.bind", "e3.input", "scans", "inspector", "Details", "Issues", "read only", "state class", "in-place", "unresolved", "freshness"],
|
|
305
|
+
description: "Parcel-depot flowchart over the host's tables, each an e3 input bound with Data.bind and built into one flow by Flowchart.over, read only — decision triggers, evidence-weighted links, a ×14 state class, an ↻ in-place loop, an unresolved ghost, a bound slice narrowing the transitions, the freshness chip, and the inspector showing the selected state, transition or decision read only, its Issues the unresolved transition",
|
|
306
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
307
|
+
const states = $.let(Data.bind(depotStates));
|
|
308
|
+
const scans = $.let(Data.bind(scanTransitions));
|
|
309
|
+
const decisions = $.let(Data.bind(depotDecisions));
|
|
310
|
+
const slice = $.let(Slice.bind("flowchart-depot", scans.read(), {
|
|
311
|
+
fields: {
|
|
312
|
+
service: { label: "Service" },
|
|
313
|
+
src: { label: "From" },
|
|
314
|
+
dst: { label: "To" },
|
|
315
|
+
},
|
|
316
|
+
search: ["src", "dst"],
|
|
317
|
+
}));
|
|
318
|
+
return (_jsx(Box, { height: "600px", children: _jsx(Flowchart, { data: Flowchart.over(states.read(), {
|
|
319
|
+
state: s => ({ key: s.code, label: s.name, lane: s.phase, members: s.slots }),
|
|
320
|
+
links: Slice.rows(slice),
|
|
321
|
+
link: l => ({
|
|
322
|
+
key: l.id, from: l.src, to: l.dst, kind: l.kind, trigger: l.trigger,
|
|
323
|
+
evidence: { volume: l.parcels, count: l.n, measuredAt: some(l.at), unit: "parcels" },
|
|
324
|
+
}),
|
|
325
|
+
lanes: [
|
|
326
|
+
{ key: "intake", label: "Intake" }, { key: "induct", label: "Induct" },
|
|
327
|
+
{ key: "sort", label: "Sort" }, { key: "hold", label: "Hold" },
|
|
328
|
+
{ key: "dispatch", label: "Dispatch" },
|
|
329
|
+
],
|
|
330
|
+
triggers: decisions.read(),
|
|
331
|
+
trigger: t => ({ key: t.id, label: t.name, owner: t.who }),
|
|
332
|
+
}), slice: slice, affordances: ["filter", "search"], freshness: { label: "evidence-2026.06", date: new Date("2026-06-30T00:00:00Z") }, name: "scans" }) }));
|
|
333
|
+
} }))),
|
|
334
|
+
inputs: [],
|
|
335
|
+
});
|
|
336
|
+
/**
|
|
337
|
+
* One flow of the host's — the hand-over from the last scan to the door — an
|
|
338
|
+
* input of one flow, its value written with `Flowchart.value`, bound with
|
|
339
|
+
* `Data.bind` and shown read only, top down. It is given no pane: no
|
|
340
|
+
* library, and `inspector={false}` — its toolbar, its canvas and its footer.
|
|
341
|
+
*/
|
|
342
|
+
export const flowchartHandover = example({
|
|
343
|
+
keywords: ["Flowchart", "data", "Flow", "Flowchart.value", "Data.bind", "one flow", "e3.input", "read only", "orientation", "TD", "top down", "inspector={false}", "no pane", "toolbar", "footer"],
|
|
344
|
+
description: "One flow of the host's — the hand-over from the last scan to the door — an input bound with Data.bind and shown read only, top down, with no pane: its toolbar, its canvas and its footer",
|
|
345
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
346
|
+
const handover = $.let(Data.bind(handoverFlow));
|
|
347
|
+
return (_jsx(Box, { height: "500px", children: _jsx(Flowchart, { data: handover, orientation: "TD", inspector: false, name: "handover" }) }));
|
|
348
|
+
} }))),
|
|
349
|
+
inputs: [],
|
|
350
|
+
});
|
|
351
|
+
/**
|
|
352
|
+
* A record's one flow, edited, with its own Details (#1247, #1250): the
|
|
353
|
+
* collections, a record of flows with one entry bound with its patch
|
|
354
|
+
* mutation. Every gesture on the canvas is a draft of its editing session —
|
|
355
|
+
* "+ LANE", a lane's header renamed and its ×, the "+ STATE" ghost, a state
|
|
356
|
+
* double-clicked into its editor or dragged across lanes, a handle dragged to
|
|
357
|
+
* another state, Del on the selection — which the history item undoes,
|
|
358
|
+
* redoes and discards, and Save commits as one patch through the record's
|
|
359
|
+
* patch mutation. `canConnect` keeps every transition out of the booking: a
|
|
360
|
+
* draft never snaps onto BKD from another state. The inspector shows a
|
|
361
|
+
* state's own Details — its key and label, its lane, and a button that gives
|
|
362
|
+
* it one more member — and a transition's own — its ends, its kind, and a
|
|
363
|
+
* button that marks it observed — each in place of its kind's form, each
|
|
364
|
+
* button's `update` one transaction of the flow's session. A decision's and a
|
|
365
|
+
* lane's Details are their forms, and Issues lists the flow's issues.
|
|
366
|
+
*/
|
|
367
|
+
export const flowchartDetail = example({
|
|
368
|
+
keywords: ["Flowchart", "record", "Record.bind", "one flow", "one entry", "lone flow", "editing", "builder", "Save", "undo", "redo", "history", "+ LANE", "+ STATE", "connect", "canConnect", "Del", "rename", "move", "authoring", "interactive", "edit", "inspector", "Details", "own Details", "update", "one transaction", "state", "transition", "Button", "Issues"],
|
|
369
|
+
description: "A record's one flow — the collections, from the booking to the depot's door — edited on the canvas: + LANE, lane rename and ×, the + STATE ghost, double-click edit, cross-lane drag, handle-drag connecting and Del, each a draft the history item undoes and Save commits through the record's patch mutation, a canConnect veto keeping transitions out of the booking; and the inspector's own Details by kind — a state's, whose button gives it one more member, and a transition's, whose button marks it observed — each in place of its form, each button's update one transaction",
|
|
370
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
371
|
+
const flows = $.let(Record.bind(collectionFlows, [collectionFlowsPatch]));
|
|
372
|
+
// The connection veto: nothing comes back to the booking, though a
|
|
373
|
+
// drop on BKD from BKD is its in-place transition.
|
|
374
|
+
const canConnect = $.const(East.function([StringType, StringType], BooleanType, (_$2, from, to) => East.equal(to, "BKD").not().or(() => East.equal(from, to))));
|
|
375
|
+
// A state's own Details: its key, its label and its lane, and one more member — the edited state goes back through `update`.
|
|
376
|
+
const state = $.const(East.function([Flowchart.Types.State, FunctionType([Flowchart.Types.State], NullType)], UIComponentType, ($2, s, update) => {
|
|
377
|
+
const label = $2.let(s.label.match({ none: () => s.key, some: (_$3, l) => l }));
|
|
378
|
+
const members = $2.let(s.members.match({ none: () => 1n, some: (_$3, n) => n.add(1n) }));
|
|
379
|
+
const grow = $2.const(East.function([], NullType, ($3) => {
|
|
380
|
+
// East has no struct spread: the state, rebuilt with its new members.
|
|
381
|
+
const edited = $3.const({ key: s.key, label: s.label, lane: s.lane, members: some(members), notes: s.notes }, Flowchart.Types.State);
|
|
382
|
+
$3(update(edited));
|
|
383
|
+
}));
|
|
384
|
+
return (_jsxs(VStack, { gap: "2", align: "stretch", children: [_jsx(Text, { fontFamily: "mono", fontWeight: "bold", children: East.str `${s.key} · ${label}` }), _jsx(Text, { color: "fg.muted", children: East.str `In the ${s.lane} lane` }), _jsx(Button, { variant: "outline", onClick: grow, children: "One more member" })] }));
|
|
385
|
+
}));
|
|
386
|
+
// A transition's own Details: its ends and its kind, and a mark of it observed — the edited transition goes back through `update`.
|
|
387
|
+
const transition = $.const(East.function([Flowchart.Types.Link, FunctionType([Flowchart.Types.Link], NullType)], UIComponentType, ($2, l, update) => {
|
|
388
|
+
const kind = $2.let(l.kind.match({ none: () => "planned", some: (_$3, k) => k.getTag() }));
|
|
389
|
+
const observe = $2.const(East.function([], NullType, ($3) => {
|
|
390
|
+
const edited = $3.const({ key: l.key, from: l.from, to: l.to, kind: some(variant("observed", null)), trigger: l.trigger, evidence: l.evidence }, Flowchart.Types.Link);
|
|
391
|
+
$3(update(edited));
|
|
392
|
+
}));
|
|
393
|
+
return (_jsxs(VStack, { gap: "2", align: "stretch", children: [_jsx(Text, { fontFamily: "mono", fontWeight: "bold", children: East.str `${l.from} → ${l.to}` }), _jsx(Text, { color: "fg.muted", children: East.str `Its kind: ${kind}` }), _jsx(Button, { variant: "outline", onClick: observe, children: "Mark it observed" })] }));
|
|
394
|
+
}));
|
|
395
|
+
return (_jsx(Box, { height: "560px", children: _jsx(Flowchart, { record: flows, canConnect: canConnect, inspector: { state, transition }, name: "detail" }) }));
|
|
396
|
+
} }))),
|
|
397
|
+
inputs: [],
|
|
398
|
+
});
|
|
399
|
+
// A network's route flowcharts: enough independent record entries to exercise
|
|
400
|
+
// multiple pages and eviction. Each entry remains one complete graph.
|
|
401
|
+
export const indexedFlows = e3.record("flowchart_indexed_flows", Flowchart.Types.Flows, Flowchart.values(Object.fromEntries(Array.from({ length: 2048 }, (_, i) => {
|
|
402
|
+
const checks = [
|
|
403
|
+
{ key: "CHK", label: "Checked", lane: "review" },
|
|
404
|
+
{ key: "HLD", label: "Held", lane: "review" },
|
|
405
|
+
{ key: "REL", label: "Released", lane: "review" },
|
|
406
|
+
].slice(0, i % 4);
|
|
407
|
+
const states = [
|
|
408
|
+
{ key: "ARV", label: "Arrived", lane: "intake" },
|
|
409
|
+
{ key: "SCN", label: "Scanned", lane: "intake" },
|
|
410
|
+
...checks,
|
|
411
|
+
{ key: "LDD", label: "Loaded", lane: "dispatch" },
|
|
412
|
+
];
|
|
413
|
+
return [`FLOW-${10000 + i}`, {
|
|
414
|
+
description: ["Inbound parcels", "Returns", "Collections"][i % 3],
|
|
415
|
+
lanes: [{ key: "intake", label: "Intake" },
|
|
416
|
+
...(checks.length ? [{ key: "review", label: "Review" }] : []),
|
|
417
|
+
{ key: "dispatch", label: "Dispatch" }],
|
|
418
|
+
states,
|
|
419
|
+
links: states.slice(1).map((state, j) => ({ from: states[j].key, to: state.key,
|
|
420
|
+
...(j === 0 && i % 5 !== 0 ? { trigger: "route" } : {}) })),
|
|
421
|
+
triggers: i % 5 === 0 ? [] : [{ key: "route", label: "Route", owner: ["sort-planner", "customs-desk", "shift-lead"][Math.floor(i / 4) % 3] }],
|
|
422
|
+
}];
|
|
423
|
+
}))));
|
|
424
|
+
export const indexedFlowsPatch = e3.mutation.patch(indexedFlows);
|
|
425
|
+
export const flowsByDescription = e3.recordIndex("flowchart_by_description", indexedFlows, { on: ["description"] });
|
|
426
|
+
// Slice derives controls from each computed index’s declared key type. Scalar
|
|
427
|
+
// keys use the index name; a composite key supplies its field names.
|
|
428
|
+
export const flowsByStateCount = e3.recordIndex("stateCount", indexedFlows, {
|
|
429
|
+
key: East.function([StringType, Flowchart.Types.Flow], IntegerType, (_$, _id, flow) => flow.states.size()),
|
|
430
|
+
});
|
|
431
|
+
export const flowsByDescriptionStateCount = e3.recordIndex("flowchart_by_description_state_count", indexedFlows, {
|
|
432
|
+
key: East.function([StringType, Flowchart.Types.Flow], StructType({ description: OptionType(StringType), stateCount: IntegerType }), (_$, _id, flow) => ({ description: flow.description, stateCount: flow.states.size() })),
|
|
433
|
+
});
|
|
434
|
+
export const flowsByLane = e3.recordIndex("lane", indexedFlows, {
|
|
435
|
+
keys: East.function([StringType, Flowchart.Types.Flow], SetType(StringType), (_$, _id, flow) => flow.lanes.toSet((_$2, lane) => lane.key)),
|
|
436
|
+
});
|
|
437
|
+
export const flowsByDecisionOwner = e3.recordIndex("decisionOwner", indexedFlows, {
|
|
438
|
+
keys: East.function([StringType, Flowchart.Types.Flow], SetType(OptionType(StringType)), (_$, _id, flow) => flow.triggers.toSet((_$2, trigger) => trigger.owner)),
|
|
439
|
+
});
|
|
440
|
+
export const flowchartRecordIndexes = example({
|
|
441
|
+
keywords: ["Flowchart", "record", "indexes", "computed indexes", "state count", "lane", "decision owner", "recordIndex", "Slice.bindRecord", "Slice.rows", "Data.bindPaged", "paging", "Flows tab", "mobile", "Save"],
|
|
442
|
+
description: "2,048 route flowcharts in a paged record. Shared Slice filters use maintained indexes on description, computed state count, lane and decision owner. Choose an exact description plus a state-count range together; lane and owner use exact membership. The Flows tab pages results, and drafts keep their original record ID through filtering and Save.",
|
|
443
|
+
fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
|
|
444
|
+
const flows = $.let(Record.bind(indexedFlows, [indexedFlowsPatch]));
|
|
445
|
+
const indexed = $.let(Data.bindPaged(indexedFlows, { indexes: [flowsByDescription, flowsByStateCount, flowsByDescriptionStateCount, flowsByLane, flowsByDecisionOwner] }));
|
|
446
|
+
const slice = $.let(Slice.bindRecord("flowchart.recordIndexes", indexed, {
|
|
447
|
+
fields: {
|
|
448
|
+
description: { label: "Flows" },
|
|
449
|
+
stateCount: { label: "State count" },
|
|
450
|
+
lane: { label: "Lane" },
|
|
451
|
+
decisionOwner: { label: "Decision owner" },
|
|
452
|
+
},
|
|
453
|
+
search: ["description", "lane", "decisionOwner"],
|
|
454
|
+
presets: [
|
|
455
|
+
{ id: "inbound", name: "Inbound", where: { description: ["Inbound parcels"] } },
|
|
456
|
+
{ id: "inbound-review", name: "Inbound · 4–6 states", where: { description: ["Inbound parcels"], stateCount: { from: 4n, to: 7n } } },
|
|
457
|
+
{ id: "review", name: "Review lane", where: { lane: ["review"] } },
|
|
458
|
+
{ id: "customs", name: "Customs decisions", where: { decisionOwner: ["customs-desk"] } },
|
|
459
|
+
],
|
|
460
|
+
}));
|
|
461
|
+
return (_jsx(Box, { width: "100%", height: "640px", children: _jsx(Flowchart, { record: flows, window: Slice.rows(slice), slice: { slice, affordances: ["fields", "search", "presets", "summary"] }, library: [Flowchart.library.flows()], name: "recordIndexes" }) }));
|
|
462
|
+
} }))),
|
|
463
|
+
inputs: [],
|
|
464
|
+
});
|
|
465
|
+
//# sourceMappingURL=flowchart.examples.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowchart.examples.js","sourceRoot":"","sources":["../../../test/flowchart/flowchart.examples.tsx"],"names":[],"mappings":"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"}
|