@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
@@ -0,0 +1,5 @@
1
+ import "./roundDpr.js";
2
+ import "./xyflow.js";
3
+ import "./view-bounds.js";
4
+ import { vector as vector$1 } from "@likec4/core/geometry";
5
+ export { vector$1 as vector };
@@ -1,20 +1,24 @@
1
- import { clamp } from 'remeda';
2
-
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { clamp } from "remeda";
3
+ //#region src/utils/roundDpr.ts
4
+ /**
5
+ * Returns the current device pixel ratio (DPR) given the passed options
6
+ *
7
+ * @param options
8
+ * @returns current device pixel ratio
9
+ */
3
10
  function getDevicePixelRatio() {
4
- const hasDprProp = typeof window !== "undefined" && typeof window.devicePixelRatio === "number";
5
- const dpr = hasDprProp ? window.devicePixelRatio : 1;
6
- return clamp(Math.floor(dpr), {
7
- min: 1,
8
- max: 4
9
- });
11
+ const dpr = typeof window !== "undefined" && typeof window.devicePixelRatio === "number" ? window.devicePixelRatio : 1;
12
+ return clamp(Math.floor(dpr), {
13
+ min: 1,
14
+ max: 4
15
+ });
10
16
  }
11
- let knownDpr;
17
+ var knownDpr;
12
18
  function roundDpr(v) {
13
- knownDpr ??= getDevicePixelRatio();
14
- if (knownDpr < 2) {
15
- return Math.round(v);
16
- }
17
- return Math.round(v * knownDpr) / knownDpr;
19
+ knownDpr ??= getDevicePixelRatio();
20
+ if (knownDpr < 2) return Math.round(v);
21
+ return Math.round(v * knownDpr) / knownDpr;
18
22
  }
19
-
23
+ //#endregion
20
24
  export { roundDpr };
@@ -1,62 +1,55 @@
1
- import { invariant } from '@likec4/core';
2
- import { BBox } from '@likec4/core/geometry';
3
-
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { invariant } from "@likec4/core";
3
+ import { BBox as BBox$1 } from "@likec4/core/geometry";
4
+ //#region src/utils/view-bounds.ts
5
+ /**
6
+ * Picks appropriate bounds from the view,
7
+ * depending on its type and dynamic variant
8
+ */
4
9
  function pickViewBounds(view, dynamicVariant) {
5
- if (view._type === "dynamic") {
6
- try {
7
- const variant = dynamicVariant ?? view.variant;
8
- if (variant === "sequence") {
9
- invariant(view.sequenceLayout, "Sequence layout is not available");
10
- invariant(view.sequenceLayout.bounds, "Sequence layout bounds are not available");
11
- return view.sequenceLayout.bounds;
12
- }
13
- } catch (error) {
14
- console.error(error);
15
- }
16
- }
17
- return view.bounds;
10
+ if (view._type === "dynamic") try {
11
+ if ((dynamicVariant ?? view.variant) === "sequence") {
12
+ invariant(view.sequenceLayout, "Sequence layout is not available");
13
+ invariant(view.sequenceLayout.bounds, "Sequence layout bounds are not available");
14
+ return view.sequenceLayout.bounds;
15
+ }
16
+ } catch (error) {
17
+ console.error(error);
18
+ }
19
+ return view.bounds;
18
20
  }
19
21
  function calcEdgeBounds({ points, controlPoints, labelBBox }) {
20
- let minX = Infinity;
21
- let minY = Infinity;
22
- let maxX = -Infinity;
23
- let maxY = -Infinity;
24
- if (controlPoints) {
25
- for (const p of controlPoints) {
26
- minX = Math.min(minX, p.x);
27
- minY = Math.min(minY, p.y);
28
- maxX = Math.max(maxX, p.x);
29
- maxY = Math.max(maxY, p.y);
30
- }
31
- } else {
32
- for (const [x, y] of points) {
33
- minX = Math.min(minX, x);
34
- minY = Math.min(minY, y);
35
- maxX = Math.max(maxX, x);
36
- maxY = Math.max(maxY, y);
37
- }
38
- }
39
- if (labelBBox) {
40
- minX = Math.min(minX, labelBBox.x);
41
- minY = Math.min(minY, labelBBox.y);
42
- maxX = Math.max(maxX, labelBBox.x + labelBBox.width);
43
- maxY = Math.max(maxY, labelBBox.y + labelBBox.height);
44
- }
45
- return {
46
- x: minX,
47
- y: minY,
48
- width: maxX - minX,
49
- height: maxY - minY
50
- };
22
+ let minX = Infinity;
23
+ let minY = Infinity;
24
+ let maxX = -Infinity;
25
+ let maxY = -Infinity;
26
+ if (controlPoints) for (const p of controlPoints) {
27
+ minX = Math.min(minX, p.x);
28
+ minY = Math.min(minY, p.y);
29
+ maxX = Math.max(maxX, p.x);
30
+ maxY = Math.max(maxY, p.y);
31
+ }
32
+ else for (const [x, y] of points) {
33
+ minX = Math.min(minX, x);
34
+ minY = Math.min(minY, y);
35
+ maxX = Math.max(maxX, x);
36
+ maxY = Math.max(maxY, y);
37
+ }
38
+ if (labelBBox) {
39
+ minX = Math.min(minX, labelBBox.x);
40
+ minY = Math.min(minY, labelBBox.y);
41
+ maxX = Math.max(maxX, labelBBox.x + labelBBox.width);
42
+ maxY = Math.max(maxY, labelBBox.y + labelBBox.height);
43
+ }
44
+ return {
45
+ x: minX,
46
+ y: minY,
47
+ width: maxX - minX,
48
+ height: maxY - minY
49
+ };
51
50
  }
