@likec4/diagram 1.44.0 → 1.46.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 (270) hide show
  1. package/bundle/index.js +18847 -17876
  2. package/dist/LikeC4Diagram.d.ts +1 -1
  3. package/dist/LikeC4Diagram.js +15 -12
  4. package/dist/LikeC4Diagram.props.d.ts +13 -20
  5. package/dist/LikeC4ProjectsProvider.js +8 -4
  6. package/dist/LikeC4Styles.js +0 -3
  7. package/dist/LikeC4View.d.ts +3 -3
  8. package/dist/LikeC4View.js +8 -8
  9. package/dist/ReactLikeC4.d.ts +3 -6
  10. package/dist/StaticLikeC4Diagram.js +0 -2
  11. package/dist/base/Base.d.ts +1 -1
  12. package/dist/base/updateEdges.js +25 -15
  13. package/dist/base/updateNodes.d.ts +14 -0
  14. package/dist/base/updateNodes.js +51 -18
  15. package/dist/base-primitives/Markdown.d.ts +30 -4
  16. package/dist/base-primitives/Markdown.js +3 -2
  17. package/dist/base-primitives/NodeHandles.d.ts +2 -1
  18. package/dist/base-primitives/NodeHandles.js +22 -18
  19. package/dist/base-primitives/compound/CompoundActionButton.d.ts +3 -2
  20. package/dist/base-primitives/compound/CompoundActionButton.js +1 -1
  21. package/dist/base-primitives/compound/CompoundDetailsButton.d.ts +3 -2
  22. package/dist/base-primitives/compound/CompoundDetailsButton.js +1 -1
  23. package/dist/base-primitives/edge/EdgeActionButton.d.ts +3 -2
  24. package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
  25. package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
  26. package/dist/base-primitives/edge/EdgeContainer.js +6 -4
  27. package/dist/base-primitives/edge/EdgeLabel.d.ts +2 -2
  28. package/dist/base-primitives/edge/EdgeLabel.js +16 -16
  29. package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +1 -1
  30. package/dist/base-primitives/edge/EdgeLabelContainer.js +5 -4
  31. package/dist/base-primitives/edge/EdgePath.js +27 -12
  32. package/dist/base-primitives/element/ElementActionButtons.d.ts +3 -2
  33. package/dist/base-primitives/element/ElementActionButtons.js +3 -3
  34. package/dist/base-primitives/element/ElementData.d.ts +3 -3
  35. package/dist/base-primitives/element/ElementData.js +13 -7
  36. package/dist/base-primitives/element/ElementDetailsButton.d.ts +3 -2
  37. package/dist/base-primitives/element/ElementDetailsButton.js +4 -1
  38. package/dist/base-primitives/element/ElementShape.js +5 -5
  39. package/dist/base-primitives/element/ElementTags.d.ts +6 -4
  40. package/dist/components/ErrorFallback.js +1 -1
  41. package/dist/components/Link.js +2 -2
  42. package/dist/context/DiagramEventHandlers.js +0 -1
  43. package/dist/context/DiagramFeatures.d.ts +2 -1
  44. package/dist/context/DiagramFeatures.js +1 -0
  45. package/dist/context/EnsureMantine.js +2 -1
  46. package/dist/context/IconRenderer.js +6 -6
  47. package/dist/context/TagStylesContext.js +1 -1
  48. package/dist/custom/hooks.d.ts +2 -2
  49. package/dist/custom/index.js +1 -1
  50. package/dist/editor/LikeC4EditorProvider.d.ts +22 -0
  51. package/dist/editor/LikeC4EditorProvider.js +12 -0
  52. package/dist/editor/__tests__/fixture.d.ts +205 -0
  53. package/dist/editor/applyChangesToManualLayout.d.ts +8 -0
  54. package/dist/editor/applyChangesToManualLayout.js +182 -0
  55. package/dist/editor/editorActor.actions.d.ts +201 -0
  56. package/dist/editor/editorActor.actions.js +149 -0
  57. package/dist/editor/editorActor.d.ts +653 -0
  58. package/dist/editor/editorActor.js +324 -0
  59. package/dist/editor/hotkeyActor.d.ts +7 -0
  60. package/dist/editor/hotkeyActor.js +19 -0
  61. package/dist/editor/index.d.ts +3 -2
  62. package/dist/editor/useEditorActorLogic.d.ts +565 -0
  63. package/dist/editor/useEditorActorLogic.js +54 -0
  64. package/dist/hooks/index.d.ts +2 -1
  65. package/dist/hooks/safeContext.d.ts +3 -2
  66. package/dist/hooks/safeContext.js +7 -4
  67. package/dist/hooks/useDiagram.d.ts +4 -2
  68. package/dist/hooks/useDiagram.js +19 -8
  69. package/dist/hooks/useDiagramCompareLayout.d.ts +8 -0
  70. package/dist/hooks/useDiagramCompareLayout.js +29 -4
  71. package/dist/hooks/useLikeC4Project.d.ts +6 -1
  72. package/dist/hooks/useLikeC4Project.js +14 -2
  73. package/dist/hooks/useMediaPrint.d.ts +6 -0
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.js +1 -0
  76. package/dist/likec4diagram/DiagramXYFlow.js +11 -7
  77. package/dist/likec4diagram/custom/edges/EdgeDrifts.d.ts +6 -0
  78. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +34 -0
  79. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +90 -54
  80. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +3 -1
  81. package/dist/likec4diagram/custom/edges/edges.css.d.ts +0 -1
  82. package/dist/likec4diagram/custom/edges/edges.css.js +30 -24
  83. package/dist/likec4diagram/custom/edges/useControlPoints.js +5 -5
  84. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +5 -5
  85. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
  86. package/dist/likec4diagram/custom/nodes/NodeDrifts.d.ts +6 -0
  87. package/dist/likec4diagram/custom/nodes/{ElementNodeDrifts.js → NodeDrifts.js} +12 -13
  88. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +4 -2
  89. package/dist/likec4diagram/custom/nodes/index.d.ts +1 -0
  90. package/dist/likec4diagram/custom/nodes/nodes.js +61 -23
  91. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -2
  92. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -2
  93. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +128 -15
  94. package/dist/likec4diagram/relationship-popover/actor.d.ts +1 -1
  95. package/dist/likec4diagram/state/DiagramActorProvider.d.ts +2 -2
  96. package/dist/likec4diagram/state/DiagramActorProvider.js +63 -72
  97. package/dist/likec4diagram/state/assign.d.ts +14 -7
  98. package/dist/likec4diagram/state/assign.js +28 -200
  99. package/dist/likec4diagram/state/createViewChange.js +23 -30
  100. package/dist/likec4diagram/state/diagram-api.d.ts +20 -6
  101. package/dist/likec4diagram/state/diagram-api.js +58 -52
  102. package/dist/likec4diagram/state/hotkeyActor.d.ts +1 -8
  103. package/dist/likec4diagram/state/hotkeyActor.js +13 -17
  104. package/dist/likec4diagram/state/machine.actions.d.ts +1127 -864
  105. package/dist/likec4diagram/state/machine.actions.js +316 -296
  106. package/dist/likec4diagram/state/machine.actions.layout.d.ts +641 -0
  107. package/dist/likec4diagram/state/machine.actions.layout.js +141 -0
  108. package/dist/likec4diagram/state/machine.d.ts +18 -3712
  109. package/dist/likec4diagram/state/machine.js +64 -73
  110. package/dist/likec4diagram/state/machine.setup.d.ts +80 -26
  111. package/dist/likec4diagram/state/machine.setup.js +44 -7
  112. package/dist/likec4diagram/state/machine.state.initializing.d.ts +58 -17
  113. package/dist/likec4diagram/state/machine.state.initializing.js +14 -14
  114. package/dist/likec4diagram/state/machine.state.navigating.d.ts +5 -108
  115. package/dist/likec4diagram/state/machine.state.navigating.js +187 -35
  116. package/dist/likec4diagram/state/machine.state.ready.d.ts +2997 -2598
  117. package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +710 -0
  118. package/dist/likec4diagram/state/machine.state.ready.focused.js +98 -0
  119. package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +540 -0
  120. package/dist/likec4diagram/state/machine.state.ready.idle.js +105 -0
  121. package/dist/likec4diagram/state/machine.state.ready.js +95 -347
  122. package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +140 -0
  123. package/dist/likec4diagram/state/machine.state.ready.printing.js +40 -0
  124. package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +684 -0
  125. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +190 -0
  126. package/dist/likec4diagram/state/mediaPrintActor.d.ts +12 -0
  127. package/dist/likec4diagram/state/mediaPrintActor.js +18 -0
  128. package/dist/likec4diagram/state/types.d.ts +11 -9
  129. package/dist/likec4diagram/state/utils.d.ts +44 -5
  130. package/dist/likec4diagram/state/utils.js +62 -6
  131. package/dist/likec4diagram/types.d.ts +8 -13
  132. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +5 -2
  133. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
  134. package/dist/likec4diagram/useLayoutConstraints.js +104 -103
  135. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +12 -15
  136. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +11 -8
  137. package/dist/navigationpanel/NavigationPanel.js +11 -10
  138. package/dist/navigationpanel/NavigationPanelDropdown.js +7 -7
  139. package/dist/navigationpanel/_common.js +1 -1
  140. package/dist/navigationpanel/actor.d.ts +4 -204
  141. package/dist/navigationpanel/actor.js +1 -1
  142. package/dist/navigationpanel/comparepanel/CompareActionsMenu.d.ts +3 -1
  143. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +40 -14
  144. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +6 -4
  145. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +2 -2
  146. package/dist/navigationpanel/controls/DetailsControls.js +2 -2
  147. package/dist/navigationpanel/controls/LayoutWarning.js +2 -1
  148. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  149. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  150. package/dist/navigationpanel/controls/SearchControl.js +2 -2
  151. package/dist/navigationpanel/controls/ToggleReadonly.js +32 -19
  152. package/dist/navigationpanel/dropdown/ProjectsMenu.js +1 -1
  153. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  154. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  155. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  156. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
  157. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
  158. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +9 -9
  159. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
  160. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +4 -3
  161. package/dist/overlays/Overlays.js +24 -12
  162. package/dist/overlays/element-details/ElementDetailsCard.css.js +3 -3
  163. package/dist/overlays/element-details/ElementDetailsCard.js +4 -4
  164. package/dist/overlays/element-details/MetadataValue.d.ts +2 -1
  165. package/dist/overlays/element-details/MetadataValue.js +4 -6
  166. package/dist/overlays/element-details/TabPanelDeployments.js +3 -3
  167. package/dist/overlays/element-details/TabPanelRelationships.js +12 -7
  168. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  169. package/dist/overlays/element-details/actor.d.ts +8 -83
  170. package/dist/overlays/element-details/actor.js +0 -8
  171. package/dist/overlays/overlay/Overlay.js +10 -10
  172. package/dist/overlays/overlaysActor.d.ts +7 -392
  173. package/dist/overlays/overlaysActor.js +73 -49
  174. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
  175. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  176. package/dist/overlays/relationship-details/_types.d.ts +3 -4
  177. package/dist/overlays/relationship-details/actor.d.ts +6 -562
  178. package/dist/overlays/relationship-details/actor.js +1 -0
  179. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  180. package/dist/overlays/relationship-details/layout-to-xyflow.js +3 -5
  181. package/dist/overlays/relationship-details/layout.d.ts +3 -3
  182. package/dist/overlays/relationship-details/layout.js +4 -4
  183. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -3
  184. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  185. package/dist/overlays/relationships-browser/_types.d.ts +2 -3
  186. package/dist/overlays/relationships-browser/actor.d.ts +7 -739
  187. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  188. package/dist/overlays/relationships-browser/layout.d.ts +2 -2
  189. package/dist/overlays/relationships-browser/layout.js +3 -3
  190. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +0 -3
  191. package/dist/overlays/types.d.ts +12 -13
  192. package/dist/search/components/ElementsColumn.js +7 -3
  193. package/dist/search/components/PickView.js +3 -1
  194. package/dist/search/components/SearchByTags.js +1 -1
  195. package/dist/search/components/SearchInput.js +1 -1
  196. package/dist/search/components/ViewsColum.d.ts +3 -1
  197. package/dist/search/components/ViewsColum.js +13 -7
  198. package/dist/search/components/_shared.css.d.ts +1 -1
  199. package/dist/search/searchActor.d.ts +3 -66
  200. package/dist/shadowroot/ShadowRoot.d.ts +5 -7
  201. package/dist/shadowroot/ShadowRoot.js +7 -5
  202. package/dist/shadowroot/styles.css.js +6 -1
  203. package/dist/styles.css2.js +1 -1
  204. package/dist/utils/index.d.ts +2 -2
  205. package/dist/utils/view-bounds.js +7 -6
  206. package/dist/utils/xyflow.d.ts +6 -5
  207. package/dist/utils/xyflow.js +26 -57
  208. package/package.json +24 -23
  209. package/panda.buildinfo.json +65 -71
  210. package/styles-min.css +1 -1
  211. package/styles.css +1 -1
  212. package/dist/base-primitives/edge/edge.css.d.ts +0 -4
  213. package/dist/base-primitives/edge/edge.css.js +0 -71
  214. package/dist/editor/LikeC4EditorContext.d.ts +0 -21
  215. package/dist/likec4diagram/custom/nodes/ElementNodeDrifts.d.ts +0 -4
  216. package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +0 -280
  217. package/dist/likec4diagram/state/syncManualLayoutActor.js +0 -248
  218. package/dist/utils/vector.d.ts +0 -81
  219. package/dist/utils/vector.js +0 -120
  220. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +0 -0
  221. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +0 -0
  222. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -0
  223. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -0
  224. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +0 -0
  225. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -0
  226. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +0 -0
  227. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -0
  228. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -0
  229. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +0 -0
  230. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -0
  231. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -0
  232. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -0
  233. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -0
  234. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -0
  235. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +0 -0
  236. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -0
  237. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -0
  238. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -0
  239. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +0 -0
  240. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -0
  241. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -0
  242. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -0
  243. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -0
  244. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -0
  245. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -0
  246. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -0
  247. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -0
  248. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -0
  249. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -0
  250. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -0
  251. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -0
  252. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +0 -0
  253. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -0
  254. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -0
  255. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -0
  256. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -0
  257. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -0
  258. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -0
  259. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -0
  260. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -0
  261. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -0
  262. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -0
  263. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -0
  264. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -0
  265. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +0 -0
  266. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -0
  267. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -0
  268. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -0
  269. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -0
  270. /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -0
