@likec4/diagram 1.45.0 → 1.46.2

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 (206) hide show
  1. package/bundle/index.js +2488 -1959
  2. package/dist/LikeC4Diagram.d.ts +1 -1
  3. package/dist/LikeC4Diagram.js +8 -7
  4. package/dist/LikeC4Diagram.props.d.ts +4 -12
  5. package/dist/LikeC4ProjectsProvider.js +8 -4
  6. package/dist/LikeC4View.js +1 -5
  7. package/dist/ReactLikeC4.d.ts +1 -4
  8. package/dist/StaticLikeC4Diagram.js +0 -2
  9. package/dist/base-primitives/NodeHandles.d.ts +2 -1
  10. package/dist/base-primitives/NodeHandles.js +22 -18
  11. package/dist/base-primitives/compound/CompoundActionButton.js +1 -1
  12. package/dist/base-primitives/compound/CompoundDetailsButton.js +1 -1
  13. package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
  14. package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
  15. package/dist/base-primitives/edge/EdgeContainer.js +2 -3
  16. package/dist/base-primitives/edge/EdgeLabel.js +16 -16
  17. package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +1 -1
  18. package/dist/base-primitives/edge/EdgeLabelContainer.js +5 -4
  19. package/dist/base-primitives/edge/EdgePath.js +13 -18
  20. package/dist/base-primitives/element/ElementActionButtons.js +1 -1
  21. package/dist/base-primitives/element/ElementDetailsButton.js +1 -1
  22. package/dist/base-primitives/memoNode.js +1 -1
  23. package/dist/components/ErrorFallback.js +1 -1
  24. package/dist/components/Link.js +2 -2
  25. package/dist/context/DiagramEventHandlers.js +0 -1
  26. package/dist/context/DiagramFeatures.d.ts +1 -1
  27. package/dist/context/DiagramFeatures.js +1 -0
  28. package/dist/context/EnsureMantine.js +2 -1
  29. package/dist/context/IconRenderer.js +6 -6
  30. package/dist/editor/LikeC4EditorProvider.d.ts +22 -0
  31. package/dist/editor/LikeC4EditorProvider.js +12 -0
  32. package/dist/editor/__tests__/fixture.d.ts +205 -0
  33. package/dist/editor/applyChangesToManualLayout.d.ts +8 -0
  34. package/dist/editor/applyChangesToManualLayout.js +182 -0
  35. package/dist/editor/editorActor.actions.d.ts +201 -0
  36. package/dist/editor/editorActor.actions.js +149 -0
  37. package/dist/editor/editorActor.d.ts +653 -0
  38. package/dist/editor/editorActor.js +324 -0
  39. package/dist/editor/hotkeyActor.d.ts +7 -0
  40. package/dist/editor/hotkeyActor.js +19 -0
  41. package/dist/editor/index.d.ts +3 -2
  42. package/dist/editor/useEditorActorLogic.d.ts +565 -0
  43. package/dist/editor/useEditorActorLogic.js +54 -0
  44. package/dist/hooks/safeContext.d.ts +3 -2
  45. package/dist/hooks/safeContext.js +7 -4
  46. package/dist/hooks/useDiagram.d.ts +4 -2
  47. package/dist/hooks/useDiagram.js +19 -8
  48. package/dist/hooks/useDiagramCompareLayout.d.ts +8 -0
  49. package/dist/hooks/useDiagramCompareLayout.js +22 -2
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.js +1 -0
  52. package/dist/likec4diagram/DiagramXYFlow.js +1 -2
  53. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +1 -5
  54. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +74 -48
  55. package/dist/likec4diagram/custom/edges/edges.css.d.ts +0 -1
  56. package/dist/likec4diagram/custom/edges/edges.css.js +30 -24
  57. package/dist/likec4diagram/custom/edges/useControlPoints.js +2 -2
  58. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
  59. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +4 -9
  60. package/dist/likec4diagram/custom/nodes/nodes.js +3 -6
  61. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -2
  62. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -2
  63. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +127 -14
  64. package/dist/likec4diagram/state/DiagramActorProvider.js +63 -71
  65. package/dist/likec4diagram/state/assign.d.ts +4 -1
  66. package/dist/likec4diagram/state/assign.js +11 -8
  67. package/dist/likec4diagram/state/createViewChange.js +13 -9
  68. package/dist/likec4diagram/state/diagram-api.d.ts +20 -2
  69. package/dist/likec4diagram/state/diagram-api.js +58 -44
  70. package/dist/likec4diagram/state/hotkeyActor.d.ts +1 -1
  71. package/dist/likec4diagram/state/hotkeyActor.js +12 -0
  72. package/dist/likec4diagram/state/machine.actions.d.ts +774 -195
  73. package/dist/likec4diagram/state/machine.actions.js +185 -74
  74. package/dist/likec4diagram/state/machine.actions.layout.d.ts +93 -31
  75. package/dist/likec4diagram/state/machine.actions.layout.js +16 -4
  76. package/dist/likec4diagram/state/machine.d.ts +5 -4
  77. package/dist/likec4diagram/state/machine.js +11 -6
  78. package/dist/likec4diagram/state/machine.setup.d.ts +20 -9
  79. package/dist/likec4diagram/state/machine.setup.js +18 -3
  80. package/dist/likec4diagram/state/machine.state.initializing.d.ts +34 -18
  81. package/dist/likec4diagram/state/machine.state.initializing.js +10 -10
  82. package/dist/likec4diagram/state/machine.state.navigating.js +28 -9
  83. package/dist/likec4diagram/state/machine.state.ready.d.ts +1368 -434
  84. package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +363 -39
  85. package/dist/likec4diagram/state/machine.state.ready.focused.js +17 -4
  86. package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +104 -38
  87. package/dist/likec4diagram/state/machine.state.ready.idle.js +14 -5
  88. package/dist/likec4diagram/state/machine.state.ready.js +13 -90
  89. package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +18 -6
  90. package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +204 -31
  91. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +14 -1
  92. package/dist/likec4diagram/state/types.d.ts +6 -2
  93. package/dist/likec4diagram/state/utils.d.ts +33 -7
  94. package/dist/likec4diagram/state/utils.js +23 -7
  95. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
  96. package/dist/likec4diagram/useLayoutConstraints.js +5 -9
  97. package/dist/navigationpanel/NavigationPanel.js +6 -9
  98. package/dist/navigationpanel/NavigationPanelDropdown.js +7 -7
  99. package/dist/navigationpanel/_common.js +1 -1
  100. package/dist/navigationpanel/comparepanel/CompareActionsMenu.d.ts +3 -1
  101. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +40 -14
  102. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +6 -4
  103. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +2 -2
  104. package/dist/navigationpanel/controls/DetailsControls.js +2 -2
  105. package/dist/navigationpanel/controls/LayoutWarning.js +2 -1
  106. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  107. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  108. package/dist/navigationpanel/controls/SearchControl.js +2 -2
  109. package/dist/navigationpanel/controls/ToggleReadonly.js +25 -17
  110. package/dist/navigationpanel/dropdown/ProjectsMenu.js +1 -1
  111. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  112. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  113. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  114. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
  115. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
  116. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +66 -66
  117. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
  118. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
  119. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
  120. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +1 -1
  121. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
  122. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
  123. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
  124. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +1 -1
  125. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +1 -1
  126. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
  127. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
  128. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
  129. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
  130. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +1 -1
  131. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +1 -1
  132. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +1 -1
  133. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +1 -1
  134. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
  135. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
  136. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +1 -1
  137. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
  138. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
  139. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +1 -1
  140. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
  141. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +1 -1
  142. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +1 -1
  143. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +1 -1
  144. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +1 -1
  145. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +1 -1
  146. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +1 -1
  147. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +1 -1
  148. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +1 -1
  149. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
  150. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
  151. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +1 -1
  152. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +1 -1
  153. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
  154. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
  155. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
  156. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
  157. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +1 -1
  158. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +1 -1
  159. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +1 -1
  160. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +1 -1
  161. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
  162. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
  163. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
  164. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +1 -1
  165. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
  166. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
  167. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
  168. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
  169. package/dist/overlays/Overlays.js +23 -11
  170. package/dist/overlays/element-details/ElementDetailsCard.css.js +8 -11
  171. package/dist/overlays/element-details/ElementDetailsCard.js +4 -4
  172. package/dist/overlays/element-details/MetadataValue.js +4 -6
  173. package/dist/overlays/element-details/TabPanelDeployments.js +3 -3
  174. package/dist/overlays/element-details/TabPanelRelationships.js +12 -7
  175. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  176. package/dist/overlays/overlaysActor.js +6 -5
  177. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
  178. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  179. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  180. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -3
  181. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  182. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  183. package/dist/search/components/ElementsColumn.js +16 -11
  184. package/dist/search/components/PickView.js +3 -1
  185. package/dist/search/components/SearchByTags.js +1 -1
  186. package/dist/search/components/SearchInput.js +1 -1
  187. package/dist/search/components/ViewsColum.d.ts +3 -1
  188. package/dist/search/components/ViewsColum.js +14 -9
  189. package/dist/search/components/utils.d.ts +6 -0
  190. package/dist/search/components/utils.js +4 -1
  191. package/dist/shadowroot/styles.css.js +6 -1
  192. package/dist/styles.css2.js +1 -1
  193. package/dist/utils/index.d.ts +2 -2
  194. package/dist/utils/xyflow.d.ts +2 -3
  195. package/dist/utils/xyflow.js +9 -8
  196. package/package.json +22 -22
  197. package/panda.buildinfo.json +61 -80
  198. package/styles-min.css +1 -1
  199. package/styles.css +1 -1
  200. package/dist/base-primitives/edge/edge.css.d.ts +0 -4
  201. package/dist/base-primitives/edge/edge.css.js +0 -71
  202. package/dist/editor/LikeC4EditorContext.d.ts +0 -21
  203. package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +0 -46
  204. package/dist/likec4diagram/state/syncManualLayoutActor.js +0 -309
  205. package/dist/utils/vector.d.ts +0 -86
  206. package/dist/utils/vector.js +0 -127
