@likec4/diagram 1.55.1 → 1.56.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 (343) hide show
  1. package/dist/LikeC4Diagram.js +148 -194
  2. package/dist/LikeC4ModelProvider.js +13 -9
  3. package/dist/LikeC4ProjectsOverview.js +24 -30
  4. package/dist/LikeC4ProjectsProvider.js +33 -26
  5. package/dist/LikeC4Styles.js +40 -57
  6. package/dist/LikeC4View.js +156 -196
  7. package/dist/ReactLikeC4.js +43 -65
  8. package/dist/StaticLikeC4Diagram.js +36 -41
  9. package/dist/_virtual/_rolldown/runtime.js +17 -0
  10. package/dist/adhoc-editor/EditorPanel.js +102 -101
  11. package/dist/adhoc-editor/ElementsTree.js +113 -139
  12. package/dist/adhoc-editor/LikeC4AdHocViewEditor.js +77 -70
  13. package/dist/adhoc-editor/components/Tree.d.ts +2 -2
  14. package/dist/adhoc-editor/components/Tree.js +205 -288
  15. package/dist/adhoc-editor/hooks.js +28 -23
  16. package/dist/adhoc-editor/index.js +2 -1
  17. package/dist/adhoc-editor/state/ActorProvider.js +33 -36
  18. package/dist/adhoc-editor/state/actor.editor.js +148 -186
  19. package/dist/adhoc-editor/state/actor.js +12 -14
  20. package/dist/adhoc-editor/state/actor.layouter.js +49 -65
  21. package/dist/adhoc-editor/state/actor.types.js +19 -23
  22. package/dist/adhoc-editor/state/panel.js +112 -127
  23. package/dist/adhoc-editor/state/utils.js +22 -29
  24. package/dist/adhoc-editor/useElementsTree.js +89 -121
  25. package/dist/base/Background.js +26 -29
  26. package/dist/base/Base.js +34 -41
  27. package/dist/base/BaseXYFlow.js +135 -165
  28. package/dist/base/const.js +18 -19
  29. package/dist/base/updateEdges.js +38 -57
  30. package/dist/base/updateNodes.js +46 -65
  31. package/dist/base-primitives/Markdown.d.ts +1 -1
  32. package/dist/base-primitives/Markdown.js +32 -47
  33. package/dist/base-primitives/NodeHandles.js +39 -49
  34. package/dist/base-primitives/compound/CompoundActionButton.js +49 -69
  35. package/dist/base-primitives/compound/CompoundDetailsButton.js +39 -64
  36. package/dist/base-primitives/compound/CompoundNodeContainer.js +46 -66
  37. package/dist/base-primitives/compound/CompoundTitle.js +15 -12
  38. package/dist/base-primitives/compound/actionbtns.css.js +9 -18
  39. package/dist/base-primitives/edge/EdgeActionButton.js +17 -19
  40. package/dist/base-primitives/edge/EdgeContainer.js +29 -48
  41. package/dist/base-primitives/edge/EdgeLabel.js +44 -65
  42. package/dist/base-primitives/edge/EdgeLabelContainer.js +35 -73
  43. package/dist/base-primitives/edge/EdgeMarkers.js +157 -215
  44. package/dist/base-primitives/edge/EdgePath.js +62 -115
  45. package/dist/base-primitives/element/ElementActionButtons.js +92 -81
  46. package/dist/base-primitives/element/ElementData.js +107 -126
  47. package/dist/base-primitives/element/ElementDetailsButton.js +78 -98
  48. package/dist/base-primitives/element/ElementNodeContainer.js +51 -82
  49. package/dist/base-primitives/element/ElementShape.js +331 -317
  50. package/dist/base-primitives/element/ElementTags.d.ts +1 -1
  51. package/dist/base-primitives/element/ElementTags.js +133 -193
  52. package/dist/base-primitives/memoEdge.js +11 -10
  53. package/dist/base-primitives/memoNode.js +16 -20
  54. package/dist/components/ErrorFallback.js +111 -75
  55. package/dist/components/GithubIcon.js +14 -16
  56. package/dist/components/Link.js +99 -113
  57. package/dist/components/Logo.js +38 -41
  58. package/dist/components/NavigationLink.js +15 -23
  59. package/dist/components/NavigationPanel.js +26 -47
  60. package/dist/components/PortalToContainer.js +16 -10
  61. package/dist/components/RootContainer.js +35 -31
  62. package/dist/components/SearchControl.css.js +65 -75
  63. package/dist/components/SearchControl.js +36 -14
  64. package/dist/components/ViewNotFound.js +22 -29
  65. package/dist/context/CurrentViewModelProvider.js +11 -9
  66. package/dist/context/DefaultMantineProvider.js +45 -72
  67. package/dist/context/DiagramEventHandlers.js +43 -48
  68. package/dist/context/DiagramFeatures.js +73 -69
  69. package/dist/context/EnsureMantine.js +13 -16
  70. package/dist/context/FramerMotionConfig.js +17 -11
  71. package/dist/context/IconRenderer.js +90 -106
  72. package/dist/context/LikeC4ModelContext.js +14 -10
  73. package/dist/context/LikeC4ProjectsContext.js +7 -6
  74. package/dist/context/RootContainerContext.d.ts +2 -5
  75. package/dist/context/RootContainerContext.js +24 -26
  76. package/dist/context/TagStylesContext.js +49 -57
  77. package/dist/custom/customNodes.js +224 -28
  78. package/dist/custom/index.js +41 -40
  79. package/dist/editor/LikeC4EditorCallbacks.js +4 -2
  80. package/dist/editor/LikeC4EditorProvider.js +32 -7
  81. package/dist/editor/applyChangesToManualLayout.js +144 -163
  82. package/dist/editor/editorActor.actions.js +122 -138
  83. package/dist/editor/editorActor.setup.js +30 -36
  84. package/dist/editor/editorActor.states.js +209 -263
  85. package/dist/editor/hotkeyActor.js +18 -17
  86. package/dist/editor/useEditorActorLogic.js +31 -43
  87. package/dist/hooks/safeContext.js +17 -17
  88. package/dist/hooks/useCallbackRef.js +18 -11
  89. package/dist/hooks/useCurrentView.js +16 -7
  90. package/dist/hooks/useCurrentViewModel.js +14 -9
  91. package/dist/hooks/useDiagram.js +55 -37
  92. package/dist/hooks/useDiagramCompareLayout.js +77 -81
  93. package/dist/hooks/useId.js +8 -6
  94. package/dist/hooks/useLikeC4ElementsTree.js +22 -21
  95. package/dist/hooks/useLikeC4Model.js +21 -20
  96. package/dist/hooks/useLikeC4Project.js +40 -29
  97. package/dist/hooks/useLikeC4Styles.js +6 -6
  98. package/dist/hooks/useMantinePortalProps.js +10 -6
  99. package/dist/hooks/useOverlaysActor.js +7 -6
  100. package/dist/hooks/useSearchActor.js +7 -6
  101. package/dist/hooks/useSetState.js +21 -19
  102. package/dist/hooks/useUpdateEffect.js +18 -29
  103. package/dist/hooks/useXYFlow.js +13 -15
  104. package/dist/index.js +24 -23
  105. package/dist/likec4diagram/DiagramUI.js +33 -37
  106. package/dist/likec4diagram/DiagramXYFlow.js +215 -224
  107. package/dist/likec4diagram/convert-to-xyflow.js +21 -22
  108. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +22 -32
  109. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +275 -372
  110. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +71 -75
  111. package/dist/likec4diagram/custom/edges/edges.css.js +41 -47
  112. package/dist/likec4diagram/custom/edges/useControlPoints.js +52 -56
  113. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +54 -76
  114. package/dist/likec4diagram/custom/index.js +17 -17
  115. package/dist/likec4diagram/custom/nodes/CompoundActions.js +19 -26
  116. package/dist/likec4diagram/custom/nodes/ElementActions.js +131 -82
  117. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +20 -26
  118. package/dist/likec4diagram/custom/nodes/NodeNotes.js +215 -273
  119. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +131 -147
  120. package/dist/likec4diagram/custom/nodes/nodes.js +135 -146
  121. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +155 -159
  122. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.js +58 -86
  123. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +108 -164
  124. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +56 -68
  125. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +3 -6
  126. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +97 -102
  127. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +13 -13
  128. package/dist/likec4diagram/custom/nodes/toolbar/types.js +6 -5
  129. package/dist/likec4diagram/custom/nodes/toolbar/useHandlers.js +36 -41
  130. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +510 -541
  131. package/dist/likec4diagram/relationship-popover/actor.js +113 -152
  132. package/dist/likec4diagram/relationship-popover/components.js +39 -43
  133. package/dist/likec4diagram/state/DiagramActorProvider.js +135 -136
  134. package/dist/likec4diagram/state/aligners.js +283 -360
  135. package/dist/likec4diagram/state/assign.js +84 -108
  136. package/dist/likec4diagram/state/createViewChange.js +72 -92
  137. package/dist/likec4diagram/state/diagram-api.js +224 -152
  138. package/dist/likec4diagram/state/hotkeyActor.js +54 -45
  139. package/dist/likec4diagram/state/machine.actions.js +709 -821
  140. package/dist/likec4diagram/state/machine.actions.layout.js +154 -183
  141. package/dist/likec4diagram/state/machine.js +113 -134
  142. package/dist/likec4diagram/state/machine.setup.js +104 -113
  143. package/dist/likec4diagram/state/machine.state.initializing.js +54 -54
  144. package/dist/likec4diagram/state/machine.state.navigating.js +192 -227
  145. package/dist/likec4diagram/state/machine.state.ready.focused.js +72 -88
  146. package/dist/likec4diagram/state/machine.state.ready.idle.js +79 -98
  147. package/dist/likec4diagram/state/machine.state.ready.js +126 -202
  148. package/dist/likec4diagram/state/machine.state.ready.printing.js +38 -39
  149. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +153 -193
  150. package/dist/likec4diagram/state/mediaPrintActor.js +20 -16
  151. package/dist/likec4diagram/state/persistence.js +20 -21
  152. package/dist/likec4diagram/state/utils.js +131 -162
  153. package/dist/likec4diagram/ui/LayoutDriftFrame.js +53 -64
  154. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +58 -80
  155. package/dist/likec4diagram/ui/notation/NotationPanel.js +183 -214
  156. package/dist/likec4diagram/useLayoutConstraints.js +386 -433
  157. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +216 -227
  158. package/dist/likec4diagram/xyflow-sequence/const.js +11 -7
  159. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +177 -180
  160. package/dist/navigationpanel/NavigationPanel.js +113 -123
  161. package/dist/navigationpanel/NavigationPanelControls.js +124 -150
  162. package/dist/navigationpanel/NavigationPanelDropdown.js +365 -477
  163. package/dist/navigationpanel/_common.d.ts +4 -10
  164. package/dist/navigationpanel/_common.js +57 -70
  165. package/dist/navigationpanel/actor.js +153 -236
  166. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +66 -83
  167. package/dist/navigationpanel/comparepanel/ComparePanel.js +135 -164
  168. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +50 -58
  169. package/dist/navigationpanel/comparepanel/DriftsSummary.js +207 -254
  170. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +33 -35
  171. package/dist/navigationpanel/controls/DetailsControls.js +219 -246
  172. package/dist/navigationpanel/controls/LayoutWarning.js +89 -100
  173. package/dist/navigationpanel/controls/LogoButton.js +46 -70
  174. package/dist/navigationpanel/controls/NavigationButtons.js +35 -52
  175. package/dist/navigationpanel/controls/OpenSource.js +27 -25
  176. package/dist/navigationpanel/controls/SearchControl.js +50 -61
  177. package/dist/navigationpanel/controls/ToggleReadonly.js +84 -81
  178. package/dist/navigationpanel/dropdown/ProjectsMenu.js +69 -87
  179. package/dist/navigationpanel/editorpanel/CenterCamera.js +17 -13
  180. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +182 -154
  181. package/dist/navigationpanel/editorpanel/EditorPanel.js +47 -45
  182. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +122 -173
  183. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +20 -13
  184. package/dist/navigationpanel/editorpanel/_common.d.ts +3 -6
  185. package/dist/navigationpanel/editorpanel/_common.js +13 -13
  186. package/dist/navigationpanel/editorpanel/styles.js +58 -75
  187. package/dist/navigationpanel/hooks.js +35 -29
  188. package/dist/navigationpanel/styles.css.js +20 -28
  189. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +107 -134
  190. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +8 -8
  191. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +105 -120
  192. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +75 -83
  193. package/dist/overlays/Overlays.js +94 -112
  194. package/dist/overlays/element-details/ElementDetails.js +22 -28
  195. package/dist/overlays/element-details/ElementDetailsCard.css.js +198 -221
  196. package/dist/overlays/element-details/ElementDetailsCard.js +517 -499
  197. package/dist/overlays/element-details/MetadataValue.js +210 -250
  198. package/dist/overlays/element-details/TabPanelDeployments.css.js +40 -60
  199. package/dist/overlays/element-details/TabPanelDeployments.js +185 -178
  200. package/dist/overlays/element-details/TabPanelRelationships.css.js +63 -71
  201. package/dist/overlays/element-details/TabPanelRelationships.js +155 -140
  202. package/dist/overlays/element-details/TabPanelStructure.css.js +29 -33
  203. package/dist/overlays/element-details/TabPanelStructure.js +93 -93
  204. package/dist/overlays/element-details/actor.js +45 -55
  205. package/dist/overlays/element-details/actorContext.js +12 -10
  206. package/dist/overlays/overlay/Overlay.js +104 -151
  207. package/dist/overlays/overlaysActor.js +213 -264
  208. package/dist/overlays/relationship-details/RelationshipDetails.js +270 -253
  209. package/dist/overlays/relationship-details/SelectEdge.css.js +62 -74
  210. package/dist/overlays/relationship-details/SelectEdge.js +146 -126
  211. package/dist/overlays/relationship-details/actor.js +242 -303
  212. package/dist/overlays/relationship-details/compute.js +109 -135
  213. package/dist/overlays/relationship-details/custom/ElementActions.js +43 -56
  214. package/dist/overlays/relationship-details/custom/edgeTypes.js +43 -49
  215. package/dist/overlays/relationship-details/custom/nodeTypes.js +93 -119
  216. package/dist/overlays/relationship-details/hooks.js +44 -38
  217. package/dist/overlays/relationship-details/layout-to-xyflow.js +119 -141
  218. package/dist/overlays/relationship-details/layout.js +275 -304
  219. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +319 -321
  220. package/dist/overlays/relationships-browser/SelectElement.css.js +18 -21
  221. package/dist/overlays/relationships-browser/SelectElement.js +192 -218
  222. package/dist/overlays/relationships-browser/actor.js +364 -462
  223. package/dist/overlays/relationships-browser/const.js +7 -6
  224. package/dist/overlays/relationships-browser/custom/ElementActions.js +60 -63
  225. package/dist/overlays/relationships-browser/custom/EmptyNode.js +25 -29
  226. package/dist/overlays/relationships-browser/custom/edgeTypes.js +66 -99
  227. package/dist/overlays/relationships-browser/custom/nodeTypes.js +98 -123
  228. package/dist/overlays/relationships-browser/hooks.js +49 -51
  229. package/dist/overlays/relationships-browser/layout.js +413 -465
  230. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +141 -157
  231. package/dist/projects-overview/ProjectsOverview.js +56 -55
  232. package/dist/projects-overview/ProjectsOverviewXY.js +105 -94
  233. package/dist/projects-overview/actor.js +252 -345
  234. package/dist/projects-overview/context.js +8 -7
  235. package/dist/projects-overview/custom/edgeTypes.js +22 -21
  236. package/dist/projects-overview/custom/nodeTypes.js +38 -42
  237. package/dist/projects-overview/hooks.js +9 -9
  238. package/dist/projects-overview/layouted-to-xyflow.js +46 -42
  239. package/dist/projects-overview/panel/ProjectsOverviewPanel.js +7 -9
  240. package/dist/projects-overview/persistence.js +22 -22
  241. package/dist/search/Search.js +199 -181
  242. package/dist/search/SearchContext.js +16 -15
  243. package/dist/search/XStateSearchAdapter.js +68 -62
  244. package/dist/search/components/ElementsColumn.css.js +50 -68
  245. package/dist/search/components/ElementsColumn.js +248 -290
  246. package/dist/search/components/PickView.js +116 -140
  247. package/dist/search/components/SearchByTags.js +76 -94
  248. package/dist/search/components/SearchInput.js +187 -209
  249. package/dist/search/components/ViewsColum.js +151 -141
  250. package/dist/search/components/ViewsColumn.css.js +12 -26
  251. package/dist/search/components/_shared.css.js +127 -153
  252. package/dist/search/components/styles.css.js +47 -53
  253. package/dist/search/components/utils.js +44 -47
  254. package/dist/search/hooks.js +10 -10
  255. package/dist/search/searchActor.js +93 -128
  256. package/dist/shadowroot/ShadowRoot.js +66 -78
  257. package/dist/shadowroot/styles.css.js +56 -66
  258. package/dist/styles-font2.js +4 -0
  259. package/dist/styles2.js +4 -0
  260. package/dist/utils/index.js +5 -0
  261. package/dist/utils/roundDpr.js +19 -15
  262. package/dist/utils/view-bounds.js +48 -55
  263. package/dist/utils/xyflow.js +143 -113
  264. package/package.json +12 -13
  265. package/styles-font.css +1 -1
  266. package/styles-min.css +1 -1
  267. package/styles-xyflow.css +1 -1
  268. package/styles.css +1 -1
  269. package/dist/_virtual/_commonjsHelpers.js +0 -3
  270. package/dist/_virtual/assign-f10db67b.cjs.js +0 -3
  271. package/dist/_virtual/log-30abbb83.cjs.js +0 -3
  272. package/dist/_virtual/raise-f051f097.cjs.js +0 -3
  273. package/dist/_virtual/store-cfe7da62.cjs.js +0 -3
  274. package/dist/_virtual/xstate-actions.cjs.js +0 -5
  275. package/dist/_virtual/xstate-actions.cjs2.js +0 -3
  276. package/dist/_virtual/xstate-dev.cjs.js +0 -3
  277. package/dist/_virtual/xstate-guards.cjs.js +0 -5
  278. package/dist/_virtual/xstate-guards.cjs2.js +0 -3
  279. package/dist/_virtual/xstate-store-react.cjs.js +0 -5
  280. package/dist/_virtual/xstate-store-react.cjs2.js +0 -3
  281. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +0 -41
  282. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +0 -30
  283. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -14
  284. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -14
  285. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +0 -14
  286. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -14
  287. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +0 -14
  288. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -14
  289. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -14
  290. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +0 -14
  291. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -14
  292. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -14
  293. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -14
  294. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -14
  295. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -14
  296. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +0 -14
  297. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -14
  298. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -14
  299. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js +0 -14
  300. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -14
  301. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +0 -14
  302. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -14
  303. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -14
  304. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -14
  305. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -14
  306. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -14
  307. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -14
  308. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -14
  309. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -14
  310. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -14
  311. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -14
  312. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -14
  313. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -14
  314. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +0 -14
  315. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -14
  316. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -14
  317. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -14
  318. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -14
  319. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -14
  320. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -14
  321. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -14
  322. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -14
  323. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -14
  324. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -14
  325. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -14
  326. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -14
  327. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +0 -14
  328. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -14
  329. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -14
  330. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js +0 -14
  331. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -14
  332. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -14
  333. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -14
  334. package/dist/node_modules/.pnpm/@xstate_store@3.17.1_react@19.2.4/node_modules/@xstate/store/dist/store-cfe7da62.cjs.js +0 -761
  335. package/dist/node_modules/.pnpm/@xstate_store@3.17.1_react@19.2.4/node_modules/@xstate/store/react/dist/xstate-store-react.cjs.js +0 -180
  336. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/actions/dist/xstate-actions.cjs.js +0 -37
  337. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dev/dist/xstate-dev.cjs.js +0 -59
  338. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/assign-f10db67b.cjs.js +0 -140
  339. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/log-30abbb83.cjs.js +0 -401
  340. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/raise-f051f097.cjs.js +0 -2830
  341. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/guards/dist/xstate-guards.cjs.js +0 -26
  342. package/dist/styles-font.css2.js +0 -3
  343. package/dist/styles.css2.js +0 -3