@@ -0,0 +1,565 @@
1
+ import { EditorCalls, EditorActorContext, EditorActorEvent, EditorActorInput, EditorActorEmitedEvent } from './editorActor';
2
+ import { StateMachine, ActorRefFromLogic, PromiseActorLogic, EventObject, NonReducibleUnknown, Values, MetaObject, ConditionalRequired, InputFrom, RequiredActorOptions, IsNotNever, GetConcreteByKey, AnyActorLogic, RequiredLogicInput, ActorRef, MachineSnapshot, AnyActorRef, StateValue, AnyEventObject, CancelAction, ActionFunction, LogAction, DoneActorEvent, ErrorActorEvent, ActionArgs, StopAction } from 'xstate';
3
+ import { HotkeyActorLogic } from './hotkeyActor';
4
+ import type * as t from '@likec4/core/types';
5
+ export declare function useEditorActorLogic(viewId: t.ViewId): StateMachine<EditorActorContext, EditorActorEvent, {
6
+ [x: string]: ActorRefFromLogic<HotkeyActorLogic> | ActorRefFromLogic<PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>> | ActorRefFromLogic<PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>> | undefined;
7
+ hotkey?: ActorRefFromLogic<HotkeyActorLogic>;
8
+ }, Values<{
9
+ hotkey: {
10
+ src: "hotkey";
11
+ logic: HotkeyActorLogic;
12
+ id: "hotkey";
13
+ };
14
+ applyLatest: {
15
+ src: "applyLatest";
16
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
17
+ id: string | undefined;
18
+ };
19
+ executeChange: {
20
+ src: "executeChange";
21
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
22
+ id: string | undefined;
23
+ };
24
+ }>, never, Values<{
25
+ "has pending": {
26
+ type: "has pending";
27
+ params: unknown;
28
+ };
29
+ "can undo": {
30
+ type: "can undo";
31
+ params: unknown;
32
+ };
33
+ }>, "350ms" | "waitBeforeSync", "pending" | "idle" | "editing" | "afterEdit" | "executeChanges" | {
34
+ applyLatestToManual: "call" | "wait";
35
+ }, "pending", EditorActorInput, NonReducibleUnknown, EditorActorEmitedEvent, MetaObject, {
36
+ readonly id: "editor";
37
+ readonly context: ({ input }: {
38
+ spawn: {
39
+ <TSrc extends "hotkey" | "applyLatest" | "executeChange">(logic: TSrc, ...[options]: ({
40
+ src: "hotkey";
41
+ logic: HotkeyActorLogic;
42
+ id: "hotkey";
43
+ } extends infer T ? T extends {
44
+ src: "hotkey";
45
+ logic: HotkeyActorLogic;
46
+ id: "hotkey";
47
+ } ? T extends {
48
+ src: TSrc;
49
+ } ? ConditionalRequired<[options?: {
50
+ id?: T["id"];
51
+ systemId?: string;
52
+ input?: InputFrom<T["logic"]>;
53
+ syncSnapshot?: boolean;
54
+ } & { [K in RequiredActorOptions<T>]: unknown; }], IsNotNever<RequiredActorOptions<T>>> : never : never : never) | ({
55
+ src: "applyLatest";
56
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
57
+ id: string | undefined;
58
+ } extends infer T_1 ? T_1 extends {
59
+ src: "applyLatest";
60
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
61
+ id: string | undefined;
62
+ } ? T_1 extends {
63
+ src: TSrc;
64
+ } ? ConditionalRequired<[options?: {
65
+ id?: T_1["id"];
66
+ systemId?: string;
67
+ input?: InputFrom<T_1["logic"]>;
68
+ syncSnapshot?: boolean;
69
+ } & { [K_1 in RequiredActorOptions<T_1>]: unknown; }], IsNotNever<RequiredActorOptions<T_1>>> : never : never : never) | ({
70
+ src: "executeChange";
71
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
72
+ id: string | undefined;
73
+ } extends infer T_2 ? T_2 extends {
74
+ src: "executeChange";
75
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
76
+ id: string | undefined;
77
+ } ? T_2 extends {
78
+ src: TSrc;
79
+ } ? ConditionalRequired<[options?: {
80
+ id?: T_2["id"];
81
+ systemId?: string;
82
+ input?: InputFrom<T_2["logic"]>;
83
+ syncSnapshot?: boolean;
84
+ } & { [K_2 in RequiredActorOptions<T_2>]: unknown; }], IsNotNever<RequiredActorOptions<T_2>>> : never : never : never)): ActorRefFromLogic< GetConcreteByKey<Values<{
85
+ hotkey: {
86
+ src: "hotkey";
87
+ logic: HotkeyActorLogic;
88
+ id: "hotkey";
89
+ };
90
+ applyLatest: {
91
+ src: "applyLatest";
92
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
93
+ id: string | undefined;
94
+ };
95
+ executeChange: {
96
+ src: "executeChange";
97
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
98
+ id: string | undefined;
99
+ };
100
+ }>, "src", TSrc>["logic"]>;
101
+ <TLogic extends AnyActorLogic>(src: TLogic, ...[options]: ConditionalRequired<[options?: {
102
+ id?: never;
103
+ systemId?: string;
104
+ input?: InputFrom<TLogic>;
105
+ syncSnapshot?: boolean;
106
+ } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
107
+ };
108
+ input: EditorActorInput;
109
+ self: ActorRef<MachineSnapshot<EditorActorContext, EditorActorEvent, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, EditorActorEvent, AnyEventObject>;
110
+ }) => {
111
+ viewId: t.ViewId;
112
+ beforeEditing: null;
113
+ editing: null;
114
+ pendingChanges: never[];
115
+ history: never[];
116
+ };
117
+ readonly initial: "idle";
118
+ readonly states: {
119
+ readonly idle: {
120
+ id: string;
121
+ on: {
122
+ sync: {
123
+ target: "#pending";
124
+ };
125
+ 'edit.start': {
126
+ target: "#editing";
127
+ };
128
+ };
129
+ };
130
+ readonly editing: {
131
+ id: string;
132
+ tags: "pending";
133
+ entry: CancelAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>[];
134
+ on: {
135
+ change: {
136
+ target: "#executeChanges";
137
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
138
+ hotkey: {
139
+ src: "hotkey";
140
+ logic: HotkeyActorLogic;
141
+ id: "hotkey";
142
+ };
143
+ applyLatest: {
144
+ src: "applyLatest";
145
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
146
+ id: string | undefined;
147
+ };
148
+ executeChange: {
149
+ src: "executeChange";
150
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
151
+ id: string | undefined;
152
+ };
153
+ }>, never, Values<{
154
+ "has pending": {
155
+ type: "has pending";
156
+ params: unknown;
157
+ };
158
+ "can undo": {
159
+ type: "can undo";
160
+ params: unknown;
161
+ };
162
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>;
163
+ };
164
+ 'edit.finish': {
165
+ target: "#afterEdit";
166
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
167
+ hotkey: {
168
+ src: "hotkey";
169
+ logic: HotkeyActorLogic;
170
+ id: "hotkey";
171
+ };
172
+ applyLatest: {
173
+ src: "applyLatest";
174
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
175
+ id: string | undefined;
176
+ };
177
+ executeChange: {
178
+ src: "executeChange";
179
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
180
+ id: string | undefined;
181
+ };
182
+ }>, never, Values<{
183
+ "has pending": {
184
+ type: "has pending";
185
+ params: unknown;
186
+ };
187
+ "can undo": {
188
+ type: "can undo";
189
+ params: unknown;
190
+ };
191
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>;
192
+ };
193
+ undo: {
194
+ target: "#idle";
195
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
196
+ hotkey: {
197
+ src: "hotkey";
198
+ logic: HotkeyActorLogic;
199
+ id: "hotkey";
200
+ };
201
+ applyLatest: {
202
+ src: "applyLatest";
203
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
204
+ id: string | undefined;
205
+ };
206
+ executeChange: {
207
+ src: "executeChange";
208
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
209
+ id: string | undefined;
210
+ };
211
+ }>, never, Values<{
212
+ "has pending": {
213
+ type: "has pending";
214
+ params: unknown;
215
+ };
216
+ "can undo": {
217
+ type: "can undo";
218
+ params: unknown;
219
+ };
220
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>;
221
+ };
222
+ };
223
+ };
224
+ readonly pending: {
225
+ id: string;
226
+ tags: "pending"[];
227
+ entry: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
228
+ hotkey: {
229
+ src: "hotkey";
230
+ logic: HotkeyActorLogic;
231
+ id: "hotkey";
232
+ };
233
+ applyLatest: {
234
+ src: "applyLatest";
235
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
236
+ id: string | undefined;
237
+ };
238
+ executeChange: {
239
+ src: "executeChange";
240
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
241
+ id: string | undefined;
242
+ };
243
+ }>, never, Values<{
244
+ "has pending": {
245
+ type: "has pending";
246
+ params: unknown;
247
+ };
248
+ "can undo": {
249
+ type: "can undo";
250
+ params: unknown;
251
+ };
252
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>;
253
+ on: {
254
+ sync: {
255
+ target: "#pending";
256
+ reenter: true;
257
+ };
258
+ 'edit.start': {
259
+ target: "#editing";
260
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
261
+ hotkey: {
262
+ src: "hotkey";
263
+ logic: HotkeyActorLogic;
264
+ id: "hotkey";
265
+ };
266
+ applyLatest: {
267
+ src: "applyLatest";
268
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
269
+ id: string | undefined;
270
+ };
271
+ executeChange: {
272
+ src: "executeChange";
273
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
274
+ id: string | undefined;
275
+ };
276
+ }>, never, never, never, never>[];
277
+ };
278
+ };
279
+ after: {
280
+ waitBeforeSync: {
281
+ target: "#executeChanges";
282
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
283
+ hotkey: {
284
+ src: "hotkey";
285
+ logic: HotkeyActorLogic;
286
+ id: "hotkey";
287
+ };
288
+ applyLatest: {
289
+ src: "applyLatest";
290
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
291
+ id: string | undefined;
292
+ };
293
+ executeChange: {
294
+ src: "executeChange";
295
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
296
+ id: string | undefined;
297
+ };
298
+ }>, never, never, never, never>[];
299
+ };
300
+ };
301
+ };
302
+ readonly afterEdit: {
303
+ id: string;
304
+ always: ({
305
+ target: "#pending";
306
+ guard: "has pending";
307
+ } | {
308
+ target: "#idle";
309
+ })[];
310
+ };
311
+ readonly applyLatestToManual: {
312
+ id: string;
313
+ entry: CancelAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>[];
314
+ initial: string;
315
+ on: {
316
+ '*': {
317
+ actions: LogAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>[];
318
+ };
319
+ };
320
+ states: {
321
+ call: {
322
+ invoke: {
323
+ src: "applyLatest";
324
+ input: ({ context }: {
325
+ context: EditorActorContext;
326
+ event: EditorActorEvent;
327
+ self: ActorRef<MachineSnapshot<EditorActorContext, EditorActorEvent, Record<string, AnyActorRef>, StateValue, string, unknown, any, any>, EditorActorEvent, AnyEventObject>;
328
+ }) => {
329
+ current: t.DiagramView | undefined;
330
+ viewId: t.ViewId;
331
+ };
332
+ onDone: {
333
+ actions: ActionFunction<EditorActorContext, DoneActorEvent<EditorCalls.ApplyLatestToManual.Output, string>, EditorActorEvent, undefined, never, never, never, "350ms" | "waitBeforeSync", never>;
334
+ target: string;
335
+ };
336
+ onError: {
337
+ target: "#idle";
338
+ actions: ( ActionFunction<EditorActorContext, ErrorActorEvent<unknown, string>, EditorActorEvent, undefined, Values<{
339
+ hotkey: {
340
+ src: "hotkey";
341
+ logic: HotkeyActorLogic;
342
+ id: "hotkey";
343
+ };
344
+ applyLatest: {
345
+ src: "applyLatest";
346
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
347
+ id: string | undefined;
348
+ };
349
+ executeChange: {
350
+ src: "executeChange";
351
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
352
+ id: string | undefined;
353
+ };
354
+ }>, never, never, never, never> | (({ event }: ActionArgs<EditorActorContext, ErrorActorEvent<unknown, string>, EditorActorEvent>) => void))[];
355
+ };
356
+ };
357
+ };
358
+ wait: {
359
+ entry: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
360
+ hotkey: {
361
+ src: "hotkey";
362
+ logic: HotkeyActorLogic;
363
+ id: "hotkey";
364
+ };
365
+ applyLatest: {
366
+ src: "applyLatest";
367
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
368
+ id: string | undefined;
369
+ };
370
+ executeChange: {
371
+ src: "executeChange";
372
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
373
+ id: string | undefined;
374
+ };
375
+ }>, never, never, never, never>;
376
+ after: {
377
+ '350ms': {
378
+ target: "#executeChanges";
379
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
380
+ hotkey: {
381
+ src: "hotkey";
382
+ logic: HotkeyActorLogic;
383
+ id: "hotkey";
384
+ };
385
+ applyLatest: {
386
+ src: "applyLatest";
387
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
388
+ id: string | undefined;
389
+ };
390
+ executeChange: {
391
+ src: "executeChange";
392
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
393
+ id: string | undefined;
394
+ };
395
+ }>, never, Values<{
396
+ "has pending": {
397
+ type: "has pending";
398
+ params: unknown;
399
+ };
400
+ "can undo": {
401
+ type: "can undo";
402
+ params: unknown;
403
+ };
404
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>[];
405
+ };
406
+ };
407
+ };
408
+ };
409
+ };
410
+ readonly executeChanges: {
411
+ id: string;
412
+ entry: CancelAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>[];
413
+ invoke: {
414
+ src: "executeChange";
415
+ input: ({ context }: {
416
+ context: EditorActorContext;
417
+ event: EditorActorEvent;
418
+ self: ActorRef<MachineSnapshot<EditorActorContext, EditorActorEvent, Record<string, AnyActorRef>, StateValue, string, unknown, any, any>, EditorActorEvent, AnyEventObject>;
419
+ }) => {
420
+ changes: t.ViewChange[];
421
+ viewId: t.ViewId;
422
+ };
423
+ onDone: {
424
+ target: "#idle";
425
+ actions: ActionFunction<EditorActorContext, DoneActorEvent<NonReducibleUnknown, string>, EditorActorEvent, undefined, Values<{
426
+ hotkey: {
427
+ src: "hotkey";
428
+ logic: HotkeyActorLogic;
429
+ id: "hotkey";
430
+ };
431
+ applyLatest: {
432
+ src: "applyLatest";
433
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
434
+ id: string | undefined;
435
+ };
436
+ executeChange: {
437
+ src: "executeChange";
438
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
439
+ id: string | undefined;
440
+ };
441
+ }>, never, Values<{
442
+ "has pending": {
443
+ type: "has pending";
444
+ params: unknown;
445
+ };
446
+ "can undo": {
447
+ type: "can undo";
448
+ params: unknown;
449
+ };
450
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>;
451
+ };
452
+ onError: {
453
+ target: "#afterEdit";
454
+ actions: ({ event }: ActionArgs<EditorActorContext, ErrorActorEvent<unknown, string>, EditorActorEvent>) => void;
455
+ };
456
+ };
457
+ on: {
458
+ '*': {
459
+ actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, never, never, never, "350ms" | "waitBeforeSync", never>;
460
+ };
461
+ };
462
+ };
463
+ };
464
+ readonly on: {
465
+ readonly cancel: {
466
+ readonly target: "#idle";
467
+ readonly actions: readonly [ CancelAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>, ActionFunction<EditorActorContext, {
468
+ type: "cancel";
469
+ }, EditorActorEvent, undefined, Values<{
470
+ hotkey: {
471
+ src: "hotkey";
472
+ logic: HotkeyActorLogic;
473
+ id: "hotkey";
474
+ };
475
+ applyLatest: {
476
+ src: "applyLatest";
477
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
478
+ id: string | undefined;
479
+ };
480
+ executeChange: {
481
+ src: "executeChange";
482
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
483
+ id: string | undefined;
484
+ };
485
+ }>, never, never, never, never>];
486
+ };
487
+ readonly synced: {
488
+ readonly actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
489
+ hotkey: {
490
+ src: "hotkey";
491
+ logic: HotkeyActorLogic;
492
+ id: "hotkey";
493
+ };
494
+ applyLatest: {
495
+ src: "applyLatest";
496
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
497
+ id: string | undefined;
498
+ };
499
+ executeChange: {
500
+ src: "executeChange";
501
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
502
+ id: string | undefined;
503
+ };
504
+ }>, never, never, never, never>;
505
+ };
506
+ readonly undo: {
507
+ readonly target: "#idle";
508
+ readonly guard: "can undo";
509
+ readonly actions: ActionFunction<EditorActorContext, EditorActorEvent, EditorActorEvent, undefined, Values<{
510
+ hotkey: {
511
+ src: "hotkey";
512
+ logic: HotkeyActorLogic;
513
+ id: "hotkey";
514
+ };
515
+ applyLatest: {
516
+ src: "applyLatest";
517
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
518
+ id: string | undefined;
519
+ };
520
+ executeChange: {
521
+ src: "executeChange";
522
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
523
+ id: string | undefined;
524
+ };
525
+ }>, never, Values<{
526
+ "has pending": {
527
+ type: "has pending";
528
+ params: unknown;
529
+ };
530
+ "can undo": {
531
+ type: "can undo";
532
+ params: unknown;
533
+ };
534
+ }>, "350ms" | "waitBeforeSync", EditorActorEmitedEvent>;
535
+ };
536
+ readonly change: {
537
+ readonly target: "#executeChanges";
538
+ };
539
+ readonly applyLatestToManual: {
540
+ readonly target: "#applyLatestToManual";
541
+ };
542
+ readonly reset: {
543
+ readonly target: "#idle";
544
+ readonly actions: readonly [ CancelAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>, ActionFunction<EditorActorContext, {
545
+ type: "reset";
546
+ }, EditorActorEvent, undefined, Values<{
547
+ hotkey: {
548
+ src: "hotkey";
549
+ logic: HotkeyActorLogic;
550
+ id: "hotkey";
551
+ };
552
+ applyLatest: {
553
+ src: "applyLatest";
554
+ logic: PromiseActorLogic<EditorCalls.ApplyLatestToManual.Output, EditorCalls.ApplyLatestToManual.Input, EventObject>;
555
+ id: string | undefined;
556
+ };
557
+ executeChange: {
558
+ src: "executeChange";
559
+ logic: PromiseActorLogic<NonReducibleUnknown, EditorCalls.ExecuteChange.Input, EventObject>;
560
+ id: string | undefined;
561
+ };
562
+ }>, never, never, never, never>, StopAction<EditorActorContext, EditorActorEvent, undefined, EditorActorEvent>];
563
+ };
564
+ };
565
+ }>;
@@ -0,0 +1,54 @@
1
+ import { fromPromise } from 'xstate';
2
+ import { applyChangesToManualLayout } from './applyChangesToManualLayout.js';
3
+ import { editorActorLogic } from './editorActor.js';
4
+ import { useOptionalLikeC4EditorPort } from './LikeC4EditorProvider.js';
5
+ import { useCallbackRef } from '../hooks/useCallbackRef.js';
6
+
7
+ function useEditorActorLogic(viewId) {
8
+ const port = useOptionalLikeC4EditorPort();
9
+ const applyLatest = useCallbackRef(
10
+ async ({ input: { viewId: viewId2, current } }) => {
11
+ if (!port) {
12
+ console.error("No editor port available for applying latest to manual layout");
13
+ return Promise.reject(new Error("No editor port"));
14
+ }
15
+ const [manual, latest] = await Promise.all([
16
+ current ?? Promise.resolve().then(() => port.fetchView(viewId2, "manual")),
17
+ Promise.resolve().then(() => port.fetchView(viewId2, "auto"))
18
+ ]).catch((err) => {
19
+ console.error("Failed to fetch views for applying latest to manual layout", err);
20
+ return Promise.reject(err);
21
+ });
22
+ const updated = applyChangesToManualLayout(manual, latest);
23
+ return {
24
+ updated
25
+ };
26
+ }
27
+ );
28
+ const executeChange = useCallbackRef(
29
+ async ({ input }) => {
30
+ if (!port) {
31
+ console.error("No editor port available for executing change");
32
+ return Promise.reject(new Error("No editor port"));
33
+ }
34
+ for (const change of input.changes) {
35
+ await Promise.resolve().then(() => port.handleChange(viewId, change)).catch((err) => {
36
+ console.error("Failed to execute change", {
37
+ change,
38
+ err
39
+ });
40
+ return Promise.reject(err);
41
+ });
42
+ }
43
+ return {};
44
+ }
45
+ );
46
+ return editorActorLogic.provide({
47
+ actors: {
48
+ applyLatest: fromPromise(applyLatest),
49
+ executeChange: fromPromise(executeChange)
50
+ }
51
+ });
52
+ }
53
+
54
+ export { useEditorActorLogic };
@@ -1,6 +1,7 @@
1
1
  export { useCallbackRef } from './useCallbackRef';
