@likec4/diagram 1.55.1 → 1.57.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 (384) hide show
  1. package/dist/LikeC4Diagram.js +150 -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 +148 -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 +109 -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 +36 -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.d.ts +1 -1
  69. package/dist/context/DiagramFeatures.js +78 -69
  70. package/dist/context/EnsureMantine.js +13 -16
  71. package/dist/context/FramerMotionConfig.js +17 -11
  72. package/dist/context/IconRenderer.js +90 -106
  73. package/dist/context/LikeC4ModelContext.js +14 -10
  74. package/dist/context/LikeC4ProjectsContext.js +7 -6
  75. package/dist/context/RootContainerContext.d.ts +9 -19
  76. package/dist/context/RootContainerContext.js +14 -28
  77. package/dist/context/TagStylesContext.js +49 -57
  78. package/dist/custom/customNodes.js +224 -28
  79. package/dist/custom/index.d.ts +1 -1
  80. package/dist/custom/index.js +40 -40
  81. package/dist/editor/LikeC4EditorCallbacks.d.ts +5 -0
  82. package/dist/editor/LikeC4EditorCallbacks.js +4 -2
  83. package/dist/editor/LikeC4EditorProvider.js +32 -7
  84. package/dist/editor/actor/actions.d.ts +115 -0
  85. package/dist/editor/actor/actions.js +122 -0
  86. package/dist/editor/{hotkeyActor.d.ts → actor/hotkey.d.ts} +1 -1
  87. package/dist/editor/actor/hotkey.js +20 -0
  88. package/dist/editor/actor/machine.d.ts +11 -0
  89. package/dist/editor/actor/machine.js +22 -0
  90. package/dist/editor/{editorActor.setup.d.ts → actor/setup.d.ts} +13 -49
  91. package/dist/editor/actor/setup.js +35 -0
  92. package/dist/editor/actor/state.editor.d.ts +97 -0
  93. package/dist/editor/actor/state.editor.js +55 -0
  94. package/dist/editor/actor/state.sync-queue.d.ts +420 -0
  95. package/dist/editor/actor/state.sync-queue.js +235 -0
  96. package/dist/editor/actor/types.d.ts +59 -0
  97. package/dist/editor/actor/types.js +5 -0
  98. package/dist/editor/applyChangesToManualLayout.js +144 -163
  99. package/dist/editor/index.d.ts +2 -1
  100. package/dist/editor/useEditorActorLogic.d.ts +8 -2
  101. package/dist/editor/useEditorActorLogic.js +51 -43
  102. package/dist/hooks/safeContext.js +17 -17
  103. package/dist/hooks/useCallbackRef.js +18 -11
  104. package/dist/hooks/useCurrentView.js +16 -7
  105. package/dist/hooks/useCurrentViewModel.js +14 -9
  106. package/dist/hooks/useDiagram.js +60 -37
  107. package/dist/hooks/useDiagramCompareLayout.js +77 -81
  108. package/dist/hooks/useEditorActor.d.ts +4 -0
  109. package/dist/hooks/useEditorActor.js +26 -0
  110. package/dist/hooks/useId.js +8 -6
  111. package/dist/hooks/useLikeC4ElementsTree.d.ts +3 -2
  112. package/dist/hooks/useLikeC4ElementsTree.js +24 -21
  113. package/dist/hooks/useLikeC4Model.js +21 -20
  114. package/dist/hooks/useLikeC4Project.js +40 -29
  115. package/dist/hooks/useLikeC4Styles.js +6 -6
  116. package/dist/hooks/useMantinePortalProps.js +10 -6
  117. package/dist/hooks/useSetState.js +21 -19
  118. package/dist/hooks/useUpdateEffect.js +18 -29
  119. package/dist/hooks/useXYFlow.js +13 -15
  120. package/dist/index.js +24 -23
  121. package/dist/likec4diagram/DiagramUI.js +37 -37
  122. package/dist/likec4diagram/DiagramXYFlow.js +215 -224
  123. package/dist/likec4diagram/convert-to-xyflow.js +21 -22
  124. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +22 -32
  125. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +275 -372
  126. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +71 -75
  127. package/dist/likec4diagram/custom/edges/edges.css.js +41 -47
  128. package/dist/likec4diagram/custom/edges/useControlPoints.js +52 -56
  129. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +54 -76
  130. package/dist/likec4diagram/custom/index.js +17 -17
  131. package/dist/likec4diagram/custom/nodes/CompoundActions.js +19 -26
  132. package/dist/likec4diagram/custom/nodes/ElementActions.js +131 -82
  133. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +20 -26
  134. package/dist/likec4diagram/custom/nodes/NodeNotes.js +215 -273
  135. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +131 -147
  136. package/dist/likec4diagram/custom/nodes/nodes.js +135 -146
  137. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +155 -159
  138. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.js +58 -86
  139. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +108 -164
  140. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +56 -68
  141. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +3 -6
  142. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +97 -102
  143. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +13 -13
  144. package/dist/likec4diagram/custom/nodes/toolbar/types.js +6 -5
  145. package/dist/likec4diagram/custom/nodes/toolbar/useHandlers.js +36 -41
  146. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +510 -541
  147. package/dist/likec4diagram/relationship-popover/actor.js +113 -152
  148. package/dist/likec4diagram/relationship-popover/components.js +39 -43
  149. package/dist/likec4diagram/state/DiagramActorProvider.js +135 -136
  150. package/dist/likec4diagram/state/aligners.js +286 -360
  151. package/dist/likec4diagram/state/assign.js +84 -108
  152. package/dist/likec4diagram/state/createViewChange.js +72 -92
  153. package/dist/likec4diagram/state/diagram-api.d.ts +16 -0
  154. package/dist/likec4diagram/state/diagram-api.js +230 -152
  155. package/dist/likec4diagram/state/hotkeyActor.js +54 -45
  156. package/dist/likec4diagram/state/machine.actions.js +708 -821
  157. package/dist/likec4diagram/state/machine.actions.layout.js +154 -183
  158. package/dist/likec4diagram/state/machine.d.ts +1 -1
  159. package/dist/likec4diagram/state/machine.js +113 -134
  160. package/dist/likec4diagram/state/machine.setup.js +104 -113
  161. package/dist/likec4diagram/state/machine.state.initializing.js +54 -54
  162. package/dist/likec4diagram/state/machine.state.navigating.js +192 -227
  163. package/dist/likec4diagram/state/machine.state.ready.focused.js +72 -88
  164. package/dist/likec4diagram/state/machine.state.ready.idle.js +79 -98
  165. package/dist/likec4diagram/state/machine.state.ready.js +126 -202
  166. package/dist/likec4diagram/state/machine.state.ready.printing.js +38 -39
  167. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +153 -193
  168. package/dist/likec4diagram/state/mediaPrintActor.js +20 -16
  169. package/dist/likec4diagram/state/persistence.js +20 -21
  170. package/dist/likec4diagram/state/types.d.ts +1 -1
  171. package/dist/likec4diagram/state/utils.d.ts +1 -1
  172. package/dist/likec4diagram/state/utils.js +131 -162
  173. package/dist/likec4diagram/ui/LayoutDriftFrame.js +53 -64
  174. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +58 -80
  175. package/dist/likec4diagram/ui/notation/NotationPanel.js +183 -214
  176. package/dist/likec4diagram/useLayoutConstraints.js +388 -433
  177. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +216 -227
  178. package/dist/likec4diagram/xyflow-sequence/const.js +11 -7
  179. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +177 -180
  180. package/dist/navigationpanel/NavigationPanel.js +113 -123
  181. package/dist/navigationpanel/NavigationPanelControls.js +124 -150
  182. package/dist/navigationpanel/NavigationPanelDropdown.js +365 -477
  183. package/dist/navigationpanel/_common.d.ts +4 -10
  184. package/dist/navigationpanel/_common.js +57 -70
  185. package/dist/navigationpanel/actor.js +153 -236
  186. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +66 -83
  187. package/dist/navigationpanel/comparepanel/ComparePanel.js +135 -164
  188. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +50 -58
  189. package/dist/navigationpanel/comparepanel/DriftsSummary.js +207 -254
  190. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +33 -35
  191. package/dist/navigationpanel/controls/DetailsControls.js +219 -246
  192. package/dist/navigationpanel/controls/LayoutWarning.js +89 -100
  193. package/dist/navigationpanel/controls/LogoButton.js +46 -70
  194. package/dist/navigationpanel/controls/NavigationButtons.js +35 -52
  195. package/dist/navigationpanel/controls/OpenSource.js +27 -25
  196. package/dist/navigationpanel/controls/SearchControl.js +50 -61
  197. package/dist/navigationpanel/controls/ToggleReadonly.js +86 -81
  198. package/dist/navigationpanel/dropdown/ProjectsMenu.js +69 -87
  199. package/dist/navigationpanel/editorpanel/ApplySemanticLayout.d.ts +4 -0
  200. package/dist/navigationpanel/editorpanel/ApplySemanticLayout.js +36 -0
  201. package/dist/navigationpanel/editorpanel/CenterCamera.js +17 -13
  202. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +182 -154
  203. package/dist/navigationpanel/editorpanel/EditorPanel.js +59 -45
  204. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +122 -173
  205. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +20 -13
  206. package/dist/navigationpanel/editorpanel/_common.d.ts +3 -6
  207. package/dist/navigationpanel/editorpanel/_common.js +13 -13
  208. package/dist/navigationpanel/editorpanel/styles.js +58 -75
  209. package/dist/navigationpanel/hooks.js +35 -29
  210. package/dist/navigationpanel/styles.css.js +20 -28
  211. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +107 -134
  212. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +65 -65
  213. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +105 -120
  214. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +75 -83
  215. package/dist/overlays/Overlays.js +94 -112
  216. package/dist/overlays/element-details/ElementDetails.js +22 -28
  217. package/dist/overlays/element-details/ElementDetailsCard.css.js +198 -221
  218. package/dist/overlays/element-details/ElementDetailsCard.js +517 -499
  219. package/dist/overlays/element-details/MetadataValue.js +210 -250
  220. package/dist/overlays/element-details/TabPanelDeployments.css.js +40 -60
  221. package/dist/overlays/element-details/TabPanelDeployments.js +185 -178
  222. package/dist/overlays/element-details/TabPanelRelationships.css.js +63 -71
  223. package/dist/overlays/element-details/TabPanelRelationships.js +155 -140
  224. package/dist/overlays/element-details/TabPanelStructure.css.js +29 -33
  225. package/dist/overlays/element-details/TabPanelStructure.js +93 -93
  226. package/dist/overlays/element-details/actor.js +45 -55
  227. package/dist/overlays/element-details/actorContext.js +12 -10
  228. package/dist/overlays/overlay/Overlay.d.ts +16 -0
  229. package/dist/overlays/overlay/Overlay.js +102 -151
  230. package/dist/overlays/overlaysActor.js +215 -265
  231. package/dist/overlays/relationship-details/RelationshipDetails.js +270 -253
  232. package/dist/overlays/relationship-details/SelectEdge.css.js +62 -74
  233. package/dist/overlays/relationship-details/SelectEdge.js +146 -126
  234. package/dist/overlays/relationship-details/actor.js +242 -303
  235. package/dist/overlays/relationship-details/compute.js +109 -135
  236. package/dist/overlays/relationship-details/custom/ElementActions.js +43 -56
  237. package/dist/overlays/relationship-details/custom/edgeTypes.js +43 -49
  238. package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +4 -5
  239. package/dist/overlays/relationship-details/custom/nodeTypes.js +96 -121
  240. package/dist/overlays/relationship-details/hooks.js +44 -38
  241. package/dist/overlays/relationship-details/layout-to-xyflow.js +119 -141
  242. package/dist/overlays/relationship-details/layout.js +275 -304
  243. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +319 -321
  244. package/dist/overlays/relationships-browser/SelectElement.css.js +18 -21
  245. package/dist/overlays/relationships-browser/SelectElement.js +192 -218
  246. package/dist/overlays/relationships-browser/actor.js +364 -462
  247. package/dist/overlays/relationships-browser/const.js +7 -6
  248. package/dist/overlays/relationships-browser/custom/ElementActions.js +60 -63
  249. package/dist/overlays/relationships-browser/custom/EmptyNode.js +25 -29
  250. package/dist/overlays/relationships-browser/custom/edgeTypes.js +66 -99
  251. package/dist/overlays/relationships-browser/custom/nodeTypes.js +98 -123
  252. package/dist/overlays/relationships-browser/hooks.js +49 -51
  253. package/dist/overlays/relationships-browser/layout.js +413 -465
  254. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +141 -157
  255. package/dist/projects-overview/ProjectsOverview.js +56 -55
  256. package/dist/projects-overview/ProjectsOverviewXY.js +105 -94
  257. package/dist/projects-overview/actor.js +252 -345
  258. package/dist/projects-overview/context.js +8 -7
  259. package/dist/projects-overview/custom/edgeTypes.js +22 -21
  260. package/dist/projects-overview/custom/nodeTypes.js +38 -42
  261. package/dist/projects-overview/hooks.js +9 -9
  262. package/dist/projects-overview/layouted-to-xyflow.js +46 -42
  263. package/dist/projects-overview/panel/ProjectsOverviewPanel.js +7 -9
  264. package/dist/projects-overview/persistence.js +22 -22
  265. package/dist/search/Search.d.ts +6 -3
  266. package/dist/search/Search.js +189 -182
  267. package/dist/search/SearchContext.js +16 -15
  268. package/dist/search/XStateSearchAdapter.js +68 -62
  269. package/dist/search/components/ElementsColumn.css.js +50 -68
  270. package/dist/search/components/ElementsColumn.js +253 -291
  271. package/dist/search/components/PickView.js +116 -140
  272. package/dist/search/components/SearchByTags.js +76 -94
  273. package/dist/search/components/SearchInput.js +187 -209
  274. package/dist/search/components/ViewsColum.js +151 -141
  275. package/dist/search/components/ViewsColumn.css.js +12 -26
  276. package/dist/search/components/_shared.css.js +127 -153
  277. package/dist/search/components/styles.css.js +47 -53
  278. package/dist/search/components/utils.js +44 -47
  279. package/dist/search/hooks.js +10 -10
  280. package/dist/search/searchActor.js +97 -128
  281. package/dist/shadowroot/ShadowRoot.d.ts +7 -6
  282. package/dist/shadowroot/ShadowRoot.js +106 -79
  283. package/dist/shadowroot/styles.css.d.ts +10 -2
  284. package/dist/shadowroot/styles.css.js +56 -69
  285. package/dist/styles-font2.js +4 -0
  286. package/dist/styles2.js +4 -0
  287. package/dist/utils/index.js +5 -0
  288. package/dist/utils/roundDpr.js +19 -15
  289. package/dist/utils/view-bounds.js +48 -55
  290. package/dist/utils/xyflow.js +143 -113
  291. package/package.json +18 -25
  292. package/panda.buildinfo.json +15 -15
  293. package/src/styles-font.css +114 -0
  294. package/src/styles-min.css +2 -0
  295. package/src/styles-xyflow.css +1 -0
  296. package/src/styles.css +3 -0
  297. package/styles-font.css +1 -1
  298. package/styles-min.css +1 -1
  299. package/styles-xyflow.css +1 -1
  300. package/styles.css +1 -1
  301. package/dist/_virtual/_commonjsHelpers.js +0 -3
  302. package/dist/_virtual/assign-f10db67b.cjs.js +0 -3
  303. package/dist/_virtual/log-30abbb83.cjs.js +0 -3
  304. package/dist/_virtual/raise-f051f097.cjs.js +0 -3
  305. package/dist/_virtual/store-cfe7da62.cjs.js +0 -3
  306. package/dist/_virtual/xstate-actions.cjs.js +0 -5
  307. package/dist/_virtual/xstate-actions.cjs2.js +0 -3
  308. package/dist/_virtual/xstate-dev.cjs.js +0 -3
  309. package/dist/_virtual/xstate-guards.cjs.js +0 -5
  310. package/dist/_virtual/xstate-guards.cjs2.js +0 -3
  311. package/dist/_virtual/xstate-store-react.cjs.js +0 -5
  312. package/dist/_virtual/xstate-store-react.cjs2.js +0 -3
  313. package/dist/bundle/index.d.ts +0 -1
  314. package/dist/editor/editorActor.actions.d.ts +0 -153
  315. package/dist/editor/editorActor.actions.js +0 -149
  316. package/dist/editor/editorActor.setup.js +0 -38
  317. package/dist/editor/editorActor.states.d.ts +0 -9
  318. package/dist/editor/editorActor.states.js +0 -273
  319. package/dist/editor/hotkeyActor.js +0 -19
  320. package/dist/hooks/useOverlaysActor.js +0 -10
  321. package/dist/hooks/useSearchActor.js +0 -10
  322. 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
  323. 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
  324. 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
  325. 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
  326. 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
  327. 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
  328. 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
  329. 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
  330. 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
  331. 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
  332. 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
  333. 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
  334. 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
  335. 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
  336. 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
  337. 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
  338. 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
  339. 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
  340. 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
  341. 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
  342. 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
  343. 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
  344. 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
  345. 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
  346. 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
  347. 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
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. 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
  355. 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
  356. 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
  357. 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
  358. 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
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. 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
  369. 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
  370. 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
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/actions/dist/xstate-actions.cjs.js +0 -37
  378. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dev/dist/xstate-dev.cjs.js +0 -59
  379. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/assign-f10db67b.cjs.js +0 -140
  380. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/log-30abbb83.cjs.js +0 -401
  381. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/raise-f051f097.cjs.js +0 -2830
  382. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/guards/dist/xstate-guards.cjs.js +0 -26
  383. package/dist/styles-font.css2.js +0 -3
  384. package/dist/styles.css2.js +0 -3
