likec4 1.57.0 → 1.59.0

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 (178) hide show
  1. package/__app__/codegen/react.mjs +7 -8
  2. package/__app__/codegen/webcomponent.mjs +78 -889
  3. package/__app__/src/aichat/index.mjs +8 -1
  4. package/__app__/src/chunks/AIChat.mjs +956 -0
  5. package/__app__/src/chunks/LikeC4Styles.mjs +2164 -0
  6. package/__app__/src/chunks/ProjectsOverview.mjs +537 -0
  7. package/__app__/src/chunks/es.mjs +439 -0
  8. package/__app__/src/chunks/hooks.mjs +458 -0
  9. package/__app__/src/chunks/libs/@floating-ui.mjs +2218 -0
  10. package/__app__/src/chunks/libs/@mantine.mjs +12974 -0
  11. package/__app__/src/chunks/libs/@tanstack-ai.mjs +1768 -0
  12. package/__app__/src/chunks/libs/@tanstack.mjs +2693 -0
  13. package/__app__/src/chunks/libs/@xstate/react.mjs +1996 -0
  14. package/__app__/src/chunks/libs/@xyflow/react.mjs +5280 -0
  15. package/__app__/src/chunks/libs/bezier-js.mjs +1006 -0
  16. package/__app__/src/chunks/libs/d3.mjs +2842 -0
  17. package/__app__/src/chunks/libs/fast-equals.mjs +268 -0
  18. package/__app__/src/chunks/libs/framer.mjs +5905 -0
  19. package/__app__/src/chunks/libs/zod.mjs +3173 -0
  20. package/__app__/src/chunks/rolldown-runtime.mjs +30 -0
  21. package/__app__/src/chunks/styled-system.mjs +1047 -0
  22. package/__app__/src/fonts.css +1 -1
  23. package/__app__/src/main.mjs +27659 -14
  24. package/__app__/src/style.css +1 -1
  25. package/dist/chunks/dist.mjs +10 -0
  26. package/dist/chunks/enableServer.mjs +1 -1
  27. package/dist/chunks/filenames.mjs +2 -2
  28. package/dist/chunks/index.d.mts +9 -9
  29. package/dist/chunks/index2.d.mts +2167 -867
  30. package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
  31. package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +1 -1
  32. package/dist/chunks/libs/@logtape/logtape.mjs +4 -3
  33. package/dist/chunks/libs/@ts-graphviz/common.d.mts +1 -2
  34. package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -1
  35. package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
  36. package/dist/chunks/libs/chevrotain.mjs +25 -25
  37. package/dist/chunks/libs/json5.mjs +1 -1
  38. package/dist/chunks/libs/langium.d.mts +2940 -2914
  39. package/dist/chunks/libs/langium.mjs +9 -9
  40. package/dist/chunks/libs/merge-error-cause.mjs +1 -1
  41. package/dist/chunks/libs/p-queue.mjs +1 -1
  42. package/dist/chunks/libs/package-manager-detector.mjs +1 -1
  43. package/dist/chunks/libs/pako.mjs +1 -1
  44. package/dist/chunks/libs/picomatch.mjs +1 -1
  45. package/dist/chunks/libs/pretty-ms.mjs +1 -1
  46. package/dist/chunks/libs/remeda.mjs +1 -1
  47. package/dist/chunks/libs/ufo.mjs +1 -1
  48. package/dist/chunks/libs/unstorage.d.mts +1 -0
  49. package/dist/chunks/libs/unstorage.mjs +1 -1
  50. package/dist/chunks/libs/which.mjs +1 -1
  51. package/dist/chunks/libs/zod.d.mts +48 -36
  52. package/dist/chunks/libs/zod.mjs +65 -0
  53. package/dist/chunks/logger.mjs +1 -0
  54. package/dist/chunks/node.mjs +65 -63
  55. package/dist/chunks/rolldown-runtime.mjs +1 -1
  56. package/dist/chunks/sequence-view.mjs +1 -1
  57. package/dist/chunks/{plugin.mjs → vite-plugin.mjs} +41 -41
  58. package/dist/cli/index.mjs +186 -144
  59. package/dist/index.d.mts +3 -4
  60. package/dist/index.mjs +1 -1
  61. package/dist/model/index.d.mts +6 -5
  62. package/dist/vite-plugin/index.d.mts +6 -9
  63. package/dist/vite-plugin/index.mjs +1 -1
  64. package/dist/vite-plugin/internal/index.d.mts +64 -64
  65. package/dist/vite-plugin/internal/index.mjs +946 -1
  66. package/package.json +51 -52
  67. package/react/index.d.mts +853 -134
  68. package/react/index.mjs +49718 -44030
  69. package/__app__/chunks/AIChat2.mjs +0 -2
  70. package/__app__/chunks/DiagramActorProvider.mjs +0 -10
  71. package/__app__/chunks/EmbedPage.mjs +0 -1
  72. package/__app__/chunks/ExportPage.mjs +0 -2
  73. package/__app__/chunks/LikeC4Diagram.mjs +0 -19
  74. package/__app__/chunks/LikeC4Styles.mjs +0 -48
  75. package/__app__/chunks/Markdown.mjs +0 -1
  76. package/__app__/chunks/NavigationPanel.mjs +0 -1
  77. package/__app__/chunks/ViewReact.mjs +0 -1
  78. package/__app__/chunks/adhoc-editor.mjs +0 -1
  79. package/__app__/chunks/aichat.mjs +0 -1
  80. package/__app__/chunks/box.mjs +0 -1
  81. package/__app__/chunks/create-style-context.mjs +0 -1
  82. package/__app__/chunks/css.mjs +0 -1
  83. package/__app__/chunks/factory.mjs +0 -1
  84. package/__app__/chunks/hooks.mjs +0 -1
  85. package/__app__/chunks/hstack.mjs +0 -1
  86. package/__app__/chunks/libs/@dagrejs/dagre.mjs +0 -1
  87. package/__app__/chunks/libs/@floating-ui/core.mjs +0 -1
  88. package/__app__/chunks/libs/@floating-ui/dom.mjs +0 -1
  89. package/__app__/chunks/libs/@floating-ui/react.mjs +0 -1
  90. package/__app__/chunks/libs/@mantine/core.mjs +0 -41
  91. package/__app__/chunks/libs/@mantine/hooks.mjs +0 -1
  92. package/__app__/chunks/libs/@nanostores/react.mjs +0 -1
  93. package/__app__/chunks/libs/@react-hookz/web.mjs +0 -1
  94. package/__app__/chunks/libs/@tabler/icons-react.mjs +0 -358
  95. package/__app__/chunks/libs/@tanstack/ai-client.mjs +0 -2
  96. package/__app__/chunks/libs/@tanstack/ai-react-ui.mjs +0 -1
  97. package/__app__/chunks/libs/@tanstack/ai-react.mjs +0 -1
  98. package/__app__/chunks/libs/@tanstack/ai.mjs +0 -2
  99. package/__app__/chunks/libs/@tanstack/history.mjs +0 -1
  100. package/__app__/chunks/libs/@tanstack/react-router.mjs +0 -3
  101. package/__app__/chunks/libs/@tanstack/router-core.mjs +0 -1
  102. package/__app__/chunks/libs/@xstate/react.mjs +0 -1
  103. package/__app__/chunks/libs/@xstate/store.mjs +0 -1
  104. package/__app__/chunks/libs/@xyflow/react.mjs +0 -7
  105. package/__app__/chunks/libs/@zag-js/anatomy.mjs +0 -1
  106. package/__app__/chunks/libs/@zag-js/collection.mjs +0 -1
  107. package/__app__/chunks/libs/@zag-js/core.mjs +0 -1
  108. package/__app__/chunks/libs/@zag-js/react.mjs +0 -1
  109. package/__app__/chunks/libs/@zag-js/tree-view.mjs +0 -1
  110. package/__app__/chunks/libs/bezier-js.mjs +0 -1
  111. package/__app__/chunks/libs/copy-anything.mjs +0 -1
  112. package/__app__/chunks/libs/d3-path.mjs +0 -1
  113. package/__app__/chunks/libs/d3-shape.mjs +0 -1
  114. package/__app__/chunks/libs/fast-equals.mjs +0 -1
  115. package/__app__/chunks/libs/framer-motion.mjs +0 -9
  116. package/__app__/chunks/libs/html-to-image.mjs +0 -2
  117. package/__app__/chunks/libs/motion-dom.mjs +0 -1
  118. package/__app__/chunks/libs/nanostores.mjs +0 -1
  119. package/__app__/chunks/libs/react-error-boundary.mjs +0 -1
  120. package/__app__/chunks/libs/react-resizable-panels.mjs +0 -1
  121. package/__app__/chunks/libs/remeda.mjs +0 -1
  122. package/__app__/chunks/libs/superjson.mjs +0 -1
  123. package/__app__/chunks/libs/zod.mjs +0 -64
  124. package/__app__/chunks/rolldown-runtime.mjs +0 -1
  125. package/__app__/chunks/styles.css.mjs +0 -1
  126. package/__app__/chunks/txt.mjs +0 -1
  127. package/__app__/chunks/useLikeC4Project.mjs +0 -1
  128. package/__app__/src/pages/AdHocViewEditor.mjs +0 -1
  129. package/__app__/src/pages/EmbedPage.mjs +0 -1
  130. package/__app__/src/pages/ExportPage.mjs +0 -1
  131. package/__app__/src/pages/ProjectsOverview.mjs +0 -1
  132. package/__app__/src/pages/ViewAsD2.mjs +0 -1
  133. package/__app__/src/pages/ViewAsDot.mjs +0 -1
  134. package/__app__/src/pages/ViewAsMmd.mjs +0 -1
  135. package/__app__/src/pages/ViewAsPuml.mjs +0 -1
  136. package/__app__/src/pages/ViewEditor.mjs +0 -1
  137. package/__app__/src/pages/ViewReact.mjs +0 -1
  138. package/dist/chunks/libs/@chevrotain/utils.mjs +0 -1
  139. package/dist/chunks/libs/@hono/mcp.mjs +0 -70
  140. package/dist/chunks/libs/@hono/node-server.mjs +0 -1
  141. package/dist/chunks/libs/@logtape/logtape.d.mts +0 -1023
  142. package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +0 -12
  143. package/dist/chunks/libs/ajv.mjs +0 -1
  144. package/dist/chunks/libs/ansi-align.mjs +0 -2
  145. package/dist/chunks/libs/ansi-regex.mjs +0 -1
  146. package/dist/chunks/libs/ansi-styles.mjs +0 -1
  147. package/dist/chunks/libs/atomically.mjs +0 -1
  148. package/dist/chunks/libs/boxen.mjs +0 -22
  149. package/dist/chunks/libs/conf.mjs +0 -1
  150. package/dist/chunks/libs/defu.mjs +0 -1
  151. package/dist/chunks/libs/destr.mjs +0 -1
  152. package/dist/chunks/libs/find-up-simple.mjs +0 -1
  153. package/dist/chunks/libs/get-port.mjs +0 -1
  154. package/dist/chunks/libs/hono.mjs +0 -1
  155. package/dist/chunks/libs/is-docker.mjs +0 -1
  156. package/dist/chunks/libs/is-error-instance.mjs +0 -1
  157. package/dist/chunks/libs/is-inside-container.mjs +0 -1
  158. package/dist/chunks/libs/is-plain-obj.mjs +0 -1
  159. package/dist/chunks/libs/isexe.mjs +0 -1
  160. package/dist/chunks/libs/ky.mjs +0 -3
  161. package/dist/chunks/libs/p-debounce.mjs +0 -1
  162. package/dist/chunks/libs/p-limit.mjs +0 -1
  163. package/dist/chunks/libs/p-timeout.mjs +0 -1
  164. package/dist/chunks/libs/package-up.mjs +0 -1
  165. package/dist/chunks/libs/parse-ms.mjs +0 -1
  166. package/dist/chunks/libs/safe-stringify.mjs +0 -1
  167. package/dist/chunks/libs/strip-indent.mjs +0 -1
  168. package/dist/chunks/libs/tinyrainbow.mjs +0 -1
  169. package/dist/chunks/libs/ts-graphviz.mjs +0 -1
  170. package/dist/chunks/libs/unctx.mjs +0 -1
  171. package/dist/chunks/libs/vscode-languageserver.mjs +0 -1
  172. package/dist/chunks/libs/word-wrap.mjs +0 -12
  173. package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.mjs +0 -1
  174. package/dist/vite-plugin/internal/chunks/libs/birpc.mjs +0 -1
  175. package/dist/vite-plugin/internal/chunks/libs/fast-equals.mjs +0 -1
  176. package/dist/vite-plugin/internal/chunks/libs/nanostores.mjs +0 -1
  177. package/dist/vite-plugin/internal/chunks/libs/remeda.mjs +0 -1
  178. package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +0 -1
package/react/index.d.mts CHANGED
@@ -2,13 +2,15 @@ import { Any } from '@likec4/core/types';
2
2
  import { AutoLayoutDirection } from '@likec4/core/types';
3
3
  import { aux } from '@likec4/core/types';
4
4
  import { BBox } from '@likec4/core/types';
5
- import { BBox as BBox_2 } from '@likec4/core/geometry';
6
- import { BBox as BBox_3 } from '@likec4/core';
5
+ import { BBox as BBox_2 } from '@likec4/core';
6
+ import { BBox as BBox_3 } from '@likec4/core/geometry';
7
7
  import { CamelCasedProperties } from 'type-fest';
8
8
  import { Color } from '@likec4/core/types';
9
+ import { ComponentType } from 'react';
9
10
  import { ComputedNodeStyle } from '@likec4/core/types';
10
11
  import { ComputedNodeStyle as ComputedNodeStyle_2 } from '@likec4/core';
11
- import { Context as Context_4 } from 'react';
12
+ import { Context as Context_5 } from 'react';
13
+ import { ControlButton } from '@xyflow/react';
12
14
  import { CSSProperties } from 'react';
13
15
  import { DependencyList } from 'react';
14
16
  import { DeploymentFqn } from '@likec4/core/types';
@@ -18,17 +20,19 @@ import { DiagramNode } from '@likec4/core/types';
18
20
  import { DiagramNodeDriftReason } from '@likec4/core/types';
19
21
  import { DiagramView } from '@likec4/core/types';
20
22
  import { DynamicViewDisplayVariant } from '@likec4/core/types';
23
+ import { DynamicViewFlow } from '@likec4/core/types';
21
24
  import { Edge } from '@xyflow/react';