2
2
  export { useId } from './useId';
3
3
  export { useMantinePortalProps } from './useMantinePortalProps';
4
+ export { useMediaPrint } from './useMediaPrint';
4
5
  export { useSetState } from './useSetState';
5
6
  export { useUpdateEffect } from './useUpdateEffect';
6
7
  export { useCurrentZoom, useIsZoomTooSmall, useXYFlow, useXYInternalNode, useXYStore, useXYStoreApi } from './useXYFlow';
@@ -8,6 +9,6 @@ export type { XYFlowInstance, XYStoreApi, XYStoreState } from './useXYFlow';
8
9
  export { useCurrentView, useCurrentViewId } from './useCurrentView';
9
10
  export { useCurrentViewModel } from './useCurrentViewModel';
10
11
  export { useLikeC4Model, useLikeC4Specification, useLikeC4ViewModel } from './useLikeC4Model';
11
- export { useHasProjects, useLikeC4ProjectId, useLikeC4Projects, useLikeC4ProjectsContext, } from './useLikeC4Project';
12
+ export { useHasProjects, useLikeC4Project, useLikeC4ProjectId, useLikeC4Projects, useLikeC4ProjectsContext, } from './useLikeC4Project';
12
13
  export { useLikeC4Styles } from './useLikeC4Styles';
