@elaraai/east-ui 1.0.42 → 1.0.44

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.
Files changed (41) hide show
  1. package/dist/src/collections/flowchart/index.d.ts +430 -0
  2. package/dist/src/collections/flowchart/index.d.ts.map +1 -0
  3. package/dist/src/collections/flowchart/index.js +292 -0
  4. package/dist/src/collections/flowchart/index.js.map +1 -0
  5. package/dist/src/collections/flowchart/types.d.ts +333 -0
  6. package/dist/src/collections/flowchart/types.d.ts.map +1 -0
  7. package/dist/src/collections/flowchart/types.js +263 -0
  8. package/dist/src/collections/flowchart/types.js.map +1 -0
  9. package/dist/src/collections/index.d.ts +1 -0
  10. package/dist/src/collections/index.d.ts.map +1 -1
  11. package/dist/src/collections/index.js +1 -0
  12. package/dist/src/collections/index.js.map +1 -1
  13. package/dist/src/component.d.ts +727 -0
  14. package/dist/src/component.d.ts.map +1 -1
  15. package/dist/src/component.js +39 -0
  16. package/dist/src/component.js.map +1 -1
  17. package/dist/src/index.d.ts +1 -1
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +1 -1
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/internal.d.ts +1 -1
  22. package/dist/src/internal.d.ts.map +1 -1
  23. package/dist/src/internal.js +1 -1
  24. package/dist/src/internal.js.map +1 -1
  25. package/dist/src/runtime/collections/flowchart.d.ts +58 -0
  26. package/dist/src/runtime/collections/flowchart.d.ts.map +1 -0
  27. package/dist/src/runtime/collections/flowchart.js +54 -0
  28. package/dist/src/runtime/collections/flowchart.js.map +1 -0
  29. package/dist/src/runtime/collections/index.d.ts +1 -0
  30. package/dist/src/runtime/collections/index.d.ts.map +1 -1
  31. package/dist/src/runtime/collections/index.js +1 -0
  32. package/dist/src/runtime/collections/index.js.map +1 -1
  33. package/dist/test/collections/flowchart.examples.d.ts +7 -0
  34. package/dist/test/collections/flowchart.examples.d.ts.map +1 -0
  35. package/dist/test/collections/flowchart.examples.js +283 -0
  36. package/dist/test/collections/flowchart.examples.js.map +1 -0
  37. package/dist/test/collections/value-tree.examples.d.ts +1 -0
  38. package/dist/test/collections/value-tree.examples.d.ts.map +1 -1
  39. package/dist/test/collections/value-tree.examples.js +22 -1
  40. package/dist/test/collections/value-tree.examples.js.map +1 -1
  41. package/package.json +3 -3