22
- import { EdgeChange } from '@xyflow/system';
23
- import { EdgeChange as EdgeChange_2 } from '@xyflow/react';
24
- import { EdgeId } from '@likec4/core/types';
25
- import { EdgeId as EdgeId_2 } from '@likec4/core';
25
+ import { EdgeChange } from '@xyflow/react';
26
+ import { EdgeChange as EdgeChange_2 } from '@xyflow/system';
27
+ import { EdgeId } from '@likec4/core';
28
+ import { EdgeId as EdgeId_2 } from '@likec4/core/types';
26
29
  import { EdgeProps } from '@xyflow/react';
27
30
  import { EffectCallback } from 'react';
28
31
  import { ElementKind } from '@likec4/core/types';
29
32
  import { ElementProps } from '@mantine/core';
30
33
  import { ElementShape as ElementShape_2 } from '@likec4/core/types';
31
34
  import { ElementStyle } from '@likec4/core/types';
35
+ import { ErrorInfo } from 'react';
32
36
  import { Except } from 'type-fest';
33
37
  import { ExclusiveUnion } from '@likec4/core/types';
34
38
  import { ExclusiveUnion as ExclusiveUnion_2 } from '@likec4/core';
@@ -41,8 +45,9 @@ import { FunctionComponent } from 'react';
41
45
  import { HTMLAttributes } from 'react';
42
46
  import { HTMLMotionProps } from 'motion/react';
43
47
  import { IconUrl } from '@likec4/core/types';
44
- import { JSX } from 'react/jsx-runtime';
45
- import { JsxStyleProps } from '@likec4/styles/types';
48
+ import { JSX } from 'react';
49
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
50
+ import { JsxStyleProps } from '../../styled-system/types';
46
51
  import { LayoutedProjectsView } from '@likec4/core/compute-view';
47
52
  import { LayoutedView } from '@likec4/core/types';
48
53
  import { LayoutType } from '@likec4/core/types';
@@ -50,27 +55,33 @@ import { LikeC4Model } from '@likec4/core/model';
50
55
  import { LikeC4Project } from '@likec4/core/types';
51
56
  import { LikeC4Styles } from '@likec4/core/styles';
52
57
  import { LikeC4ViewModel } from '@likec4/core/model';
58
+ import { MantineProviderProps } from '@mantine/core';
53
59
  import { MarkdownOrString } from '@likec4/core/types';
54
60
  import { MarkdownOrString as MarkdownOrString_2 } from '@likec4/core';
55
61
  import { MemoExoticComponent } from 'react';
62
+ import { MiniMapNodeProps } from '@xyflow/react';
63
+ import { MiniMapProps } from '@xyflow/react';
56
64
  import { MotionNodeLayoutOptions } from 'motion/react';
57
65
  import { MotionStyle } from 'motion/react';
58
66
  import { MouseEvent as MouseEvent_2 } from 'react';
59
- import { NavigationPanelRecipe } from '@likec4/styles/recipes';
67
+ import { NavigationPanelRecipe } from '../../styled-system/recipes';
60
68
  import { Node as Node_2 } from '@xyflow/react';
61
- import { NodeChange } from '@xyflow/system';
62
- import { NodeChange as NodeChange_2 } from '@xyflow/react';
69
+ import { NodeChange } from '@xyflow/react';
70
+ import { NodeChange as NodeChange_2 } from '@xyflow/system';
63
71
  import { NodeId } from '@likec4/core/types';
64
72
  import { NodeId as NodeId_3 } from '@likec4/core';
65
73
  import { NodeModel } from '@likec4/core/model';
66
74
  import { NodeNotation } from '@likec4/core/types';
67
75
  import { NodeProps } from '@xyflow/react';
76
+ import { NodeToolbar } from '@xyflow/react';
68
77
  import { NodeToolbarProps } from '@xyflow/react';
69
78
  import { NonEmptyArray } from '@likec4/core/types';
70
79
  import { NonEmptyObject } from 'type-fest';
71
80
  import { NonEmptyReadonlyArray } from '@likec4/core/types';
72
81
  import { OptionalKeysOf } from 'type-fest';
82
+ import { PanelPosition } from '@xyflow/system';
73
83
  import { PartialDeep } from 'type-fest';
84
+ import { Position } from '@xyflow/react';
74
85
  import { ProjectId } from '@likec4/core/types';
75
86
  import { ProjectId as ProjectId_2 } from '@likec4/core';
76
87
  import { PropsWithChildren } from 'react';
@@ -88,9 +99,9 @@ import { RichTextOrEmpty } from '@likec4/core/types';
88
99
  import { SetRequired } from 'type-fest';
89
100
  import { Simplify } from 'type-fest';
90
101
  import { SimplifyDeep } from 'type-fest';
91
- import { StepEdgeId } from '@likec4/core/types';
92
- import { StyleContextConsumer } from '@likec4/styles/jsx';
93
- import { StyleContextProvider } from '@likec4/styles/jsx';
102
+ import { StepPath } from '@likec4/core/types';
103
+ import { StyleContextConsumer } from '../../styled-system/jsx';
104
+ import { StyleContextProvider } from '../../styled-system/jsx';
94
105
  import type * as t from '@likec4/core/types';
95
106
  import { UnknownLayouted as UnknownLayouted_2 } from '@likec4/core/types';
96
107
  import { UnstyledButtonProps } from '@mantine/core';
@@ -98,6 +109,7 @@ import { ViewChange } from '@likec4/core/types';
98
109
  import { ViewId } from '@likec4/core/types';
99
110
  import { ViewId as ViewId_3 } from '@likec4/core';
100
111
  import { Viewport } from '@xyflow/system';
112
+ import { ViewportPortal } from '@xyflow/react';
101
113
  import { WhereOperator } from '@likec4/core/types';
102
114
  import { Without } from 'type-fest/source/merge-exclusive';
103
115
  import { XYPosition } from '@xyflow/system';
@@ -351,6 +363,39 @@ in TInput = NonReducibleUnknown, TSystem extends AnyActorSystem = AnyActorSystem
351
363
  getPersistedSnapshot: (snapshot: TSnapshot, options?: unknown) => Snapshot<unknown>;
352
364
  }
353
365
 