@@ -1,219 +1,161 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { nonexhaustive } from '@likec4/core';
3
-
4
- const Open = (props) => /* @__PURE__ */ jsx(
5
- "marker",
6
- {
7
- viewBox: "-4 -4 14 16",
8
- refX: 5,
9
- refY: 4,
10
- markerWidth: "7",
11
- markerHeight: "8",
12
- preserveAspectRatio: "xMaxYMid meet",
13
- orient: "auto-start-reverse",
14
- ...props,
15
- children: /* @__PURE__ */ jsx(
16
- "path",
17
- {
18
- d: "M0,0 L7,4 L0,8 L4,4 Z",
19
- stroke: "context-stroke",
20
- fill: "context-stroke",
21
- strokeDasharray: 0,
22
- strokeWidth: 1,
23
- strokeLinecap: "round"
24
- }
25
- )
26
- }
27
- );
28
- const Arrow = (props) => /* @__PURE__ */ jsx(
29
- "marker",
30
- {
31
- viewBox: "-1 -1 12 10",
32
- refX: 4,
33
- refY: 3,
34
- markerWidth: "8",
35
- markerHeight: "6",
36
- preserveAspectRatio: "xMaxYMid meet",
37
- orient: "auto-start-reverse",
38
- ...props,
39
- children: /* @__PURE__ */ jsx(
40
- "path",
41
- {
42
- d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
43
- fill: "context-stroke",
44
- strokeWidth: 0
45
- }
46
- )
47
- }
48
- );
49
- const Crow = (props) => /* @__PURE__ */ jsx(
50
- "marker",
51
- {
52
- viewBox: "-1 -1 12 12",
53
- refX: 8,
54
- refY: 4,
55
- markerWidth: "8",
56
- markerHeight: "8",
57
- preserveAspectRatio: "xMaxYMid meet",
58
- orient: "auto-start-reverse",
59
- ...props,
60
- children: /* @__PURE__ */ jsx(
61
- "path",
62
- {
63
- d: "M 8 0 L 0 4 L 8 8 M 8 4 L 0 4",
64
- fill: "none",
65
- strokeWidth: 1
66
- }
67
- )
68
- }
69
- );
70
- const OArrow = (props) => /* @__PURE__ */ jsx(
71
- "marker",
72
- {
73
- viewBox: "-1 -1 12 10",
74
- refX: 4,
75
- refY: 3,
76
- markerWidth: "8",
77
- markerHeight: "6",
78
- preserveAspectRatio: "xMaxYMid meet",
79
- orient: "auto-start-reverse",
80
- ...props,
81
- children: /* @__PURE__ */ jsx(
82
- "path",
83
- {
84
- d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
85
- stroke: "context-stroke",
86
- fill: "var(--likec4-background-color)",
87
- strokeWidth: 1.25,
88
- strokeLinejoin: "miter",
89
- strokeLinecap: "square"
90
- }
91
- )
92
- }
93
- );
94
- const Diamond = (props) => /* @__PURE__ */ jsx(
95
- "marker",
96
- {
97
- viewBox: "-4 -4 16 14",
98
- refX: 5,
99
- refY: 4,
100
- markerWidth: "10",
101
- markerHeight: "8",
102
- preserveAspectRatio: "xMaxYMid meet",
103
- orient: "auto-start-reverse",
104
- ...props,
105
- children: /* @__PURE__ */ jsx(
106
- "path",
107
- {
108
- d: "M5,0 L10,4 L5,8 L0,4 Z",
109
- fill: "context-stroke",
110
- strokeWidth: 0,
111
- strokeLinecap: "round"
112
- }
113
- )
114
- }
115
- );
116
- const ODiamond = (props) => /* @__PURE__ */ jsx(
117
- "marker",
118
- {
119
- viewBox: "-4 -4 16 14",
120
- refX: 6,
121
- refY: 4,
122
- markerWidth: "10",
123
- markerHeight: "8",
124
- preserveAspectRatio: "xMaxYMid meet",
125
- orient: "auto-start-reverse",
126
- ...props,
127
- children: /* @__PURE__ */ jsx(
128
- "path",
129
- {
130
- d: "M5,0 L10,4 L5,8 L0,4 Z",
131
- stroke: "context-stroke",
132
- fill: "var(--likec4-background-color)",
133
- strokeWidth: 1.25,
134
- strokeLinecap: "round"
135
- }
136
- )
137
- }
138
- );
139
- const Dot = (props) => /* @__PURE__ */ jsx(
140
- "marker",
141
- {
142
- viewBox: "0 0 10 10",
143
- refX: 4,
144
- refY: 4,
145
- markerWidth: "6",
146
- markerHeight: "6",
147
- ...props,
148
- children: /* @__PURE__ */ jsx(
149
- "circle",
150
- {
151
- strokeWidth: 0,
152
- fill: "context-stroke",
153
- cx: 4,
154
- cy: 4,
155
- r: 3
156
- }
157
- )
158
- }
159
- );
160
- const ODot = (props) => /* @__PURE__ */ jsx(
161
- "marker",
162
- {
163
- viewBox: "0 0 10 10",
164
- refX: 4,
165
- refY: 4,
166
- markerWidth: "6",
167
- markerHeight: "6",
168
- ...props,
169
- children: /* @__PURE__ */ jsx(
170
- "circle",
171
- {
172
- strokeWidth: 1.25,
173
- stroke: "context-stroke",
174
- fill: "var(--likec4-background-color)",
175
- cx: 4,
176
- cy: 4,
177
- r: 3
178
- }
179
- )
180
- }
181
- );
182
- const EdgeMarkers = {
183
- Arrow,
184
- Crow,
185
- OArrow,
186
- Open,
187
- Diamond,
188
- ODiamond,
189
- Dot,
190
- ODot
1
+ import "../../_virtual/_rolldown/runtime.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { nonexhaustive } from "@likec4/core";
4
+ //#region src/base-primitives/edge/EdgeMarkers.tsx
5
+ var Open = (props) => /* @__PURE__ */ jsx("marker", {
6
+ viewBox: "-4 -4 14 16",
7
+ refX: 5,
8
+ refY: 4,
9
+ markerWidth: "7",
10
+ markerHeight: "8",
11
+ preserveAspectRatio: "xMaxYMid meet",
12
+ orient: "auto-start-reverse",
13
+ ...props,
14
+ children: /* @__PURE__ */ jsx("path", {
15
+ d: "M0,0 L7,4 L0,8 L4,4 Z",
16
+ stroke: "context-stroke",
17
+ fill: "context-stroke",
18
+ strokeDasharray: 0,
19
+ strokeWidth: 1,
20
+ strokeLinecap: "round"
21
+ })
22
+ });
23
+ var Arrow = (props) => /* @__PURE__ */ jsx("marker", {
24
+ viewBox: "-1 -1 12 10",
25
+ refX: 4,
26
+ refY: 3,
27
+ markerWidth: "8",
28
+ markerHeight: "6",
29
+ preserveAspectRatio: "xMaxYMid meet",
30
+ orient: "auto-start-reverse",
31
+ ...props,
32
+ children: /* @__PURE__ */ jsx("path", {
33
+ d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
34
+ fill: "context-stroke",
35
+ strokeWidth: 0
36
+ })
37
+ });
38
+ var Crow = (props) => /* @__PURE__ */ jsx("marker", {
39
+ viewBox: "-1 -1 12 12",
40
+ refX: 8,
41
+ refY: 4,
42
+ markerWidth: "8",
43
+ markerHeight: "8",
44
+ preserveAspectRatio: "xMaxYMid meet",
45
+ orient: "auto-start-reverse",
46
+ ...props,
47
+ children: /* @__PURE__ */ jsx("path", {
48
+ d: "M 8 0 L 0 4 L 8 8 M 8 4 L 0 4",
49
+ fill: "none",
50
+ strokeWidth: 1
51
+ })
52
+ });
53
+ var OArrow = (props) => /* @__PURE__ */ jsx("marker", {
54
+ viewBox: "-1 -1 12 10",
55
+ refX: 4,
56
+ refY: 3,
57
+ markerWidth: "8",
58
+ markerHeight: "6",
59
+ preserveAspectRatio: "xMaxYMid meet",
60
+ orient: "auto-start-reverse",
61
+ ...props,
62
+ children: /* @__PURE__ */ jsx("path", {
63
+ d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
64
+ stroke: "context-stroke",
65
+ fill: "var(--likec4-background-color)",
66
+ strokeWidth: 1.25,
67
+ strokeLinejoin: "miter",
68
+ strokeLinecap: "square"
69
+ })
70
+ });
71
+ var Diamond = (props) => /* @__PURE__ */ jsx("marker", {
72
+ viewBox: "-4 -4 16 14",
73
+ refX: 5,
74
+ refY: 4,
75
+ markerWidth: "10",
76
+ markerHeight: "8",
77
+ preserveAspectRatio: "xMaxYMid meet",
78
+ orient: "auto-start-reverse",
79
+ ...props,
80
+ children: /* @__PURE__ */ jsx("path", {
81
+ d: "M5,0 L10,4 L5,8 L0,4 Z",
82
+ fill: "context-stroke",
83
+ strokeWidth: 0,
84
+ strokeLinecap: "round"
85
+ })
86
+ });
87
+ var ODiamond = (props) => /* @__PURE__ */ jsx("marker", {
88
+ viewBox: "-4 -4 16 14",
89
+ refX: 6,
90
+ refY: 4,
91
+ markerWidth: "10",
92
+ markerHeight: "8",
93
+ preserveAspectRatio: "xMaxYMid meet",
94
+ orient: "auto-start-reverse",
95
+ ...props,
96
+ children: /* @__PURE__ */ jsx("path", {
97
+ d: "M5,0 L10,4 L5,8 L0,4 Z",
98
+ stroke: "context-stroke",
99
+ fill: "var(--likec4-background-color)",
100
+ strokeWidth: 1.25,
101
+ strokeLinecap: "round"
102
+ })
103
+ });
104
+ var Dot = (props) => /* @__PURE__ */ jsx("marker", {
105
+ viewBox: "0 0 10 10",
106
+ refX: 4,
107
+ refY: 4,
108
+ markerWidth: "6",
109
+ markerHeight: "6",
110
+ ...props,
111
+ children: /* @__PURE__ */ jsx("circle", {
112
+ strokeWidth: 0,
113
+ fill: "context-stroke",
114
+ cx: 4,
115
+ cy: 4,
116
+ r: 3
117
+ })
118
+ });
119
+ var ODot = (props) => /* @__PURE__ */ jsx("marker", {
120
+ viewBox: "0 0 10 10",
121
+ refX: 4,
122
+ refY: 4,
123
+ markerWidth: "6",
124
+ markerHeight: "6",
125
+ ...props,
126
+ children: /* @__PURE__ */ jsx("circle", {
127
+ strokeWidth: 1.25,
128
+ stroke: "context-stroke",
129
+ fill: "var(--likec4-background-color)",
130
+ cx: 4,
131
+ cy: 4,
132
+ r: 3
133
+ })
134
+ });
135
+ var EdgeMarkers = {
136
+ Arrow,
137
+ Crow,
138
+ OArrow,
139
+ Open,
140
+ Diamond,
141
+ ODiamond,
142
+ Dot,
143
+ ODot
191
144
  };
192
145
  function arrowTypeToMarker(arrowType) {
193
- if (!arrowType || arrowType === "none") {
194
- return void 0;
195
- }
196
- switch (arrowType) {
197
- case "normal":
198
- return "Arrow";
199
- case "crow":
200
- return "Crow";
201
- case "onormal":
202
- return "OArrow";
203
- case "diamond":
204
- return "Diamond";
205
- case "odiamond":
206
- return "ODiamond";
207
- case "open":
208
- case "vee":
209
- return "Open";
210
- case "dot":
211
- return "Dot";
212
- case "odot":
213
- return `ODot`;
214
- default:
215
- nonexhaustive(arrowType);
216
- }
146
+ if (!arrowType || arrowType === "none") return;
147
+ switch (arrowType) {
148
+ case "normal": return "Arrow";
149
+ case "crow": return "Crow";
150
+ case "onormal": return "OArrow";
151
+ case "diamond": return "Diamond";
152
+ case "odiamond": return "ODiamond";
153
+ case "open":
154
+ case "vee": return "Open";
155
+ case "dot": return "Dot";
156
+ case "odot": return `ODot`;
157
+ default: nonexhaustive(arrowType);
158
+ }
217
159
  }
218
-
160
+ //#endregion
219
161
  export { EdgeMarkers, arrowTypeToMarker };
@@ -1,118 +1,65 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { cx, css } from '@likec4/styles/css';
3
- import { edgePath } from '@likec4/styles/recipes';
4
- import { forwardRef } from 'react';
5
- import { arrowTypeToMarker, EdgeMarkers } from './EdgeMarkers.js';
6
-
7
- const EdgePath = forwardRef(({
8
- edgeProps: {
9
- id,
10
- data: {
11
- line,
12
- dir,
13
- tail,
14
- head
15
- },
16
- selectable = true,
17
- style,
18
- interactionWidth
19
- },
20
- isDragging = false,
21
- // omit
22
- onEdgePointerDown,
23
- strokeWidth,
24
- svgPath
25
- }, svgPathRef) => {
26
- let markerStartName = arrowTypeToMarker(tail);
27
- let markerEndName = arrowTypeToMarker(head ?? "normal");
28
- if (dir === "back") {
29
- [markerStartName, markerEndName] = [markerEndName, markerStartName];
30
- }
31
- const MarkerStart = markerStartName ? EdgeMarkers[markerStartName] : null;
32
- const MarkerEnd = markerEndName ? EdgeMarkers[markerEndName] : null;
33
- const isDotted = line === "dotted";
34
- const isDashed = isDotted || line === "dashed";
35
- let strokeDasharray;
36
- if (isDotted) {
37
- strokeDasharray = "1,8";
38
- } else if (isDashed) {
39
- strokeDasharray = "8,10";
40
- }
41
- const classes = edgePath();
42
- return /* @__PURE__ */ jsxs(Fragment, { children: [
43
- selectable && /* @__PURE__ */ jsx(
44
- "path",
45
- {
46
- className: cx(
47
- "react-flow__edge-interaction",
48
- css({
49
- fill: "none"
50
- })
51
- ),
52
- onPointerDown: onEdgePointerDown,
53
- d: svgPath,
54
- style: {
55
- strokeWidth: interactionWidth ?? 10,
56
- stroke: "currentcolor",
57
- strokeOpacity: 0,
58
- ...isDragging ? { display: "none" } : {}
59
- }
60
- }
61
- ),
62
- /* @__PURE__ */ jsx(
63
- "circle",
64
- {
65
- className: cx(
66
- // This class is queried by RelationshipPopover to position in the middle of the edge
67
- "likec4-edge-middle-point",
68
- classes.middlePoint
69
- ),
70
- "data-edge-id": id,
71
- style: {
72
- offsetPath: `path("${svgPath}")`
73
- }
74
- }
75
- ),
76
- /* @__PURE__ */ jsxs("g", { className: classes.markersCtx, onPointerDown: onEdgePointerDown, children: [
77
- /* @__PURE__ */ jsxs("defs", { children: [
78
- MarkerStart && /* @__PURE__ */ jsx(MarkerStart, { id: "start" + id }),
79
- MarkerEnd && /* @__PURE__ */ jsx(MarkerEnd, { id: "end" + id })
80
- ] }),
81
- /* @__PURE__ */ jsx(
82
- "path",
83
- {
84
- className: cx(
85
- "react-flow__edge-path",
86
- "hide-on-reduced-graphics",
87
- classes.pathBg,
88
- isDragging && css({ display: "none" })
89
- ),
90
- d: svgPath,
91
- style,
92
- strokeLinecap: "round"
93
- }
94
- ),
95
- /* @__PURE__ */ jsx(
96
- "path",
97
- {
98
- ref: svgPathRef,
99
- className: cx(
100
- "react-flow__edge-path",
101
- classes.path,
102
- selectable && "react-flow__edge-interaction"
103
- ),
104
- d: svgPath,
105
- style,
106
- strokeWidth,
107
- strokeLinecap: "round",
108
- strokeDasharray,
109
- markerStart: MarkerStart ? `url(#start${id})` : void 0,
110
- markerEnd: MarkerEnd ? `url(#end${id})` : void 0
111
- }
112
- )
113
- ] })
114
- ] });
1
+ import "../../_virtual/_rolldown/runtime.js";
2
+ import { EdgeMarkers, arrowTypeToMarker } from "./EdgeMarkers.js";
3
+ import { css, cx } from "@likec4/styles/css";
4
+ import { forwardRef } from "react";
5
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
+ import { edgePath } from "@likec4/styles/recipes";
7
+ //#region src/base-primitives/edge/EdgePath.tsx
8
+ var EdgePath = forwardRef(({ edgeProps: { id, data: { line, dir, tail, head }, selectable = true, style, interactionWidth }, isDragging = false, onEdgePointerDown, strokeWidth, svgPath }, svgPathRef) => {
9
+ let markerStartName = arrowTypeToMarker(tail);
10
+ let markerEndName = arrowTypeToMarker(head ?? "normal");
11
+ if (dir === "back") [markerStartName, markerEndName] = [markerEndName, markerStartName];
12
+ const MarkerStart = markerStartName ? EdgeMarkers[markerStartName] : null;
13
+ const MarkerEnd = markerEndName ? EdgeMarkers[markerEndName] : null;
14
+ const isDotted = line === "dotted";
15
+ const isDashed = isDotted || line === "dashed";
16
+ let strokeDasharray;
17
+ if (isDotted) strokeDasharray = "1,8";
18
+ else if (isDashed) strokeDasharray = "8,10";
19
+ const classes = edgePath();
20
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
21
+ selectable && /* @__PURE__ */ jsx("path", {
22
+ className: cx("react-flow__edge-interaction", css({ fill: "none" })),
23
+ onPointerDown: onEdgePointerDown,
24
+ d: svgPath,
25
+ style: {
26
+ strokeWidth: interactionWidth ?? 10,
27
+ stroke: "currentcolor",
28
+ strokeOpacity: 0,
29
+ ...isDragging ? { display: "none" } : {}
30
+ }
31
+ }),
32
+ /* @__PURE__ */ jsx("circle", {
33
+ className: cx("likec4-edge-middle-point", classes.middlePoint),
34
+ "data-edge-id": id,
35
+ style: { offsetPath: `path("${svgPath}")` }
36
+ }),
37
+ /* @__PURE__ */ jsxs("g", {
38
+ className: classes.markersCtx,
39
+ onPointerDown: onEdgePointerDown,
40
+ children: [
41
+ /* @__PURE__ */ jsxs("defs", { children: [MarkerStart && /* @__PURE__ */ jsx(MarkerStart, { id: "start" + id }), MarkerEnd && /* @__PURE__ */ jsx(MarkerEnd, { id: "end" + id })] }),
42
+ /* @__PURE__ */ jsx("path", {
43
+ className: cx("react-flow__edge-path", "hide-on-reduced-graphics", classes.pathBg, isDragging && css({ display: "none" })),
44
+ d: svgPath,
45
+ style,
46
+ strokeLinecap: "round"
47
+ }),
48
+ /* @__PURE__ */ jsx("path", {
49
+ ref: svgPathRef,
50
+ className: cx("react-flow__edge-path", classes.path, selectable && "react-flow__edge-interaction"),
51
+ d: svgPath,
52
+ style,
53
+ strokeWidth,
54
+ strokeLinecap: "round",
55
+ strokeDasharray,
56
+ markerStart: MarkerStart ? `url(#start${id})` : void 0,
57
+ markerEnd: MarkerEnd ? `url(#end${id})` : void 0
58
+ })
59
+ ]
60
+ })
61
+ ] });
115
62
  });
116
63
  EdgePath.displayName = "EdgePath";
117
-
64
+ //#endregion
118
65
  export { EdgePath };