52
51
  function calcViewBounds({ nodes, edges }) {
53
- return BBox.expand(
54
- BBox.merge(
55
- ...nodes,
56
- ...edges.map(calcEdgeBounds).filter((box) => isFinite(box.x) && isFinite(box.y))
57
- ),
58
- 20
59
- );
52
+ return BBox$1.expand(BBox$1.merge(...nodes, ...edges.map(calcEdgeBounds).filter((box) => isFinite(box.x) && isFinite(box.y))), 20);
60
53
  }
61
-
54
+ //#endregion
62
55
  export { calcEdgeBounds, calcViewBounds, pickViewBounds };
@@ -1,131 +1,161 @@
1
- import { BBox, vector } from '@likec4/core/geometry';
2
- import { invariant } from '@likec4/core/utils';
3
- import '@xyflow/react';
4
- import { getNodeDimensions } from '@xyflow/system';
5
- import { Bezier } from 'bezier-js';
6
- import { isArray, hasAtLeast } from 'remeda';
7
-
8
- function nodeToRect(nd) {
9
- return {
10
- x: Math.trunc(nd.internals.positionAbsolute.x),
11
- y: Math.trunc(nd.internals.positionAbsolute.y),
12
- width: Math.round(nd.measured?.width ?? nd.width ?? nd.initialWidth ?? 0),
13
- height: Math.round(nd.measured?.height ?? nd.height ?? nd.initialHeight ?? 0)
14
- };
1
+ import { __name } from "../_virtual/_rolldown/runtime.js";
2
+ import "@xyflow/react";
3
+ import { hasAtLeast, isArray } from "remeda";
4
+ import { BBox, vector } from "@likec4/core/geometry";
5
+ import { invariant } from "@likec4/core/utils";
6
+ import { getNodeDimensions } from "@xyflow/system";
7
+ import { Bezier } from "bezier-js";
8
+ //#region src/utils/xyflow.ts
9
+ function nodeToRect$1(nd) {
10
+ return {
11
+ x: Math.trunc(nd.internals.positionAbsolute.x),
12
+ y: Math.trunc(nd.internals.positionAbsolute.y),
13
+ width: Math.round(nd.measured?.width ?? nd.width ?? nd.initialWidth ?? 0),
14
+ height: Math.round(nd.measured?.height ?? nd.height ?? nd.initialHeight ?? 0)
15
+ };
15
16
  }
17
+ __name(nodeToRect$1, "nodeToRect");
16
18
  function getNodeCenter(node) {
17
- const { width, height } = getNodeDimensions(node);
18
- const { x, y } = node.internals.positionAbsolute;
19
- return {
20
- x: Math.round(x + width / 2),
21
- y: Math.round(y + height / 2)
22
- };
19
+ const { width, height } = getNodeDimensions(node);
20
+ const { x, y } = node.internals.positionAbsolute;
21
+ return {
22
+ x: Math.round(x + width / 2),
23
+ y: Math.round(y + height / 2)
24
+ };
23
25
  }
26
+ /**
27
+ * Helper function returns the intersection point
28
+ * of the line between the center of the intersectionNode and the target
29
+ *
30
+ * @param intersectionNode the node that is the center of the line
31
+ * @param target position of the target
32
+ * @param nodeMargin the margin of the intersectionNode. The point will be placed at nodeMargin distance from the border of the node
33
+ * @returns coordinates of the intersection point
34
+ */
24
35
  function getNodeIntersectionFromCenterToPoint(intersectionNode, target, nodeMargin = 0) {
25
- const { width, height } = intersectionNode;
26
- const nodeCenter = BBox.center(intersectionNode);
27
- const v = vector(target.x, target.y).subtract(nodeCenter);
28
- const xScale = (nodeMargin + width / 2) / v.x;
29
- const yScale = (nodeMargin + height / 2) / v.y;
30
- const scale = Math.min(Math.abs(xScale), Math.abs(yScale));
31
- return vector(v).multiply(scale).add(nodeCenter).trunc().toObject();
36
+ const { width, height } = intersectionNode;
37
+ const nodeCenter = BBox.center(intersectionNode);
38
+ const v = vector(target.x, target.y).subtract(nodeCenter);
39
+ const xScale = (nodeMargin + width / 2) / v.x;
40
+ const yScale = (nodeMargin + height / 2) / v.y;
41
+ const scale = Math.min(Math.abs(xScale), Math.abs(yScale));
42
+ return vector(v).multiply(scale).add(nodeCenter).trunc().toObject();
32
43
  }
33
44
  function bezierControlPoints(points) {
34
- let [start, ...bezierPoints] = points;
35
- invariant(start, "start should be defined");
36
- const handles = [
37
- // start
38
- ];
39
- while (hasAtLeast(bezierPoints, 3)) {
40
- const [cp1, cp2, end, ...rest] = bezierPoints;
41
- const bezier = new Bezier(start[0], start[1], cp1[0], cp1[1], cp2[0], cp2[1], end[0], end[1]);
42
- const inflections = bezier.inflections();
43
- if (inflections.length === 0) {
44
- inflections.push(0.5);
45
- }
46
- inflections.forEach((t) => {
47
- const { x, y } = bezier.get(t);
48
- handles.push({
49
- x: Math.trunc(x),
50
- y: Math.trunc(y)
51
- });
52
- });
53
- bezierPoints = rest;
54
- start = end;
55
- }
56
- invariant(bezierPoints.length === 0, "all points should be consumed");
57
- invariant(hasAtLeast(handles, 1), "at least one control point should be generated");
58
- return handles;
45
+ let [start, ...bezierPoints] = points;
46
+ invariant(start, "start should be defined");
47
+ const handles = [];
48
+ while (hasAtLeast(bezierPoints, 3)) {
49
+ const [cp1, cp2, end, ...rest] = bezierPoints;
50
+ const bezier = new Bezier(start[0], start[1], cp1[0], cp1[1], cp2[0], cp2[1], end[0], end[1]);
51
+ const inflections = bezier.inflections();
52
+ if (inflections.length === 0) inflections.push(.5);
53
+ inflections.forEach((t) => {
54
+ const { x, y } = bezier.get(t);
55
+ handles.push({
56
+ x: Math.trunc(x),
57
+ y: Math.trunc(y)
58
+ });
59
+ });
60
+ bezierPoints = rest;
61
+ start = end;
62
+ }
63
+ invariant(bezierPoints.length === 0, "all points should be consumed");
64
+ invariant(hasAtLeast(handles, 1), "at least one control point should be generated");
65
+ return handles;
59
66
  }
67
+ /**
68
+ * Checks if two points are the same, considering both XYPoint (object ) and Point (tuple) formats.
69
+ * @returns `true` If points are within 2px
70
+ */
60
71
  function isSamePoint(a, b) {
61
- if (a === b) {
62
- return true;
63
- }
64
- const [ax, ay] = isArray(a) ? a : [a.x, a.y];
65
- const [bx, by] = isArray(b) ? b : [b.x, b.y];
66
- return Math.hypot(bx - ax, by - ay) < 2.1;
72
+ if (a === b) return true;
73
+ const [ax, ay] = isArray(a) ? a : [a.x, a.y];
74
+ const [bx, by] = isArray(b) ? b : [b.x, b.y];
75
+ return Math.hypot(bx - ax, by - ay) < 2.1;
67
76
  }
68
77
  function stopPropagation(e) {
69
- e.nativeEvent.stopImmediatePropagation();
70
- e.stopPropagation();
78
+ e.nativeEvent.stopImmediatePropagation();
79
+ e.stopPropagation();
71
80
  }
72
- const printPoint = (point) => {
73
- return `${Math.trunc(point[0])},${Math.trunc(point[1])}`;
81
+ var printPoint = (point) => {
82
+ return `${Math.trunc(point[0])},${Math.trunc(point[1])}`;
74
83
  };
75
84
  function bezierPath(bezierSpline) {
76
- let [start, ...points] = bezierSpline;
77
- invariant(start, "start should be defined");
78
- let path = `M ${printPoint(start)}`;
79
- while (hasAtLeast(points, 3)) {
80
- const [cp1, cp2, end, ...rest] = points;
81
- path = path + ` C ${printPoint(cp1)} ${printPoint(cp2)} ${printPoint(end)}`;
82
- points = rest;
83
- }
84
- invariant(points.length === 0, "all points should be consumed");
85
- return path;
85
+ let [start, ...points] = bezierSpline;
86
+ invariant(start, "start should be defined");
87
+ let path = `M ${printPoint(start)}`;
88
+ while (hasAtLeast(points, 3)) {
89
+ const [cp1, cp2, end, ...rest] = points;
90
+ path = path + ` C ${printPoint(cp1)} ${printPoint(cp2)} ${printPoint(end)}`;
91
+ points = rest;
92
+ }
93
+ invariant(points.length === 0, "all points should be consumed");
94
+ return path;
86
95
  }
96
+ /**
97
+ * Parses a single padding value to a number
98
+ * @internal
99
+ * @param padding - Padding to parse
100
+ * @param viewport - Width or height of the viewport
101
+ * @returns The padding in pixels
102
+ */
87
103
  function parsePadding(padding, viewport) {
88
- if (typeof padding === "number") {
89
- return Math.floor((viewport - viewport / (1 + padding)) * 0.5);
90
- }
91
- if (typeof padding === "string" && padding.endsWith("px")) {
92
- const paddingValue = parseFloat(padding);
93
- if (!Number.isNaN(paddingValue)) {
94
- return Math.floor(paddingValue);
95
- }
96
- }
97
- if (typeof padding === "string" && padding.endsWith("%")) {
98
- const paddingValue = parseFloat(padding);
99
- if (!Number.isNaN(paddingValue)) {
100
- return Math.floor(viewport * paddingValue * 0.01);
101
- }
102
- }
103
- console.error(
104
- `[React Flow] The padding value "${padding}" is invalid. Please provide a number or a string with a valid unit (px or %).`
105
- );
106
- return 0;
104
+ if (typeof padding === "number") return Math.floor((viewport - viewport / (1 + padding)) * .5);
105
+ if (typeof padding === "string" && padding.endsWith("px")) {
106
+ const paddingValue = parseFloat(padding);
107
+ if (!Number.isNaN(paddingValue)) return Math.floor(paddingValue);
108
+ }
109
+ if (typeof padding === "string" && padding.endsWith("%")) {
110
+ const paddingValue = parseFloat(padding);
111
+ if (!Number.isNaN(paddingValue)) return Math.floor(viewport * paddingValue * .01);
112
+ }
113
+ console.error(`[React Flow] The padding value "${padding}" is invalid. Please provide a number or a string with a valid unit (px or %).`);
114
+ return 0;
107
115
  }
116
+ /**
117
+ * Parses the paddings to an object with top, right, bottom, left, x and y paddings
118
+ * @internal
119
+ * @param padding - Padding to parse
120
+ * @param width - Width of the viewport
121
+ * @param height - Height of the viewport
122
+ * @returns An object with the paddings in pixels
123
+ */
108
124
  function parsePaddings(padding, width, height) {
109
- if (typeof padding === "string" || typeof padding === "number") {
110
- const paddingY = parsePadding(padding, height);
111
- const paddingX = parsePadding(padding, width);
112
- return {
113
- top: paddingY,
114
- right: paddingX,
115
- bottom: paddingY,
116
- left: paddingX,
117
- x: paddingX * 2,
118
- y: paddingY * 2
119
- };
120
- }
121
- if (typeof padding === "object") {
122
- const top = parsePadding(padding.top ?? padding.y ?? 0, height);
123
- const bottom = parsePadding(padding.bottom ?? padding.y ?? 0, height);
124
- const left = parsePadding(padding.left ?? padding.x ?? 0, width);
125
- const right = parsePadding(padding.right ?? padding.x ?? 0, width);
126
- return { top, right, bottom, left, x: left + right, y: top + bottom };
127
- }
128
- return { top: 0, right: 0, bottom: 0, left: 0, x: 0, y: 0 };
125
+ if (typeof padding === "string" || typeof padding === "number") {
126
+ const paddingY = parsePadding(padding, height);
127
+ const paddingX = parsePadding(padding, width);
128
+ return {
129
+ top: paddingY,
130
+ right: paddingX,
131
+ bottom: paddingY,
132
+ left: paddingX,
133
+ x: paddingX * 2,
134
+ y: paddingY * 2
135
+ };
136
+ }
137
+ if (typeof padding === "object") {
138
+ const top = parsePadding(padding.top ?? padding.y ?? 0, height);
139
+ const bottom = parsePadding(padding.bottom ?? padding.y ?? 0, height);
140
+ const left = parsePadding(padding.left ?? padding.x ?? 0, width);
141
+ const right = parsePadding(padding.right ?? padding.x ?? 0, width);
142
+ return {
143
+ top,
144
+ right,
145
+ bottom,
146
+ left,
147
+ x: left + right,
148
+ y: top + bottom
149
+ };
150
+ }
151
+ return {
152
+ top: 0,
153
+ right: 0,
154
+ bottom: 0,
155
+ left: 0,
156
+ x: 0,
157
+ y: 0
158
+ };
129
159
  }
130
-
131
- export { bezierControlPoints, bezierPath, getNodeCenter, getNodeIntersectionFromCenterToPoint, isSamePoint, nodeToRect, parsePaddings, stopPropagation };
160
+ //#endregion
161
+ export { bezierControlPoints, bezierPath, getNodeCenter, getNodeIntersectionFromCenterToPoint, isSamePoint, nodeToRect$1 as nodeToRect, parsePaddings, stopPropagation };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@likec4/diagram",
3
- "version": "1.55.1",
3
+ "version": "1.56.0",
4
4
  "license": "MIT",
5
5
  "bugs": "https://github.com/likec4/likec4/issues",
6
6
  "homepage": "https://likec4.dev",
@@ -65,8 +65,8 @@
65
65
  "@dagrejs/dagre": "1.1.8",
66
66
  "@floating-ui/dom": "^1.7.6",
67
67
  "@lume/kiwi": "^0.4.4",
68
- "@mantine/core": "8.3.18",
69
- "@mantine/hooks": "8.3.18",
68
+ "@mantine/core": "9.1.0",
69
+ "@mantine/hooks": "9.1.0",
70
70
  "@nanostores/media-query": "0.1.2",
71
71
  "@nanostores/react": "1.1.0",
72
72
  "@react-hookz/web": "^25.2.0",
@@ -89,8 +89,9 @@
89
89
  "remeda": "^2.33.7",
90
90
  "type-fest": "^4.41.0",
91
91
  "xstate": "5.30.0",
92
- "@likec4/core": "1.55.1",
93
- "@likec4/styles": "1.55.1"
92
+ "@tabler/icons-react": "3.40.0",
93
+ "@likec4/core": "1.56.0",
94
+ "@likec4/styles": "1.56.0"
94
95
  },
95
96
  "peerDependencies": {
96
97
  "@pandacss/dev": "^1.9.1",
@@ -105,25 +106,23 @@
105
106
  "devDependencies": {
106
107
  "@pandacss/dev": "^1.9.1",
107
108
  "@statelyai/inspect": "^0.4.0",
108
- "@tabler/icons-react": "3.40.0",
109
109
  "@types/bezier-js": "^4.1.3",
110
110
  "@types/d3-shape": "^3.1.8",
111
- "@types/node": "~22.19.15",
111
+ "@types/node": "~22.19.17",
112
112
  "@types/react": "19.2.14",
113
113
  "@types/react-dom": "19.2.3",
114
- "@vitejs/plugin-react": "^5.2.0",
114
+ "@vitejs/plugin-react": "^6.0.1",
115
115
  "oxlint": "1.59.0",
116
- "postcss": "8.5.9",
116
+ "postcss": "8.5.10",
117
117
  "react": "19.2.4",
118
118
  "react-dom": "19.2.4",
119
119
  "typescript": "5.9.3",
120
- "vite": "^7.3.1",
121
- "vite-plugin-dts": "^4.5.4",
120
+ "vite": "^8.0.10",
121
+ "vite-plugin-dts": "5.0.0-beta.6",
122
122
  "vitest": "4.1.3",
123
- "wireit": "0.14.12",
124
123
  "zx": "8.8.5",
125
124
  "@likec4/devops": "1.42.0",
126
- "@likec4/tsconfig": "1.55.1"
125
+ "@likec4/tsconfig": "1.56.0"
127
126
  },
128
127
  "scripts": {
129
128
  "typecheck": "tsc --build --verbose",
package/styles-font.css CHANGED
@@ -1 +1 @@
1
- @font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/cyrillic-wght-normal.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/cyrillic-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/greek-wght-normal.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/vietnamese-wght-normal.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
1
+ @font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-sans:vf@latest/vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}