@@ -1,27 +1,25 @@
1
- import { CancelAction, StopAction, GuardPredicate, ActionFunction, Values } from 'xstate';
1
+ import { CancelAction, GuardPredicate, ActionFunction, Values } from 'xstate';
2
2
  import { Context, Events, EmittedEvents } from './machine.setup';
3
3
  import { NormalizeGuardArgArray } from 'xstate/guards';
4
- import { SyncLayoutActorLogic } from './syncManualLayoutActor';
5
4
  import { HotkeyActorLogic } from './hotkeyActor';
6
5
  import { OverlaysActorLogic } from '../../overlays/overlaysActor';
7
6
  import { SearchActorLogic } from '../../search/searchActor';
8
7
  import { MediaPrintActorLogic } from './mediaPrintActor';
8
+ import { EditorActorLogic } from '../../editor';
9
9
  export declare const focused: {
10
10
  id: string;
11
11
  entry: CancelAction<Context, Events, undefined, Events>[];
12
- exit: StopAction<Context, Events, undefined, Events>[];
12
+ exit: CancelAction<Context, Events, undefined, Events>[];
13
13
  on: {
14
+ 'focus.autoUnfocus': {
15
+ target: string;
16
+ };
14
17
  'xyflow.nodeClick': ({
15
18
  guard: GuardPredicate<Context, {
16
19
  type: "xyflow.nodeClick";
17
20
  node: import("../types").Types.Node;
18
21
  }, unknown, NormalizeGuardArgArray<["enabled: ElementDetails", "click: focused node", "click: node has modelFqn"]>>;
19
22
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
20
- syncManualLayoutActorLogic: {
21
- src: "syncManualLayoutActorLogic";
22
- logic: SyncLayoutActorLogic;
23
- id: "syncLayout";
24
- };
25
23
  hotkeyActorLogic: {
26
24
  src: "hotkeyActorLogic";
27
25
  logic: HotkeyActorLogic;
@@ -42,11 +40,20 @@ export declare const focused: {
42
40
  logic: MediaPrintActorLogic;
43
41
  id: "mediaPrint";
44
42
  };
43
+ editorActor: {
44
+ src: "editorActor";
45
+ logic: EditorActorLogic;
46
+ id: "editor";
47
+ };
45
48
  }>, never, Values<{
46
49
  isReady: {
47
50
  type: "isReady";
48
51
  params: unknown;
49
52
  };
53
+ "enabled: Editor": {
54
+ type: "enabled: Editor";
55
+ params: unknown;
56
+ };
50
57
  "enabled: FitView": {
51
58
  type: "enabled: FitView";
52
59
  params: unknown;
@@ -79,6 +86,10 @@ export declare const focused: {
79
86
  type: "enabled: DynamicViewWalkthrough";
80
87
  params: unknown;
81
88
  };
89
+ "focus.node: autoUnfocus": {
90
+ type: "focus.node: autoUnfocus";
91
+ params: unknown;
92
+ };
82
93
  "enabled: Overlays": {
83
94
  type: "enabled: Overlays";
84
95
  params: unknown;
@@ -91,6 +102,10 @@ export declare const focused: {
91
102
  type: "is dynamic view";
92
103
  params: unknown;
93
104
  };
105
+ "is same view": {
106
+ type: "is same view";
107
+ params: unknown;
108
+ };
94
109
  "is another view": {
95
110
  type: "is another view";
96
111
  params: unknown;
@@ -124,11 +139,6 @@ export declare const focused: {
124
139
  } | {
125
140
  guard: "click: focused node";
126
141
  actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
127
- syncManualLayoutActorLogic: {
128
- src: "syncManualLayoutActorLogic";
129
- logic: SyncLayoutActorLogic;
130
- id: "syncLayout";
131
- };
132
142
  hotkeyActorLogic: {
133
143
  src: "hotkeyActorLogic";
134
144
  logic: HotkeyActorLogic;
@@ -149,15 +159,15 @@ export declare const focused: {
149
159
  logic: MediaPrintActorLogic;
150
160
  id: "mediaPrint";
151
161
  };
162
+ editorActor: {
163
+ src: "editorActor";
164
+ logic: EditorActorLogic;
165
+ id: "editor";
166
+ };
152
167
  }>, never, never, never, never> | ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>)[];
153
168
  target: string;
154
169
  } | {
155
170
  actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
156
- syncManualLayoutActorLogic: {
157
- src: "syncManualLayoutActorLogic";
158
- logic: SyncLayoutActorLogic;
159
- id: "syncLayout";
160
- };
161
171
  hotkeyActorLogic: {
162
172
  src: "hotkeyActorLogic";
163
173
  logic: HotkeyActorLogic;
@@ -178,6 +188,11 @@ export declare const focused: {
178
188
  logic: MediaPrintActorLogic;
179
189
  id: "mediaPrint";
180
190
  };
191
+ editorActor: {
192
+ src: "editorActor";
193
+ logic: EditorActorLogic;
194
+ id: "editor";
195
+ };
181
196
  }>, never, never, never, never> | ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents> | ActionFunction<Context, {
182
197
  type: "xyflow.nodeClick";
183
198
  node: import("../types").Types.Node;
@@ -187,11 +202,6 @@ export declare const focused: {
187
202
  })[];
188
203
  'focus.node': {
189
204
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
190
- syncManualLayoutActorLogic: {
191
- src: "syncManualLayoutActorLogic";
192
- logic: SyncLayoutActorLogic;
193
- id: "syncLayout";
194
- };
195
205
  hotkeyActorLogic: {
196
206
  src: "hotkeyActorLogic";
197
207
  logic: HotkeyActorLogic;
@@ -212,11 +222,20 @@ export declare const focused: {
212
222
  logic: MediaPrintActorLogic;
213
223
  id: "mediaPrint";
214
224
  };
225
+ editorActor: {
226
+ src: "editorActor";
227
+ logic: EditorActorLogic;
228
+ id: "editor";
229
+ };
215
230
  }>, never, Values<{
216
231
  isReady: {
217
232
  type: "isReady";
218
233
  params: unknown;
219
234
  };
235
+ "enabled: Editor": {
236
+ type: "enabled: Editor";
237
+ params: unknown;
238
+ };
220
239
  "enabled: FitView": {
221
240
  type: "enabled: FitView";
222
241
  params: unknown;
@@ -249,6 +268,10 @@ export declare const focused: {
249
268
  type: "enabled: DynamicViewWalkthrough";
250
269
  params: unknown;
251
270
  };
271
+ "focus.node: autoUnfocus": {
272
+ type: "focus.node: autoUnfocus";
273
+ params: unknown;
274
+ };
252
275
  "enabled: Overlays": {
253
276
  type: "enabled: Overlays";
254
277
  params: unknown;
@@ -261,6 +284,10 @@ export declare const focused: {
261
284
  type: "is dynamic view";
262
285
  params: unknown;
263
286
  };
287
+ "is same view": {
288
+ type: "is same view";
289
+ params: unknown;
290
+ };
264
291
  "is another view": {
265
292
  type: "is another view";
266
293
  params: unknown;
@@ -296,11 +323,6 @@ export declare const focused: {
296
323
  };
297
324
  'xyflow.paneClick': {
298
325
  actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
299
- syncManualLayoutActorLogic: {
300
- src: "syncManualLayoutActorLogic";
301
- logic: SyncLayoutActorLogic;
302
- id: "syncLayout";
303
- };
304
326
  hotkeyActorLogic: {
305
327
  src: "hotkeyActorLogic";
306
328
  logic: HotkeyActorLogic;
@@ -321,16 +343,16 @@ export declare const focused: {
321
343
  logic: MediaPrintActorLogic;
322
344
  id: "mediaPrint";
323
345
  };
346
+ editorActor: {
347
+ src: "editorActor";
348
+ logic: EditorActorLogic;
349
+ id: "editor";
350
+ };
324
351
  }>, never, never, never, never> | ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>)[];
325
352
  target: string;
326
353
  };
327
354
  'notations.unhighlight': {
328
355
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
329
- syncManualLayoutActorLogic: {
330
- src: "syncManualLayoutActorLogic";
331
- logic: SyncLayoutActorLogic;
332
- id: "syncLayout";
333
- };
334
356
  hotkeyActorLogic: {
335
357
  src: "hotkeyActorLogic";
336
358
  logic: HotkeyActorLogic;
@@ -351,15 +373,223 @@ export declare const focused: {
351
373
  logic: MediaPrintActorLogic;
352
374
  id: "mediaPrint";
353
375
  };
354
- }>, never, never, never, never>;
376
+ editorActor: {
377
+ src: "editorActor";
378
+ logic: EditorActorLogic;
379
+ id: "editor";
380
+ };
381
+ }>, never, Values<{
382
+ isReady: {
383
+ type: "isReady";
384
+ params: unknown;
385
+ };
386
+ "enabled: Editor": {
387
+ type: "enabled: Editor";
388
+ params: unknown;
389
+ };
390
+ "enabled: FitView": {
391
+ type: "enabled: FitView";
392
+ params: unknown;
393
+ };
394
+ "enabled: FocusMode": {
395
+ type: "enabled: FocusMode";
396
+ params: unknown;
397
+ };
398
+ "enabled: Readonly": {
399
+ type: "enabled: Readonly";
400
+ params: unknown;
401
+ };
402
+ "enabled: RelationshipDetails": {
403
+ type: "enabled: RelationshipDetails";
404
+ params: unknown;
405
+ };
406
+ "enabled: Search": {
407
+ type: "enabled: Search";
408
+ params: unknown;
409
+ };
410
+ "enabled: ElementDetails": {
411
+ type: "enabled: ElementDetails";
412
+ params: unknown;
413
+ };
414
+ "enabled: OpenSource": {
415
+ type: "enabled: OpenSource";
416
+ params: unknown;
417
+ };
418
+ "enabled: DynamicViewWalkthrough": {
419
+ type: "enabled: DynamicViewWalkthrough";
420
+ params: unknown;
421
+ };
422
+ "focus.node: autoUnfocus": {
423
+ type: "focus.node: autoUnfocus";
424
+ params: unknown;
425
+ };
426
+ "enabled: Overlays": {
427
+ type: "enabled: Overlays";
428
+ params: unknown;
429
+ };
430
+ "not readonly": {
431
+ type: "not readonly";
432
+ params: unknown;
433
+ };
434
+ "is dynamic view": {
435
+ type: "is dynamic view";
436
+ params: unknown;
437
+ };
438
+ "is same view": {
439
+ type: "is same view";
440
+ params: unknown;
441
+ };
442
+ "is another view": {
443
+ type: "is another view";
444
+ params: unknown;
445
+ };
446
+ "click: node has modelFqn": {
447
+ type: "click: node has modelFqn";
448
+ params: unknown;
449
+ };
450
+ "click: selected node": {
451
+ type: "click: selected node";
452
+ params: unknown;
453
+ };
454
+ "click: same node": {
455
+ type: "click: same node";
456
+ params: unknown;
457
+ };
458
+ "click: focused node": {
459
+ type: "click: focused node";
460
+ params: unknown;
461
+ };
462
+ "click: node has connections": {
463
+ type: "click: node has connections";
464
+ params: unknown;
465
+ };
466
+ "click: selected edge": {
467
+ type: "click: selected edge";
468
+ params: unknown;
469
+ };
470
+ }>, never, EmittedEvents>;
355
471
  };
356
472
  'tag.unhighlight': {
357
473
  actions: ActionFunction<Context, Events, Events, undefined, Values<{
358
- syncManualLayoutActorLogic: {
359
- src: "syncManualLayoutActorLogic";
360
- logic: SyncLayoutActorLogic;
361
- id: "syncLayout";
474
+ hotkeyActorLogic: {
475
+ src: "hotkeyActorLogic";
476
+ logic: HotkeyActorLogic;
477
+ id: "hotkey";
362
478
  };
479
+ overlaysActorLogic: {
480
+ src: "overlaysActorLogic";
481
+ logic: OverlaysActorLogic;
482
+ id: "overlays";
483
+ };
484
+ searchActorLogic: {
485
+ src: "searchActorLogic";
486
+ logic: SearchActorLogic;
487
+ id: "search";
488
+ };
489
+ mediaPrintActorLogic: {
490
+ src: "mediaPrintActorLogic";
491
+ logic: MediaPrintActorLogic;
492
+ id: "mediaPrint";
493
+ };
494
+ editorActor: {
495
+ src: "editorActor";
496
+ logic: EditorActorLogic;
497
+ id: "editor";
498
+ };
499
+ }>, never, Values<{
500
+ isReady: {
501
+ type: "isReady";
502
+ params: unknown;
503
+ };
504
+ "enabled: Editor": {
505
+ type: "enabled: Editor";
506
+ params: unknown;
507
+ };
508
+ "enabled: FitView": {
509
+ type: "enabled: FitView";
510
+ params: unknown;
511
+ };
512
+ "enabled: FocusMode": {
513
+ type: "enabled: FocusMode";
514
+ params: unknown;
515
+ };
516
+ "enabled: Readonly": {
517
+ type: "enabled: Readonly";
518
+ params: unknown;
519
+ };
520
+ "enabled: RelationshipDetails": {
521
+ type: "enabled: RelationshipDetails";
522
+ params: unknown;
523
+ };
524
+ "enabled: Search": {
525
+ type: "enabled: Search";
526
+ params: unknown;
527
+ };
528
+ "enabled: ElementDetails": {
529
+ type: "enabled: ElementDetails";
530
+ params: unknown;
531
+ };
532
+ "enabled: OpenSource": {
533
+ type: "enabled: OpenSource";
534
+ params: unknown;
535
+ };
536
+ "enabled: DynamicViewWalkthrough": {
537
+ type: "enabled: DynamicViewWalkthrough";
538
+ params: unknown;
539
+ };
540
+ "focus.node: autoUnfocus": {
541
+ type: "focus.node: autoUnfocus";
542
+ params: unknown;
543
+ };
544
+ "enabled: Overlays": {
545
+ type: "enabled: Overlays";
546
+ params: unknown;
547
+ };
548
+ "not readonly": {
549
+ type: "not readonly";
550
+ params: unknown;
551
+ };
552
+ "is dynamic view": {
553
+ type: "is dynamic view";
554
+ params: unknown;
555
+ };
556
+ "is same view": {
557
+ type: "is same view";
558
+ params: unknown;
559
+ };
560
+ "is another view": {
561
+ type: "is another view";
562
+ params: unknown;
563
+ };
564
+ "click: node has modelFqn": {
565
+ type: "click: node has modelFqn";
566
+ params: unknown;
567
+ };
568
+ "click: selected node": {
569
+ type: "click: selected node";
570
+ params: unknown;
571
+ };
572
+ "click: same node": {
573
+ type: "click: same node";
574
+ params: unknown;
575
+ };
576
+ "click: focused node": {
577
+ type: "click: focused node";
578
+ params: unknown;
579
+ };
580
+ "click: node has connections": {
581
+ type: "click: node has connections";
582
+ params: unknown;
583
+ };
584
+ "click: selected edge": {
585
+ type: "click: selected edge";
586
+ params: unknown;
587
+ };
588
+ }>, never, EmittedEvents>;
589
+ };
590
+ 'update.view': {
591
+ guard: "is same view";
592
+ actions: ActionFunction<Context, Events, Events, undefined, Values<{
363
593
  hotkeyActorLogic: {
364
594
  src: "hotkeyActorLogic";
365
595
  logic: HotkeyActorLogic;
@@ -380,7 +610,101 @@ export declare const focused: {
380
610
  logic: MediaPrintActorLogic;
381
611
  id: "mediaPrint";
382
612
  };
383
- }>, never, never, never, never>;
613
+ editorActor: {
614
+ src: "editorActor";
615
+ logic: EditorActorLogic;
616
+ id: "editor";
617
+ };
618
+ }>, never, Values<{
619
+ isReady: {
620
+ type: "isReady";
621
+ params: unknown;
622
+ };
623
+ "enabled: Editor": {
624
+ type: "enabled: Editor";
625
+ params: unknown;
626
+ };
627
+ "enabled: FitView": {
628
+ type: "enabled: FitView";
629
+ params: unknown;
630
+ };
631
+ "enabled: FocusMode": {
632
+ type: "enabled: FocusMode";
633
+ params: unknown;
634
+ };
635
+ "enabled: Readonly": {
636
+ type: "enabled: Readonly";
637
+ params: unknown;
638
+ };
639
+ "enabled: RelationshipDetails": {
640
+ type: "enabled: RelationshipDetails";
641
+ params: unknown;
642
+ };
643
+ "enabled: Search": {
644
+ type: "enabled: Search";
645
+ params: unknown;
646
+ };
647
+ "enabled: ElementDetails": {
648
+ type: "enabled: ElementDetails";
649
+ params: unknown;
650
+ };
651
+ "enabled: OpenSource": {
652
+ type: "enabled: OpenSource";
653
+ params: unknown;
654
+ };
655
+ "enabled: DynamicViewWalkthrough": {
656
+ type: "enabled: DynamicViewWalkthrough";
657
+ params: unknown;
658
+ };
659
+ "focus.node: autoUnfocus": {
660
+ type: "focus.node: autoUnfocus";
661
+ params: unknown;
662
+ };
663
+ "enabled: Overlays": {
664
+ type: "enabled: Overlays";
665
+ params: unknown;
666
+ };
667
+ "not readonly": {
668
+ type: "not readonly";
669
+ params: unknown;
670
+ };
671
+ "is dynamic view": {
672
+ type: "is dynamic view";
673
+ params: unknown;
674
+ };
675
+ "is same view": {
676
+ type: "is same view";
677
+ params: unknown;
678
+ };
679
+ "is another view": {
680
+ type: "is another view";
681
+ params: unknown;
682
+ };
683
+ "click: node has modelFqn": {
684
+ type: "click: node has modelFqn";
685
+ params: unknown;
686
+ };
687
+ "click: selected node": {
688
+ type: "click: selected node";
689
+ params: unknown;
690
+ };
691
+ "click: same node": {
692
+ type: "click: same node";
693
+ params: unknown;
694
+ };
695
+ "click: focused node": {
696
+ type: "click: focused node";
697
+ params: unknown;
698
+ };
699
+ "click: node has connections": {
700
+ type: "click: node has connections";
701
+ params: unknown;
702
+ };
703
+ "click: selected edge": {
704
+ type: "click: selected edge";
705
+ params: unknown;
706
+ };
707
+ }>, never, EmittedEvents>[];
384
708
  };
385
709
  };
386
710
  };
@@ -1,4 +1,4 @@
1
- import { focusOnNodesAndEdges, resetLastClickedNode, emitPaneClick, assignFocusedNode, openSourceOfFocusedOrLastClickedNode, assignLastClickedNode, openElementDetails, emitNodeClick, stopHotKeyActor, undimEverything, startHotKeyActor } from './machine.actions.js';
1
+ import { updateView, focusOnNodesAndEdges, resetLastClickedNode, emitPaneClick, assignFocusedNode, openSourceOfFocusedOrLastClickedNode, assignLastClickedNode, openElementDetails, emitNodeClick, stopHotKeyActor, undimEverything, cancelAutoUnfocusTimer, startHotKeyActor, startAutoUnfocusTimer } from './machine.actions.js';
2
2
  import { machine, targetState } from './machine.setup.js';
3
3
  import { fitFocusedBounds, returnViewportBefore, cancelFitDiagram, assignViewportBefore } from './machine.actions.layout.js';
4
4
  import { x as xstateGuards_cjsExports } from '../../_virtual/xstate-guards.cjs.js';
@@ -12,17 +12,23 @@ const focused = machine.createStateConfig({
12
12
  assignViewportBefore(),
13
13
  openSourceOfFocusedOrLastClickedNode(),
14
14
  startHotKeyActor(),
15
- fitFocusedBounds()
15
+ fitFocusedBounds(),
16
+ startAutoUnfocusTimer()
16
17
  ],
17
18
  exit: [
18
19
  stopHotKeyActor(),
19
20
  undimEverything(),
20
21
  returnViewportBefore(),
21
- machine.assign({
22
- focusedNode: null
22
+ cancelAutoUnfocusTimer(),
23
+ xstateActions_cjsExports.assign({
24
+ focusedNode: null,
25
+ autoUnfocusTimer: false
23
26
  })
24
27
  ],
25
28
  on: {
29
+ "focus.autoUnfocus": {
30
+ target: targetState.idle
31
+ },
26
32
  "xyflow.nodeClick": [
27
33
  {
28
34
  guard: xstateGuards_cjsExports.and([
@@ -78,6 +84,13 @@ const focused = machine.createStateConfig({
78
84
  },
79
85
  "tag.unhighlight": {
80
86
  actions: focusOnNodesAndEdges()
87
+ },
88
+ "update.view": {
89
+ guard: "is same view",
90
+ actions: [
91
+ updateView(),
92
+ focusOnNodesAndEdges()
93
+ ]
81
94
  }
82
95
  }
83
96
  });