@@ -1,84 +1,93 @@
1
- import { jsx, Fragment } from 'react/jsx-runtime';
2
- import { useContext, createContext } from 'react';
3
- import { useSetState } from '../hooks/useSetState.js';
4
- import { useUpdateEffect } from '../hooks/useUpdateEffect.js';
5
-
6
- const DefaultFeatures = {
7
- enableEditor: false,
8
- enableReadOnly: true,
9
- enableCompareWithLatest: false,
10
- enableControls: false,
11
- enableDynamicViewWalkthrough: false,
12
- enableElementDetails: false,
13
- enableFocusMode: false,
14
- enableNavigateTo: false,
15
- enableNotations: false,
16
- enableRelationshipBrowser: false,
17
- enableRelationshipDetails: false,
18
- enableSearch: false,
19
- enableNavigationButtons: false,
20
- enableFitView: false,
21
- enableVscode: false,
22
- enableElementTags: false,
23
- enableNotes: false
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { useUpdateEffect } from "../hooks/useUpdateEffect.js";
3
+ import { useSetState } from "../hooks/useSetState.js";
4
+ import { createContext, useContext } from "react";
5
+ import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
6
+ //#region src/context/DiagramFeatures.tsx
7
+ var DefaultFeatures = {
8
+ enableEditor: false,
9
+ /**
10
+ * Enabled if editor has `applySemanticLayout` method
11
+ */
12
+ enableAISemanticLayout: false,
13
+ enableReadOnly: true,
14
+ enableCompareWithLatest: false,
15
+ enableControls: false,
16
+ enableDynamicViewWalkthrough: false,
17
+ enableElementDetails: false,
18
+ enableFocusMode: false,
19
+ enableNavigateTo: false,
20
+ enableNotations: false,
21
+ enableRelationshipBrowser: false,
22
+ enableRelationshipDetails: false,
23
+ enableSearch: false,
24
+ enableNavigationButtons: false,
25
+ enableFitView: false,
26
+ enableVscode: false,
27
+ enableElementTags: false,
28
+ enableNotes: false
24
29
  };
25
- const DiagramFeaturesContext = createContext(DefaultFeatures);
26
- function DiagramFeatures({
27
- children,
28
- features,
29
- overrides
30
- }) {
31
- const outerScope = useContext(DiagramFeaturesContext);
32
- const [scope, setScope] = useSetState(() => ({
33
- ...outerScope,
34
- ...features,
35
- ...overrides
36
- }));
37
- useUpdateEffect(
38
- () => {
39
- setScope({
40
- ...outerScope,
41
- ...features,
42
- ...overrides
43
- });
44
- },
45
- [outerScope, features, overrides, setScope]
46
- );
47
- return /* @__PURE__ */ jsx(DiagramFeaturesContext.Provider, { value: scope, children });
30
+ var DiagramFeaturesContext = createContext(DefaultFeatures);
31
+ function DiagramFeatures({ children, features, overrides }) {
32
+ const outerScope = useContext(DiagramFeaturesContext);
33
+ const [scope, setScope] = useSetState(() => ({
34
+ ...outerScope,
35
+ ...features,
36
+ ...overrides
37
+ }));
38
+ useUpdateEffect(() => {
39
+ setScope({
40
+ ...outerScope,
41
+ ...features,
42
+ ...overrides
43
+ });
44
+ }, [
45
+ outerScope,
46
+ features,
47
+ overrides,
48
+ setScope
49
+ ]);
50
+ return /* @__PURE__ */ jsx(DiagramFeaturesContext.Provider, {
51
+ value: scope,
52
+ children
53
+ });
48
54
  }
49
- const overridesForOverlays = {
50
- enableControls: false,
51
- enableReadOnly: true,
52
- enableCompareWithLatest: false
55
+ var overridesForOverlays = {
56
+ enableControls: false,
57
+ enableReadOnly: true,
58
+ enableAISemanticLayout: false,
59
+ enableCompareWithLatest: false
53
60
  };
54
61
  DiagramFeatures.Overlays = ({ children }) => {
55
- return /* @__PURE__ */ jsx(DiagramFeatures, { overrides: overridesForOverlays, children });
62
+ return /* @__PURE__ */ jsx(DiagramFeatures, {
63
+ overrides: overridesForOverlays,
64
+ children
65
+ });
56
66
  };
57
67
  function useEnabledFeatures() {
58
- return useContext(DiagramFeaturesContext);
68
+ return useContext(DiagramFeaturesContext);
59
69
  }
60
- function IfEnabled({
61
- feature,
62
- children,
63
- and = true
64
- }) {
65
- const enabled = useEnabledFeatures()[`enable${feature}`] === true;
66
- return enabled && and ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
70
+ /**
71
+ * Renders children only if the specified feature is enabled
72
+ * @param feature Feature name
73
+ * @param and Additional AND condition
74
+ * @example
75
+ * <IfEnabled feature="ReadOnly" and={isSomething}>
76
+ * ...
77
+ * </IfEnabled>
78
+ */
79
+ function IfEnabled({ feature, children, and = true }) {
80
+ return useEnabledFeatures()[`enable${feature}`] === true && and ? /* @__PURE__ */ jsx(Fragment$1, { children }) : null;
67
81
  }
68
82
  function IfNotEnabled({ feature, children }) {
69
- const notEnabled = useEnabledFeatures()[`enable${feature}`] !== true;
70
- return notEnabled ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
83
+ return useEnabledFeatures()[`enable${feature}`] !== true ? /* @__PURE__ */ jsx(Fragment$1, { children }) : null;
71
84
  }
72
85
  function IfReadOnly({ children }) {
73
- const isReadOnly = useEnabledFeatures().enableReadOnly === true;
74
- return isReadOnly ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
86
+ return useEnabledFeatures().enableReadOnly === true ? /* @__PURE__ */ jsx(Fragment$1, { children }) : null;
75
87
  }
76
88
  function IfNotReadOnly({ children }) {
77
- const isReadOnly = useEnabledFeatures().enableReadOnly === true;
78
- if (isReadOnly) {
79
- return null;
80
- }
81
- return /* @__PURE__ */ jsx(Fragment, { children });
89
+ if (useEnabledFeatures().enableReadOnly === true) return null;
90
+ return /* @__PURE__ */ jsx(Fragment$1, { children });
82
91
  }
83
-
92
+ //#endregion
84
93
  export { DefaultFeatures, DiagramFeatures, IfEnabled, IfNotEnabled, IfNotReadOnly, IfReadOnly, useEnabledFeatures };
@@ -1,19 +1,16 @@
1
- import { jsx, Fragment } from 'react/jsx-runtime';
2
- import { MantineContext } from '@mantine/core';
3
- import { useContext, useEffect } from 'react';
4
- import { DefaultMantineProvider } from './DefaultMantineProvider.js';
5
-
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { DefaultMantineProvider } from "./DefaultMantineProvider.js";
3
+ import { useContext, useEffect } from "react";
4
+ import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
5
+ import { MantineContext } from "@mantine/core";
6
+ //#region src/context/EnsureMantine.tsx
6
7
  function EnsureMantine({ children }) {
7
- const mantineCtx = useContext(MantineContext);
8
- useEffect(() => {
9
- if (!mantineCtx) {
10
- console.warn("LikeC4Diagram must be a child of MantineProvider");
11
- }
12
- }, []);
13
- if (!mantineCtx) {
14
- return /* @__PURE__ */ jsx(DefaultMantineProvider, { children });
15
- }
16
- return /* @__PURE__ */ jsx(Fragment, { children });
8
+ const mantineCtx = useContext(MantineContext);
9
+ useEffect(() => {
10
+ if (!mantineCtx) console.warn("LikeC4Diagram must be a child of MantineProvider");
11
+ }, []);
12
+ if (!mantineCtx) return /* @__PURE__ */ jsx(DefaultMantineProvider, { children });
13
+ return /* @__PURE__ */ jsx(Fragment$1, { children });
17
14
  }
18
-
15
+ //#endregion
19
16
  export { EnsureMantine };
@@ -1,13 +1,19 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useMantineStyleNonce } from '@mantine/core';
3
- import { LazyMotion, domMax, MotionConfig } from 'motion/react';
4
-
5
- const FramerMotionConfig = ({
6
- reducedMotion = "user",
7
- children
8
- }) => {
9
- const nonce = useMantineStyleNonce()?.();
10
- return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(MotionConfig, { reducedMotion, ...nonce && { nonce }, children }) });
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useMantineStyleNonce } from "@mantine/core";
4
+ import { LazyMotion, MotionConfig, domMax } from "motion/react";
5
+ //#region src/context/FramerMotionConfig.tsx
6
+ var FramerMotionConfig = ({ reducedMotion = "user", children }) => {
7
+ const nonce = useMantineStyleNonce()?.();
8
+ return /* @__PURE__ */ jsx(LazyMotion, {
9
+ features: domMax,
10
+ strict: true,
11
+ children: /* @__PURE__ */ jsx(MotionConfig, {
12
+ reducedMotion,
13
+ ...nonce && { nonce },
14
+ children
15
+ })
16
+ });
11
17
  };
12
-
18
+ //#endregion
13
19
  export { FramerMotionConfig };
@@ -1,113 +1,97 @@
1
- import { jsx, Fragment } from 'react/jsx-runtime';
2
- import { cx } from '@likec4/styles/css';
3
- import { createContext, useContext } from 'react';
4
- import IconRectangularPrism from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js';
5
- import IconFileText from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js';
6
- import IconCylinder from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js';
7
- import IconReorder from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js';
8
- import IconUser from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js';
9
- import IconDeviceMobile from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js';
10
- import IconBrowser from '../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js';
11
-
12
- const IconRendererContext = createContext(null);
13
- function IconRendererProvider({
14
- value,
15
- children
16
- }) {
17
- const outerScope = useContext(IconRendererContext);
18
- if (outerScope) {
19
- return /* @__PURE__ */ jsx(Fragment, { children });
20
- }
21
- return /* @__PURE__ */ jsx(IconRendererContext.Provider, { value, children });
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { cx } from "@likec4/styles/css";
3
+ import { IconBrowser, IconCylinder, IconDeviceMobile, IconFileText, IconRectangularPrism, IconReorder, IconUser } from "@tabler/icons-react";
4
+ import { createContext, useContext } from "react";
5
+ import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
6
+ //#region src/context/IconRenderer.tsx
7
+ var IconRendererContext = createContext(null);
8
+ /**
9
+ * Provider for custom element icon renderers
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * const MyIconRenderer: ElementIconRenderer = ({ node }) => {
14
+ * return <div>{node.title}</div>
15
+ * }
16
+ *
17
+ * <IconRendererProvider value={MyIconRenderer}>
18
+ * <LikeC4Diagram />
19
+ * </IconRendererProvider>
20
+ * ```
21
+ */
22
+ function IconRendererProvider({ value, children }) {
23
+ if (useContext(IconRendererContext)) return /* @__PURE__ */ jsx(Fragment$1, { children });
24
+ return /* @__PURE__ */ jsx(IconRendererContext.Provider, {
25
+ value,
26
+ children
27
+ });
22
28
  }
29
+ /**
30
+ * Attempts to extract and decode SVG content from a data URL.
31
+ * Returns the decoded SVG string if successful, or null if not an SVG data URL.
32
+ */
23
33
  function decodeSvgDataUrl(dataUrl) {
24
- if (!dataUrl.startsWith("data:image/svg+xml")) {
25
- return null;
26
- }
27
- try {
28
- if (dataUrl.includes(";base64,")) {
29
- const base64Content = dataUrl.split(";base64,")[1];
30
- if (base64Content) {
31
- return atob(base64Content);
32
- }
33
- } else {
34
- const encodedContent = dataUrl.split(",")[1];
35
- if (encodedContent) {
36
- return decodeURIComponent(encodedContent);
37
- }
38
- }
39
- } catch {
40
- }
41
- return null;
34
+ if (!dataUrl.startsWith("data:image/svg+xml")) return null;
35
+ try {
36
+ if (dataUrl.includes(";base64,")) {
37
+ const base64Content = dataUrl.split(";base64,")[1];
38
+ if (base64Content) return atob(base64Content);
39
+ } else {
40
+ const encodedContent = dataUrl.split(",")[1];
41
+ if (encodedContent) return decodeURIComponent(encodedContent);
42
+ }
43
+ } catch {}
44
+ return null;
42
45
  }
43
- function IconRenderer({
44
- element,
45
- className,
46
- style
47
- }) {
48
- const RenderIcon = useContext(IconRendererContext);
49
- if (!element || !element.icon || element.icon === "none") {
50
- return null;
51
- }
52
- let icon;
53
- if (element.icon.startsWith("http://") || element.icon.startsWith("https://") || element.icon.startsWith("data:image")) {
54
- const svgContent = element.icon.startsWith("data:image/svg+xml") ? decodeSvgDataUrl(element.icon) : null;
55
- if (svgContent) {
56
- icon = /* @__PURE__ */ jsx("span", { style: { display: "contents" }, dangerouslySetInnerHTML: { __html: svgContent } });
57
- } else {
58
- icon = /* @__PURE__ */ jsx("img", { src: element.icon, alt: element.title });
59
- }
60
- } else if (RenderIcon) {
61
- icon = /* @__PURE__ */ jsx(RenderIcon, { node: element });
62
- }
63
- if (!icon) {
64
- return null;
65
- }
66
- return /* @__PURE__ */ jsx(
67
- "div",
68
- {
69
- className: cx(
70
- className,
71
- "likec4-element-icon"
72
- ),
73
- "data-likec4-icon": element.icon,
74
- style,
75
- children: icon
76
- }
77
- );
46
+ function IconRenderer({ element, className, style }) {
47
+ const RenderIcon = useContext(IconRendererContext);
48
+ if (!element || !element.icon || element.icon === "none") return null;
49
+ let icon;
50
+ if (element.icon.startsWith("http://") || element.icon.startsWith("https://") || element.icon.startsWith("data:image")) {
51
+ const svgContent = element.icon.startsWith("data:image/svg+xml") ? decodeSvgDataUrl(element.icon) : null;
52
+ if (svgContent) icon = /* @__PURE__ */ jsx("span", {
53
+ style: { display: "contents" },
54
+ dangerouslySetInnerHTML: { __html: svgContent }
55
+ });
56
+ else icon = /* @__PURE__ */ jsx("img", {
57
+ src: element.icon,
58
+ alt: element.title
59
+ });
60
+ } else if (RenderIcon) icon = /* @__PURE__ */ jsx(RenderIcon, { node: element });
61
+ if (!icon) return null;
62
+ return /* @__PURE__ */ jsx("div", {
63
+ className: cx(className, "likec4-element-icon"),
64
+ "data-likec4-icon": element.icon,
65
+ style,
66
+ children: icon
67
+ });
78
68
  }
79
- const ShapeIcons = {
80
- browser: IconBrowser,
81
- cylinder: IconCylinder,
82
- mobile: IconDeviceMobile,
83
- person: IconUser,
84
- queue: IconReorder,
85
- rectangle: IconRectangularPrism,
86
- storage: IconCylinder,
87
- bucket: IconCylinder,
88
- document: IconFileText,
89
- component: IconRectangularPrism
69
+ var ShapeIcons = {
70
+ browser: IconBrowser,
71
+ cylinder: IconCylinder,
72
+ mobile: IconDeviceMobile,
73
+ person: IconUser,
74
+ queue: IconReorder,
75
+ rectangle: IconRectangularPrism,
76
+ storage: IconCylinder,
77
+ bucket: IconCylinder,
78
+ document: IconFileText,
79
+ component: IconRectangularPrism
90
80
  };
91
- function IconOrShapeRenderer({
92
- element,
93
- className,
94
- style
95
- }) {
96
- if (!element.icon || element.icon === "none") {
97
- const ShapeIcon = ShapeIcons[element.shape];
98
- return /* @__PURE__ */ jsx(
99
- "div",
100
- {
101
- className: cx(
102
- className,
103
- "likec4-shape-icon"
104
- ),
105
- style,
106
- children: /* @__PURE__ */ jsx(ShapeIcon, {})
107
- }
108
- );
109
- }
110
- return /* @__PURE__ */ jsx(IconRenderer, { element, className, style });
81
+ function IconOrShapeRenderer({ element, className, style }) {
82
+ if (!element.icon || element.icon === "none") {
83
+ const ShapeIcon = ShapeIcons[element.shape];
84
+ return /* @__PURE__ */ jsx("div", {
85
+ className: cx(className, "likec4-shape-icon"),
86
+ style,
87
+ children: /* @__PURE__ */ jsx(ShapeIcon, {})
88
+ });
89
+ }
90
+ return /* @__PURE__ */ jsx(IconRenderer, {
91
+ element,
92
+ className,
93
+ style
94
+ });
111
95
  }
112
-
96
+ //#endregion
113
97
  export { IconOrShapeRenderer, IconRenderer, IconRendererProvider };
@@ -1,15 +1,19 @@
1
- import 'react/jsx-runtime';
2
- import { useContext, createContext } from 'react';
3
-
4
- const LikeC4ModelContext = createContext(null);
5
- const LikeC4ModelContextProvider = LikeC4ModelContext.Provider;
6
- const CurrentViewModelCtx = createContext(null);
7
- const CurrentViewModelContext = CurrentViewModelCtx.Provider;
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { createContext, useContext } from "react";
3
+ import "react/jsx-runtime";
4
+ //#region src/context/LikeC4ModelContext.tsx
5
+ var LikeC4ModelContext = createContext(null);
6
+ var LikeC4ModelContextProvider = LikeC4ModelContext.Provider;
7
+ var CurrentViewModelCtx = createContext(null);
8
+ var CurrentViewModelContext = CurrentViewModelCtx.Provider;
9
+ /**
10
+ * @returns The LikeC4Model from context, or null if no LikeC4ModelProvider is found.
11
+ */
8
12
  function useOptionalLikeC4Model() {
9
- return useContext(LikeC4ModelContext);
13
+ return useContext(LikeC4ModelContext);
10
14
  }
11
15
  function useOptionalCurrentViewModel() {
12
- return useContext(CurrentViewModelCtx);
16
+ return useContext(CurrentViewModelCtx);
13
17
  }
14
-
18
+ //#endregion
15
19
  export { CurrentViewModelContext, LikeC4ModelContextProvider, useOptionalCurrentViewModel, useOptionalLikeC4Model };
@@ -1,9 +1,10 @@
1
- import { useContext, createContext } from 'react';
2
-
3
- const LikeC4ProjectsContext = createContext(null);
4
- const LikeC4ProjectsContextProvider = LikeC4ProjectsContext.Provider;
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { createContext, useContext } from "react";
3
+ //#region src/context/LikeC4ProjectsContext.ts
4
+ var LikeC4ProjectsContext = createContext(null);
5
+ var LikeC4ProjectsContextProvider = LikeC4ProjectsContext.Provider;
5
6
  function useOptionalProjectsContext() {
6
- return useContext(LikeC4ProjectsContext);
7
+ return useContext(LikeC4ProjectsContext);
7
8
  }
8
-
9
+ //#endregion
9
10
  export { LikeC4ProjectsContextProvider, useOptionalProjectsContext };
@@ -1,29 +1,19 @@
1
1
  import { WritableAtom } from 'nanostores';
2
2
  import { RefObject, Provider } from 'react';
3
- export declare const RootContainerContextProvider: Provider<{
4
- id: string;
5
- selector: string;
6
- ref: RefObject<HTMLDivElement | null>;
7
- } | null>;
8
- export declare function useRootContainerContext(): {
9
- id: string;
10
- selector: string;
11
- ref: RefObject<HTMLDivElement | null>;
12
- } | null;
13
- export declare function useRootContainer(): {
14
- id: string;
15
- selector: string;
16
- ref: RefObject<HTMLDivElement | null>;
3
+ export type RootContainerContextType = {
4
+ readonly id: string;
5
+ readonly selector: string;
6
+ readonly ref: RefObject<HTMLDivElement | null>;
7
+ readonly $panning: WritableAtom<boolean>;
8
+ readonly reducedGraphics: boolean;
17
9
  };
10
+ export declare const RootContainerContextProvider: Provider<RootContainerContextType | null>;
11
+ export declare function useRootContainerContext(): RootContainerContextType | null;
12
+ export declare function useRootContainer(): RootContainerContextType;
18
13
  export declare function useRootContainerRef(): RefObject<HTMLDivElement | null>;
19
14
  export declare function useRootContainerElement(): HTMLDivElement | null;
20
- export declare const ReduceGraphicsModeProvider: Provider<boolean | null>;
21
15
  /**
22
16
  * Hook to determine if reduced graphics mode is enabled.
23
17
  */
24
18
  export declare function useIsReducedGraphics(): boolean;
25
- export declare const PanningAtomSafeCtx: ({ children, value }: {
26
- value: WritableAtom<boolean>;
27
- children: React.ReactNode;
28
- }) => import("react/jsx-runtime").JSX.Element, usePanningAtom: () => WritableAtom<boolean>;
29
19
  export declare function useIsPanning(): boolean;
@@ -1,36 +1,22 @@
1
- import { createSafeContext } from '@mantine/core';
2
- import '@nanostores/react';
3
- import { useContext, createContext } from 'react';
4
-
5
- const RootContainerContext = createContext(null);
6
- const RootContainerContextProvider = RootContainerContext.Provider;
1
+ import "../_virtual/_rolldown/runtime.js";
2
+ import { createContext, useContext } from "react";
3
+ import "@nanostores/react";
4
+ //#region src/context/RootContainerContext.tsx
5
+ var RootContainerContext = createContext(null);
6
+ var RootContainerContextProvider = RootContainerContext.Provider;
7
7
  function useRootContainerContext() {
8
- return useContext(RootContainerContext);
8
+ return useContext(RootContainerContext);
9
9
  }
10
10
  function useRootContainer() {
11
- const ctx = useRootContainerContext();
12
- if (!ctx) {
13
- throw new Error("useRootContainer must be used within a RootContainer");
14
- }
15
- return ctx;
11
+ const ctx = useRootContainerContext();
12
+ if (!ctx) throw new Error("useRootContainer must be used within a RootContainer");
13
+ return ctx;
16
14
  }
17
15
  function useRootContainerRef() {
18
- return useRootContainer().ref;
16
+ return useRootContainer().ref;
19
17
  }
20
18
  function useRootContainerElement() {
21
- return useRootContainer().ref.current;
19
+ return useRootContainer().ref.current;
22
20
  }
23
- const ReduceGraphicsModeCtx = createContext(null);
24
- const ReduceGraphicsModeProvider = ReduceGraphicsModeCtx.Provider;
25
- function useIsReducedGraphics() {
26
- const isReduced = useContext(ReduceGraphicsModeCtx);
27
- if (isReduced === null) {
28
- console.warn("ReduceGraphicsMode is not provided");
29
- }
30
- return isReduced ?? false;
31
- }
32
- const [PanningAtomSafeCtx, usePanningAtom] = createSafeContext(
33
- "PanningAtomSafeCtx is not provided"
34
- );
35
-
36
- export { PanningAtomSafeCtx, ReduceGraphicsModeProvider, RootContainerContextProvider, useIsReducedGraphics, usePanningAtom, useRootContainer, useRootContainerContext, useRootContainerElement, useRootContainerRef };
21
+ //#endregion
22
+ export { RootContainerContextProvider, useRootContainer, useRootContainerContext, useRootContainerElement, useRootContainerRef };