@@ -0,0 +1,292 @@
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
+ import { East, Expr, variant, some, none, ArrayType, BooleanType, DateTimeType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, } from "@elaraai/east";
6
+ import { UIComponentType } from "../../component.js";
7
+ import { mapRows } from "../../shared/reify.js";
8
+ import { DensityType } from "../../style/interaction.js";
9
+ import { SliceBindType, SliceChromeType } from "../../platform/slice/index.js";
10
+ import { SliceAffordanceType } from "../../contracts/slice-affordances.js";
11
+ import { FlowchartLinkKindType, FlowchartOrientationType, FlowchartLinkModeType, FlowchartEvidenceType, FlowchartStateType, FlowchartLinkType, FlowchartLaneType, FlowchartTriggerType, FlowchartFreshnessType, FlowchartLinkCreateEventType, FlowchartLaneRenameEventType, FlowchartStateAddEventType, FlowchartStateEditEventType, FlowchartStateMoveEventType, } from "./types.js";
12
+ // Re-export types
13
+ export { FlowchartLinkKindType, FlowchartOrientationType, FlowchartLinkModeType, FlowchartEvidenceType, FlowchartStateType, FlowchartLinkType, FlowchartLaneType, FlowchartTriggerType, FlowchartFreshnessType, FlowchartLinkCreateEventType, FlowchartLaneRenameEventType, FlowchartStateAddEventType, FlowchartStateEditEventType, FlowchartStateMoveEventType, } from "./types.js";
14
+ /**
15
+ * East type for the Flowchart root — the resolved mirror of the inline
16
+ * `Flowchart` struct in `component.ts`. Keep the two spellings in sync
17
+ * field-for-field.
18
+ *
19
+ * @remarks
20
+ * Per-field docs live on {@link FlowchartConfig}; events and collection
21
+ * row types are documented in `./types.ts`.
22
+ */
23
+ export const FlowchartRootType = StructType({
24
+ states: ArrayType(FlowchartStateType),
25
+ links: ArrayType(FlowchartLinkType),
26
+ lanes: ArrayType(FlowchartLaneType),
27
+ triggers: ArrayType(FlowchartTriggerType),
28
+ orientation: OptionType(FlowchartOrientationType),
29
+ freshness: OptionType(FlowchartFreshnessType),
30
+ minimap: OptionType(BooleanType),
31
+ legend: OptionType(BooleanType),
32
+ density: OptionType(DensityType),
33
+ height: OptionType(StringType),
34
+ maxHeight: OptionType(StringType),
35
+ slice: OptionType(SliceChromeType),
36
+ stateHover: OptionType(FunctionType([StringType], UIComponentType)),
37
+ linkHover: OptionType(FunctionType([StringType], UIComponentType)),
38
+ triggerHover: OptionType(FunctionType([StringType], UIComponentType)),
39
+ onSelectState: OptionType(FunctionType([StringType], NullType)),
40
+ onSelectLink: OptionType(FunctionType([StringType], NullType)),
41
+ onSelectTrigger: OptionType(FunctionType([StringType], NullType)),
42
+ onTracePath: OptionType(FunctionType([StringType], NullType)),
43
+ linkMode: OptionType(FlowchartLinkModeType),
44
+ onCreateLink: OptionType(FunctionType([FlowchartLinkCreateEventType], NullType)),
45
+ onDeleteLink: OptionType(FunctionType([StringType], NullType)),
46
+ canConnect: OptionType(FunctionType([StringType, StringType], BooleanType)),
47
+ onAddLane: OptionType(FunctionType([], NullType)),
48
+ onRenameLane: OptionType(FunctionType([FlowchartLaneRenameEventType], NullType)),
49
+ onDeleteLane: OptionType(FunctionType([StringType], NullType)),
50
+ onAddState: OptionType(FunctionType([FlowchartStateAddEventType], NullType)),
51
+ onEditState: OptionType(FunctionType([FlowchartStateEditEventType], NullType)),
52
+ onMoveState: OptionType(FunctionType([FlowchartStateMoveEventType], NullType)),
53
+ readOnly: OptionType(BooleanType),
54
+ });
55
+ // ============================================================================
56
+ // Build
57
+ // ============================================================================
58
+ /** Resolves a kind literal / value into the option envelope. */
59
+ function kindOption(kind) {
60
+ if (kind === undefined)
61
+ return East.value(none, OptionType(FlowchartLinkKindType));
62
+ if (typeof kind === "string")
63
+ return East.value(some(variant(kind, null)), OptionType(FlowchartLinkKindType));
64
+ return East.value(some(kind), OptionType(FlowchartLinkKindType));
65
+ }
66
+ function buildRoot(states, links, lanes, config) {
67
+ const stateMapper = config.state;
68
+ const resolvedStates = stateMapper === undefined
69
+ ? East.value(states, ArrayType(FlowchartStateType))
70
+ : mapRows(East.value(states), FlowchartStateType, (row) => {
71
+ const r = stateMapper(row);
72
+ if (r instanceof Expr)
73
+ return East.value(r, FlowchartStateType);
74
+ return East.value({
75
+ key: r.key,
76
+ label: r.label !== undefined ? some(r.label) : none,
77
+ lane: r.lane,
78
+ members: r.members !== undefined ? r.members : none,
79
+ notes: r.notes !== undefined ? some(r.notes) : none,
80
+ }, FlowchartStateType);
81
+ });
82
+ const linkMapper = config.link;
83
+ const resolvedLinks = linkMapper === undefined
84
+ ? East.value(links, ArrayType(FlowchartLinkType))
85
+ : mapRows(East.value(links), FlowchartLinkType, (row) => {
86
+ const r = linkMapper(row);
87
+ if (r instanceof Expr)
88
+ return East.value(r, FlowchartLinkType);
89
+ return East.value({
90
+ key: r.key !== undefined ? some(r.key) : none,
91
+ from: r.from,
92
+ to: r.to,
93
+ kind: kindOption(r.kind),
94
+ trigger: r.trigger !== undefined ? r.trigger : none,
95
+ evidence: r.evidence !== undefined
96
+ ? some(East.value({
97
+ volume: r.evidence.volume !== undefined ? r.evidence.volume : none,
98
+ count: r.evidence.count !== undefined ? r.evidence.count : none,
99
+ measuredAt: r.evidence.measuredAt !== undefined ? r.evidence.measuredAt : none,
100
+ unit: r.evidence.unit !== undefined ? some(r.evidence.unit) : none,
101
+ }, FlowchartEvidenceType))
102
+ : none,
103
+ }, FlowchartLinkType);
104
+ });
105
+ const laneMapper = config.lane;
106
+ const resolvedLanes = laneMapper !== undefined
107
+ ? mapRows(East.value(lanes), FlowchartLaneType, (row) => {
108
+ const r = laneMapper(row);
109
+ if (r instanceof Expr)
110
+ return East.value(r, FlowchartLaneType);
111
+ return East.value({
112
+ key: r.key,
113
+ label: r.label !== undefined ? some(r.label) : none,
114
+ }, FlowchartLaneType);
115
+ })
116
+ : Array.isArray(lanes)
117
+ ? East.value(lanes.map(l => ({
118
+ key: l.key,
119
+ label: l.label !== undefined ? some(l.label) : none,
120
+ })), ArrayType(FlowchartLaneType))
121
+ : East.value(lanes, ArrayType(FlowchartLaneType));
122
+ const triggerMapper = config.trigger;
123
+ const resolvedTriggers = config.triggers === undefined
124
+ ? East.value([], ArrayType(FlowchartTriggerType))
125
+ : triggerMapper === undefined
126
+ ? East.value(config.triggers, ArrayType(FlowchartTriggerType))
127
+ : mapRows(East.value(config.triggers), FlowchartTriggerType, (row) => {
128
+ const r = triggerMapper(row);
129
+ if (r instanceof Expr)
130
+ return East.value(r, FlowchartTriggerType);
131
+ return East.value({
132
+ key: r.key,
133
+ label: r.label,
134
+ letter: r.letter !== undefined ? some(r.letter) : none,
135
+ owner: r.owner !== undefined ? some(r.owner) : none,
136
+ queue: r.queue !== undefined ? some(East.value(r.queue, ArrayType(StringType))) : none,
137
+ outcomes: r.outcomes !== undefined ? some(r.outcomes) : none,
138
+ }, FlowchartTriggerType);
139
+ });
140
+ if (config.affordances?.includes("brush")) {
141
+ throw new Error("Flowchart does not support the 'brush' affordance — a flowchart has no continuous 1D axis.");
142
+ }
143
+ const sliceChromeValue = config.slice !== undefined
144
+ ? East.value({
145
+ slice: config.slice,
146
+ affordances: East.value((config.affordances ?? ["filter", "search"]).map(a => variant(a, null)), ArrayType(SliceAffordanceType)),
147
+ }, SliceChromeType)
148
+ : undefined;
149
+ return East.value(variant("Flowchart", {
150
+ states: resolvedStates,
151
+ links: resolvedLinks,
152
+ lanes: resolvedLanes,
153
+ triggers: resolvedTriggers,
154
+ orientation: config.orientation !== undefined
155
+ ? some(typeof config.orientation === "string" ? variant(config.orientation, null) : config.orientation)
156
+ : none,
157
+ freshness: config.freshness !== undefined
158
+ ? some(East.value({
159
+ label: config.freshness.label,
160
+ date: config.freshness.date !== undefined ? some(config.freshness.date) : none,
161
+ }, FlowchartFreshnessType))
162
+ : none,
163
+ minimap: config.minimap !== undefined ? some(config.minimap) : none,
164
+ legend: config.legend !== undefined ? some(config.legend) : none,
165
+ density: config.density !== undefined
166
+ ? some(typeof config.density === "string" ? East.value(variant(config.density, null), DensityType) : config.density)
167
+ : none,
168
+ height: config.height !== undefined ? some(config.height) : none,
169
+ maxHeight: config.maxHeight !== undefined ? some(config.maxHeight) : none,
170
+ slice: sliceChromeValue ? some(sliceChromeValue) : none,
171
+ stateHover: config.stateHover !== undefined ? some(East.value(config.stateHover, FunctionType([StringType], UIComponentType))) : none,
172
+ linkHover: config.linkHover !== undefined ? some(East.value(config.linkHover, FunctionType([StringType], UIComponentType))) : none,
173
+ triggerHover: config.triggerHover !== undefined ? some(East.value(config.triggerHover, FunctionType([StringType], UIComponentType))) : none,
174
+ onSelectState: config.onSelectState !== undefined ? some(config.onSelectState) : none,
175
+ onSelectLink: config.onSelectLink !== undefined ? some(config.onSelectLink) : none,
176
+ onSelectTrigger: config.onSelectTrigger !== undefined ? some(config.onSelectTrigger) : none,
177
+ onTracePath: config.onTracePath !== undefined ? some(config.onTracePath) : none,
178
+ linkMode: config.linkMode !== undefined
179
+ ? some(typeof config.linkMode === "string" ? variant(config.linkMode, null) : config.linkMode)
180
+ : none,
181
+ onCreateLink: config.onCreateLink !== undefined ? some(config.onCreateLink) : none,
182
+ onDeleteLink: config.onDeleteLink !== undefined ? some(config.onDeleteLink) : none,
183
+ canConnect: config.canConnect !== undefined ? some(config.canConnect) : none,
184
+ onAddLane: config.onAddLane !== undefined ? some(config.onAddLane) : none,
185
+ onRenameLane: config.onRenameLane !== undefined ? some(config.onRenameLane) : none,
186
+ onDeleteLane: config.onDeleteLane !== undefined ? some(config.onDeleteLane) : none,
187
+ onAddState: config.onAddState !== undefined ? some(config.onAddState) : none,
188
+ onEditState: config.onEditState !== undefined ? some(config.onEditState) : none,
189
+ onMoveState: config.onMoveState !== undefined ? some(config.onMoveState) : none,
190
+ readOnly: config.readOnly !== undefined ? some(config.readOnly) : none,
191
+ }), UIComponentType);
192
+ }
193
+ /**
194
+ * Creates a Flowchart — a self-contained state-transition flowchart.
195
+ *
196
+ * @typeParam S - The states-table input
197
+ * @typeParam L - The links-table input
198
+ * @typeParam N - The lanes-table input
199
+ * @typeParam T - The triggers-table input
200
+ * @param states - The state rows (nodes)
201
+ * @param config - The Flowchart configuration ({@link FlowchartConfig}) plus
202
+ * the `links` / `lanes` (required) and `triggers` (optional) tables
203
+ * @returns An East expression of `UIComponentType`
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * import { East } from "@elaraai/east";
208
+ * import { Flowchart, UIComponentType } from "@elaraai/east-ui";
209
+ *
210
+ * const example = East.function([], UIComponentType, _$ =>
211
+ * Flowchart.Root(
212
+ * [{ code: "RMI", name: "Raw intake", phase: "prep" },
213
+ * { code: "CUT", name: "Cut blanks", phase: "prep" }],
214
+ * {
215
+ * state: s => ({ key: s.code, label: s.name, lane: s.phase }),
216
+ * links: [{ src: "RMI", dst: "CUT" }],
217
+ * link: l => ({ from: l.src, to: l.dst }),
218
+ * lanes: [{ key: "prep", label: "Prep" }],
219
+ * },
220
+ * ),
221
+ * );
222
+ * ```
223
+ */
224
+ function createFlowchart(states, config) {
225
+ const { links, lanes, ...rest } = config;
226
+ return buildRoot(states, links, lanes, rest);
227
+ }
228
+ // ============================================================================
229
+ // Namespace export
230
+ // ============================================================================
231
+ /**
232
+ * Flowchart component namespace.
233
+ *
234
+ * @remarks
235
+ * `Flowchart.Root(states, config)` builds the flowchart from up to four
236
+ * flat tables (states, links, lanes, triggers); closed-set fields in data
237
+ * (`kind`, `orientation`, `linkMode`) are typed variant values
238
+ * (`Flowchart.Types.*`).
239
+ */
240
+ export const Flowchart = {
241
+ /**
242
+ * Creates a Flowchart — a self-contained state-transition flowchart.
243
+ *
244
+ * @remarks
245
+ * See {@link FlowchartConfig} for per-field docs. States render as
246
+ * nodes in ordered phase lanes; links as H/V-routed arrows; triggers
247
+ * as lettered diamonds. Hover cards, the inspector and the highlight
248
+ * grammar are built-in surfaces derived from core + declared fields.
249
+ */
250
+ Root: createFlowchart,
251
+ /**
252
+ * East types for flowchart rows, closed-set fields and events.
253
+ */
254
+ Types: {
255
+ /**
256
+ * East StructType for the Flowchart component.
257
+ *
258
+ * @remarks
259
+ * See {@link FlowchartRootType} for per-field docs.
260
+ */
261
+ Flowchart: FlowchartRootType,
262
+ /** One state node ({@link FlowchartStateType}). */
263
+ State: FlowchartStateType,
264
+ /** One transition ({@link FlowchartLinkType}). */
265
+ Link: FlowchartLinkType,
266
+ /** One ordered phase band ({@link FlowchartLaneType}). */
267
+ Lane: FlowchartLaneType,
268
+ /** One decision trigger ({@link FlowchartTriggerType}). */
269
+ Trigger: FlowchartTriggerType,
270
+ /** Imported link evidence ({@link FlowchartEvidenceType}). */
271
+ Evidence: FlowchartEvidenceType,
272
+ /** Link kind — planned | observed ({@link FlowchartLinkKindType}). */
273
+ Kind: FlowchartLinkKindType,
274
+ /** Canvas orientation — LR | TD ({@link FlowchartOrientationType}). */
275
+ Orientation: FlowchartOrientationType,
276
+ /** Link-authoring mode — draw | connect ({@link FlowchartLinkModeType}). */
277
+ LinkMode: FlowchartLinkModeType,
278
+ /** Eyebrow freshness chip ({@link FlowchartFreshnessType}). */
279
+ Freshness: FlowchartFreshnessType,
280
+ /** Link-creation event ({@link FlowchartLinkCreateEventType}). */
281
+ LinkCreateEvent: FlowchartLinkCreateEventType,
282
+ /** Lane-rename event ({@link FlowchartLaneRenameEventType}). */
283
+ LaneRenameEvent: FlowchartLaneRenameEventType,
284
+ /** State-add event ({@link FlowchartStateAddEventType}). */
285
+ StateAddEvent: FlowchartStateAddEventType,
286
+ /** State-edit event ({@link FlowchartStateEditEventType}). */
287
+ StateEditEvent: FlowchartStateEditEventType,
288
+ /** State-move event ({@link FlowchartStateMoveEventType}). */
289
+ StateMoveEvent: FlowchartStateMoveEventType,
290
+ },
291
+ };
292
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/collections/flowchart/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,333 @@
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
+ import { ArrayType, DateTimeType, FloatType, IntegerType, NullType, OptionType, StringType, StructType, VariantType } from "@elaraai/east";
6
+ /**
7
+ * Link kind — the transition's provenance class.
8
+ *
9
+ * @remarks
10
+ * `planned` renders solid; `observed` renders dashed (5/4). A link whose
11
+ * `from` / `to` reference has no state row is *unresolved* — that is a
12
+ * derived render class (dashed 4/4 in the negative tone against a ghost
13
+ * "No state row" node), never an authored kind.
14
+ *
15
+ * @property planned - A designed / expected transition (solid stroke)
16
+ * @property observed - A transition mined from evidence (dashed stroke)
17
+ */
18
+ export declare const FlowchartLinkKindType: VariantType<{
19
+ /** A designed / expected transition (solid stroke) */
20
+ readonly planned: NullType;
21
+ /** A transition mined from evidence (dashed stroke) */
22
+ readonly observed: NullType;
23
+ }>;
24
+ /**
25
+ * Type representing flowchart link kinds.
26
+ */
27
+ export type FlowchartLinkKindType = typeof FlowchartLinkKindType;
28
+ /**
29
+ * Canvas orientation — which axis the lane bands run along.
30
+ *
31
+ * @remarks
32
+ * Orientation is VIEW state, not slice state: the eyebrow's orientation
33
+ * segment toggles it and it never appears as a filter chip. `LR` lays
34
+ * lanes left→right (links flow rightward); `TD` swaps the axes.
35
+ *
36
+ * @property LR - Lanes run left → right
37
+ * @property TD - Lanes run top → down
38
+ */
39
+ export declare const FlowchartOrientationType: VariantType<{
40
+ /** Lanes run left → right */
41
+ readonly LR: NullType;
42
+ /** Lanes run top → down */
43
+ readonly TD: NullType;
44
+ }>;
45
+ /**
46
+ * Type representing flowchart orientations.
47
+ */
48
+ export type FlowchartOrientationType = typeof FlowchartOrientationType;
49
+ /**
50
+ * Link-authoring mode for the drag-to-connect gesture.
51
+ *
52
+ * @property draw - Adds locally, form-input style (the renderer appends)
53
+ * @property connect - Event-only; the host owns the data (plan operations)
54
+ */
55
+ export declare const FlowchartLinkModeType: VariantType<{
56
+ /** Adds locally, form-input style (the renderer appends) */
57
+ readonly draw: NullType;
58
+ /** Event-only; the host owns the data (plan operations) */
59
+ readonly connect: NullType;
60
+ }>;
61
+ /**
62
+ * Type representing flowchart link-authoring modes.
63
+ */
64
+ export type FlowchartLinkModeType = typeof FlowchartLinkModeType;
65
+ /**
66
+ * Imported evidence carried by a link — never hand-authored.
67
+ *
68
+ * @remarks
69
+ * Evidence drives derived marks only: stroke weight scales with `volume`
70
+ * (log scale 1.6 / 2 / 2.5 px, floor 1.4), `volume` + `unit` print as the
71
+ * paper-filled badge on the longest straight run, and `count` /
72
+ * `measuredAt` surface in hover cards and the inspector provenance block.
73
+ *
74
+ * @property volume - Total measured volume behind the arrow
75
+ * @property count - Event count behind the arrow (e.g. transfers)
76
+ * @property measuredAt - When the evidence was measured
77
+ * @property unit - Volume unit suffix for badges ("kt")
78
+ */
79
+ export declare const FlowchartEvidenceType: StructType<{
80
+ /** Total measured volume behind the arrow */
81
+ readonly volume: OptionType<FloatType>;
82
+ /** Event count behind the arrow (e.g. transfers) */
83
+ readonly count: OptionType<IntegerType>;
84
+ /** When the evidence was measured */
85
+ readonly measuredAt: OptionType<DateTimeType>;
86
+ /** Volume unit suffix for badges ("kt") */
87
+ readonly unit: OptionType<StringType>;
88
+ }>;
89
+ /**
90
+ * Type representing link evidence.
91
+ */
92
+ export type FlowchartEvidenceType = typeof FlowchartEvidenceType;
93
+ /**
94
+ * One state — a node in the flowchart.
95
+ *
96
+ * @remarks
97
+ * The short mono `key` is the node identity everywhere (selection events,
98
+ * link `from` / `to` refs, trigger queues). A state with `members` set is
99
+ * a STATE CLASS — one node standing for N interchangeable members (the
100
+ * `×N` badge). In-place transitions (`from == to` links) collapse to the
101
+ * `↻ n` badge on the node and never route through handles.
102
+ *
103
+ * @property key - Short mono code — the node identity ("RCT")
104
+ * @property label - Display label under the code
105
+ * @property lane - The lane (ordered phase) this state belongs to
106
+ * @property members - State-class member count → the ×N badge
107
+ * @property notes - Free-text notes surfaced on hover / inspector
108
+ */
109
+ export declare const FlowchartStateType: StructType<{
110
+ /** Short mono code — the node identity ("RCT") */
111
+ readonly key: StringType;
112
+ /** Display label under the code */
113
+ readonly label: OptionType<StringType>;
114
+ /** The lane (ordered phase) this state belongs to */
115
+ readonly lane: StringType;
116
+ /** State-class member count → the ×N badge */
117
+ readonly members: OptionType<IntegerType>;
118
+ /** Free-text notes surfaced on hover / inspector */
119
+ readonly notes: OptionType<StringType>;
120
+ }>;
121
+ /**
122
+ * Type representing flowchart states.
123
+ */
124
+ export type FlowchartStateType = typeof FlowchartStateType;
125
+ /**
126
+ * One link — a state transition drawn as an H/V-routed arrow.
127
+ *
128
+ * @remarks
129
+ * `from` / `to` are state keys; a reference with no state row renders the
130
+ * neg-dashed ghost "No state row" node (derived, counted in the footer).
131
+ * At most one `trigger` per link — the lettered decision diamond anchored
132
+ * to the midpoint of the longest straight run.
133
+ *
134
+ * @property key - Stable identity (selection / delete events); default derived from endpoints
135
+ * @property from - Source state key
136
+ * @property to - Target state key
137
+ * @property kind - planned (default) | observed
138
+ * @property trigger - 0..1 decision trigger key → diamond
139
+ * @property evidence - Imported evidence (weight, badges, provenance)
140
+ */
141
+ export declare const FlowchartLinkType: StructType<{
142
+ /** Stable identity (selection / delete events); default derived from endpoints */
143
+ readonly key: OptionType<StringType>;
144
+ /** Source state key */
145
+ readonly from: StringType;
146
+ /** Target state key */
147
+ readonly to: StringType;
148
+ /** planned (default) | observed */
149
+ readonly kind: OptionType<VariantType<{
150
+ /** A designed / expected transition (solid stroke) */
151
+ readonly planned: NullType;
152
+ /** A transition mined from evidence (dashed stroke) */
153
+ readonly observed: NullType;
154
+ }>>;
155
+ /** 0..1 decision trigger key → diamond */
156
+ readonly trigger: OptionType<StringType>;
157
+ /** Imported evidence (weight, badges, provenance) */
158
+ readonly evidence: OptionType<StructType<{
159
+ /** Total measured volume behind the arrow */
160
+ readonly volume: OptionType<FloatType>;
161
+ /** Event count behind the arrow (e.g. transfers) */
162
+ readonly count: OptionType<IntegerType>;
163
+ /** When the evidence was measured */
164
+ readonly measuredAt: OptionType<DateTimeType>;
165
+ /** Volume unit suffix for badges ("kt") */
166
+ readonly unit: OptionType<StringType>;
167
+ }>>;
168
+ }>;
169
+ /**
170
+ * Type representing flowchart links.
171
+ */
172
+ export type FlowchartLinkType = typeof FlowchartLinkType;
173
+ /**
174
+ * One lane — an ordered phase band.
175
+ *
176
+ * @remarks
177
+ * Lane order is array order; every state names its lane by `key`. The
178
+ * dashed `+ LANE` affordance renders at the tail of the band row.
179
+ *
180
+ * @property key - Lane identity referenced by states
181
+ * @property label - Band header label (defaults to the key, uppercased)
182
+ */
183
+ export declare const FlowchartLaneType: StructType<{
184
+ /** Lane identity referenced by states */
185
+ readonly key: StringType;
186
+ /** Band header label (defaults to the key, uppercased) */
187
+ readonly label: OptionType<StringType>;
188
+ }>;
189
+ /**
190
+ * Type representing flowchart lanes.
191
+ */
192
+ export type FlowchartLaneType = typeof FlowchartLaneType;
193
+ /**
194
+ * One decision trigger — a governed decision seam referenced by links.
195
+ *
196
+ * @remarks
197
+ * Triggers render as diamonds (max one per link) carrying a letter per
198
+ * TYPE, not per instance. Clicking a diamond highlights every link it
199
+ * governs (plus queue and outcome nodes).
200
+ *
201
+ * @property key - Trigger identity referenced by links
202
+ * @property label - Decision name ("press")
203
+ * @property letter - Diamond letter (default: first letter of the label)
204
+ * @property owner - Owning role / system ("press-scheduler")
205
+ * @property queue - State keys queued at the decision
206
+ * @property outcomes - Outcome summary line ("P* (×14 slots)")
207
+ */
208
+ export declare const FlowchartTriggerType: StructType<{
209
+ /** Trigger identity referenced by links */
210
+ readonly key: StringType;
211
+ /** Decision name ("press") */
212
+ readonly label: StringType;
213
+ /** Diamond letter (default: first letter of the label) */
214
+ readonly letter: OptionType<StringType>;
215
+ /** Owning role / system ("press-scheduler") */
216
+ readonly owner: OptionType<StringType>;
217
+ /** State keys queued at the decision */
218
+ readonly queue: OptionType<ArrayType<StringType>>;
219
+ /** Outcome summary line ("P* (×14 slots)") */
220
+ readonly outcomes: OptionType<StringType>;
221
+ }>;
222
+ /**
223
+ * Type representing flowchart triggers.
224
+ */
225
+ export type FlowchartTriggerType = typeof FlowchartTriggerType;
226
+ /**
227
+ * Eyebrow freshness chip content.
228
+ *
229
+ * @property label - Chip label ("evidence-2026.06")
230
+ * @property date - Optional stamp printed after the label
231
+ */
232
+ export declare const FlowchartFreshnessType: StructType<{
233
+ /** Chip label ("evidence-2026.06") */
234
+ readonly label: StringType;
235
+ /** Optional stamp printed after the label */
236
+ readonly date: OptionType<DateTimeType>;
237
+ }>;
238
+ /**
239
+ * Type representing the freshness chip.
240
+ */
241
+ export type FlowchartFreshnessType = typeof FlowchartFreshnessType;
242
+ /**
243
+ * Lane-rename event — a committed inline header edit.
244
+ *
245
+ * @property key - The renamed lane's key
246
+ * @property label - The new label text
247
+ */
248
+ export declare const FlowchartLaneRenameEventType: StructType<{
249
+ /** The renamed lane's key */
250
+ readonly key: StringType;
251
+ /** The new label text */
252
+ readonly label: StringType;
253
+ }>;
254
+ /**
255
+ * Type representing lane-rename events.
256
+ */
257
+ export type FlowchartLaneRenameEventType = typeof FlowchartLaneRenameEventType;
258
+ /**
259
+ * State-add event — a committed "+ STATE" ghost editor.
260
+ *
261
+ * @property lane - The lane the ghost was committed in
262
+ * @property key - The typed state code (the node identity)
263
+ * @property label - The typed label (may be empty)
264
+ */
265
+ export declare const FlowchartStateAddEventType: StructType<{
266
+ /** The lane the ghost was committed in */
267
+ readonly lane: StringType;
268
+ /** The typed state code (the node identity) */
269
+ readonly key: StringType;
270
+ /** The typed label (may be empty) */
271
+ readonly label: StringType;
272
+ }>;
273
+ /**
274
+ * Type representing state-add events.
275
+ */
276
+ export type FlowchartStateAddEventType = typeof FlowchartStateAddEventType;
277
+ /**
278
+ * State-edit event — a committed inline node editor.
279
+ *
280
+ * @property key - The ORIGINAL state key (the identity being edited)
281
+ * @property code - The possibly-changed code (rekeying is the host's call)
282
+ * @property label - The new label text
283
+ */
284
+ export declare const FlowchartStateEditEventType: StructType<{
285
+ /** The ORIGINAL state key (the identity being edited) */
286
+ readonly key: StringType;
287
+ /** The possibly-changed code (rekeying is the host's call) */
288
+ readonly code: StringType;
289
+ /** The new label text */
290
+ readonly label: StringType;
291
+ }>;
292
+ /**
293
+ * Type representing state-edit events.
294
+ */
295
+ export type FlowchartStateEditEventType = typeof FlowchartStateEditEventType;
296
+ /**
297
+ * State-move event — a node dropped on another lane.
298
+ *
299
+ * @property key - The moved state's key
300
+ * @property lane - The target lane's key
301
+ */
302
+ export declare const FlowchartStateMoveEventType: StructType<{
303
+ /** The moved state's key */
304
+ readonly key: StringType;
305
+ /** The target lane's key */
306
+ readonly lane: StringType;
307
+ }>;
308
+ /**
309
+ * Type representing state-move events.
310
+ */
311
+ export type FlowchartStateMoveEventType = typeof FlowchartStateMoveEventType;
312
+ /**
313
+ * Link-creation event — a completed drag-to-connect gesture.
314
+ *
315
+ * @remarks
316
+ * Handles are fixed per side, so the payload is purely topological: the
317
+ * source and target state keys. Vetoed pairs (`canConnect` returning
318
+ * false) never produce this event.
319
+ *
320
+ * @property from - Source state key (the out-handle the drag left)
321
+ * @property to - Target state key (the node the drag released on)
322
+ */
323
+ export declare const FlowchartLinkCreateEventType: StructType<{
324
+ /** Source state key (the out-handle the drag left) */
325
+ readonly from: StringType;
326
+ /** Target state key (the node the drag released on) */
327
+ readonly to: StringType;
328
+ }>;
329
+ /**
330
+ * Type representing link-creation events.
331
+ */
332
+ export type FlowchartLinkCreateEventType = typeof FlowchartLinkCreateEventType;
333
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/collections/flowchart/types.ts"],"names":[],"mappings":"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"}