13
14
  export * from './useDiagram';
@@ -1,7 +1,8 @@
1
+ import { DiagramActorRef } from '../custom';
1
2
  import { DiagramApi } from '../likec4diagram/state/diagram-api';
2
3
  import { Provider } from 'react';
3
4
  import { UnknownLayouted } from '@likec4/core';
4
- import { DiagramActorRef } from '../custom';
5
- export declare const DiagramActorContextProvider: Provider<DiagramApi< UnknownLayouted>>;
5
+ export declare const DiagramActorContextProvider: Provider<DiagramActorRef>;
6
+ export declare const DiagramApiContextProvider: Provider<DiagramApi< UnknownLayouted>>;
6
7
  export declare function useDiagramActorRef(): DiagramActorRef;
7
8
  export declare function useDiagram(): DiagramApi< UnknownLayouted>;
@@ -2,20 +2,23 @@ import { useContext, createContext } from 'react';
2
2
 
3
3
  const DiagramActorSafeContext = createContext(null);
4
4
  DiagramActorSafeContext.displayName = "DiagramActorSafeContext";
5
+ const DiagramApiSafeContext = createContext(null);
6
+ DiagramApiSafeContext.displayName = "DiagramApiSafeContext";
5
7
  const DiagramActorContextProvider = DiagramActorSafeContext.Provider;
8
+ const DiagramApiContextProvider = DiagramApiSafeContext.Provider;
6
9
  function useDiagramActorRef() {
7
10
  const ctx = useContext(DiagramActorSafeContext);
8
11
  if (ctx === null) {
9
12
  throw new Error("DiagramActorRef is not provided");
10
13
  }
11
- return ctx.actor;
14
+ return ctx;
12
15
  }
13
16
  function useDiagram() {
14
- const ctx = useContext(DiagramActorSafeContext);
17
+ const ctx = useContext(DiagramApiSafeContext);
15
18
  if (ctx === null) {
16
- throw new Error("DiagramActorRef is not provided");
19
+ throw new Error("DiagramApi is not provided");
17
20
  }
18
21
  return ctx;
19
22
  }
20
23
 
21
- export { DiagramActorContextProvider, useDiagram, useDiagramActorRef };
24
+ export { DiagramActorContextProvider, DiagramApiContextProvider, useDiagram, useDiagramActorRef };