366
+ declare const _actorLogic: StateMachine<Context_4, Events_4, {}, never, never, {
367
+ type: "was opened on hover";
368
+ params: unknown;
369
+ } | {
370
+ type: "has search query";
371
+ params: unknown;
372
+ } | {
373
+ type: "search query is empty";
374
+ params: unknown;
375
+ }, "open timeout" | "close timeout", "pending" | "idle" | {
376
+ active: "search" | "opened" | "decide" | "closing";
377
+ }, "active", Input_3, NonReducibleUnknown, EventObject, MetaObject, {
378
+ id: "navigationPanel";
379
+ states: {
380
+ readonly idle: {
381
+ id: "idle";
382
+ };
383
+ readonly pending: {};
384
+ readonly active: {
385
+ states: {
386
+ readonly decide: {};
387
+ readonly opened: {};
388
+ readonly search: {};
389
+ readonly closing: {};
390
+ };
391
+ };
392
+ };
393
+ }>;
394
+
395
+ declare type ActorLogicMap = {
396
+ [K in keyof ChildrenActors]: ActorRefFromLogic<ChildrenActors[K]> | undefined;
397
+ };
398
+
354
399
  declare interface ActorOptions<TLogic extends AnyActorLogic> {
355
400
  /**
356
401
  * The clock that is responsible for setting and clearing timeouts, such as
@@ -509,6 +554,22 @@ declare type ActorRefFromLogic<T extends AnyActorLogic> = ActorRef<SnapshotFrom<
509
554
 
510
555
  declare type ActorRefLike = Pick<AnyActorRef, 'sessionId' | 'send' | 'getSnapshot'>;
511
556
 
557
+ declare const actors: {
558
+ hotkey: HotkeyActorLogic;
559
+ overlays: OverlaysActorLogic;
560
+ search: SearchActorLogic;
561
+ mediaPrint: MediaPrintActorLogic;
562
+ editor: EditorActorLogic;
563
+ navigationPanel: NavigationPanelActorLogic;
564
+ };
565
+
566
+ declare const actors_2: {
567
+ hotkey: HotkeyActorLogic_2;
568
+ applyLatest: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
569
+ executeChange: PromiseActorLogic<EditorCalls.ExecuteChange.Output, EditorCalls.ExecuteChange.Input, EventObject>;
570
+ applySemanticLayout: PromiseActorLogic<EditorCalls.ApplySemanticLayout.Output, EditorCalls.ApplySemanticLayout.Input, EventObject>;
571
+ };
572
+
512
573
  declare interface ActorScope<TSnapshot extends Snapshot<unknown>, TEvent extends EventObject, TSystem extends AnyActorSystem = AnyActorSystem, TEmitted extends EventObject = EventObject> {
513
574
  self: ActorRef<TSnapshot, TEvent, TEmitted>;
514
575
  id: string;
@@ -525,7 +586,7 @@ declare interface ActorSystem<T extends ActorSystemInfo> {
525
586
  get: <K extends keyof T['actors']>(key: K) => T['actors'][K] | undefined;
526
587
  getAll: () => Partial<T['actors']>;
527
588
  inspect: (observer: Observer<InspectionEvent> | ((inspectionEvent: InspectionEvent) => void)) => Subscription;
528
- scheduler: Scheduler;
589
+ scheduler: Scheduler_2;
529
590
  getSnapshot: () => {
530
591
  _scheduledEvents: Record<string, ScheduledEvent>;
531
592
  };
@@ -596,6 +657,12 @@ export declare namespace Base {
596
657
  export type Dimmed = 'immediate' | boolean;
597
658
  }
598
659
 
660
+ /**
661
+ * Here is a trick to reduce inference types
662
+ */
663
+ declare interface BaseDiagramMachineLogic<Actors extends Partial<ActorLogicMap> = ActorLogicMap, State extends StateValue = never> extends StateMachine<DiagramContext, DiagramEvents, Actors & Omit<ActorLogicMap, keyof Actors>, ChildrenActor, never, never, never, State, never, Input_4, never, DiagramEmittedEvents, never, never> {
664
+ }
665
+
599
666
  export declare interface BaseEdge<Data extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string = string> extends SetRequired<Edge<Data & BaseEdgeData, EdgeType>, 'type' | 'data'> {
600
667
  }
601
668
 
@@ -623,6 +690,14 @@ export declare interface BaseEdgeProps<E extends BaseEdge = BaseEdge> extends Ed
623
690
 
624
691
  export declare type BaseEdgePropsWithData<Data extends Record<string, unknown>> = BaseEdgeProps<BaseEdge<Data>>;
625
692
 
693
+ /**
694
+ * to workaround circular dependency issue between editor and diagram packages
695
+ */
696
+ declare interface BaseEditorActorLogic<State extends StateValue = any> extends StateMachine<EditorActorContext, EditorActorEvent, inferChildrenRef<typeof actors_2>, inferProvidedActor<typeof actors_2>, never, never, never, State, EditorActorStateTag, EditorActorInput, never, EditorActorEmitedEvent, never, never> {
697
+ }
698
+
699
+ declare type BaseEditorActorRef = ActorRefFromLogic<BaseEditorActorLogic>;
700
+
626
701
  declare interface BaseInspectionEventProperties {
627
702
  rootId: string;
628
703
  /**
@@ -657,15 +732,32 @@ export declare interface BaseNodeProps<N extends BaseNode = BaseNode> extends No
657
732
 
658
733
  export declare type BaseNodePropsWithData<Data extends Record<string, unknown>> = BaseNodeProps<BaseNode<Data>>;
659
734
 
735
+ declare type CallbackActorLogic<TEvent extends EventObject, TInput = NonReducibleUnknown, TEmitted extends EventObject = EventObject> = ActorLogic<CallbackSnapshot<TInput>, TEvent, TInput, AnyActorSystem, TEmitted>;
736
+
737
+ declare type CallbackSnapshot<TInput> = Snapshot<undefined> & {
738
+ input: TInput;
739
+ };
740
+
741
+ declare type ChildrenActor = {
742
+ [K in keyof ChildrenActors]: {
743
+ id: K;
744
+ logic: ChildrenActors[K];
745
+ src: K;
746
+ };
747
+ }[keyof ChildrenActors];
748
+
749
+ declare type ChildrenActors = typeof actors;
750
+
660
751
  declare interface Clock {
661
752
  setTimeout(fn: (...args: any[]) => void, timeout: number): any;
662
753
  clearTimeout(id: any): void;
663
754
  }
664
755
 
665
- export declare function CompoundActionButton({ data: { hovered: isHovered, }, icon, onClick, }: CompoundActionButtonProps): JSX.Element;
756
+ export declare function CompoundActionButton({ selected, data: { hovered: isHovered, }, icon, ariaLabel, onClick, }: CompoundActionButtonProps): JSX.Element;
666
757
 
667
758
  declare type CompoundActionButtonProps = Simplify<BaseNodeProps & {
668
759
  icon?: ReactNode;
760
+ ariaLabel?: string;
669
761
  onClick: (e: MouseEvent_2) => void;
670
762
  }>;
671
763
 
@@ -716,10 +808,11 @@ export declare type CompoundDeploymentNodeProps<A extends Any_5 = Unknown_3> = {
716
808
 
717
809
  export declare function CompoundDeploymentToolbar(props: Types.NodeProps<'compound-deployment'>): JSX.Element;
718
810
 
719
- export declare function CompoundDetailsButton({ data: { hovered: isHovered, }, icon, onClick, }: CompoundDetailsButtonProps): JSX.Element;
811
+ export declare function CompoundDetailsButton({ selected, data: { hovered: isHovered, }, icon, ariaLabel, onClick, }: CompoundDetailsButtonProps): JSX.Element;
720
812
 
721
813
  declare type CompoundDetailsButtonProps = Simplify<BaseNodeProps & {
722
814
  icon?: ReactNode;
815
+ ariaLabel?: string;
723
816
  onClick: (e: MouseEvent_2) => void;
724
817
  }>;
725
818
 
@@ -782,10 +875,16 @@ declare type CompoundNodeContainerProps = PropsWithChildren<HTMLAttributes<HTMLD
782
875
  nodeProps: BaseNodeProps<BaseNode<RequiredData>>;
783
876
  }>;
784
877
 
785
- export declare function CompoundTitle({ data }: CompoundTitleProps): JSX.Element;
878
+ export declare function CompoundTitle({ data, 'aria-hidden': ariaHidden }: CompoundTitleProps): JSX.Element;
786
879
 
787
880
  declare type CompoundTitleProps = {
788
881
  data: RequiredData_2;
882
+ /**
883
+ * Opt-in: hide the title from assistive technologies. The main diagram sets
884
+ * this because the compound node's accessible label already conveys the
885
+ * title, so re-exposing it here would cause a duplicate announcement.
886
+ */
887
+ 'aria-hidden'?: boolean | undefined;
789
888
  };
790
889
 
791
890
  declare type Compute<A> = {
@@ -811,7 +910,7 @@ declare interface Context_2 {
811
910
  enableSelectSubject: boolean;
812
911
  enableChangeScope: boolean;
813
912
  xyflow: XYFLowInstance | null;
814
- xystore: XYStoreApi_2 | null;
913
+ xystore: XYStoreApi | null;
815
914
  layouted: LayoutRelationshipsViewResult | null;
816
915
  navigateFromNode: string | null;
817
916
  xynodes: RelationshipsBrowserTypes.Node[];
@@ -822,16 +921,37 @@ declare type Context_3 = Readonly<{
822
921
  subject: Subject;
823
922
  viewId: ViewId_3;
824
923
  xyflow: XYFLowInstance_2 | null;
825
- xystore: XYStoreApi_3 | null;
924
+ xystore: XYStoreApi_2 | null;
826
925
  initialized: {
827
926
  xydata: boolean;
828
927
  xyflow: boolean;
829
928
  };
830
929
  xynodes: RelationshipDetailsTypes.Node[];
831
930
  xyedges: RelationshipDetailsTypes.Edge[];
832
- bounds: BBox_3;
931
+ bounds: BBox_2;
833
932
  }>;
834
933
 
934
+ declare function Context_4({ input }: {
935
+ input: Input_3;
936
+ }): Context_4;
937
+
938
+ declare interface Context_4 {
939
+ view: LayoutedView;
940
+ viewModel: CurrentViewModel | null;
941
+ /**
942
+ * Who activated the dropdown
943
+ * (if `click` then the dropdown is always open until dismissed)
944
+ * @default 'hover'
945
+ */
946
+ activatedBy: 'hover' | 'click';
947
+ /**
948
+ * The folder that is currently selected in the dropdown
949
+ * By default it is the root
950
+ */
951
+ selectedFolder: string;
952
+ searchQuery: string;
953
+ }
954
+
835
955
  declare type ContextFactory<TContext extends MachineContext, TActor extends ProvidedActor, TInput, TEvent extends EventObject = EventObject> = ({ spawn, input, self }: {
836
956
  spawn: Spawner<TActor>;
837
957
  input: TInput;
@@ -856,6 +976,8 @@ export declare function DefaultHandles({ direction }: {
856
976
  direction?: AutoLayoutDirection | undefined;
857
977
  }): JSX.Element;
858
978
 
979
+ export declare function DefaultMantineProvider({ children, theme, ...props }: MantineProviderProps): JSX.Element;
980
+
859
981
  declare type Delay<TDelay extends string> = TDelay | number;
860
982
 
861
983
  declare type DelayConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject> = number | DelayExpr<TContext, TExpressionEvent, TParams, TEvent>;
@@ -904,7 +1026,7 @@ export declare const DeploymentElementActions: ({ extraButtons, ...props }: Depl
904
1026
 
905
1027
  declare type DeploymentElementActionsProps = SimplifyDeep<{
906
1028
  selected?: boolean;
907
- data: Pick<Types.DeploymentElementNodeData, 'id' | 'modelFqn' | 'navigateTo'> & BaseNodeData;
1029
+ data: Pick<Types.DeploymentElementNodeData, 'id' | 'modelFqn' | 'navigateTo' | 'title'> & BaseNodeData;
908
1030
  }> & WithExtraButtons;
909
1031
 
910
1032
  export declare function DeploymentElementToolbar(props: Types.NodeProps<'deployment'>): JSX.Element;
@@ -972,25 +1094,24 @@ export declare interface DiagramActorRef extends DiagramMachineRef {
972
1094
  system: System;
973
1095
  }
974
1096
 
975
- export declare type DiagramActorSnapshot = MachineSnapshot<DiagramContext, DiagramEvents, {
976
- overlays: OverlaysActorRef | undefined;
977
- search: SearchActorRef | undefined;
978
- editor: EditorActorRef | undefined;
979
- }, any, any, any, {}, {}>;
1097
+ export declare type DiagramActorSnapshot = SnapshotFrom<DiagramMachineLogic>;
980
1098
 
981
- export declare interface DiagramApi<A extends Any_3 = Unknown_2> {
1099
+ export declare class DiagramApi<A extends Any_3 = Unknown_2> {
1100
+ private static cache;
1101
+ static withActor(actorRef: RefObject<DiagramActorRef>): DiagramApi;
982
1102
  /**
983
1103
  * React ref to the diagram actor
984
1104
  */
985
1105
  readonly ref: RefObject<DiagramActorRef>;
1106
+ private constructor();
986
1107
  /**
987
1108
  * @warning Do not use in render phase
988
1109
  */
989
- readonly actor: DiagramActorRef;
1110
+ get actor(): DiagramActorRef;
990
1111
  /**
991
1112
  * @warning Do not use in render phase
992
1113
  */
993
- readonly currentView: t.DiagramView<A>;
1114
+ get currentView(): t.DiagramView<A>;
994
1115
  /**
995
1116
  * Editor actor reference
996
1117
  * @warning Do not use in render phase
@@ -1032,7 +1153,7 @@ export declare interface DiagramApi<A extends Any_3 = Unknown_2> {
1032
1153
  /**
1033
1154
  * If running in editor, trigger opening source file
1034
1155
  */
1035
- openSource(params: OpenSourceParams<A>): void;
1156
+ openSource(params: OpenSourceParams<Unknown_2>): void;
1036
1157
  /**
1037
1158
  * Open element details card
1038
1159
  */
@@ -1099,21 +1220,31 @@ export declare interface DiagramApi<A extends Any_3 = Unknown_2> {
1099
1220
  * @warning Do not use in render phase
1100
1221
  */
1101
1222
  findDiagramEdge(xyedgeId: string): t.DiagramEdge<A> | null;
1102
- startWalkthrough(): void;
1103
- walkthroughStep(direction?: 'next' | 'previous'): void;
1223
+ startWalkthrough(stepId?: t.StepPath): void;
1224
+ walkthroughStep(value?: 'next' | 'prev' | {
1225
+ step: t.StepPath;
1226
+ }): void;
1104
1227
  stopWalkthrough(): void;
1105
- toggleFeature(feature: FeatureName, forceValue?: boolean): void;
1228
+ toggleFeature(feature: TogglableFeature, forceValue?: boolean): void;
1106
1229
  highlightNotation(notation: NodeNotation, kind?: string): void;
1107
1230
  unhighlightNotation(): void;
1108
1231
  openSearch(searchValue?: string): void;
1109
- triggerChange(viewChange: ViewChange): void;
1232
+ triggerChange(change: ViewChange): void;
1110
1233
  /**
1111
1234
  * Switch dynamic view display variant
1112
1235
  */
1113
1236
  switchDynamicViewVariant(variant: DynamicViewDisplayVariant): void;
1237
+ /**
1238
+ * Toggle sequence flow collapse/expand
1239
+ */
1240
+ toggleSequenceFlow(flowId: t.StepPath): void;
1114
1241
  }
1115
1242
 
1116
- export declare interface DiagramContext extends Input {
1243
+ export declare function DiagramContext({ input }: {
1244
+ input: Input_4;
1245
+ }): DiagramContext;
1246
+
1247
+ export declare interface DiagramContext extends Input_4 {
1117
1248
  xynodes: Types.Node[];
1118
1249
  xyedges: Types.Edge[];
1119
1250
  features: EnabledFeatures;
@@ -1156,8 +1287,12 @@ export declare interface DiagramContext extends Input {
1156
1287
  xyflow: XYFlowInstance | null;
1157
1288
  dynamicViewVariant: DynamicViewDisplayVariant;
1158
1289
  activeWalkthrough: null | {
1159
- stepId: StepEdgeId;
1160
- parallelPrefix: string | null;
1290
+ stepId: StepPath;
1291
+ activeFlow: StepPath | null;
1292
+ outlinePanelWidth: number;
1293
+ };
1294
+ collapsedSequenceFlows: {
1295
+ [flowId: StepPath]: boolean;
1161
1296
  };
1162
1297
  }
1163
1298
 
@@ -1194,6 +1329,7 @@ export declare type DiagramEmittedEvents = {
1194
1329
  } | {
1195
1330
  type: 'walkthroughStep';
1196
1331
  edge: Types.Edge;
1332
+ stepId: StepPath;
1197
1333
  } | {
1198
1334
  type: 'walkthroughStopped';
1199
1335
  } | {
@@ -1212,8 +1348,8 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1212
1348
  instance: XYFlowInstance;
1213
1349
  } | {
1214
1350
  type: 'xyflow.applyChanges';
1215
- edges?: EdgeChange<Types.Edge>[];
1216
- nodes?: NodeChange<Types.Node>[];
1351
+ edges?: EdgeChange_2<Types.Edge>[];
1352
+ nodes?: NodeChange_2<Types.Node>[];
1217
1353
  } | {
1218
1354
  type: 'xyflow.viewportMoved';
1219
1355
  viewport: Viewport;
@@ -1235,10 +1371,10 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1235
1371
  type: 'xyflow.resized';
1236
1372
  } | {
1237
1373
  type: 'xyflow.nodeMouseEnter';
1238
- node: Types.Node;
1374
+ node: Types.Node | NodeId;
1239
1375
  } | {
1240
1376
  type: 'xyflow.nodeMouseLeave';
1241
- node: Types.Node;
1377
+ node: Types.Node | NodeId;
1242
1378
  } | {
1243
1379
  type: 'xyflow.edgeMouseEnter';
1244
1380
  edge: Types.Edge;
@@ -1250,7 +1386,7 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1250
1386
  } | {
1251
1387
  type: 'xyflow.fitDiagram';
1252
1388
  duration?: number;
1253
- bounds?: BBox_2;
1389
+ bounds?: BBox_3;
1254
1390
  } | {
1255
1391
  type: 'xyflow.setViewport';
1256
1392
  duration?: number;
@@ -1261,15 +1397,17 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1261
1397
  duration?: number;
1262
1398
  } | {
1263
1399
  type: 'xyflow.centerViewport';
1264
- edgeId: EdgeId;
1400
+ edgeId: EdgeId_2;
1265
1401
  duration?: number;
1402
+ } | {
1403
+ type: 'xyflow.resetSelection';
1266
1404
  } | {
1267
1405
  type: 'update.nodeData';
1268
1406
  nodeId: NodeId;
1269
1407
  data: PartialDeep<Types.NodeData>;
1270
1408
  } | {
1271
1409
  type: 'update.edgeData';
1272
- edgeId: EdgeId;
1410
+ edgeId: EdgeId_2;
1273
1411
  data: PartialDeep<Types.EdgeData>;
1274
1412
  } | {
1275
1413
  type: 'update.view';
@@ -1283,10 +1421,10 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1283
1421
  xyedges: Types.Edge[];
1284
1422
  } | {
1285
1423
  type: 'update.view-bounds';
1286
- bounds: BBox_2;
1424
+ bounds: BBox_3;
1287
1425
  } | {
1288
1426
  type: 'update.inputs';
1289
- inputs: Partial<Omit<Input, 'view' | 'xystore' | 'dynamicViewVariant' | 'features'>>;
1427
+ inputs: Partial<Omit<Input_4, 'view' | 'xystore' | 'dynamicViewVariant' | 'features'>>;
1290
1428
  } | {
1291
1429
  type: 'update.features';
1292
1430
  features: EnabledFeatures;
@@ -1299,7 +1437,7 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1299
1437
  } | {
1300
1438
  type: 'open.relationshipDetails';
1301
1439
  params: {
1302
- edgeId: EdgeId;
1440
+ edgeId: EdgeId_2;
1303
1441
  } | {
1304
1442
  source: Fqn;
1305
1443
  target: Fqn;
@@ -1337,18 +1475,34 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1337
1475
  variant: DynamicViewDisplayVariant;
1338
1476
  } | {
1339
1477
  type: 'walkthrough.start';
1340
- stepId?: StepEdgeId;
1478
+ stepId?: StepPath | undefined;
1479
+ } | {
1480
+ type: 'walkthrough.step';
1481
+ direction: 'next' | 'prev';
1482
+ stepId?: never;
1341
1483
  } | {
1342
1484
  type: 'walkthrough.step';
1343
- direction: 'next' | 'previous';
1485
+ stepId: StepPath;
1486
+ direction?: never;
1344
1487
  } | {
1345
1488
  type: 'walkthrough.end';
1489
+ } | {
1490
+ type: 'sequence.flow.collapse';
1491
+ flowId: StepPath;
1492
+ } | {
1493
+ type: 'sequence.flow.expand';
1494
+ flowId: StepPath;
1495
+ } | {
1496
+ type: 'sequence.flow.toggle';
1497
+ flowId: StepPath;
1498
+ } | {
1499
+ type: 'sequence.walkthrough.end';
1346
1500
  } | {
1347
1501
  type: 'highlight.node';
1348
1502
  nodeId: NodeId;
1349
1503
  } | {
1350
1504
  type: 'highlight.edge';
1351
- edgeId: EdgeId;
1505
+ edgeId: EdgeId_2;
1352
1506
  } | {
1353
1507
  type: 'unhighlight.all';
1354
1508
  } | {
@@ -1376,6 +1530,152 @@ export declare type DiagramEvents = HotKeyEvent | MediaPrintEvent | {
1376
1530
  type: 'destroy';
1377
1531
  };
1378
1532
 
1533
+ declare const _diagramMachine: StateMachine<DiagramContext, DiagramEvents, {
1534
+ search?: ActorRefFromLogic<SearchActorLogic>;
1535
+ hotkey?: ActorRefFromLogic<HotkeyActorLogic>;
1536
+ overlays?: ActorRefFromLogic<OverlaysActorLogic>;
1537
+ mediaPrint?: ActorRefFromLogic<MediaPrintActorLogic>;
1538
+ editor?: ActorRefFromLogic<EditorActorLogic>;
1539
+ navigationPanel?: ActorRefFromLogic<NavigationPanelActorLogic>;
1540
+ }, {
1541
+ src: "search";
1542
+ logic: SearchActorLogic;
1543
+ id: "search";
1544
+ } | {
1545
+ src: "hotkey";
1546
+ logic: HotkeyActorLogic;
1547
+ id: "hotkey";
1548
+ } | {
1549
+ src: "overlays";
1550
+ logic: OverlaysActorLogic;
1551
+ id: "overlays";
1552
+ } | {
1553
+ src: "mediaPrint";
1554
+ logic: MediaPrintActorLogic;
1555
+ id: "mediaPrint";
1556
+ } | {
1557
+ src: "editor";
1558
+ logic: EditorActorLogic;
1559
+ id: "editor";
1560
+ } | {
1561
+ src: "navigationPanel";
1562
+ logic: NavigationPanelActorLogic;
1563
+ id: "navigationPanel";
1564
+ }, never, {
1565
+ type: "isReady";
1566
+ params: unknown;
1567
+ } | {
1568
+ type: "enabled: Editor";
1569
+ params: unknown;
1570
+ } | {
1571
+ type: "enabled: FitView";
1572
+ params: unknown;
1573
+ } | {
1574
+ type: "enabled: FocusMode";
1575
+ params: unknown;
1576
+ } | {
1577
+ type: "enabled: Readonly";
1578
+ params: unknown;
1579
+ } | {
1580
+ type: "enabled: RelationshipDetails";
1581
+ params: unknown;
1582
+ } | {
1583
+ type: "enabled: Search";
1584
+ params: unknown;
1585
+ } | {
1586
+ type: "enabled: ElementDetails";
1587
+ params: unknown;
1588
+ } | {
1589
+ type: "enabled: OpenSource";
1590
+ params: unknown;
1591
+ } | {
1592
+ type: "enabled: DynamicViewWalkthrough";
1593
+ params: unknown;
1594
+ } | {
1595
+ type: "enabled: NavigationPanel";
1596
+ params: unknown;
1597
+ } | {
1598
+ type: "focus.node: autoUnfocus";
1599
+ params: unknown;
1600
+ } | {
1601
+ type: "enabled: Overlays";
1602
+ params: unknown;
1603
+ } | {
1604
+ type: "not readonly";
1605
+ params: unknown;
1606
+ } | {
1607
+ type: "is dynamic view";
1608
+ params: unknown;
1609
+ } | {
1610
+ type: "is dynamic view in sequence variant";
1611
+ params: unknown;
1612
+ } | {
1613
+ type: "is same view";
1614
+ params: unknown;
1615
+ } | {
1616
+ type: "is another view";
1617
+ params: unknown;
1618
+ } | {
1619
+ type: "click: node has modelFqn";
1620
+ params: unknown;
1621
+ } | {
1622
+ type: "click: selected node";
1623
+ params: unknown;
1624
+ } | {
1625
+ type: "click: same node";
1626
+ params: unknown;
1627
+ } | {
1628
+ type: "click: focused node";
1629
+ params: unknown;
1630
+ } | {
1631
+ type: "click: node.type = seq-subflow";
1632
+ params: unknown;
1633
+ } | {
1634
+ type: "click: node has connections";
1635
+ params: unknown;
1636
+ } | {
1637
+ type: "click: selected edge";
1638
+ params: unknown;
1639
+ } | {
1640
+ type: "click: active walkthrough step";
1641
+ params: unknown;
1642
+ }, never, "final" | "isReady" | "navigating" | "initializing" | {
1643
+ ready: "idle" | "walkthrough" | "focused" | "printing";
1644
+ }, string, Input_4, NonReducibleUnknown, DiagramEmittedEvents, MetaObject, {
1645
+ states: {
1646
+ readonly initializing: {};
1647
+ readonly isReady: {};
1648
+ readonly ready: {
1649
+ states: {
1650
+ idle: {
1651
+ id: string;
1652
+ };
1653
+ focused: {
1654
+ id: string;
1655
+ };
1656
+ walkthrough: {
1657
+ id: string;
1658
+ };
1659
+ printing: {
1660
+ id: string;
1661
+ };
1662
+ };
1663
+ };
1664
+ readonly navigating: {
1665
+ id: string;
1666
+ };
1667
+ readonly final: {};
1668
+ };
1669
+ }>;
1670
+
1671
+ declare interface DiagramMachineLogic extends BaseDiagramMachineLogic<{
1672
+ overlays: OverlaysActorRef | undefined;
1673
+ search: SearchActorRef | undefined;
1674
+ editor: BaseEditorActorRef | undefined;
1675
+ navigationPanel: NavigationPanelActorRef | undefined;
1676
+ }, StateValueFrom<typeof _diagramMachine>> {
1677
+ }
1678
+
1379
1679
  declare interface DiagramMachineRef extends ActorRef<DiagramActorSnapshot, DiagramEvents, DiagramEmittedEvents> {
1380
1680
  }
1381
1681
 
@@ -1440,6 +1740,7 @@ declare type EdgeId_3 = t.aux.EdgeId;
1440
1740
  declare interface EditorActorContext {
1441
1741
  viewId: t.ViewId;
1442
1742
  history: LinkedSnapshot | null;
1743
+ redo: LinkedSnapshot | null;
1443
1744
  editing: null | {
1444
1745
  /**
1445
1746
  * The subject of the edit
@@ -1467,6 +1768,10 @@ declare type EditorActorEvent = {
1467
1768
  type: 'change.latest-to-manual';
1468
1769
  } | {
1469
1770
  type: 'change.sync-snapshot';
1771
+ } | {
1772
+ type: 'delete.nodes-edges';
1773
+ nodeIds: t.NodeId[];
1774
+ edgeIds: t.EdgeId[];
1470
1775
  } | {
1471
1776
  type: 'view.synched';
1472
1777
  } | {
@@ -1484,10 +1789,7 @@ declare interface EditorActorInput {
1484
1789
  viewId: t.ViewId;
1485
1790
  }
1486
1791
 
1487
- declare interface EditorActorLogic extends StateMachine<EditorActorContext, EditorActorEvent, any, any, any, any, any, {
1488
- editor: 'idle' | 'moving';
1489
- syncQueue: 'idle' | 'pending' | 'suspended' | 'process';
1490
- }, EditorActorStateTag, EditorActorInput, any, EditorActorEmitedEvent, any, any> {
1792
+ declare interface EditorActorLogic extends BaseEditorActorLogic {
1491
1793
  }
1492
1794
 
1493
1795
  declare interface EditorActorRef extends ActorRef<EditorActorSnapshot, EditorActorEvent, EditorActorEmitedEvent> {
@@ -1497,6 +1799,46 @@ declare type EditorActorSnapshot = SnapshotFrom<EditorActorLogic>;
1497
1799
 
1498
1800
  declare type EditorActorStateTag = 'pending' | 'busy' | 'ai-semantic-layout';
1499
1801
 
1802
+ declare namespace EditorCalls {
1803
+ type ApplyLatestToManual = (params: {
1804
+ input: ApplyLatestToManual.Input;
1805
+ }) => Promise<ApplyLatestToManual.Output>;
1806
+ namespace ApplyLatestToManual {
1807
+ type Input = {
1808
+ viewId: t.ViewId;
1809
+ current: t.LayoutedView | undefined;
1810
+ };
1811
+ type Output = {
1812
+ updated: t.LayoutedView;
1813
+ };
1814
+ }
1815
+ type ApplySemanticLayout = (params: {
1816
+ input: ApplySemanticLayout.Input;
1817
+ }) => Promise<ApplySemanticLayout.Output>;
1818
+ namespace ApplySemanticLayout {
1819
+ type Input = {
1820
+ viewId: t.ViewId;
1821
+ };
1822
+ type Output = {};
1823
+ }
1824
+ type ExecuteChange = (params: {
1825
+ input: ExecuteChange.Input;
1826
+ }) => Promise<ExecuteChange.Output>;
1827
+ namespace ExecuteChange {
1828
+ type Input = {
1829
+ viewId: t.ViewId;
1830
+ changes: t.ViewChange[];
1831
+ };
1832
+ /**
1833
+ * Returns the changes that were applied to the view
1834
+ */
1835
+ type Output = {
1836
+ requested: t.ViewChange[];
1837
+ applied: t.ViewChange[];
1838
+ };
1839
+ }
1840
+ }
1841
+
1500
1842
  declare type EffectCallback_2 = (...args: any[]) => any;
1501
1843
 
1502
1844
  declare type EffectHook<Callback extends EffectCallback_2 = EffectCallback_2, Deps extends DependencyList | undefined = DependencyList | undefined, RestArgs extends any[] = any[]> = ((...args: [Callback, Deps, ...RestArgs]) => void) | ((...args: [Callback, Deps]) => void);
@@ -1531,6 +1873,7 @@ export declare function ElementActionButtons({ selected, data: { hovered: isHove
1531
1873
  export declare namespace ElementActionButtons {
1532
1874
  export type Item = {
1533
1875
  key?: string;
1876
+ ariaLabel?: string;
1534
1877
  icon?: ReactNode;
1535
1878
  onClick: (e: MouseEvent_2) => void;
1536
1879
  };
@@ -1573,7 +1916,7 @@ export declare function ElementActions({ extraButtons, ...props }: ElementAction
1573
1916
 
1574
1917
  declare type ElementActionsProps = SimplifyDeep<{
1575
1918
  selected?: boolean;
1576
- data: Pick<Types.ElementNodeData, 'id' | 'modelFqn' | 'navigateTo'> & BaseNodeData;
1919
+ data: Pick<Types.ElementNodeData, 'id' | 'modelFqn' | 'navigateTo' | 'title'> & BaseNodeData;
1577
1920
  }> & WithExtraButtons;
1578
1921
 
1579
1922
  /**
@@ -1595,7 +1938,9 @@ declare type ElementActionsProps = SimplifyDeep<{
1595
1938
  * </ElementData.Root>
1596
1939
  * ```
1597
1940
  */
1598
- export declare function ElementData({ data }: ElementDataProps): JSX.Element;
1941
+ export declare function ElementData({ data, 'aria-hidden': ariaHidden }: ElementDataProps & {
1942
+ 'aria-hidden'?: boolean | undefined;
1943
+ }): JSX.Element;
1599
1944
 
1600
1945
  export declare namespace ElementData {
1601
1946
  var Root: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & ElementDataProps & RefAttributes<HTMLDivElement>>;
@@ -1619,12 +1964,13 @@ declare type ElementDataProps = {
1619
1964
  declare interface ElementDetailsActorRef extends ActorRef<ElementDetailsSnapshot, Events> {
1620
1965
  }
1621
1966
 
1622
- export declare function ElementDetailsButton({ selected, data: { hovered: isHovered, }, icon, onClick, }: ElementDetailsButtonProps): JSX.Element;
1967
+ export declare function ElementDetailsButton({ selected, data: { hovered: isHovered, }, icon, ariaLabel, onClick, }: ElementDetailsButtonProps): JSX.Element;
1623
1968
 
1624
1969
  declare type ElementDetailsButtonProps = {
1625
1970
  selected?: boolean;
1626
1971
  data: BaseNodeData;
1627
1972
  icon?: ReactNode;
1973
+ ariaLabel?: string;
1628
1974
  onClick: (e: MouseEvent_2) => void;
1629
1975
  };
1630
1976
 
@@ -1636,9 +1982,18 @@ export declare function ElementDetailsButtonWithHandler(props: {
1636
1982
  };
1637
1983
  }): JSX.Element | null;
1638
1984
 
1985
+ declare type ElementDetailsInput = {
1986
+ subject: Fqn;
1987
+ currentView: DiagramView;
1988
+ initiatedFrom?: {
1989
+ node?: NodeId;
1990
+ clientRect?: Rect;
1991
+ };
1992
+ };
1993
+
1639
1994
  declare interface ElementDetailsLogic extends StateMachine<Context, Events, {
1640
1995
  [key: `${string}-relationships`]: RelationshipsBrowserActorRef | undefined;
1641
- }, any, any, any, any, any, never, Input_2, any, any, any, any> {
1996
+ }, any, any, any, any, any, never, ElementDetailsInput, any, any, any, any> {
1642
1997
  }
1643
1998
 
1644
1999
  declare type ElementDetailsSnapshot = SnapshotFrom<ElementDetailsLogic>;
@@ -1777,6 +2132,78 @@ declare interface ErrorActorEvent<TErrorData = unknown, TId extends string = str
1777
2132
  actorId: TId;
1778
2133
  }
1779
2134
 
2135
+ export declare function ErrorBoundary(props: Pick<ErrorBoundaryProps, 'onReset' | 'onError' | 'children'>): JSX.Element;
2136
+
2137
+ declare type ErrorBoundaryProps = ErrorBoundaryPropsWithFallback | ErrorBoundaryPropsWithComponent | ErrorBoundaryPropsWithRender;
2138
+
2139
+ declare type ErrorBoundaryPropsWithComponent = ErrorBoundarySharedProps & {
2140
+ fallback?: never;
2141
+ /**
2142
+ * React component responsible for returning a fallback UI based on a thrown value.
2143
+ *
2144
+ * ```tsx
2145
+ * <ErrorBoundary FallbackComponent={Fallback} />
2146
+ * ```
2147
+ */
2148
+ FallbackComponent: ComponentType<FallbackProps>;
2149
+ fallbackRender?: never;
2150
+ };
2151
+
2152
+ declare type ErrorBoundaryPropsWithFallback = ErrorBoundarySharedProps & {
2153
+ /**
2154
+ * Static content to render in place of an error if one is thrown.
2155
+ *
2156
+ * ```tsx
2157
+ * <ErrorBoundary fallback={<div className="text-red">Something went wrong</div>} />
2158
+ * ```
2159
+ */
2160
+ fallback: ReactNode;
2161
+ FallbackComponent?: never;
2162
+ fallbackRender?: never;
2163
+ };
2164
+
2165
+ declare type ErrorBoundaryPropsWithRender = ErrorBoundarySharedProps & {
2166
+ fallback?: never;
2167
+ FallbackComponent?: never;
2168
+ /**
2169
+ * [Render prop](https://react.dev/reference/react/Children#calling-a-render-prop-to-customize-rendering) function responsible for returning a fallback UI based on a thrown value.
2170
+ *
2171
+ * ```tsx
2172
+ * <ErrorBoundary fallbackRender={({ error, resetErrorBoundary }) => <div>...</div>} />
2173
+ * ```
2174
+ */
2175
+ fallbackRender: (props: FallbackProps) => ReactNode;
2176
+ };
2177
+
2178
+ declare type ErrorBoundarySharedProps = PropsWithChildren<{
2179
+ /**
2180
+ * Optional callback to enable e.g. logging error information to a server.
2181
+ *
2182
+ * @param error Value that was thrown; typically an instance of `Error`
2183
+ * @param info React "component stack" identifying where the error was thrown
2184
+ */
2185
+ onError?: (error: unknown, info: ErrorInfo) => void;
2186
+ /**
2187
+ * Optional callback to be notified when an error boundary is reset so React can retry the failed render.
2188
+ */
2189
+ onReset?: (details: {
2190
+ reason: "imperative-api";
2191
+ args: unknown[];
2192
+ } | {
2193
+ reason: "keys";
2194
+ prev: unknown[] | undefined;
2195
+ next: unknown[] | undefined;
2196
+ }) => void;
2197
+ /**
2198
+ * When changed, these keys will reset a triggered error boundary.
2199
+ * This can be useful when an error condition may be tied to some specific state (that can be uniquely identified by key).
2200
+ * See the documentation for examples of how to use this prop.
2201
+ */
2202
+ resetKeys?: unknown[];
2203
+ }>;
2204
+
2205
+ export declare function ErrorFallback({ error, resetErrorBoundary }: FallbackProps): JSX.Element;
2206
+
1780
2207
  declare interface ErrorMachineSnapshot<TContext extends MachineContext, TEvent extends EventObject, TChildren extends Record<string, AnyActorRef | undefined>, TStateValue extends StateValue, TTag extends string, TOutput, TMeta extends MetaObject, TStateSchema extends StateSchema> extends MachineSnapshotBase<TContext, TEvent, TChildren, TStateValue, TTag, TOutput, TMeta, TStateSchema> {
1781
2208
  status: 'error';
1782
2209
  output: undefined;
@@ -1805,7 +2232,7 @@ declare type Events = {
1805
2232
  declare type Events_2 = {
1806
2233
  type: 'xyflow.init';
1807
2234
  instance: XYFLowInstance;
1808
- store: XYStoreApi_2;
2235
+ store: XYStoreApi;
1809
2236
  } | {
1810
2237
  type: 'xyflow.nodeClick';
1811
2238
  node: RelationshipsBrowserTypes.Node;
@@ -1814,10 +2241,10 @@ declare type Events_2 = {
1814
2241
  edge: RelationshipsBrowserTypes.Edge;
1815
2242
  } | {
1816
2243
  type: 'xyflow.applyNodeChanges';
1817
- changes: NodeChange_2<RelationshipsBrowserTypes.Node>[];
2244
+ changes: NodeChange<RelationshipsBrowserTypes.Node>[];
1818
2245
  } | {
1819
2246
  type: 'xyflow.applyEdgeChanges';
1820
- changes: EdgeChange_2<RelationshipsBrowserTypes.Edge>[];
2247
+ changes: EdgeChange<RelationshipsBrowserTypes.Edge>[];
1821
2248
  } | {
1822
2249
  type: 'xyflow.paneClick';
1823
2250
  } | {
@@ -1845,7 +2272,7 @@ declare type Events_2 = {
1845
2272
  } | {
1846
2273
  type: 'fitDiagram';
1847
2274
  duration?: number;
1848
- bounds?: BBox_3;
2275
+ bounds?: BBox_2;
1849
2276
  } | {
1850
2277
  type: 'navigate.to';
1851
2278
  subject: Fqn_3;
@@ -1868,7 +2295,7 @@ declare type Events_2 = {
1868
2295
  declare type Events_3 = {
1869
2296
  type: 'xyflow.init';
1870
2297
  instance: XYFLowInstance_2;
1871
- store: XYStoreApi_3;
2298
+ store: XYStoreApi_2;
1872
2299
  } | {
1873
2300
  type: 'xyflow.nodeClick';
1874
2301
  node: RelationshipDetailsTypes.Node;
@@ -1891,10 +2318,10 @@ declare type Events_3 = {
1891
2318
  edges: RelationshipDetailsTypes.Edge[];
1892
2319
  } | {
1893
2320
  type: 'xyflow.applyNodeChanges';
1894
- changes: NodeChange_2<RelationshipDetailsTypes.Node>[];
2321
+ changes: NodeChange<RelationshipDetailsTypes.Node>[];
1895
2322
  } | {
1896
2323
  type: 'xyflow.applyEdgeChanges';
1897
- changes: EdgeChange_2<RelationshipDetailsTypes.Edge>[];
2324
+ changes: EdgeChange<RelationshipDetailsTypes.Edge>[];
1898
2325
  } | {
1899
2326
  type: 'xyflow.paneClick';
1900
2327
  } | {
@@ -1909,11 +2336,11 @@ declare type Events_3 = {
1909
2336
  } | {
1910
2337
  type: 'fitDiagram';
1911
2338
  duration?: number;
1912
- bounds?: BBox_3;
2339
+ bounds?: BBox_2;
1913
2340
  } | {
1914
2341
  type: 'navigate.to';
1915
2342
  params: {
1916
- edgeId: EdgeId_2;
2343
+ edgeId: EdgeId;
1917
2344
  viewId?: ViewId_3;
1918
2345
  } | {
1919
2346
  source: Fqn_3;
@@ -1924,6 +2351,51 @@ declare type Events_3 = {
1924
2351
  type: 'close';
1925
2352
  };
1926
2353
 
2354
+ declare type Events_4 = {
2355
+ type: 'update.inputs';
2356
+ inputs: Input_3;
2357
+ } | {
2358
+ type: 'searchQuery.change';
2359
+ value: string;
2360
+ } | {
2361
+ type: 'searchQuery.changed';
2362
+ } | {
2363
+ type: 'select.folder';
2364
+ folderPath: string;
2365
+ } | {
2366
+ type: 'select.view';
2367
+ viewId: ViewId;
2368
+ } | {
2369
+ type: 'breadcrumbs.mouseLeave';
2370
+ } | {
2371
+ type: 'breadcrumbs.mouseEnter.root';
2372
+ } | {
2373
+ type: 'breadcrumbs.mouseLeave.root';
2374
+ } | {
2375
+ type: 'breadcrumbs.mouseEnter.folder';
2376
+ folderPath: string;
2377
+ } | {
2378
+ type: 'breadcrumbs.mouseLeave.folder';
2379
+ folderPath: string;
2380
+ } | {
2381
+ type: 'breadcrumbs.mouseEnter.viewtitle';
2382
+ } | {
2383
+ type: 'breadcrumbs.mouseLeave.viewtitle';
2384
+ } | {
2385
+ type: 'breadcrumbs.click.root';
2386
+ } | {
2387
+ type: 'breadcrumbs.click.folder';
2388
+ folderPath: string;
2389
+ } | {
2390
+ type: 'breadcrumbs.click.viewtitle';
2391
+ } | {
2392
+ type: 'dropdown.mouseEnter';
2393
+ } | {
2394
+ type: 'dropdown.mouseLeave';
2395
+ } | {
2396
+ type: 'dropdown.dismiss';
2397
+ };
2398
+
1927
2399
  declare interface ExecutableActionObject {
1928
2400
  type: string;
1929
2401
  info: ActionArgs<MachineContext, EventObject, EventObject>;
@@ -1933,6 +2405,11 @@ declare interface ExecutableActionObject {
1933
2405
 
1934
2406
  declare type ExtractEvent<TEvent extends EventObject, TDescriptor extends EventDescriptor<TEvent>> = string extends TEvent['type'] ? TEvent : NormalizeDescriptor<TDescriptor> extends infer TNormalizedDescriptor ? TEvent extends any ? true extends EventDescriptorMatches<TEvent['type'], TNormalizedDescriptor> ? TEvent : never : never : never;
1935
2407
 
2408
+ declare type FallbackProps = {
2409
+ error: unknown;
2410
+ resetErrorBoundary: (...args: unknown[]) => void;
2411
+ };
2412
+
1936
2413
  export declare type FeatureName = typeof FeatureNames[number];
1937
2414
 
1938
2415
  declare const FeatureNames: readonly ["Controls", "Editor", "AISemanticLayout", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "FitView", "CompareWithLatest", "Notes", "Vscode", "ElementTags"];
@@ -1941,13 +2418,13 @@ declare type Fqn_2<A> = t.aux.Fqn<A>;
1941
2418
 
1942
2419
  declare type Fqn_4<A> = t.aux.Fqn<A>;
1943
2420
 
1944
- export declare const FramerMotionConfig: ({ reducedMotion, children, }: PropsWithChildren<{
2421
+ export declare function FramerMotionConfig({ reducedMotion, children, }: PropsWithChildren<{
1945
2422
  /**
1946
2423
  * If true, will respect the device prefersReducedMotion setting by switching
1947
2424
  * transform animations off.
1948
2425
  */
1949
- reducedMotion?: "always" | "never" | "user" | undefined;
1950
- }>) => JSX.Element;
2426
+ reducedMotion?: 'always' | 'never' | 'user' | undefined;
2427
+ }>): JSX.Element;
1951
2428
 
1952
2429
  declare type GetConcreteByKey<T, TKey extends keyof T, TValue extends T[TKey]> = T & Record<TKey, TValue>;
1953
2430
 
@@ -1975,12 +2452,18 @@ declare type GuardPredicate<TContext extends MachineContext, TExpressionEvent ex
1975
2452
 
1976
2453
  declare type HistoryValue<TContext extends MachineContext, TEvent extends EventObject> = Record<string, Array<StateNode<TContext, TEvent>>>;
1977
2454
 
2455
+ declare interface HotkeyActorLogic extends CallbackActorLogic<AnyEventObject, NonReducibleUnknown, HotKeyEvent> {
2456
+ }
2457
+
2458
+ declare interface HotkeyActorLogic_2 extends CallbackActorLogic<AnyEventObject, NonReducibleUnknown, HotKeyEvent_2> {
2459
+ }
2460
+
1978
2461
  declare type HotKeyEvent = {
1979
2462
  type: 'key.esc' | `key.arrow.${'left' | 'right' | 'up' | 'down'}`;
1980
2463
  };
1981
2464
 
1982
2465
  declare type HotKeyEvent_2 = {
1983
- type: 'undo';
2466
+ type: 'undo' | 'redo';
1984
2467
  };
1985
2468
 
1986
2469
  declare type IconProps = {
@@ -2023,15 +2506,27 @@ export declare function IconRendererProvider({ value, children, }: PropsWithChil
2023
2506
  export declare function IfEnabled({ feature, children, and, }: PropsWithChildren<{
2024
2507
  feature: FeatureName;
2025
2508
  and?: boolean;
2026
- }>): JSX.Element | null;
2509
+ }>): JSX_2.Element | null;
2027
2510
 
2028
2511
  export declare function IfNotEnabled({ feature, children }: PropsWithChildren<{
2029
2512
  feature: FeatureName;
2030
- }>): JSX.Element | null;
2513
+ }>): JSX_2.Element | null;
2514
+
2515
+ export declare function IfNotReadOnly({ children }: PropsWithChildren): JSX_2.Element | null;
2516
+
2517
+ export declare function IfReadOnly({ children }: PropsWithChildren): JSX_2.Element | null;
2031
2518
 
2032
- export declare function IfNotReadOnly({ children }: PropsWithChildren): JSX.Element | null;
2519
+ declare type inferChildrenRef<A> = A extends Record<string, AnyActorLogic> ? {
2520
+ [K in keyof A & string]: ActorRefFromLogic<A[K]> | undefined;
2521
+ } : never;
2033
2522
 
2034
- export declare function IfReadOnly({ children }: PropsWithChildren): JSX.Element | null;
2523
+ declare type inferProvidedActor<A> = A extends Record<string, AnyActorLogic> ? {
2524
+ [K in keyof A & string]: {
2525
+ id: K;
2526
+ logic: A[K];
2527
+ src: K;
2528
+ };
2529
+ }[keyof A & string] : never;
2035
2530
 
2036
2531
  declare type InitialContext<TContext extends MachineContext, TActor extends ProvidedActor, TInput, TEvent extends EventObject> = TContext | ContextFactory<TContext, TActor, TInput, TEvent>;
2037
2532
 
@@ -2045,29 +2540,7 @@ declare interface InitialTransitionDefinition<TContext extends MachineContext, T
2045
2540
  guard?: never;
2046
2541
  }
2047
2542
 
2048
- declare interface Input {
2049
- view: DiagramView;
2050
- xystore: XYStoreApi;
2051
- zoomable: boolean;
2052
- pannable: boolean;
2053
- nodesDraggable: boolean;
2054
- nodesSelectable: boolean;
2055
- fitViewPadding: ViewPaddings;
2056
- where: WhereOperator | null;
2057
- dynamicViewVariant?: DynamicViewDisplayVariant | undefined;
2058
- features?: EnabledFeatures;
2059
- }
2060
-
2061
- declare type Input_2 = {
2062
- subject: Fqn;
2063
- currentView: DiagramView;
2064
- initiatedFrom?: {
2065
- node?: NodeId;
2066
- clientRect?: Rect;
2067
- };
2068
- };
2069
-
2070
- declare type Input_3 = {
2543
+ declare type Input = {
2071
2544
  subject: Fqn_3;
2072
2545
  viewId: ViewId_3 | null;
2073
2546
  scope: 'global' | 'view';
@@ -2076,9 +2549,9 @@ declare type Input_3 = {
2076
2549
  enableChangeScope?: boolean;
2077
2550
  };
2078
2551
 
2079
- declare type Input_4 = ExclusiveUnion_2<{
2552
+ declare type Input_2 = ExclusiveUnion_2<{
2080
2553
  Edge: {
2081
- edgeId: EdgeId_2;
2554
+ edgeId: EdgeId;
2082
2555
  viewId: ViewId_3;
2083
2556
  };
2084
2557
  Between: {
@@ -2088,6 +2561,24 @@ declare type Input_4 = ExclusiveUnion_2<{
2088
2561
  };
2089
2562
  }>;
2090
2563
 
2564
+ declare interface Input_3 {
2565
+ view: LayoutedView;
2566
+ viewModel: CurrentViewModel | null;
2567
+ }
2568
+
2569
+ declare interface Input_4 {
2570
+ view: DiagramView;
2571
+ xystore: XYStoreApi_3;
2572
+ zoomable: boolean;
2573
+ pannable: boolean;
2574
+ nodesDraggable: boolean;
2575
+ nodesSelectable: boolean;
2576
+ fitViewPadding: ViewPaddings;
2577
+ where: WhereOperator | null;
2578
+ dynamicViewVariant?: DynamicViewDisplayVariant | undefined;
2579
+ features?: EnabledFeatures;
2580
+ }
2581
+
2091
2582
  declare type InputFrom<T> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TStateValue, infer _TTag, infer TInput, infer _TOutput, infer _TEmitted, infer _TMeta, infer _TStateSchema> ? TInput : T extends ActorLogic<infer _TSnapshot, infer _TEvent, infer TInput, infer _TSystem, infer _TEmitted> ? TInput : never;
2092
2583
 
2093
2584
  declare interface InspectedActionEvent extends BaseInspectionEventProperties {
@@ -2121,7 +2612,13 @@ declare interface InspectedSnapshotEvent extends BaseInspectionEventProperties {
2121
2612
  snapshot: Snapshot<unknown>;
2122
2613
  }
2123
2614
 
2124
- declare type InspectionEvent = InspectedSnapshotEvent | InspectedEventEvent | InspectedActorEvent | InspectedMicrostepEvent | InspectedActionEvent;
2615
+ declare interface InspectedTransitionEvent extends BaseInspectionEventProperties {
2616
+ type: '@xstate.transition';
2617
+ event: AnyEventObject;
2618
+ snapshot: Snapshot<unknown>;
2619
+ }
2620
+
2621
+ declare type InspectionEvent = InspectedSnapshotEvent | InspectedEventEvent | InspectedActorEvent | InspectedTransitionEvent | InspectedMicrostepEvent | InspectedActionEvent;
2125
2622
 
2126
2623
  declare type InternalMachineImplementations<TTypes extends StateMachineTypes> = {
2127
2624
  actions?: MachineImplementationsActions<TTypes>;
@@ -2340,7 +2837,7 @@ export declare type LikeC4ColorScheme = 'light' | 'dark';
2340
2837
  *
2341
2838
  * Use {@link ReactLikeC4} or {@link LikeC4View} for ready-to-use component
2342
2839
  */
2343
- export declare function LikeC4Diagram<A extends Any = Any>({ onCanvasClick, onCanvasContextMenu, onCanvasDblClick, onEdgeClick, onEdgeContextMenu, onNavigateTo, onNodeClick, onNodeContextMenu, onOpenSource, onLogoClick, onLayoutTypeChange, onInitialized, view, className, controls, fitView, fitViewPadding: _fitViewPadding, pannable, zoomable, background, enableElementTags, enableFocusMode, enableElementDetails, enableRelationshipDetails, enableRelationshipBrowser, enableCompareWithLatest, nodesSelectable, enableNotations, showNavigationButtons, enableDynamicViewWalkthrough, dynamicViewVariant, enableSearch, enableNotes, initialWidth, initialHeight, reduceGraphics, renderIcon, where, reactFlowProps, renderNodes, children, }: LikeC4DiagramProps<A>): JSX.Element;
2840
+ export declare function LikeC4Diagram<A extends Any = Any>({ onCanvasClick, onCanvasContextMenu, onCanvasDblClick, onEdgeClick, onEdgeContextMenu, onNavigateTo, onNodeClick, onNodeContextMenu, onOpenSource, onLogoClick, onLayoutTypeChange, onInitialized, view, className, controls, fitView, fitViewPadding: _fitViewPadding, pannable, zoomable, background, enableElementTags, enableFocusMode, enableElementDetails, enableRelationshipDetails, enableRelationshipBrowser, enableCompareWithLatest, nodesSelectable, enableNotations, showNavigationButtons, enableDynamicViewWalkthrough, dynamicViewVariant, enableSearch, enableNotes, initialWidth, initialHeight, reduceGraphics, renderIcon, where, reactFlowProps, renderNodes, children, }: LikeC4DiagramProps<A>): JSX_2.Element;
2344
2841
 
2345
2842
  export declare interface LikeC4DiagramEventHandlers<A extends Any_2 = Unknown> {
2346
2843
  onNavigateTo?: OnNavigateTo<A> | null | undefined;
@@ -2581,7 +3078,7 @@ export declare type LikeC4EditorProviderProps = PropsWithChildren<{
2581
3078
  /**
2582
3079
  * Ensures LikeC4Model context
2583
3080
  */
2584
- export declare function LikeC4ModelProvider({ children, likec4model, }: PropsWithChildren<LikeC4ModelProviderProps>): JSX.Element;
3081
+ export declare function LikeC4ModelProvider({ children, likec4model, }: PropsWithChildren<LikeC4ModelProviderProps>): JSX_2.Element;
2585
3082
 
2586
3083
  export declare interface LikeC4ModelProviderProps {
2587
3084
  likec4model: LikeC4Model<any>;
@@ -2592,7 +3089,7 @@ declare type LikeC4ProjectsContext = {
2592
3089
  onProjectChange: (id: ProjectId) => void;
2593
3090
  };
2594
3091
 
2595
- export declare function LikeC4ProjectsOverview({ view, className, onNavigateToProject, ...props }: LikeC4ProjectsOverviewProps): JSX.Element;
3092
+ export declare function LikeC4ProjectsOverview({ view, className, onNavigateToProject, ...props }: LikeC4ProjectsOverviewProps): JSX_2.Element;
2596
3093
 
2597
3094
  export declare type LikeC4ProjectsOverviewProps = Simplify<ProjectsOverviewProps & {
2598
3095
  className?: string;
@@ -2602,7 +3099,7 @@ export declare type LikeC4ProjectsOverviewProps = Simplify<ProjectsOverviewProps
2602
3099
  /**
2603
3100
  * Ensures LikeC4Projects context
2604
3101
  */
2605
- export declare function LikeC4ProjectsProvider({ children, projects, onProjectChange: _onProjectChange, }: PropsWithChildren<LikeC4ProjectsProviderProps>): JSX.Element;
3102
+ export declare function LikeC4ProjectsProvider({ children, projects, onProjectChange: _onProjectChange, }: PropsWithChildren<LikeC4ProjectsProviderProps>): JSX_2.Element;
2606
3103
 
2607
3104
  export declare interface LikeC4ProjectsProviderProps {
2608
3105
  /**
@@ -2624,7 +3121,7 @@ export declare interface LikeC4ProjectsProviderProps {
2624
3121
  *
2625
3122
  * Component is wrapped in ShadowRoot to isolate styles.
2626
3123
  */
2627
- export declare function LikeC4View<A extends t.aux.Any = t.aux.UnknownLayouted>({ viewId, className, pannable, zoomable, keepAspectRatio, colorScheme, injectFontCss, controls, layoutType: initialLayoutType, background, browser, showNavigationButtons, enableNotations, enableFocusMode, enableDynamicViewWalkthrough, enableElementDetails, enableRelationshipDetails, enableRelationshipBrowser, enableNotes, reduceGraphics, mantineTheme, styleNonce, style, reactFlowProps, renderNodes, children, ...props }: LikeC4ViewProps<A>): JSX.Element;
3124
+ export declare function LikeC4View<A extends t.aux.Any = t.aux.UnknownLayouted>({ viewId, className, pannable, zoomable, keepAspectRatio, colorScheme, injectFontCss, controls, layoutType: initialLayoutType, background, browser, showNavigationButtons, enableNotations, enableFocusMode, enableDynamicViewWalkthrough, enableElementDetails, enableRelationshipDetails, enableRelationshipBrowser, enableNotes, reduceGraphics, mantineTheme, styleNonce, style, reactFlowProps, renderNodes, children, ...props }: LikeC4ViewProps<A>): JSX_2.Element;
2628
3125
 
2629
3126
  export declare interface LikeC4ViewProps<A extends t.aux.Any = t.aux.UnknownLayouted> {
2630
3127
  /**
@@ -2815,6 +3312,8 @@ declare type MachineConfig<TContext extends MachineContext, TEvent extends Event
2815
3312
  /** The machine's own version. */
2816
3313
  version?: string;
2817
3314
  output?: Mapper<TContext, DoneStateEvent, TOutput, TEvent> | TOutput;
3315
+ /** Runtime options for machine execution. */
3316
+ options?: MachineOptions;
2818
3317
  }) & (MachineContext extends TContext ? {
2819
3318
  context?: InitialContext<LowInfer<TContext>, TActor, TInput, TEvent>;
2820
3319
  } : {
@@ -2850,6 +3349,32 @@ declare interface MachineImplementationsSimplified<TContext extends MachineConte
2850
3349
  delays: DelayFunctionMap<TContext, TEvent, TAction>;
2851
3350
  }
2852
3351
 
3352
+ /**
3353
+ * Runtime options for state machine execution.
3354
+ *
3355
+ * @example
3356
+ *
3357
+ * ```ts
3358
+ * const machine = createMachine({
3359
+ * // ... machine config
3360
+ * options: {
3361
+ * maxIterations: 5000
3362
+ * // other runtime options can be added here
3363
+ * }
3364
+ * });
3365
+ * ```
3366
+ */
3367
+ declare interface MachineOptions {
3368
+ /**
3369
+ * Maximum number of microsteps allowed before throwing an infinite loop
3370
+ * error. Defaults to `Infinity` (no limit). Set to a finite number to enable
3371
+ * infinite loop detection.
3372
+ *
3373
+ * @default Infinity
3374
+ */
3375
+ maxIterations?: number;
3376
+ }
3377
+
2853
3378
  declare type MachineSnapshot<TContext extends MachineContext, TEvent extends EventObject, TChildren extends Record<string, AnyActorRef | undefined>, TStateValue extends StateValue, TTag extends string, TOutput, TMeta extends MetaObject, TStateSchema extends StateSchema> = ActiveMachineSnapshot<TContext, TEvent, TChildren, TStateValue, TTag, TOutput, TMeta, TStateSchema> | DoneMachineSnapshot<TContext, TEvent, TChildren, TStateValue, TTag, TOutput, TMeta, TStateSchema> | ErrorMachineSnapshot<TContext, TEvent, TChildren, TStateValue, TTag, TOutput, TMeta, TStateSchema> | StoppedMachineSnapshot<TContext, TEvent, TChildren, TStateValue, TTag, TOutput, TMeta, TStateSchema>;
2854
3379
 
2855
3380
  declare interface MachineSnapshotBase<TContext extends MachineContext, TEvent extends EventObject, TChildren extends Record<string, AnyActorRef | undefined>, TStateValue extends StateValue, TTag extends string, TOutput, TMeta, TStateSchema extends StateSchema = StateSchema> {
@@ -2953,6 +3478,9 @@ export declare const Markdown: ForwardRefExoticComponent<Omit<Omit< DetailedHTML
2953
3478
  emptyText?: string;
2954
3479
  } & RefAttributes<HTMLDivElement>>;
2955
3480
 
3481
+ declare interface MediaPrintActorLogic extends CallbackActorLogic<AnyEventObject, NonReducibleUnknown, MediaPrintEvent> {
3482
+ }
3483
+
2956
3484
  declare type MediaPrintEvent = {
2957
3485
  type: 'media.print.on';
2958
3486
  } | {
@@ -2984,7 +3512,7 @@ declare interface NavigationHistoryEntry_2 {
2984
3512
  };
2985
3513
  focusedNode?: NodeId | null;
2986
3514
  dynamicViewVariant?: DynamicViewDisplayVariant | null;
2987
- activeWalkthrough?: null | StepEdgeId;
3515
+ activeWalkthrough?: null | StepPath;
2988
3516
  }
2989
3517
 
2990
3518
  export declare const NavigationPanel: {
@@ -2995,6 +3523,14 @@ export declare const NavigationPanel: {
2995
3523
  Dropdown: StyleContextConsumer<ForwardRefComponent<"div", HTMLMotionProps<"div">>>;
2996
3524
  };
2997
3525
 
3526
+ declare interface NavigationPanelActorLogic extends StateMachine<Context_4, Events_4, any, any, any, any, any, StateValueFrom<typeof _actorLogic>, Tags_3, Input_3, any, any, any, any> {
3527
+ }
3528
+
3529
+ declare interface NavigationPanelActorRef extends ActorRef<NavigationPanelActorSnapshot, Events_4, never> {
3530
+ }
3531
+
3532
+ declare type NavigationPanelActorSnapshot = SnapshotFrom<NavigationPanelActorLogic>;
3533
+
2998
3534
  declare type NodeId_2 = t.aux.NodeId;
2999
3535
 
3000
3536
  export declare type NodeRenderers = Partial<CamelCasedProperties<Types.NodeRenderers>>;
@@ -3179,7 +3715,7 @@ export declare type OverlayProps = PropsWithChildren<{
3179
3715
 
3180
3716
  declare namespace Overlays {
3181
3717
  namespace ElementDetails {
3182
- interface Input extends Input_2 {
3718
+ interface Input extends ElementDetailsInput {
3183
3719
  }
3184
3720
  interface Logic extends ElementDetailsLogic {
3185
3721
  }
@@ -3187,14 +3723,14 @@ declare namespace Overlays {
3187
3723
  }
3188
3724
  }
3189
3725
  namespace RelationshipDetails {
3190
- type Input = Input_4;
3726
+ type Input = Input_2;
3191
3727
  interface Logic extends RelationshipDetailsLogic {
3192
3728
  }
3193
3729
  interface ActorRef extends RelationshipDetailsActorRef {
3194
3730
  }
3195
3731
  }
3196
3732
  namespace RelationshipsBrowser {
3197
- interface Input extends Input_3 {
3733
+ interface Input extends Input {
3198
3734
  }
3199
3735
  interface Logic extends RelationshipsBrowserLogic {
3200
3736
  }
@@ -3231,7 +3767,7 @@ declare interface OverlaysContext {
3231
3767
  }>;
3232
3768
  }
3233
3769
 
3234
- declare type OverrideReactFlowProps = Pick<ReactFlowProps<Types.AnyNode, Types.AnyEdge>, 'paneClickDistance' | 'nodeClickDistance' | 'selectionKeyCode' | 'panActivationKeyCode' | 'multiSelectionKeyCode' | 'zoomActivationKeyCode' | 'snapToGrid' | 'snapGrid' | 'onlyRenderVisibleElements' | 'nodesDraggable' | 'nodesFocusable' | 'elementsSelectable' | 'selectNodesOnDrag' | 'panOnDrag' | 'preventScrolling' | 'zoomOnScroll' | 'zoomOnPinch' | 'panOnScroll' | 'panOnScrollSpeed' | 'panOnScrollMode' | 'zoomOnDoubleClick' | 'nodeDragThreshold'>;
3770
+ declare type OverrideReactFlowProps = Pick<ReactFlowProps<Types.AnyNode, Types.AnyEdge>, 'paneClickDistance' | 'nodeClickDistance' | 'selectionKeyCode' | 'panActivationKeyCode' | 'multiSelectionKeyCode' | 'zoomActivationKeyCode' | 'snapToGrid' | 'snapGrid' | 'onlyRenderVisibleElements' | 'nodesDraggable' | 'nodesFocusable' | 'elementsSelectable' | 'selectNodesOnDrag' | 'panOnDrag' | 'preventScrolling' | 'zoomOnScroll' | 'zoomOnPinch' | 'panOnScroll' | 'panOnScrollSpeed' | 'panOnScrollMode' | 'zoomOnDoubleClick' | 'nodeDragThreshold' | 'edgesFocusable'>;
3235
3771
 
3236
3772
  export declare type PaddingUnit = 'px' | '%';
3237
3773
 
@@ -3252,7 +3788,7 @@ declare type PickEmittedEvent<T> = T extends DiagramEmittedEvents['type'] ? Diag
3252
3788
  * Picks appropriate bounds from the view,
3253
3789
  * depending on its type and dynamic variant
3254
3790
  */
3255
- export declare function pickViewBounds(view: LayoutedView, dynamicVariant?: DynamicViewDisplayVariant): BBox_2;
3791
+ export declare function pickViewBounds(view: LayoutedView, dynamicVariant?: DynamicViewDisplayVariant): BBox_3;
3256
3792
 
3257
3793
  /**
3258
3794
  * PortalToContainer is used to render elements outside the LikeC4DiagramXYFlow, but inside the container.
@@ -3281,6 +3817,16 @@ declare type ProjectsOverviewXYProps = {
3281
3817
  colorScheme?: 'light' | 'dark' | undefined;
3282
3818
  };
3283
3819
 
3820
+ declare type PromiseActorLogic<TOutput, TInput = unknown, TEmitted extends EventObject = EventObject> = ActorLogic<PromiseSnapshot<TOutput, TInput>, {
3821
+ type: string;
3822
+ [k: string]: unknown;
3823
+ }, TInput, // input
3824
+ AnyActorSystem, TEmitted>;
3825
+
3826
+ declare type PromiseSnapshot<TOutput, TInput> = Snapshot<TOutput> & {
3827
+ input: TInput | undefined;
3828
+ };
3829
+
3284
3830
  declare interface ProvidedActor {
3285
3831
  src: string;
3286
3832
  logic: UnknownActorLogic;
@@ -3293,7 +3839,7 @@ declare interface ProvidedActor {
3293
3839
  *
3294
3840
  * Component is wrapped in ShadowRoot to isolate styles.
3295
3841
  */
3296
- export declare function ReactLikeC4<A extends t.aux.Any = t.aux.UnknownLayouted>({ viewId, layoutType: initialLayoutType, className, colorScheme, injectFontCss, enableNotations, keepAspectRatio, style, mantineTheme, styleNonce, ...props }: ReactLikeC4Props<A>): JSX.Element;
3842
+ export declare function ReactLikeC4<A extends t.aux.Any = t.aux.UnknownLayouted>({ viewId, layoutType: initialLayoutType, className, colorScheme, injectFontCss, enableNotations, keepAspectRatio, style, mantineTheme, styleNonce, ...props }: ReactLikeC4Props<A>): JSX_2.Element;
3297
3843
 
3298
3844
  export declare type ReactLikeC4Props<A extends t.aux.Any = t.aux.UnknownLayouted> = {
3299
3845
  viewId: t.aux.ViewId<A>;
@@ -3328,7 +3874,7 @@ export declare type ReactLikeC4Props<A extends t.aux.Any = t.aux.UnknownLayouted
3328
3874
  style?: CSSProperties | undefined;
3329
3875
  mantineTheme?: any;
3330
3876
  /** Function to generate nonce attribute added to all generated `<style />` tags */
3331
- styleNonce?: string | (() => string) | undefined;
3877
+ styleNonce?: string | (() => string | undefined) | undefined;
3332
3878
  children?: ReactNode | undefined;
3333
3879
  } & Omit<LikeC4DiagramProperties<A>, 'view'> & LikeC4DiagramEventHandlers<A>;
3334
3880
 
@@ -3341,7 +3887,7 @@ declare type RelationId = t.aux.RelationId;
3341
3887
  declare interface RelationshipDetailsActorRef extends ActorRef<RelationshipDetailsSnapshot, Events_3> {
3342
3888
  }
3343
3889
 
3344
- declare interface RelationshipDetailsLogic extends StateMachine<Context_3, Events_3, {}, any, any, any, any, any, Tags_2, Input_4, any, any, any, any> {
3890
+ declare interface RelationshipDetailsLogic extends StateMachine<Context_3, Events_3, {}, any, any, any, any, any, Tags_2, Input_2, any, any, any, any> {
3345
3891
  }
3346
3892
 
3347
3893
  declare type RelationshipDetailsSnapshot = SnapshotFrom<RelationshipDetailsLogic>;
@@ -3403,7 +3949,7 @@ declare namespace RelationshipDetailsTypes {
3403
3949
  declare interface RelationshipsBrowserActorRef extends ActorRef<RelationshipsBrowserSnapshot, Events_2> {
3404
3950
  }
3405
3951
 
3406
- declare interface RelationshipsBrowserLogic extends StateMachine<Context_2, Events_2, {}, any, any, any, any, any, Tags, Input_3, any, any, any, any> {
3952
+ declare interface RelationshipsBrowserLogic extends StateMachine<Context_2, Events_2, {}, any, any, any, any, any, Tags, Input, any, any, any, any> {
3407
3953
  }
3408
3954
 
3409
3955
  declare type RelationshipsBrowserSnapshot = SnapshotFrom<RelationshipsBrowserLogic>;
@@ -3544,7 +4090,7 @@ declare interface ScheduledEvent {
3544
4090
  target: AnyActorRef;
3545
4091
  }
3546
4092
 
3547
- declare interface Scheduler {
4093
+ declare interface Scheduler_2 {
3548
4094
  schedule(source: AnyActorRef, target: AnyActorRef, event: EventObject, delay: number, id: string | undefined): void;
3549
4095
  cancel(source: AnyActorRef, id: string): void;
3550
4096
  cancelAll(actorRef: AnyActorRef): void;
@@ -3581,7 +4127,7 @@ declare type SearchActorSnapshot = SnapshotFrom<SearchActorLogic>;
3581
4127
 
3582
4128
  export declare const searchBodyCss: string;
3583
4129
 
3584
- export declare const SearchContext: Context_4<SearchContextValue | null>;
4130
+ export declare const SearchContext: Context_5<SearchContextValue | null>;
3585
4131
 
3586
4132
  declare interface SearchContext_2 {
3587
4133
  openedWithSearch: string | null;
@@ -3608,7 +4154,7 @@ export declare interface SearchContextValue {
3608
4154
 
3609
4155
  export declare function SearchControl({ className, ...others }: SearchControlProps): JSX.Element;
3610
4156
 
3611
- declare interface SearchControlProps extends UnstyledButtonProps, ElementProps<'button'> {
4157
+ declare interface SearchControlProps extends Omit<UnstyledButtonProps, 'className'>, ElementProps<'button'> {
3612
4158
  }
3613
4159
 
3614
4160
  export declare const searchDialogCss: string;
@@ -3619,6 +4165,60 @@ export declare const searchDialogCss: string;
3619
4165
  */
3620
4166
  export declare const SearchPanelContent: ForwardRefExoticComponent<RefAttributes<HTMLDivElement>>;
3621
4167
 
4168
+ /**
4169
+ * Tuple type for selector and compare function pair
4170
+ */
4171
+ declare type SelectAndCompare<A, B> = [
4172
+ selector: (snapshot: A) => B,
4173
+ compare: (a: B, b: B) => boolean
4174
+ ];
4175
+
4176
+ export declare const selectDiagramContext: <T>(select: (state: DiagramContext) => T, compare?: ((old: NoInfer<T>, next: NoInfer<T>) => boolean) | undefined) => SelectAndCompare< MachineSnapshot<DiagramContext, DiagramEvents, {
4177
+ overlays: OverlaysActorRef | undefined;
4178
+ search: SearchActorRef | undefined;
4179
+ editor: BaseEditorActorRef | undefined;
4180
+ navigationPanel: NavigationPanelActorRef | undefined;
4181
+ } & Omit<{
4182
+ hotkey: ActorRefFromLogic<HotkeyActorLogic> | undefined;
4183
+ overlays: ActorRefFromLogic<OverlaysActorLogic> | undefined;
4184
+ search: ActorRefFromLogic<SearchActorLogic> | undefined;
4185
+ mediaPrint: ActorRefFromLogic<MediaPrintActorLogic> | undefined;
4186
+ editor: ActorRefFromLogic<EditorActorLogic> | undefined;
4187
+ navigationPanel: ActorRefFromLogic<NavigationPanelActorLogic> | undefined;
4188
+ }, "search" | "overlays" | "editor" | "navigationPanel">, "final" | "isReady" | "navigating" | "ready" | "initializing" | {
4189
+ ready?: NonNullable<"idle" | "walkthrough" | "focused" | "printing">;
4190
+ }, never, never, never, never>, T>;
4191
+
4192
+ export declare const selectDiagramSnapshot: <T>(select: (state: MachineSnapshot<DiagramContext, DiagramEvents, {
4193
+ overlays: OverlaysActorRef | undefined;
4194
+ search: SearchActorRef | undefined;
4195
+ editor: BaseEditorActorRef | undefined;
4196
+ navigationPanel: NavigationPanelActorRef | undefined;
4197
+ } & Omit<{
4198
+ hotkey: ActorRefFromLogic<HotkeyActorLogic> | undefined;
4199
+ overlays: ActorRefFromLogic<OverlaysActorLogic> | undefined;
4200
+ search: ActorRefFromLogic<SearchActorLogic> | undefined;
4201
+ mediaPrint: ActorRefFromLogic<MediaPrintActorLogic> | undefined;
4202
+ editor: ActorRefFromLogic<EditorActorLogic> | undefined;
4203
+ navigationPanel: ActorRefFromLogic<NavigationPanelActorLogic> | undefined;
4204
+ }, "search" | "overlays" | "editor" | "navigationPanel">, "final" | "isReady" | "navigating" | "ready" | "initializing" | {
4205
+ ready?: NonNullable<"idle" | "walkthrough" | "focused" | "printing">;
4206
+ }, never, never, never, never>) => T, compare?: ((old: NoInfer<T>, next: NoInfer<T>) => boolean) | undefined) => SelectAndCompare< MachineSnapshot<DiagramContext, DiagramEvents, {
4207
+ overlays: OverlaysActorRef | undefined;
4208
+ search: SearchActorRef | undefined;
4209
+ editor: BaseEditorActorRef | undefined;
4210
+ navigationPanel: NavigationPanelActorRef | undefined;
4211
+ } & Omit<{
4212
+ hotkey: ActorRefFromLogic<HotkeyActorLogic> | undefined;
4213
+ overlays: ActorRefFromLogic<OverlaysActorLogic> | undefined;
4214
+ search: ActorRefFromLogic<SearchActorLogic> | undefined;
4215
+ mediaPrint: ActorRefFromLogic<MediaPrintActorLogic> | undefined;
4216
+ editor: ActorRefFromLogic<EditorActorLogic> | undefined;
4217
+ navigationPanel: ActorRefFromLogic<NavigationPanelActorLogic> | undefined;
4218
+ }, "search" | "overlays" | "editor" | "navigationPanel">, "final" | "isReady" | "navigating" | "ready" | "initializing" | {
4219
+ ready?: NonNullable<"idle" | "walkthrough" | "focused" | "printing">;
4220
+ }, never, never, never, never>, T>;
4221
+
3622
4222
  export declare function SequenceActorNode(props: Types.NodeProps<'seq-actor'>): JSX.Element;
3623
4223
 
3624
4224
  export declare function sequenceActorNode<A extends Any_5 = Unknown_3>(component: FC<SequenceActorNodeProps<A>>): Types.NodeRenderer<'seq-actor'>;
@@ -3630,9 +4230,9 @@ export declare type SequenceActorNodeProps<A extends Any_5 = Unknown_3> = {
3630
4230
 
3631
4231
  export declare function SequenceParallelArea(props: Types.NodeProps<'seq-parallel'>): JSX.Element;
3632
4232
 
3633
- declare function setData<E extends WithData<any>>(value: E, state: Partial<E['data']>): E;
4233
+ declare function setData<E extends WithData<any>>(value: E, data: Partial<E['data']>): E;
3634
4234
 
3635
- declare function setData<E extends WithData<any>>(state: Partial<NoInfer<E['data']>>): (value: E) => E;
4235
+ declare function setData<E extends WithData<any>>(state: Partial<NoInfer<E>['data']>): (value: E) => E;
3636
4236
 
3637
4237
  declare function setDimmed<T extends WithDimmed>(value: T, dimmed: 'immediate' | boolean): T;
3638
4238
 
@@ -3721,6 +4321,8 @@ options?: {
3721
4321
  }
3722
4322
  ], IsNotNever<RequiredActorOptions<TActor>>> : never;
3723
4323
 
4324
+ declare type StateFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = T extends AnyStateMachine ? ReturnType<T['transition']> : T extends (...args: any[]) => AnyStateMachine ? ReturnType<ReturnType<T>['transition']> : never;
4325
+
3724
4326
  declare type StateId<TSchema extends StateSchema, TKey extends string = '(machine)', TParentKey extends string | null = null> = (TSchema extends {
3725
4327
  id: string;
3726
4328
  } ? TSchema['id'] : TParentKey extends null ? TKey : `${TParentKey}.${TKey}`) | (TSchema['states'] extends Record<string, any> ? Values<{
@@ -3737,6 +4339,8 @@ declare class StateMachine<TContext extends MachineContext, TEvent extends Event
3737
4339
  version?: string;
3738
4340
  schemas: unknown;
3739
4341
  implementations: MachineImplementationsSimplified<TContext, TEvent>;
4342
+ /** Runtime options for machine execution. */
4343
+ options: MachineOptions;
3740
4344
  root: StateNode<TContext, TEvent>;
3741
4345
  id: string;
3742
4346
  states: StateNode<TContext, TEvent>['states'];
@@ -4072,6 +4676,8 @@ declare type StatesDefinition<TContext extends MachineContext, TEvent extends Ev
4072
4676
  */
4073
4677
  declare type StateValue = string | StateValueMap;
4074
4678
 
4679
+ declare type StateValueFrom<TMachine extends AnyStateMachine> = Parameters<StateFrom<TMachine>['matches']>[0];
4680
+
4075
4681
  declare interface StateValueMap {
4076
4682
  [key: string]: StateValue | undefined;
4077
4683
  }
@@ -4089,7 +4695,7 @@ declare interface StoppedMachineSnapshot<TContext extends MachineContext, TEvent
4089
4695
  declare type StrictViewId<A> = t.aux.StrictViewId<A>;
4090
4696
 
4091
4697
  declare type Subject = {
4092
- edgeId: EdgeId_2;
4698
+ edgeId: EdgeId;
4093
4699
  source?: never;
4094
4700
  target?: never;
4095
4701
  } | {
@@ -4116,7 +4722,8 @@ declare type System = ActorSystem<{
4116
4722
  diagram: DiagramMachineRef;
4117
4723
  overlays: OverlaysActorRef;
4118
4724
  search: SearchActorRef;
4119
- editor: EditorActorRef;
4725
+ editor: BaseEditorActorRef;
4726
+ navigationPanel: NavigationPanelActorRef;
4120
4727
  };
4121
4728
  }>;
4122
4729
 
@@ -4124,6 +4731,8 @@ declare type Tags = 'active';
4124
4731
 
4125
4732
  declare type Tags_2 = never;
4126
4733
 
4734
+ declare type Tags_3 = 'active';
4735
+
4127
4736
  declare type TODO = any;
4128
4737
 
4129
4738
  declare type TogglableFeature = ('ReadOnly' | 'CompareWithLatest') & FeatureName;
@@ -4224,6 +4833,7 @@ export declare namespace Types {
4224
4833
  height: number;
4225
4834
  type: 'target' | 'source';
4226
4835
  position: 'left' | 'right' | 'top' | 'bottom';
4836
+ hidden?: boolean;
4227
4837
  };
4228
4838
  export type SequenceActorNodeData = Simplify<LeafNodeData & {
4229
4839
  navigateTo: ViewId | null;
@@ -4231,6 +4841,34 @@ export declare namespace Types {
4231
4841
  ports: Array<SequenceActorNodePort>;
4232
4842
  viewHeight: number;
4233
4843
  }>;
4844
+ /**
4845
+ * Represents subflow area in the diagram
4846
+ * `try` and `alt` flows have special handling in the diagram
4847
+ */
4848
+ export type SequenceSubflowData = LeafNodeData & {
4849
+ flowId: StepPath;
4850
+ title: string | undefined;
4851
+ /**
4852
+ * This is first subflow in current flow
4853
+ */
4854
+ isFirst?: boolean | undefined;
4855
+ /**
4856
+ * This is last subflow in current flow
4857
+ */
4858
+ isLast?: boolean | undefined;
4859
+ collapsed: boolean;
4860
+ } & ({
4861
+ flowType: Exclude<DynamicViewFlow.SubFlowType, 'try' | 'alt'>;
4862
+ } | SequenceSubflowData.AltOrTry);
4863
+ export namespace SequenceSubflowData {
4864
+ export type AltOrTry = {
4865
+ flowType: 'try' | 'alt';
4866
+ headerHeight: number;
4867
+ };
4868
+ }
4869
+ /**
4870
+ * @deprecated Use {@link SequenceSubflowData} instead
4871
+ */
4234
4872
  export type SequenceParallelAreaData = Simplify<LeafNodeData & {
4235
4873
  parallelPrefix: string;
4236
4874
  }>;
@@ -4273,10 +4911,11 @@ export declare namespace Types {
4273
4911
  export type DeploymentElementNode = BaseNode<DeploymentElementNodeData, 'deployment'>;
4274
4912
  export type SequenceActorNode = BaseNode<SequenceActorNodeData, 'seq-actor'>;
4275
4913
  export type SequenceParallelArea = BaseNode<SequenceParallelAreaData, 'seq-parallel'>;
4914
+ export type SequenceSubflowArea = BaseNode<SequenceSubflowData, 'seq-subflow'>;
4276
4915
  export type CompoundElementNode = BaseNode<CompoundElementNodeData, 'compound-element'>;
4277
4916
  export type CompoundDeploymentNode = BaseNode<CompoundDeploymentNodeData, 'compound-deployment'>;
4278
4917
  export type ViewGroupNode = BaseNode<ViewGroupNodeData, 'view-group'>;
4279
- export type AnyNode = ElementNode | DeploymentElementNode | CompoundElementNode | CompoundDeploymentNode | ViewGroupNode | SequenceActorNode | SequenceParallelArea;
4918
+ export type AnyNode = ElementNode | DeploymentElementNode | CompoundElementNode | CompoundDeploymentNode | ViewGroupNode | SequenceActorNode | SequenceParallelArea | SequenceSubflowArea;
4280
4919
  export type NodeType = AnyNode['type'];
4281
4920
  export type NodeData = ExclusiveUnion<{
4282
4921
  ElementNodeData: ElementNodeData;
@@ -4286,6 +4925,7 @@ export declare namespace Types {
4286
4925
  ViewGroupNodeData: ViewGroupNodeData;
4287
4926
  SequenceActorNodeData: SequenceActorNodeData;
4288
4927
  SequenceParallelAreaData: SequenceParallelAreaData;
4928
+ SequenceSubflowAreaData: SequenceSubflowData;
4289
4929
  }>;
4290
4930
  export type Node<Type extends NodeType = NodeType> = Extract<AnyNode, {
4291
4931
  type: Type;
@@ -4294,12 +4934,27 @@ export declare namespace Types {
4294
4934
  export type RelationshipEdgeData = Simplify<BaseEdgeData & NonOptional<Pick<DiagramEdge, 'id' | 'label' | 'labelBBox' | 'technology' | 'points' | 'dir' | 'color' | 'line' | 'head' | 'tail' | 'navigateTo' | 'astPath' | 'drifts'>> & {
4295
4935
  notes: MarkdownOrString | null;
4296
4936
  labelXY: XYPosition | null;
4937
+ isLabelCustomized?: boolean | undefined;
4297
4938
  controlPoints: XYPosition[] | undefined | null;
4939
+ /**
4940
+ * When dynamic view in "diagram" variant
4941
+ * Edges are RelationshipEdgeData - stepnum is used to determine the step number
4942
+ * (backward compatibility)
4943
+ */
4944
+ stepnum?: number;
4298
4945
  }>;
4299
- export type SequenceStepEdgeData = Simplify<BaseEdgeData & NonOptional<Pick<DiagramEdge, 'id' | 'label' | 'technology' | 'points' | 'dir' | 'color' | 'line' | 'head' | 'tail' | 'navigateTo' | 'astPath' | 'drifts'>> & {
4946
+ export type SequenceStepEdgeData = Simplify<BaseEdgeData & NonOptional<Pick<DiagramEdge, 'label' | 'technology' | 'points' | 'dir' | 'color' | 'line' | 'head' | 'tail' | 'navigateTo' | 'astPath' | 'drifts'>> & {
4947
+ id: StepPath;
4948
+ state?: 'processed' | 'active' | 'skipped' | 'pending' | null;
4949
+ stepnum: number;
4950
+ parentFlow: null | {
4951
+ id: StepPath;
4952
+ type: DynamicViewFlow.SubFlowType;
4953
+ };
4300
4954
  notes: MarkdownOrString | null;
4301
4955
  labelXY: XYPosition | null;
4302
4956
  labelBBox: BBox;
4957
+ isLabelCustomized?: boolean | undefined;
4303
4958
  controlPoints: XYPosition[] | undefined | null;
4304
4959
  }>;
4305
4960
  export type RelationshipEdge = BaseEdge<RelationshipEdgeData, 'relationship'>;
@@ -4381,15 +5036,64 @@ export declare function useCurrentViewModel(): CurrentViewModel;
4381
5036
 
4382
5037
  export declare function useDiagram(): DiagramApi;
4383
5038
 
4384
- export declare function useDiagramActorRef(): DiagramActorRef;
5039
+ export declare const useDiagramActorRef: () => DiagramActorRef;
4385
5040
 
4386
5041
  /**
4387
5042
  * Read diagram context
5043
+ * @deprecated use {@link useDiagramSelector}
4388
5044
  */
4389
5045
  export declare function useDiagramContext<T = unknown>(selector: (context: DiagramContext) => T, compare?: (a: NoInfer<T>, b: NoInfer<T>) => boolean, deps?: DependencyList): T;
4390
5046
 
4391
5047
  export declare function useDiagramEventHandlers(): DiagramEventHandlersContext;
4392
5048
 
5049
+ export declare const useDiagramSelector: {
5050
+ <T>(select: (state: MachineSnapshot<DiagramContext, DiagramEvents, {
5051
+ overlays: OverlaysActorRef | undefined;
5052
+ search: SearchActorRef | undefined;
5053
+ editor: BaseEditorActorRef | undefined;
5054
+ navigationPanel: NavigationPanelActorRef | undefined;
5055
+ } & Omit<{
5056
+ hotkey: ActorRefFromLogic<HotkeyActorLogic> | undefined;
5057
+ overlays: ActorRefFromLogic<OverlaysActorLogic> | undefined;
5058
+ search: ActorRefFromLogic<SearchActorLogic> | undefined;
5059
+ mediaPrint: ActorRefFromLogic<MediaPrintActorLogic> | undefined;
5060
+ editor: ActorRefFromLogic<EditorActorLogic> | undefined;
5061
+ navigationPanel: ActorRefFromLogic<NavigationPanelActorLogic> | undefined;
5062
+ }, "search" | "overlays" | "editor" | "navigationPanel">, "final" | "isReady" | "navigating" | "ready" | "initializing" | {
5063
+ ready?: NonNullable<"idle" | "walkthrough" | "focused" | "printing">;
5064
+ }, never, never, never, never>) => T): T;
5065
+ <T>(selectorCompare: SelectAndCompare< MachineSnapshot<DiagramContext, DiagramEvents, {
5066
+ overlays: OverlaysActorRef | undefined;
5067
+ search: SearchActorRef | undefined;
5068
+ editor: BaseEditorActorRef | undefined;
5069
+ navigationPanel: NavigationPanelActorRef | undefined;
5070
+ } & Omit<{
5071
+ hotkey: ActorRefFromLogic<HotkeyActorLogic> | undefined;
5072
+ overlays: ActorRefFromLogic<OverlaysActorLogic> | undefined;
5073
+ search: ActorRefFromLogic<SearchActorLogic> | undefined;
5074
+ mediaPrint: ActorRefFromLogic<MediaPrintActorLogic> | undefined;
5075
+ editor: ActorRefFromLogic<EditorActorLogic> | undefined;
5076
+ navigationPanel: ActorRefFromLogic<NavigationPanelActorLogic> | undefined;
5077
+ }, "search" | "overlays" | "editor" | "navigationPanel">, "final" | "isReady" | "navigating" | "ready" | "initializing" | {
5078
+ ready?: NonNullable<"idle" | "walkthrough" | "focused" | "printing">;
5079
+ }, never, never, never, never>, T>): T;
5080
+ <T>(selector: (snapshot: MachineSnapshot<DiagramContext, DiagramEvents, {
5081
+ overlays: OverlaysActorRef | undefined;
5082
+ search: SearchActorRef | undefined;
5083
+ editor: BaseEditorActorRef | undefined;
5084
+ navigationPanel: NavigationPanelActorRef | undefined;
5085
+ } & Omit<{
5086
+ hotkey: ActorRefFromLogic<HotkeyActorLogic> | undefined;
5087
+ overlays: ActorRefFromLogic<OverlaysActorLogic> | undefined;
5088
+ search: ActorRefFromLogic<SearchActorLogic> | undefined;
5089
+ mediaPrint: ActorRefFromLogic<MediaPrintActorLogic> | undefined;
5090
+ editor: ActorRefFromLogic<EditorActorLogic> | undefined;
5091
+ navigationPanel: ActorRefFromLogic<NavigationPanelActorLogic> | undefined;
5092
+ }, "search" | "overlays" | "editor" | "navigationPanel">, "final" | "isReady" | "navigating" | "ready" | "initializing" | {
5093
+ ready?: NonNullable<"idle" | "walkthrough" | "focused" | "printing">;
5094
+ }, never, never, never, never>) => T, compare: (a: T, b: T) => boolean): T;
5095
+ };
5096
+
4393
5097
  export declare function useEnabledFeatures(): EnabledFeatures;
4394
5098
 
4395
5099
  /**
@@ -4575,6 +5279,21 @@ declare type WithHovered = {
4575
5279
  };
4576
5280
  };
4577
5281
 
5282
+ export declare const xyflow: {
5283
+ readonly ControlButton: typeof ControlButton;
5284
+ readonly MiniMap: {
5285
+ ({ style, className, nodeStrokeColor, nodeColor, nodeClassName, nodeBorderRadius, nodeStrokeWidth, nodeComponent, bgColor, maskColor, maskStrokeColor, maskStrokeWidth, position, onClick, onNodeClick, pannable, zoomable, ariaLabel, inversePan, zoomStep, offsetScale, }: MiniMapProps<Types.AnyNode>): JSX.Element;
5286
+ displayName: string;
5287
+ };
5288
+ readonly MiniMapNode: MemoExoticComponent<({ id, x, y, width, height, style, color, strokeColor, strokeWidth, className, borderRadius, shapeRendering, selected, onClick, }: MiniMapNodeProps) => JSX.Element>;
5289
+ readonly NodeToolbar: typeof NodeToolbar;
5290
+ readonly Panel: ForwardRefExoticComponent< HTMLAttributes<HTMLDivElement> & {
5291
+ position?: PanelPosition;
5292
+ } & RefAttributes<HTMLDivElement>>;
5293
+ readonly Position: typeof Position;
5294
+ readonly ViewportPortal: typeof ViewportPortal;
5295
+ };
5296
+
4578
5297
  declare type XYFLowInstance = ReactFlowInstance<RelationshipsBrowserTypes.AnyNode, RelationshipsBrowserTypes.Edge>;
4579
5298
 
4580
5299
  declare type XYFlowInstance = ReactFlowInstance<Types.AnyNode, Types.AnyEdge>;
@@ -4582,18 +5301,18 @@ declare type XYFlowInstance = ReactFlowInstance<Types.AnyNode, Types.AnyEdge>;
4582
5301
  declare type XYFLowInstance_2 = ReactFlowInstance<RelationshipDetailsTypes.AnyNode, RelationshipDetailsTypes.Edge>;
4583
5302
 
4584
5303
  declare type XYStoreApi = {
4585
- getState: () => XYStoreState;
4586
- setState: (state: Partial<XYStoreState> | ((state: XYStoreState) => Partial<XYStoreState>)) => void;
4587
- subscribe: (listener: (state: XYStoreState, prevState: XYStoreState) => void) => () => void;
5304
+ getState: () => XYStoreState_2;
5305
+ setState: (state: XYStoreState_2) => void;
4588
5306
  };
4589
5307
 
4590
5308
  declare type XYStoreApi_2 = {
4591
- getState: () => XYStoreState_2;
4592
- setState: (state: XYStoreState_2) => void;
5309
+ getState: () => XYStoreState_3;
4593
5310
  };
4594
5311
 
4595
5312
  declare type XYStoreApi_3 = {
4596
- getState: () => XYStoreState_3;
5313
+ getState: () => XYStoreState;
5314
+ setState: (state: Partial<XYStoreState> | ((state: XYStoreState) => Partial<XYStoreState>)) => void;
5315
+ subscribe: (listener: (state: XYStoreState, prevState: XYStoreState) => void) => () => void;
4597
5316
  };
4598
5317
 
4599
5318
  export declare type XYStoreState = ReactFlowState<Types.AnyNode, Types.AnyEdge>;